通过

扩张卷积进行多尺度上下文聚合

Fisher Yu
Princeton University Vladlen Koltun
Intel Labs
摘要

最先进的语义分割模型基于最初为图像分类而设计的卷积网络的改编。 然而,语义分割等密集预测问题在结构上与图像分类不同。 在这项工作中,我们开发了一种新的卷积网络模块,专为密集预测而设计。 所提出的模块使用扩张卷积来系统地聚合多尺度上下文信息,而不会损失分辨率。 该架构基于以下事实:扩张卷积支持感受野的指数扩展,而不会损失分辨率或覆盖范围。 我们表明,所提出的上下文模块提高了最先进的语义分割系统的准确性。 此外,我们研究了图像分类网络对密集预测的适应,并表明简化适应的网络可以提高准确性。

1简介

计算机视觉中的许多自然问题都是密集预测的例子。 目标是计算图像中每个像素的离散或连续标签。 一个突出的例子是语义分割,它要求将每个像素分类为一组给定的类别(He 等人,2004;Shotton 等人,2009;Kohli 等人,2009;Krähenbühl & Koltun,2011). 语义分割具有挑战性,因为它需要将像素级精度与多尺度上下文推理相结合(He等人,2004;Galleguillos & Belongie,2010)

最近,通过使用通过反向传播(Rumelhart等人,1986)训练的卷积网络(LeCun等人,1989),语义分割的准确率得到了显着提升。 具体来说,Long等人(2015)表明,最初为图像分类而开发的卷积网络架构可以成功地重新用于密集预测。 这些重新定位的网络在具有挑战性的语义分割基准上大大优于现有技术。 这引发了由图像分类和密集预测之间的结构差异引发的新问题。 重新利用的网络的哪些方面是真正必要的,以及在密集操作时哪些方面会降低准确性? 专为密集预测设计的专用模块能否进一步提高准确性?

现代图像分类网络通过连续的池化和二次采样层来集成多尺度上下文信息,这些层会降低分辨率,直到获得全局预测(Krizhevsky 等人,2012;Simonyan & Zisserman,2015) 相反,密集预测需要多尺度上下文推理与全分辨率输出相结合。 最近的工作研究了两种方法来处理多尺度推理和全分辨率密集预测的相互冲突的需求。 一种方法涉及重复的上卷积,旨在恢复丢失的分辨率,同时继承下采样层的全局视角(Noh等人,2015;Fischer等人,2015) 这就留下了一个问题:严格的中间下采样是否真的有必要。 另一种方法涉及提供图像的多个重新缩放版本作为网络的输入,并组合针对这些多个输入获得的预测(Farabet 等人,2013;Lin 等人,2015;Chen 等人,2015b) 同样,尚不清楚是否确实有必要对重新缩放的输入图像进行单独分析。

在这项工作中,我们开发了一个卷积网络模块,可以聚合多尺度上下文信息,而不会丢失分辨率或分析重新缩放的图像。 该模块可以任何分辨率插入现有架构。 与图像分类中延续的金字塔形架构不同,所提出的上下文模块是专门为密集预测而设计的。 它是一个由卷积层组成的矩形棱柱,没有池化或子采样。 该模块基于扩张卷积,支持感受野的指数扩展,而不会损失分辨率或覆盖范围。

作为这项工作的一部分,我们还重新检查了重新调整用途的图像分类网络在语义分割上的性能。 涉及结构化预测、多列架构、多个训练数据集和其他增强功能的日益复杂的系统可能会无意中掩盖核心预测模块的性能。 因此,我们在受控设置中检查深度图像分类网络的主要适应性,并消除阻碍密集预测性能的残余组件。 结果是初始预测模块比之前的适应更简单、更准确。

使用简化的预测模块,我们通过 Pascal VOC 2012 数据集 (Everingham 等人,2010) 上的受控实验来评估所提出的上下文网络。 实验表明,将上下文模块插入现有的语义分割架构可以可靠地提高其准确性。

2 扩张卷积

F:2 为离散函数。 Ωr=[r,r]22k:Ωr 为大小为 (2r+1)2 的离散滤波器。 离散卷积算子可以定义为

(Fk)(𝐩)=𝐬+𝐭=𝐩F(𝐬)k(𝐭). (1)

我们现在概括这个运算符。 l 为膨胀因子,并令 l 定义为

(Flk)(𝐩)=𝐬+l𝐭=𝐩F(𝐬)k(𝐭). (2)

我们将 l 称为扩张卷积或 l 扩张卷积。 熟悉的离散卷积就是1扩张卷积。

扩张卷积算子过去被称为“扩张滤波器卷积”。 它在小波分解算法algorithme à trous中发挥着关键作用(Holschneider等人,1987;Shensa,1992)111最近的一些工作错误地将扩张卷积算子本身称为algorithme à trous 这是不正确的。 algorithme à trous 在多个尺度上应用滤波器来产生信号分解。 该算法使用扩张卷积,但并不等同于扩张卷积算子本身。 我们使用术语“扩张卷积”而不是“扩张滤波器卷积”来澄清没有构造或表示“扩张滤波器”。 卷积算子本身被修改为以不同的方式使用滤波器参数。 扩张卷积算子可以使用不同的扩张因子在不同范围应用相同的滤波器。 我们的定义反映了扩张卷积算子的正确实现,它不涉及扩张滤波器的构造。

