基于多层级上下文信息的图像语义分割 下载: 961次
1 引言
图像语义分割是计算机视觉领域基础而重要的一项任务,语义分割被广泛应用于自动驾驶[1]、虚拟现实等计算机视觉任务中。图像语义分割的任务是为图像中的每个像素点分配一个类别标签,如人、车和建筑等,通过这些具有语义信息的标签完成对一幅图像的理解和解析。
卷积神经网络(CNN)[2]在计算机视觉任务中应用十分广泛,自Krizhevsky等[3]凭借其提出的AlexNet获得ImageNet[4]图像分类竞赛冠军后,深度卷积神经网络逐渐在各类视觉任务中占据了主流地位。近年来,基于全卷积神经网络(FCN)[5]的图像语义分割模型取得了较大的进展。FCN取消了传统卷积神经网络中的全连接层,可适应任意尺寸的输入[6-7],并输出精细的分类结果。但由于卷积层操作的固有几何特性,基于FCN的语义分割模型感受野较小,只能利用局部上下文信息,类别区分性较差。
为了克服FCN上下文信息使用不够充分的缺点,Zhao等[8]提出了金字塔池化模块,用以获取上下文信息;Chen等[9-12]进一步提出了空洞空间金字塔池化 (ASPP) 模块,通过使用多个尺度的膨胀卷积层来提取较大范围的上下文信息,取得了较好效果。ASPP模块使用多个具有不同膨胀率的卷积层对卷积神经网络特征进行信息提取,膨胀率越大,上下文信息范围越大,越有利于获取不同尺度范围的上下文信息,从而提高图像语义分割性能。Yang等[13]在ASPP模块的基础上引入密集连接,用以获取尺度更加密集的特征。Peng等[14]使用较大的卷积核提取上下文信息,获取较大范围的上下文信息。
近两年基于注意力机制的模型也被引入到语义分割任务中,用于提取上下文信息并提高图像语义分割性能。注意力机制模块对于长距离的依赖关系信息的提取效果较好。Wang等[15]采用自激励注意力机制,使任意位置点的特征可接收来自其他所有位置点的特征信息,从而得到上下文信息更丰富的特征表示。Fu等[16]使用两个注意力机制模块对卷积神经网络的特征在空间维度和通道维度上的依赖关系信息进行提取。Huang等[17]简化了注意力模块,使用较少的计算量就可达到相近的分割性能,采用位置注意力机制模块(PAM)使各位置点的特征仅接收一定数量的其他位置点的特征信息,无需计算特征图中所有位置点的特征信息。
由于膨胀卷积操作的几何特性,膨胀卷积中卷积核的间隔较普通卷积核更大,因此膨胀卷积对特征中上下文信息的提取较普通卷积核更加稀疏,无法提取到当前特征点周围所有点的密集特征信息,并且膨胀卷积操作的感受野不能覆盖全图,无法获取远距离的上下文信息。而PAM模块将卷积神经网络特征图中所有点的特征信息整合到当前点中,容易引入相似类别的干扰信息。为解决上述问题,本文提出多层级上下文信息机制,将长距离的依赖关系信息提取与局部性较强的上下文信息提取相结合,增强了卷积神经网络特征的信息丰富度与类别区分度,从而达到更好的语义分割性能。
2 多层级上下文信息语义分割网络结构
2.1 多层级上下文信息网络
充分有效利用上下文信息对于图像语义分割任务十分重要。基于注意力机制的模型把卷积神经网络特征图中所有点的特征信息整合到当前点的特征之中,对于复杂场景图像,容易引入相似类别的信息造成干扰。而基于模块的ASPP模块的模型所提取的上下文信息不够密集,容易丢失部分上下文信息,并且由于图像场景中物体之间的尺度、光照和视角等差别较大,即使由相同语义标签像素点提取的特征也会存在差异,这些差异会影响识别精度。本文提出构建更加密集、局部性更强的膨胀卷积模块,并将长距离的依赖关系信息与局部性较强的上下文信息相结合,以增强卷积神经网络特征的信息丰富度与类别区分度,获得更好的语义分割性能。
在图像物体识别领域,使用卷积神经网络的不同层级进行目标物体的特征提取和分类有利于提升网络的性能和稳健性[18-19],利用多层级特征进行上下文信息的提取,可以进一步丰富用于语义分割的卷积神经网络特征[20]。
He等[21]提出的深度残差网络(ResNet)在图像分类任务中性能表现优异,被广泛用于物体检测、语义分割等任务的主干网络架构的图像特征提取,本文所提方法同样使用ResNet作为主干网络。本文提出的多层级上下文信息网络结构如
主干网络中对ResNet网络的block3和block4提取到的特征使用类似特征金字塔[22]的结构进行增强,网络头部对增强后的特征进行上下文信息的提取和融合,之后输出预测结果。在卷积神经网络中,当前卷积层距离输入图像之间的卷积层个数可以表示网络的深浅。一般认为距离输入图像较近的浅层特征包含更多的细节信息(如轮廓、角点等),距离输入图像较远的深层特征经过较多的卷积层学习与抽象,包含更多的语义信息(如类别信息),即浅层特征语义信息的级别较低,深层特征语义信息的级别较高。由于语义分割任务更加依赖深层语义信息,现有的语义分割算法[10-14,16-17]大多仅使用主干网络中最后一个层级(包含的语义信息级别最高)的特征。考虑到细节信息有利于物体轮廓等细节的分割,以及语义分割任务对特征中的语义信息级别不能太低的要求,使用Block3和block4层级特征。 Block3和block4层级位于主干网络的最后,具备语义分割任务所需的高级别语义信息,同时在细节信息上有所差别(语义信息含量相近的情况下,block3层级的特征包含更多的细节信息)。因此,结合block3和block4层级的特征有利于提高语义分割任务的语义分类准确度和物体轮廓分割的精确度。由于block3和block4的特征通道数量不一致,首先使用1×1的卷积进行通道降维。Block4的特征降维后得到layer4,由于block4的特征包含的语义信息更多,之后使用来自block4的特征layer4对block3降维后的特征进行语义信息增强,得到layer3。
2.2 多层级上下文信息网络头部
多层级上下文信息网络的头部分别在layer4和layer3进行上下文信息的提取融合。Layer4使用PAM模块对长距离的依赖关系信息进行提取。Layer3使用提出的更加密集、局部性更强的膨胀卷积模块对局部细节信息进行提取。
PAM结构如
膨胀卷积模块如
PAM模块虽然可以提取长距离的依赖关系信息,但容易造成相似类别的信息干扰。这主要是因为PAM模块依靠特征相似度进行上下文信息的提取,不是一个学习的计算过程,容易使得外观上相似的类别(如树冠、草地)相互干扰。此外,PAM模块注重长距离信息的提取,对物体局部细节化的特征提取不足,对轮廓复杂的目标物体如自行车、三角形路标等的分割结果粗糙。因此,本文提出膨胀卷积模块旨在弥补PAM模块在信息提取上的不足。膨胀卷积模块使用较小的膨胀率提取局部性更强、密集程度更高的细节特征,可以对PAM模块提取的长距离依赖关系信息进行补充。
为了更好地融合多层级上下文信息,本文提出了增强模块,基于增强模块对较浅层级(如layer3)提取到的包含上下文信息的特征作进一步处理,结构如
首先对layer4的PAM输出特征作全局池化操作,之后对池化操作后的特征与膨胀卷积模块的输出特征作点积,点积的结果加上膨胀卷积模块的输出特征即可得增强后的特征。融合操作可以使用相加操作,也可以使用级联操作,前期的实验中,这两种融合方式的性能几乎无差异,为使模块简单化,使用简单相加进行特征融合。使用增强模块可充分利用较深层级(如layer4)提取到的特征具有覆盖全局的感受野和更高级语义信息的优势,增强较浅层级(如layer3)提取到的特征。
2.3 多层级上下文信息网络损失函数
损失函数是深度卷积神经网络训练过程中十分重要的一环,梯度下降算法通过减小损失函数逐步搜寻较优的参数,使卷积神经网络具有较好的性能。像素级的交叉熵损失函数是语义分割领域中最常用的损失函数[5,10],损失函数惩罚各像素点的预测值与真实标签值的差。若对于一个像素点
式中:
式中:
多层级上下文信息网络使用了layer3和layer4的特征,为更好地监督整个网络的学习过程,采用3处预测结果(
式中:
3 实验结果与分析
3.1 数据集与实现细节
为验证所提方法的有效性,在Cityscapes[23-24]数据集上进行语义分割实验。Cityscapes数据集是图像语义分割领域中使用十分广泛的数据集,包括从50个城市获取的5000张精细标注和20000张粗略标注的城市路面场景图像。实验仅采用了5000张精细标注的图像,未使用粗略标注的图像。5000张精细标注的图像包括2975张训练图像数据、500张验证图像数据和1525张测试图像数据。测试数据没有提供真实标签,需要提交其官方服务器进行测试。Cityscapes数据集的图像分辨率均为2048 pixel×1024 pixel,每个像素点对应一个类别标签,共分为19类(包括车、建筑和行人等)。为保证对比的公平性,仅使用训练图像进行训练,并在验证图像或测试图像上进行测试。
依照Chen等[10] 、Yang等[13]和Zhang等[25]的工作经验,本实验所使用的评价指标是语义分割领域常用的平均交并比(
式中:
实验采用的硬件环境为GeForceGTX TITAN X GPU。方法的实现使用Pytorch框架。使用批量随机梯度下降算法[2]进行训练,依照Chen等[11]和Zhang等[25]的工作经验,且为了更加公平地进行不同方法性能的比较,采用多元学习率策略,其中初始学习率每次迭代后都乘以因子
受Cityscapes图像数据过大以及计算资源的限制,在切片实验中,使用缩放后分辨率为384 pixel×384 pixel的图像进行训练和测试。在最后的对比实验中,使用未缩放的图像进行训练和测试,并在相同参数设置下对所提方法和Fu等[16]提出的方法进行性能对比。
3.2 切片实验
切片实验结果如
表 1. Cityscpaes验证集上各模块性能对比
Table 1. Performance of each model on Cityscapes validation set
|
首先,探究长距离的依赖关系信息与局部性较强的上下文信息相结合的效果。
其次,探究使用多层级特征的效果。
再次,探究增强模块的效果。
最后,为进一步提高性能,同时尽可能地减少增加的计算量,在ours-3结构中插入了Huang等[17]提出的十字型位置注意力机制 (CCM) 模块,记为ours-4,具体结构如
需要指出的是,插入CCM模块之前,本文提出的长距离依赖关系信息与局部性较强的上下文信息相结合的方法已经使网络性能提高了近2个百分点,插入CCM模块只是为了进一步提高分割性能。
3.3 性能对比
对比所提方法与基础方法baseline的性能,网络中的超参数设置均与基础方法保持一致。首先采用384 pixel×384 pixel分辨率进行训练,使用测试集在官网进行测试,结果如
使用768 pixel×768 pixel分辨率进行训练和测试,受限于计算资源,选取ResNet50作为主干网络,实验结果如
表 2. Cityscapes测试集上各模块性能对比
Table 2. Performance of each model on Cityscapes test set%
|
表 3. Cityscapes数据集上网络性能对比
Table 3. Network performance on Cityscapes dataset
|
在Cityscapes测试集上对比3个在语义分割任务中使用广泛的经典方法,结果表明,所提方法在使用性能较弱的主干网络(ResNet50)的情况下,其性能仍能够超过或接近多个经典方法使用性能较强主干网络(ResNet101)的性能。换用ResNet101作为主干网络后,baseline模型可获得76.67%的精度,所提方法ours-4在测试集上精度可达78.01%,提高了约1.3个百分点。实验证明,使用多层级的特征和长距离的依赖关系信息与局部性较强的上下文信息相结合的方法,对提高语义分割任务的精度是有效的。
3.4 定性结果分析
使用定性方式对比所提方法与基础方法baseline的性能,结果如
对比
4 结论
在多层级上下文信息语义分割网络中,使用多层级的特征、长距离的依赖关系信息与局部性较强的上下文信息相结合的方式,增强了卷积神经网络特征的信息丰富度与类别区分度,获得了更好的语义分割性能。设计了简单有效的膨胀卷积模块,以提取更加密集的局部性较强的上下文细节信息。为更充分地利用不同层级特征所含的信息,达到信息的互补,引入了增强模块,通过进一步丰富特征的语义信息提高类别区分度。在Cityscapes数据集上的实验结果表明,多层级上下文信息语义分割网络的分割精度达到77.20%,比基础方法提高了约1.4个百分点。此外,所提方法模块可以插入到不同结构的主干网络,以实现语义分割性能的提升。未来将采用深度可分离卷积等方法降低模型计算量、提高模型速度,以促进语义分割模型在智能驾驶等领域的实际应用。
[1] 郭呈呈, 于凤芹, 陈莹. 基于卷积神经网络特征和改进超像素匹配的图像语义分割[J]. 激光与光电子学进展, 2018, 55(8): 081005.
[2] LeCun Y, Bottou L, Bengio Y, et al. . Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[3] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90.
[4] DengJ, DongW, SocherR, et al. ImageNet: a large-scale hierarchical image database[C]∥2009 IEEE Conference on Computer Vision and Pattern Recognition, June 20-25, 2009, Miami, FL, USA. New York: IEEE, 2009: 248- 255.
[5] LongJ, ShelhamerE, DarrellT. Fully convolutional networks for semantic segmentation[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 3431- 3440.
[6] 方旭, 王光辉, 杨化超, 等. 结合均值漂移分割与全卷积神经网络的高分辨遥感影像分类[J]. 激光与光电子学进展, 2018, 55(2): 022802.
[7] 王琳, 刘强. 基于局部特征的多目标图像分割算法[J]. 激光与光电子学进展, 2018, 55(6): 061002.
[8] Zhao HS, Shi JP, Qi XJ, et al. Pyramid scene parsing network[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 6230- 6239.
[9] Chen LC, PapandreouG, KokkinosI, et al. Semantic image segmentation with deep convolutional nets and fully connectedCRFs[J/OL]. ( 2016-06-07)[2019-03-30]. https:∥arxiv.org/abs/1412. 7062.
[10] Chen L C, Papandreou G, Kokkinos I, et al. DeepLab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4): 834-848.
[11] Chen LC, PapandreouG, SchroffF, et al. Rethinking atrous convolution for semantic image segmentation[J/OL]. ( 2017-12-05)[2019-03-30]. https∥arxiv.org/abs/1706. 05587.
[12] Chen LC, Zhu YK, PapandreouG, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation[M] ∥Ferrari V, Hebert M, Sminchisescu C, et al. Computer vision-ECCV 2018. Lecture notes in computer science. Cham: Springer, 2018, 11211: 833- 851.
[13] Yang MK, YuK, ZhangC, et al. DenseASPP for semantic segmentation in street scenes[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 3684- 3692.
[14] PengC, Zhang XY, YuG, et al. Large kernel matters: improve semantic segmentation by global convolutional network[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 1743- 1751.
[15] Wang XL, GirshickR, GuptaA, et al. Non-local neural networks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 7794- 7803.
[16] FuJ, LiuJ, Tian HJ, et al. Dual attention network for scene segmentation[C]∥The IEEE Conference on Computer Vision and Pattern Recognition, June 16-20, 2019, Long Beach, CA, USA. New York: IEEE, 2019: 3146- 3154.
[17] Huang ZL, Wang XG, Huang LC, et al. CCNet: criss-cross attention for semantic segmentation [J/OL]. ( 2018-11-28) [2019-03-30]. https∥arxiv.org/abs/1811. 11721.
[18] LiuW, AnguelovD, ErhanD, et al. SSD: single shot MultiBox detector[M] ∥Leibe B, Matas J, Sebe N, et al. Computer vision - ECCV 2016. Lecture notes in computer science. Cham: Springer, 2016, 9905: 21- 37.
[19] Cai ZW, Fan QF, Feris RS, et al. A unified multi-scale deep convolutional neural network for fast object detection[M] ∥Leibe B, Matas J, Sebe N, et al. Computer vision - ECCV 2016. Lecture notes in computer science. Cham: Springer, 2016, 9908: 354- 370.
[20] Lin GS, MilanA, Shen CH, et al. RefineNet: multi-path refinement networks for high-resolution semantic segmentation[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 5168- 5177.
[21] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[22] Lin TY, DollárP, GirshickR, et al. Feature pyramid networks for object detection[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 936- 944.
[23] CordtsM, OmranM, RamosS, et al. The cityscapes dataset[C]∥CVPR Workshop on the Future of Datasets in Vision, June 7-12, 2015, Boston, Massachusetts. New York: IEEE, 2015.
[24] CordtsM, OmranM, RamosS, et al. The cityscapes dataset for semantic urban scene understanding[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 3213- 3223.
[25] ZhangH, DanaK, Shi JP, et al. Context encoding for semantic segmentation[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 7151- 7160.
Article Outline
岳师怡. 基于多层级上下文信息的图像语义分割[J]. 激光与光电子学进展, 2019, 56(24): 241005. Shiyi Yue. Image Semantic Segmentation Based on Hierarchical Context Information[J]. Laser & Optoelectronics Progress, 2019, 56(24): 241005.