在最近关于用于语义分割的卷积网络的研究中,Long 等人(2015)分析了滤波器扩张,但选择不使用它。 Chen 等人 (2015a) 使用扩张来简化 Long 等人 (2015) 的架构。 相比之下,我们开发了一种新的卷积网络架构,系统地使用扩张卷积进行多尺度上下文聚合。

我们的架构的动机是扩张卷积支持指数级扩展感受野而不损失分辨率或覆盖范围。 F0,F1,,Fn1:2 为离散函数,让 k0,k1,,kn2:Ω1 为离散 3×3 滤波器。 考虑应用具有指数增加膨胀的滤波器:

Fi+1=Fi2ikifor i=0,1,,n2. (3)

Fi+1中元素𝐩的感受野定义为F0中修改Fi+1(𝐩)值的元素集合。 Fi+1𝐩感受野的大小为这些元素的数量。 容易看出Fi+1中每个元素的感受野大小为(2i+21)×(2i+21) 感受野是一个尺寸呈指数增长的正方形。 1对此进行了说明。

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
图1: 系统扩张支持感受野的指数扩展,而不会影响分辨率或覆盖范围。 (a) F1F0 通过 1 扩张卷积产生; F1 中的每个元素都有一个 3×3 的感受野。 (b) F2F1 通过 2 扩张卷积产生; F2 中的每个元素都有一个 7×7 的感受野。 (c) F3F2 通过 4 扩张卷积产生; F3 中的每个元素都有一个 15×15 的感受野。 与每层相关的参数数量是相同的。 感受野呈指数增长,而参数数量呈线性增长。

3 多尺度上下文聚合

上下文模块旨在通过聚合多尺度上下文信息来提高密集预测架构的性能。 该模块将 C 特征图作为输入,并生成 C 特征图作为输出。 输入和输出具有相同的形式,因此该模块可以插入现有的密集预测架构中。

我们首先描述上下文模块的基本形式。 在这个基本形式中,每一层都有 C 通道。 尽管特征图未归一化且模块内部未定义任何损失,但每层中的表示都是相同的,可用于直接获得密集的每类预测。 直观上,该模块可以通过将特征图传递到公开上下文信息的多个层来提高特征图的准确性。

基本上下文模块有 7 个层,它们应用具有不同膨胀因子的 3×3 卷积。 膨胀为 1、1、2、4、8、16 和 1。 每个卷积都在所有层上运行:严格来说,这些是在前两个维度上进行扩张的 3×3×C 卷积。 每个卷积后面都跟着一个逐点截断max(,0) 最后一层执行 1×1×C 卷积并产生模块的输出。 1总结了该架构。 请注意,在我们的实验中为上下文网络提供输入的前端模块会生成 64×64 分辨率的特征图。 因此,我们在第 6 层之后停止感受野的指数扩张。

我们最初尝试训练上下文模块未能提高预测准确性。 实验表明,标准初始化程序并不容易支持模块的训练。 卷积网络通常使用随机分布的样本进行初始化(Glorot & Bengio,2010;Krizhevsky 等人,2012;Simonyan & Zisserman,2015) 然而,我们发现随机初始化方案对于上下文模块并不有效。 我们发现具有清晰语义的替代初始化更加有效:

kb(𝐭,a)=1[𝐭=0]1[a=b], (4)

其中 a 是输入特征图的索引,b 是输出特征图的索引。 这是身份初始化的一种形式,最近被提倡用于循环网络(Le等人,2015) 此初始化设置所有过滤器,以便每一层只需将输入直接传递到下一层。 一个自然的担忧是,这种初始化可能会将网络置于反向传播无法显着改善简单传递信息的默认行为的模式。 然而,实验表明情况并非如此。 反向传播可靠地获取网络提供的上下文信息,以提高处理后的地图的准确性。

Layer 1 2 3 4 5 6 7 8
Convolution 3×3 3×3 3×3 3×3 3×3 3×3 3×3 1×1
Dilation 1 1 2 4 8 16 1 1
Truncation Yes Yes Yes Yes Yes Yes Yes No
Receptive field 3×3 5×5 9×9 17×17 33×33 65×65 67×67 67×67
Output channels
Basic C C C C C C C C
Large 2C 2C 4C 8C 16C 32C 32C C
表格1: 上下文网络架构。 网络通过在不损失分辨率的情况下以逐渐增加的尺度聚合上下文信息来处理C特征图。

这样就完成了基本上下文网络的呈现。 我们的实验表明,即使是这个基本模块也可以在数量和质量上提高密集预测精度。 鉴于网络中的参数数量很少:总共 64C2 个参数,这一点尤其值得注意。

我们还训练了一个更大的上下文网络,它在更深的层中使用更多数量的特征图。 1总结了大型网络中的地图数量。 我们概括了初始化方案以考虑不同层中特征图数量的差异。 cici+1 为两个连续层中特征图的数量。 假设Ccici+1 初始化是

kb(𝐭,a)={Cci+1𝐭=0 and aCci=bCci+1εotherwise (5)

这里是ε𝒩(0,σ2)σC/ci+1 随机噪声的使用打破了具有共同前身的特征图之间的联系。

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(a) Image
Refer to caption
(b) FCN-8s
Refer to caption
(c) DeepLab
Refer to caption
(d) Our front end
Refer to caption
(e) Ground truth
图2: 由 VGG-16 分类网络的不同改编产生的语义分割。 从左到右:(a)输入图像,(b)FCN-8s预测(Long等人,2015),(c)DeepLab预测(Chen等人,2015a) ,(d)我们简化的前端模块的预测,(e)地面实况。

aero

bike

bird

boat

bottle

bus

car

cat

chair

cow

table

dog

horse

mbike

person

plant

sheep

sofa

train

tv

mean IoU

FCN-8s 76.8 34.2 68.9 49.4 60.3 75.3 74.7 77.6 21.4 62.5 46.8 71.8 63.9 76.5 73.9 45.2 72.4 37.4 70.9 55.1 62.2
DeepLab 72 31 71.2 53.7 60.5 77 71.9 73.1 25.2 62.6 49.1 68.7 63.3 73.9 73.6 50.8 72.3 42.1 67.9 52.6 62.1
DeepLab-Msc 74.9 34.1 72.6 52.9 61.0 77.9 73.0 73.7 26.4 62.2 49.3 68.4 64.1 74.0 75.0 51.7 72.7 42.5 67.2 55.7 62.9
Our front end 82.2 37.4 72.7 57.1 62.7 82.8 77.8 78.9 28 70 51.6 73.1 72.8 81.5 79.1 56.6 77.1 49.9 75.3 60.9 67.6
Table 2: Our front-end prediction module is simpler and more accurate than prior models. This table reports accuracy on the VOC-2012 test set.

4前端

我们实现并训练了一个前端预测模块,该模块将彩色图像作为输入并生成 C=21 特征图作为输出。 前端模块遵循Long等人(2015)Chen等人(2015a)的工作,但单独实现。 我们采用 VGG-16 网络(Simonyan & Zisserman,2015)进行密集预测,并删除了最后两个池化层和跨步层。 具体来说,每个池化层和跨步层都被移除,并且对于每个被消融的池化层,所有后续层中的卷积都扩大了 2 倍。 因此,紧随两个消融池层的最后层中的卷积膨胀了 4 倍。 这使得能够使用原始分类网络的参数进行初始化,但会产生更高分辨率的输出。 前端模块将填充图像作为输入并生成分辨率为 64×64 的特征图。 我们使用反射填充:通过围绕每个边缘反射图像来填充缓冲区。

我们的前端模块是通过消除分类网络的残余而获得的,这些残余对于密集预测会产生反作用。 最重要的是,我们完全删除了最后两个池化层和跨步层,而 Long 等人保留了它们,Chen 等人用扩张替换了跨步,但保留了池化层。 我们发现通过删除池化层来简化网络可以使其更加准确。 我们还删除了中间特征图的填充。 原始分类网络中使用了中间填充,但在密集预测中既不必要也不合理。

这个简化的预测模块在 Pascal VOC 2012 训练集上进行训练,并通过 Hariharan 等人 (2011) 创建的注释进行了增强。 我们没有使用 VOC-2012 验证集中的图像进行训练,因此仅使用 Hariharan 等人 (2011) 注释的子集。 训练通过随机梯度下降 (SGD) 进行,小批量大小为 14,学习率 103 和动量 0.9 该网络经过 60K 次迭代训练。

现在,我们将前端模块的准确性与 Long 等人 (2015) 的 FCN-8s 设计和 Chen 等人 (2015a) 的 DeepLab 网络进行比较。 对于 FCN-8s 和 DeepLab,我们评估了原作者在 VOC-2012 上训练的公共模型。 2 显示了不同模型对 VOC-2012 数据集图像产生的分割。 2 报告了模型在 VOC-2012 测试集上的准确性。

我们的前端预测模块比之前的模型更简单、更准确。 具体来说,我们的简化模型在测试集上的性能优于 FCN-8s 和 DeepLab 网络 5 个百分点以上。 有趣的是,我们简化的前端模块在不使用 CRF 的情况下,在测试集上的性能比 DeepLab+CRF 的排行榜准确率高出一个百分点以上(67.6% vs. 66.4%)。

5实验

我们的实现基于 Caffe 库(Jia 等人,2014) 我们对扩张卷积的实现现在是标准 Caffe 分布的一部分。

为了与最新的高性能系统进行公平比较,我们训练了一个前端模块,该模块具有与第 4 节中描述的相同的结构,但在 Microsoft COCO 数据集 中的其他图像上进行训练(林等人,2014) 我们使用了 Microsoft COCO 中的所有图像以及至少一个来自 VOC-2012 类别的对象。 其他类别的带注释的对象被视为背景。

训练分两个阶段进行。 在第一阶段,我们一起对 VOC-2012 图像和 Microsoft COCO 图像进行训练。 训练由 SGD 执行,小批量大小为 14,动量为 0.9。 以学习率 103 执行 100K 次迭代,以 104 学习率执行 40K 后续迭代。 在第二阶段,我们仅在 VOC-2012 图像上对网络进行微调。 105的学习率进行了50K次迭代的微调。 VOC-2012 验证集中的图像未用于训练。

通过此过程训练的前端模块在 VOC-2012 验证集上达到 69.8% 平均 IoU,在测试集上达到 71.3% 平均 IoU。 请注意,这种准确性水平是由前端单独实现的,没有上下文模块或结构化预测。 我们再次将这种高精度部分归因于最初为图像分类而不是密集预测而开发的残留成分的去除。

上下文聚合的受控评估。

我们现在进行受控实验来评估第 3 节中介绍的上下文网络的实用性。 我们首先将两个上下文模块(基本和大型)插入前端。 由于上下文网络的感受野是67×67,我们用宽度为33的缓冲区填充输入特征图。 零填充和反射填充在我们的实验中产生了类似的结果。 上下文模块接受来自前端的特征图作为输入,并在训练期间给出该输入。 在我们的实验中,上下文模块和前端模块的联合训练并没有产生显着的改进。 学习率设置为103 训练按照3节中的描述进行初始化。

3展示了将上下文模块添加到三种不同的语义分割架构中的效果。 第一个架构(顶部)是第 4 节中描述的前端。 它在没有结构化预测的情况下执行语义分割,类似于 Long 等人 (2015) 的原始工作。 第二种架构(表3,中)使用密集CRF来执行结构化预测,类似于Chen等人(2015a)的系统。 我们使用 Krähenbühl & Koltun (2011) 的实现,并通过验证集上的网格搜索来训练 CRF 参数。 第三种架构(表3,底部)使用CRF-RNN进行结构化预测(Zheng等人,2015) 我们使用 Zheng 等人 (2015) 的实现并在每种情况下训练 CRF-RNN。

实验结果表明,上下文模块提高了三种配置中每种配置的准确性。 基本上下文模块提高了每种配置的准确性。 大型上下文模块大幅提高了准确性。 实验表明上下文模块和结构化预测是协同作用的:上下文模块在有或没有后续结构化预测的情况下都提高了准确性。 定性结果如图3所示。

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(a) Image
Refer to caption
(b) Front end
Refer to caption
(c)  + Context
Refer to caption
(d)  + CRF-RNN
Refer to caption
(e) Ground truth
图3: 不同模型产生的语义分割。 从左到右:(a)输入图像,(b)前端模块预测,(c)插入前端的大型上下文网络预测,(d)前端+上下文模块+CRF预测-RNN,(e) 地面实况。

aero

bike

bird

boat

bottle

bus

car

cat

chair

cow

table

dog

horse

mbike

person

plant

sheep

sofa

train

tv

mean IoU

Front end 86.3 38.2 76.8 66.8 63.2 87.3 78.7 82 33.7 76.7 53.5 73.7 76 76.6 83 51.9 77.8 44 79.9 66.3 69.8
Front + Basic 86.4 37.6 78.5 66.3 64.1 89.9 79.9 84.9 36.1 79.4 55.8 77.6 81.6 79 83.1 51.2 81.3 43.7 82.3 65.7 71.3
Front + Large 87.3 39.2 80.3 65.6 66.4 90.2 82.6 85.8 34.8 81.9 51.7 79 84.1 80.9 83.2 51.2 83.2 44.7 83.4 65.6 72.1
Front end + CRF 89.2 38.8 80 69.8 63.2 88.8 80 85.2 33.8 80.6 55.5 77.1 80.8 77.3 84.3 53.1 80.4 45 80.7 67.9 71.6
Front + Basic + CRF 89.1 38.7 81.4 67.4 65 91 81 86.7 37.5 81 57 79.6 83.6 79.9 84.6 52.7 83.3 44.3 82.6 67.2 72.7
Front + Large + CRF 89.6 39.9 82.7 66.7 67.5 91.1 83.3 87.4 36 83.3 52.5 80.7 85.7 81.8 84.4 52.6 84.4 45.3 83.7 66.7 73.3
Front end + RNN 88.8 38.1 80.8 69.1 65.6 89.9 79.6 85.7 36.3 83.6 57.3 77.9 83.2 77 84.6 54.7 82.1 46.9 80.9 66.7 72.5
Front + Basic + RNN 89 38.4 82.3 67.9 65.2 91.5 80.4 87.2 38.4 82.1 57.7 79.9 85 79.6 84.5 53.5 84 45 82.8 66.2 73.1
Front + Large + RNN 89.3 39.2 83.6 67.2 69 92.1 83.1 88 38.4 84.8 55.3 81.2 86.7 81.3 84.3 53.6 84.4 45.8 83.8 67 73.9
Table 3: Controlled evaluation of the effect of the context module on the accuracy of three different architectures for semantic segmentation. Experiments performed on the VOC-2012 validation set. Validation images were not used for training. Top: adding the context module to a semantic segmentation front end with no structured prediction (Long et al., 2015). The basic context module increases accuracy, the large module increases it by a larger margin. Middle: the context module increases accuracy when plugged into a front-end + dense CRF configuration (Chen et al., 2015a). Bottom: the context module increases accuracy when plugged into a front-end + CRF-RNN configuration (Zheng et al., 2015).

对测试集的评估。

现在,我们将结果提交到 Pascal VOC 2012 评估服务器,对测试集进行评估。 结果报告于表4中。 我们使用大型上下文模块进行这些实验。 结果表明,上下文模块比前端的准确性显着提高。 仅上下文模块,无需后续结构化预测,其性能优于 DeepLab-CRF-COCO-LargeFOV (Chen 等人,2015a) 具有密集 CRF 的上下文模块,使用 Krähenbühl & Koltun (2011) 的原始实现,与最近的 CRF-RNN (Zheng 等人, 2015) 性能相当>。 上下文模块与 CRF-RNN 的结合进一步提高了 CRF-RNN 性能的准确性。

aero

bike

bird

boat

bottle

bus

car

cat

chair

cow

table

dog

horse

mbike

person

plant

sheep

sofa

train

tv

mean IoU

DeepLab++ 89.1 38.3 88.1 63.3 69.7 87.1 83.1 85 29.3 76.5 56.5 79.8 77.9 85.8 82.4 57.4 84.3 54.9 80.5 64.1 72.7
DeepLab-MSc++ 89.2 46.7 88.5 63.5 68.4 87.0 81.2 86.3 32.6 80.7 62.4 81.0 81.3 84.3 82.1 56.2 84.6 58.3 76.2 67.2 73.9
CRF-RNN 90.4 55.3 88.7 68.4 69.8 88.3 82.4 85.1 32.6 78.5 64.4 79.6 81.9 86.4 81.8 58.6 82.4 53.5 77.4 70.1 74.7
Front end 86.6 37.3 84.9 62.4 67.3 86.2 81.2 82.1 32.6 77.4 58.3 75.9 81 83.6 82.3 54.2 81.5 50.1 77.5 63 71.3
Context 89.1 39.1 86.8 62.6 68.9 88.2 82.6 87.7 33.8 81.2 59.2 81.8 87.2 83.3 83.6 53.6 84.9 53.7 80.5 62.9 73.5
Context + CRF 91.3 39.9 88.9 64.3 69.8 88.9 82.6 89.7 34.7 82.7 59.5 83 88.4 84.2 85 55.3 86.7 54.4 81.9 63.6 74.7
Context + CRF-RNN 91.7 39.6 87.8 63.1 71.8 89.7 82.9 89.8 37.2 84 63 83.3 89 83.8 85.1 56.8 87.6 56 80.2 64.7 75.3
表 4: 对 VOC-2012 测试集的评估。 “DeepLab++”代表 DeepLab-CRF-COCO-LargeFOV,“DeepLab-MSc++”代表 DeepLab-MSc-CRF-LargeFOV-COCO-CrossJoint (陈等人,2015a) ‘CRF-RNN’是Zheng等人(2015)的系统。 “上下文”是指插入我们前端的大型上下文模块。 上下文网络产生非常高的准确性,我们执行 DeepLab++ 架构而不执行结构化预测。 将上下文网络与CRF-RNN结构化预测模块相结合,提高了CRF-RNN系统的准确性。

6结论

我们已经研究了用于密集预测的卷积网络架构。 由于模型必须产生高分辨率输出,因此我们相信整个网络的高分辨率操作既可行又可取。 我们的工作表明,扩张卷积算子特别适合密集预测,因为它能够在不损失分辨率或覆盖范围的情况下扩大感受野。 我们利用扩张卷积设计了一种新的网络结构,当插入现有的语义分割系统时,该结构可以可靠地提高准确性。 作为这项工作的一部分,我们还表明,可以通过去除为图像分类开发的残留组件来提高现有语义分割卷积网络的准确性。

我们相信,所提出的工作是朝着不受图像分类先驱约束的密集预测专用架构迈出的一步。 随着新的数据源的出现,未来的架构可能会进行密集的端到端训练,从而无需对图像分类数据集进行预训练。 这可以实现架构简化和统一。 具体来说,端到端密集训练可以使类似于所呈现的上下文网络的完全密集架构能够在整个过程中以全分辨率运行,接受原始图像作为输入并以全分辨率产生密集标签分配作为输出。

最先进的语义分割系统为未来的进步留下了巨大的空间。 我们最准确的配置的失败案例如图4所示。 我们将发布我们的代码和经过训练的模型以支持该领域的进展。

致谢

我们感谢 Vibhav Vineet 的校对、实验帮助和相关讨论。 我们还感谢 Jonathan Long 和 Caffe 团队的反馈,并感谢他们迅速将我们的实现引入 Caffe 库。

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(a) Image
Refer to caption
(b) Our result
Refer to caption
(c) Ground truth
Refer to caption
(d) Image
Refer to caption
(e) Our result
Refer to caption
(f) Ground truth
图4: VOC-2012 验证集的失败案例。 我们训练的最准确的架构(Context + CRF-RNN)在这些图像上表现不佳。

参考

  • Badrinarayanan et al. (2015) Badrinarayanan, Vijay, Handa, Ankur, and Cipolla, Roberto. SegNet: A deep convolutional encoder-decoder architecture for robust semantic pixel-wise labelling. arXiv:1505.07293, 2015.
  • Brostow et al. (2009) Brostow, Gabriel J., Fauqueur, Julien, and Cipolla, Roberto. Semantic object classes in video: A high-definition ground truth database. Pattern Recognition Letters, 30(2), 2009.
  • Chen et al. (2015a) Chen, Liang-Chieh, Papandreou, George, Kokkinos, Iasonas, Murphy, Kevin, and Yuille, Alan L. Semantic image segmentation with deep convolutional nets and fully connected CRFs. In ICLR, 2015a.
  • Chen et al. (2015b) Chen, Liang-Chieh, Yang, Yi, Wang, Jiang, Xu, Wei, and Yuille, Alan L. Attention to scale: Scale-aware semantic image segmentation. arXiv:1511.03339, 2015b.
  • Cordts et al. (2016) Cordts, Marius, Omran, Mohamed, Ramos, Sebastian, Rehfeld, Timo, Enzweiler, Markus, Benenson, Rodrigo, Franke, Uwe, Roth, Stefan, and Schiele, Bernt. The Cityscapes dataset for semantic urban scene understanding. In CVPR, 2016.
  • Everingham et al. (2010) Everingham, Mark, Gool, Luc J. Van, Williams, Christopher K. I., Winn, John M., and Zisserman, Andrew. The Pascal visual object classes (VOC) challenge. IJCV, 88(2), 2010.
  • Farabet et al. (2013) Farabet, Clément, Couprie, Camille, Najman, Laurent, and LeCun, Yann. Learning hierarchical features for scene labeling. PAMI, 35(8), 2013.
  • Fischer et al. (2015) Fischer, Philipp, Dosovitskiy, Alexey, Ilg, Eddy, Häusser, Philip, Hazırbaş, Caner, Golkov, Vladimir, van der Smagt, Patrick, Cremers, Daniel, and Brox, Thomas. Learning optical flow with convolutional neural networks. In ICCV, 2015.
  • Galleguillos & Belongie (2010) Galleguillos, Carolina and Belongie, Serge J. Context based object categorization: A critical survey. Computer Vision and Image Understanding, 114(6), 2010.
  • Geiger et al. (2013) Geiger, Andreas, Lenz, Philip, Stiller, Christoph, and Urtasun, Raquel. Vision meets robotics: The KITTI dataset. International Journal of Robotics Research, 32(11), 2013.
  • Glorot & Bengio (2010) Glorot, Xavier and Bengio, Yoshua. Understanding the difficulty of training deep feedforward neural networks. In AISTATS, 2010.
  • Hariharan et al. (2011) Hariharan, Bharath, Arbelaez, Pablo, Bourdev, Lubomir D., Maji, Subhransu, and Malik, Jitendra. Semantic contours from inverse detectors. In ICCV, 2011.
  • He et al. (2004) He, Xuming, Zemel, Richard S., and Carreira-Perpiñán, Miguel Á. Multiscale conditional random fields for image labeling. In CVPR, 2004.
  • Holschneider et al. (1987) Holschneider, M., Kronland-Martinet, R., Morlet, J., and Tchamitchian, Ph. A real-time algorithm for signal analysis with the help of the wavelet transform. In Wavelets: Time-Frequency Methods and Phase Space. Proceedings of the International Conference, 1987.
  • Jia et al. (2014) Jia, Yangqing, Shelhamer, Evan, Donahue, Jeff, Karayev, Sergey, Long, Jonathan, Girshick, Ross B., Guadarrama, Sergio, and Darrell, Trevor. Caffe: Convolutional architecture for fast feature embedding. In Proc. ACM Multimedia, 2014.
  • Kohli et al. (2009) Kohli, Pushmeet, Ladicky, Lubor, and Torr, Philip H. S. Robust higher order potentials for enforcing label consistency. IJCV, 82(3), 2009.
  • Krähenbühl & Koltun (2011) Krähenbühl, Philipp and Koltun, Vladlen. Efficient inference in fully connected CRFs with Gaussian edge potentials. In NIPS, 2011.
  • Krizhevsky et al. (2012) Krizhevsky, Alex, Sutskever, Ilya, and Hinton, Geoffrey E. ImageNet classification with deep convolutional neural networks. In NIPS, 2012.
  • Kundu et al. (2016) Kundu, Abhijit, Vineet, Vibhav, and Koltun, Vladlen. Feature space optimization for semantic video segmentation. In CVPR, 2016.
  • Ladicky et al. (2009) Ladicky, Lubor, Russell, Christopher, Kohli, Pushmeet, and Torr, Philip H. S. Associative hierarchical CRFs for object class image segmentation. In ICCV, 2009.
  • Le et al. (2015) Le, Quoc V., Jaitly, Navdeep, and Hinton, Geoffrey E. A simple way to initialize recurrent networks of rectified linear units. arXiv:1504.00941, 2015.
  • LeCun et al. (1989) LeCun, Yann, Boser, Bernhard, Denker, John S., Henderson, Donnie, Howard, Richard E., Hubbard, Wayne, and Jackel, Lawrence D. Backpropagation applied to handwritten zip code recognition. Neural Computation, 1(4), 1989.
  • Lin et al. (2015) Lin, Guosheng, Shen, Chunhua, Reid, Ian, and van dan Hengel, Anton. Efficient piecewise training of deep structured models for semantic segmentation. arXiv:1504.01013, 2015.
  • Lin et al. (2014) Lin, Tsung-Yi, Maire, Michael, Belongie, Serge, Hays, James, Perona, Pietro, Ramanan, Deva, Dollár, Piotr, and Zitnick, C. Lawrence. Microsoft COCO: Common objects in context. In ECCV, 2014.
  • Liu & He (2015) Liu, Buyu and He, Xuming. Multiclass semantic video segmentation with object-level active inference. In CVPR, 2015.
  • Long et al. (2015) Long, Jonathan, Shelhamer, Evan, and Darrell, Trevor. Fully convolutional networks for semantic segmentation. In CVPR, 2015.
  • Noh et al. (2015) Noh, Hyeonwoo, Hong, Seunghoon, and Han, Bohyung. Learning deconvolution network for semantic segmentation. In ICCV, 2015.
  • Ros et al. (2015) Ros, Germán, Ramos, Sebastian, Granados, Manuel, Bakhtiary, Amir, Vázquez, David, and López, Antonio Manuel. Vision-based offline-online perception paradigm for autonomous driving. In WACV, 2015.
  • Rumelhart et al. (1986) Rumelhart, David E., Hinton, Geoffrey E., and Williams, Ronald J. Learning representations by back-propagating errors. Nature, 323, 1986.
  • Shensa (1992) Shensa, Mark J. The discrete wavelet transform: wedding the à trous and Mallat algorithms. IEEE Transactions on Signal Processing, 40(10), 1992.
  • Shotton et al. (2009) Shotton, Jamie, Winn, John M., Rother, Carsten, and Criminisi, Antonio. TextonBoost for image understanding: Multi-class object recognition and segmentation by jointly modeling texture, layout, and context. IJCV, 81(1), 2009.
  • Simonyan & Zisserman (2015) Simonyan, Karen and Zisserman, Andrew. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.
  • Sturgess et al. (2009) Sturgess, Paul, Alahari, Karteek, Ladicky, Lubor, and Torr, Philip H. S. Combining appearance and structure from motion features for road scene understanding. In BMVC, 2009.
  • Tighe & Lazebnik (2013) Tighe, Joseph and Lazebnik, Svetlana. Superparsing – scalable nonparametric image parsing with superpixels. IJCV, 101(2), 2013.
  • Zheng et al. (2015) Zheng, Shuai, Jayasumana, Sadeep, Romera-Paredes, Bernardino, Vineet, Vibhav, Su, Zhizhong, Du, Dalong, Huang, Chang, and Torr, Philip. Conditional random fields as recurrent neural networks. In ICCV, 2015.

附录A城市场景理解

在本附录中,我们报告了三个用于城市场景理解的数据集的实验:CamVid 数据集(Brostow 等人,2009)、KITTI 数据集(Geiger 等人,2013) ,以及新的 Cityscapes 数据集(Cordts 等人,2016) 作为准确度度量,我们使用平均 IoU (Everingham 等人, 2010) 即使验证集可用,我们也仅在训练集上训练我们的模型。 本节报告的结果不使用条件随机场或其他形式的结构化预测。 它们是通过结合前端模块和上下文模块的卷积网络获得的,类似于表 3 中评估的“Front + Basic”网络。 训练好的模型可以在https://github.com/fyu/dilation找到。

现在我们总结一下用于训练前端模块的训练过程。 此过程适用于所有数据集。 训练是通过随机梯度下降进行的。 每个小批量包含来自随机采样图像的 8 种裁剪。 每个裁剪的大小为 628×628,并且是从填充图像中随机采样的。 使用反射填充来填充图像。 中间层不使用填充物。 学习率为104,动量设置为0.99 迭代次数取决于数据集中的图像数量,并针对下面的每个数据集进行报告。

这些数据集使用的上下文模块均源自“Basic”网络,使用表1中的术语。 每层的通道数就是预测类别C的数量。 (例如,C=19 表示 Cityscapes 数据集。) 上下文模块中的每一层都经过填充,以使输入和响应映射具有相同的大小。 上下文模块中的层数取决于数据集中图像的分辨率。 下面针对每个数据集总结了由前端和上下文模块组成的完整模型的联合训练。

A.1 CamVid

我们使用 Sturgess 等人 (2009) 的分割,将数据集划分为 367 个训练图像、100 个验证图像和 233 个测试图像。 使用了 11 个语义类。 图像被下采样到640×480

上下文模块有 8 层,类似于论文正文中用于 Pascal VOC 数据集的模型。 总体训练流程如下。 首先,前端模块经过 20K 次迭代训练。 然后,通过对批量大小为 1 的大小为 852×852 的作物进行采样来联合训练完整的模型(前端 + 上下文)。 联合训练的学习率设置为105,动量设置为0.9

5 报告了 CamVid 测试集的结果。 我们将完整的卷积网络(前端 + 上下文)称为 Dilation8,因为上下文模块有 8 层。 我们的模型优于之前的工作。 该模型在Kundu等人(2016)的近期工作中被用作一元分类器。

Building

Tree

Sky

Car

Sign

Road

Pedestrian

Fence

Pole

Sidewalk

Bicyclist

mean IoU

ALE 73.4 70.2 91.1 64.2 24.4 91.1 29.1 31.0 13.6 72.4 28.6 53.6
SuperParsing 70.4 54.8 83.5 43.3 25.4 83.4 11.6 18.3 5.2 57.4 8.9 42.0
Liu and He 66.8 66.6 90.1 62.9 21.4 85.8 28.0 17.8 8.3 63.5 8.5 47.2
SegNet 68.7 52.0 87.0 58.5 13.4 86.2 25.3 17.9 16.0 60.5 24.8 46.4
DeepLab-LFOV 81.5 74.6 89.0 82.2 42.3 92.2 48.4 27.2 14.3 75.4 50.1 61.6
Dilation8 82.6 76.2 89.9 84.0 46.9 92.2 56.3 35.8 23.4 75.3 55.5 65.3
表 5: CamVid 数据集上的语义分割结果。 我们的模型 (Dilation8) 与 ALE (Ladicky 等人, 2009)、SuperParsing (Tighe & Lazebnik, 2013)、Liu 和 He (Liu & He ,2015),SegNet (Badrinarayanan 等人,2015),以及 DeepLab-LargeFOV 模型(Chen 等人,2015a) 我们的模型优于之前的工作。

A.2基蒂

我们使用 Ros 等人 (2015) 的训练和验证分割:100 个训练图像和 46 个测试图像。 图像均来自 KITTI 视觉里程计/SLAM 数据集。 图像分辨率为1226×370 由于垂直分辨率与其他数据集相比较小,因此我们删除了表1中的第6层。 生成的上下文模块有 7 层。 完整的网络(前端+上下文)被称为Dilation7。

前端经过 10K 次迭代训练。 接下来,联合训练前端和上下文模块。 对于联合训练,裁剪尺寸为900×900,动量设置为0.99,其他参数与CamVid数据集使用的参数相同。 联合训练执行 20K 次迭代。

结果如表6所示。 如表所示,我们的模型优于之前的工作。

Building

Tree

Sky

Car

Sign

Road

Pedestrian

Fence

Pole

Sidewalk

Bicyclist

mean IoU

Ros et al. 71.8 69.5 84.4 51.2 4.2 72.4 1.7 32.4 2.6 45.3 3.2 39.9
DeepLab-LFOV 82.8 78.6 82.4 78.0 28.8 91.3 0.0 39.4 29.9 72.4 12.9 54.2
Dilation7 84.6 81.1 83 81.4 41.8 92.9 4.6 47.1 35.2 73.1 26.4 59.2
表 6: KITTI 数据集上的语义分割结果。 我们将我们的结果与 Ros 等人 (2015) 和 DeepLab-LargeFOV 模型 (Chen 等人, 2015a) 进行比较。 我们的网络(Dilation7)比之前的工作具有更高的准确性。

A.3 城市景观

Cityscapes 数据集包含 2975 个训练图像、500 个验证图像和 1525 个测试图像(Cordts 等人, 2016) 由于图像分辨率较高(2048×1024),我们在表1中第6层之后向上下文网络添加了两层。 这两层分别具有膨胀 32 和 64。 上下文模块中的总层数为 10,我们将完整的模型(前端 + 上下文)称为 Dilation10。

Dilation10 网络分三个阶段进行训练。 首先,前端预测模块经过 40K 次迭代训练。 其次,上下文模块在整个(未裁剪的)图像上进行 24K 次迭代训练,学习率 104、动量 0.99 和批量大小 100。 第三,完整的模型(前端+上下文)在一半图像(输入大小1396×1396,包括填充)上联合训练60K迭代,学习率105,动量0.99,批量大小为 1。

Refer to caption
图5: Dilation10 模型在不同训练阶段后产生的结果。 (a) 输入图像。 (b) 地面实况分割。 (c) 训练第一阶段后模型产生的分割(仅限前端)。 (d) 第二阶段之后产生的分割,用于训练上下文模块。 (e) 第三阶段之后产生的分割,其中两个模块被联合训练。

5直观地展示了训练阶段对模型性能的影响。 定量结果在表78中给出。

Dilation10 的性能与 Cordts 等人 (2016) 之前在 Cityscapes 数据集上的工作进行了比较。 在他们的评估中,Dilation10 优于所有先前模型(Cordts 等人,2016) Kundu 等人 (2016) 最近的工作中也使用 Dilation10 作为一元分类器,利用结构化预测进一步提高准确性。

Road

Sidewalk

Building

Wall

Fence

Pole

Light

Sign

Vegetation

Terrain

Sky

Person

Rider

Car

Truck

Bus

Train

Motorcycle

Bicycle

mean IoU

Validation set
97.2 79.5 90.4 44.9 52.4 55.1 56.7 69 91 58.7 92.6 75.7 50 92.2 56.2 72.6 54.3 46.2 70.1 68.7
Test set
97.6 79.2 89.9 37.3 47.6 53.2 58.6 65.2 91.8 69.4 93.7 78.9 55 93.3 45.5 53.4 47.7 52.2 66 67.1
表 7: 我们的模型 (Dilation10) 在 Cityscapes 数据集上实现了每类和平均类级别 IoU。
Flat Nature Object Sky Construction Human Vehicle mean IoU
Validation set
98.2 91.4 62.3 92.6 90.7 77.6 91 86.3
Test set
98.3 91.4 60.5 93.7 90.2 79.8 91.8 86.5
表8: Cityscapes 数据集上每个类别和平均类别级别的 IoU。