图像语义分割是计算机视觉的重要研究内容之一,其研究发展经历了3个阶段[1]:传统方法的研究阶段、传统方法和深度学习相结合的研究阶段、基于深度学习的研究阶段。2015年Long等[2]提出了全卷积网络(FCN),开创性地将分类网络VGG16[3]中的全连接层改编成卷积层,并在浅层特征和深层特征之间采用跳跃连接,显著改善了语义分割的性能。FCN方法的提出促使深度学习广泛应用于语义分割领域,大量基于卷积神经网络(CNN)的语义分割算法随后相继出现。
这些算法各有特点,针对性较强,其中的一个重点是改善连续下采样操作导致图像中物体细节信息丢失的问题。例如,Noh等[4]构建编码器–解码器网络DeconvNet,在解码器中通过反池化和反卷积操作捕获物体更精细的细节信息,能够解决物体的详细结构丢失的问题。Badrinarayanan等[5]提出对称的编码器–解码器网络SegNet,编码器中采用池化索引存储像素的位置信息,解码器中使用相应编码器的池化索引执行上采样,进而改善了物体的边缘分割。Yu等[6]在Dilation10网络中使用空洞卷积进行特征提取,在不降低特征图分辨率的同时扩大了感受野。Chen等提出的DeepLab[7]和DeepLabv2[8]网络使用全连接条件随机场(CRF)对分割结果进行后处理,提高了模型捕捉精细边缘细节的能力。Lin等[9]提出的RefineNet语义分割网络,为了充分利用下采样阶段的每一层特征,在低级特征和高级特征之间建立多个远程连接,用细粒度的低级特征细化低分辨率的语义特征。Nekrasov等[10]在RefineNet的基础上用内核较小的卷积替代内核较大的卷积构建RefineNet-LW网络,有效降低了模型参数量,同时保持性能基本不变。Paszke等[11]提出的ENet网络和Treml等[12]提出的SQ网络均采用轻量级的编码器–解码器结构进行实时语义分割,减少了模型的参数量却降低了模型的性能。Pohlen等[13]构建全分辨率残差网络FRRN,残差流中以完整图像分辨率携带信息来实现精确的边界分割。
对图像进行特征提取时,池化层和跨步卷积有效增加了感受野,虽然有利于获取语义信息,但减小了图像分辨率,导致物体细节信息丢失。上述算法为解决物体细节信息丢失的问题,采用了编解码器网络结构、跳跃连接或CRF后处理等方法,但是这些算法结构仍然冗余繁杂,导致网络参数量大幅增加。
为了在特征提取阶段既能有效获取丰富的语义信息又能减少物体细节信息的丢失,同时尽可能降低网络的参数量,本文提出一种双分支网络模型,通过两个分支分别获取物体的细节信息和语义信息。其中使用浅层网络分支来保留图像中的细节信息,生成高分辨率特征,使用深层网络分支进行下采样获取语义信息。浅层网络分支能有效减少细节信息丢失,提高像素定位的准确性;深层网络分支采用轻量级主干网络下采样,既能提取语义信息又能降低模型参数量和计算量。最后,将两个分支获取的特征信息有效融合,进而提升网络分割的性能。本文主要工作为:1)提出一种双分支结构语义分割算法,建立细节分支(detail branch,DB)和上下文分支(context branch,CB)分别有效获取细节信息和语义信息;2)构建融合模块(fusion module,FM),将得到的低级细节信息和高级语义信息进行有效融合;3)在Cityscapes数据集和CamVid数据集上验证了所提算法的有效性,分别获得67.4%、58.5%的均交并比。
1 背景知识得益于大量已标注的公开数据集和不断提高的计算机性能,深度学习获得快速发展,研究学者将各种深度学习技术应用在不同的计算机视觉任务中并改善了相应任务的性能。本文提出的双分支结构语义分割算法涉及密集连接、注意力机制等重要概念,下面对其进行简述。
1.1 密集连接密集连接网络(DenseNet)由Huang等[14]在2017年的CVPR(Computer Vision and Pattern Recognition)会议上提出。DenseNet主要由密集模块组成,该模块中,对于每一层,所有先前层的特征图用作其输入,该层的特征图用作所有后续层的输入,这种密集连接的方式改善了网络中各层之间的信息流动并有效实现了特征重用。密集模块的结构图如图1所示,该结构一经提出就在图像分类任务上展现出了非常出色的结果。鉴于密集连接能有效实现特征重用的优点,本文在细节分支中构建一个密集模块来保留物体更多的空间细节信息。
|
图 1 密集模块结构图 Figure 1 Dense module structure |
注意力机制的主要功能是对特征图进行特征细化,以增强信息丰富的特征并抑制无用的特征。注意力模块具有结构简单和轻量级的特点,可以很容易地嵌入CNN相关网络中,因此注意力机制被广泛应用在计算机视觉的许多任务上,如图像分类[15]、语义分割[16]等。通过注意力模块,网络在训练学习过程中能获取到特征图每个空间位置或每个通道的权重,按照权重大小完成对不同空间位置或通道的增强或抑制,从而自适应地重新校准特征图。
2 双分支网络结构设计双分支网络整体的设计结构图如图2所示。图2(a)为整体的网络结构,在输入图像之后即分成细节分支和上下文分支两部分,完成各自特征提取后通过融合模块进行特征融合,最后经过分类层(classifier)处理得到分割结果图。图2(b)为空间注意力模块(spatial attention module,SAM),图2(c)为融合模块。
|
图 2 双分支网络结构图 Figure 2 Two-branch network structure |
该分支由一个密集模块构成,密集模块中包括3个3×3的卷积和一个空间注意力模块,这种设计既能编码物体的细节信息,以提取物体的边缘轮廓特征,又能对提取的特征进行细化。3个卷积和空间注意力模块之间采用密集方式连接,后续层可以使用所有先前层的特征,从而有效实现特征重用并弥补细节信息的丢失,保留物体更多的空间细节特征。为尽可能减少网络参数量,以降低网络复杂度,密集模块只使用3个步长为2的3×3卷积对图像进行特征提取,每个卷积后面执行批标准化(BN)[17]和ReLU操作。
在细节分支的末端使用空间注意力模块,能从空间维度细化所有先前层提取的特征,为特征图的每个空间位置施加一个权重以重新校准特征图,完成对不同空间位置的增强或抑制,进而得到有效的特征信息。最终,细节分支得到的特征图的分辨率为原图的1/8,能保留图像的高分辨率细节信息。为进一步减少网络参数量,空间注意力模块只使用一个1×1的卷积计算空间注意力权重,其结构图如图2(b)所示。利用空间注意力模块重新校准特征图时,对于给定的输入特征图
| $ \alpha =\sigma \left({f}^{1\times 1}\left(X\right)\right) $ | (1) |
| $ {X}_{\mathrm{S}\mathrm{A}}={f}_{\mathrm{S}\mathrm{A}}\left(X,\alpha \right) $ | (2) |
式中:
执行卷积和细化操作过程中,当特征图尺寸不匹配时,采用平均池化操作对先前层的特征图进行下采样,如图2(a)中彩色箭头所示。
2.2 上下文分支该分支使用轻量级网络ResNet18[18]作为主干网络,将特征图下采样到原图的1/32,从而获得丰富的语义信息。语义分割任务中,图像中往往存在多种尺度的物体,然而固定大小的感受野会导致物体分类错误。虽然DeepLabv3[19]网络中的空洞空间金字塔池化(ASPP)模块能有效获取多尺度上下文信息,但是该模块中使用空洞卷积导致图像中的像素不能全部用于计算且不利于小尺寸物体的分割[20]。与之不同,本文在主干网络的顶端并行使用全局平均池化和1×1、3×3、5×5、7×7的卷积以获取全局和局部上下文信息,一方面,使用标准卷积能充分利用所有像素用于计算,避免特征信息的丢失;另一方面,主干网络提取的特征图分辨率较低,使用较大的卷积获取多尺度上下文信息不会大幅增加网络的计算量。随后,将获得的多尺度上下文信息进行级联,再经过1×1的卷积对信息进行进一步融合同时缩减特征图的通道数来减少参数量。最后将特征图上采样到原图的1/8,以匹配细节分支特征图的大小。
2.3 融合模块细节分支得到的高分辨率空间细节信息有助于物体边缘的分割,上下文分支得到的低分辨率语义信息有助于物体类别识别,将二者获取的特征信息通过融合模块进行融合互为补充,以实现更好的分割效果。融合模块的结构图如图2(c)所示,该模块由级联操作、一个1×1的卷积和残差通道注意力模块构成。
为了更有效捕获特征图通道之间的相互依赖性,在残差通道注意力模块中使用全局平均池化和全局最大池化两种池化方式,分别沿空间轴压缩特征图计算通道注意力权重来重新校准特征图。利用通道注意力模块重新校准特征图时,对于给定的输入特征图
| $ {\beta }_{\rm{avg}}=\sigma \left({W}_{2}\delta \left({W}_{1}\left(GlobalAvgPool\left(X\right)\right)\right)\right) $ | (3) |
| $ {X}_{\rm{avg}}={f}_{\mathrm{C}\mathrm{A}}\left(X,{\beta }_{\rm{avg}}\right) $ | (4) |
使用全局最大池化聚合空间信息时,其通道注意力权重的计算和重新校准过程可表示为
| $ {\beta }_{\rm{max}}=\mathrm{\sigma }\left({W}_{2}\mathrm{\delta }\left({W}_{1}\left(GlobalMaxPool\left({X}\right)\right)\right)\right) $ | (5) |
| $ {X}_{\rm{max}}={f}_{\mathrm{C}\mathrm{A}}\left(X,{\beta }_{\rm{max}}\right) $ | (6) |
式中:
使用融合模块进行特征融合时,为保留更多提取的原始特征,首先将不同级别的信息进行级联,并通过1×1的卷积对信息进行融合。然后,为了保证信息融合的有效性,采用残差通道注意力模块为特征图的每个通道施加一个权重以重新校准融合后的特征图,有助于网络在训练学习过程中关注信息丰富的通道。
2.4 分类层分类层采用一个3×3的卷积和一个1×1的卷积。其中,3×3的卷积作用是对残差通道注意力模块生成的特征图进行特征融合;1×1的卷积作用是将特征图的通道数映射为物体类别数,并得到最终的网络预测图。
3 实 验为评估双分支结构语义分割算法的有效性,选取最常用的Cityscapes[21]数据集和CamVid[22]数据集作为运算实验对象。这里所有运算实验均在Ubuntu18.04操作系统上进行,实验的软件环境为pytorch1.2,cuda10.0,cudnn7.6.5,硬件环境采用2块GTX 1080Ti GPU加速。
3.1 数据集Cityscapes是城市街道场景大型数据集,拍摄于50个不同的城市。该数据集共有5000张精细标注的图片和20000张粗略标注的图片,本文所有实验仅使用精细标注的图片。精细标注的图片划分为训练集、验证集和测试集,分别包含2975、500和1525张图片,所有图片的分辨率为2 048×1024。像素标注包括30个类别物体,其中19个类别用于训练和评估。
CamVid是基于视频序列的街道场景数据集,该数据集共有701张图片和11个语义类别的像素标注。训练集、验证集和测试集分别包含367、101和233张图片,所有图片的分辨率为480×360。
训练网络时防止出现过拟合现象,需对数据集进行增强处理,包括随机水平翻转、随机旋转和随机缩放,其中缩放尺度为{0.5,0.75,1.0,1.25,1.5,1.75,2.0},最后将图片随机裁剪至固定大小进行训练。
3.2 实验参数设置和评价指标实验中合理调节学习率的大小有利于网络的训练,例如,Chen等[8]采用poly学习率策略调节学习率大小,网络每训练完一个iteration,都会对学习率进行衰减,直到网络训练完成时学习率下降为0。学习率的迭代更新表达式为
| $ lr=baselr\times {\left(1-\frac{iter}{max\_iter}\right)}^{power} $ | (7) |
式中:
|
|
表 1 实验参数设置 Table 1 Experimental parameter settings |
为了定量评估所提算法的分割精度,选取均交并比(mean intersection over union,mIoU)[23]作为评价指标。该评价指标是真实标签值和网络预测值两个集合的交集与并集之比,其计算表达式为
| $ mIoU=\frac{1}{k+1}{\sum }_{i=0}^{k}\frac{{p}_{ii}}{{\displaystyle\sum }_{j=0}^{k}{p}_{ij}+{\displaystyle\sum }_{j=0}^{k}{p}_{ji}-{p}_{ii}} $ | (8) |
式中:
为验证本文提出的双分支网络结构中上下文分支、细节分支和融合模块的有效性,需要进行消融实验,所有消融实验均在Cityscapes验证集上进行评估验证。消融实验的epoch均设置为300,所得实验结果如表2所示,表中列出了不同情况下使用基准模型(baseline)、上下文分支、细节分支和融合模块进行实验所得分割精度和参数量。
|
|
表 2 消融实验结果 Table 2 Ablation experiment results |
实验中首先选取残差网络ResNet18作为基准模型。使用残差网络ResNet18作为主干网络进行特征提取,提取的特征图经过分类层处理,将网络输出特征图进行32倍上采样得到原图大小。从表2可知,其在Cityscapes验证集上的精度为57.6%。
当只使用上下文分支进行特征提取时网络的性能从57.6%提升至59.4%,表明多尺度上下文信息有助于不同尺度物体的分割;当同时使用上下文分支和细节分支进行特征提取时,将两个分支获得的特征进行简单相加(sum),网络的性能从59.4%提升至61.5%,从而验证细节分支保留的高分辨率细节信息有助于分割性能的提升;当使用融合模块将两个分支提取的特征进行融合时,网络的性能从61.5%提升至62.5%,相比简单相加不同级别的信息,通过融合模块进行有效融合更有利于改善网络的性能。通过以上消融实验表明,同时使用细节分支、上下文分支和融合模块能达到最佳分割效果,相比基准模型,网络的参数量只有略微增加。
图3展示了不同结构在Cityscapes验证集上的部分可视化图,其中(a)为原始图像;(b)为真实标签;(c)为基准模型分割图;(d)为只使用上下文分支所得分割图;(e)为同时使用细节分支和上下文分支所得分割图,其中两个分支的特征只是简单相加;(f)为同时使用细节分支、上下文分支和融合模块所得分割图。从图3可以看出,随着细节分支的加入,分割效果越来越好,例如交通信号灯(图中红框部分),这也表明设计双分支网络结构可以更好地保留物体的细节信息,从而获得更好的分割效果。
|
图 3 不同结构可视化图 Figure 3 Visualization of different structures |
对于Cityscapes数据集,为实现更好的分割效果,将epoch增加至500。由于Cityscapes测试集没有提供真实标签,因此需将预测标签图提交至Cityscapes官方网站( https://www.cityscapes-dataset.com)进行评估,才能得到测试集上的分割精度。为了更好地体现本文所提双分支结构语义分割算法的有效性,选取SegNet[5]、ENet[11]、SQ[12]、FRRN A[13]、DeepLab[7]、FCN-8s[2]、Dilation10[6]、DeepLabv2[8]、RefineNet-LW[10]、RefineNet[9]等算法与本文算法进行性能对比,对比结果如表3所示。
|
|
表 3 不同算法在Cityscapes测试集上的分割精度 Table 3 Segmentation accuracy of different algorithms on the Cityscapes test set |
从表3可知,所提双分支结构语义分割算法相比其他大部分算法在均交并比上有所提升,表明细节分支保留的细节信息提高了像素定位的准确性,有助于目标物体边缘轮廓的分割,从而达到了更好的分割效果。DeepLabv2、RefineNet-LW和RefineNet等算法取得了优越的均交并比,一方面是使用了结构复杂的ResNet101作为主干网络,其特征提取能力更强;另一方面是在网络中使用了跳跃连接或CRF后处理等方法,改善了下采样过程导致细节信息丢失的问题;然而这三种算法参数量较大,其中RefineNet的参数量是本文所提算法的9倍。表3中ENet参数量最少,但以牺牲精度为代价,本文所提算法与其相比,参数量有所增加,但均交并比提升了9.1%。综合对比,本文算法以较少参数量实现了较好的分割效果。图4展示了所提算法在Cityscapes验证集上的部分可视化图。
|
图 4 所提算法可视化图 Figure 4 Visualization of the proposed algorithm |
对于CamVid数据集,使用训练集和验证集的图片一起训练模型,epoch设置为1000,所提算法在CamVid测试集上的分割精度如表4所示。表4中对比了DeconvNet[4]、ENet[11]、SegNet[5]、FCN-8s[2]、BiSeNet[25]、文献[26]等算法与所提双分支结构语义分割算法的分割性能。从对比结果可知,本文算法相比大部分对比算法在均交并比上有所提高,进一步验证了双分支结构的有效性,而模型参数量仅比ENet有所增加。虽然BiSeNet和文献[26]等算法获得了较高的均交并比,但是其网络结构复杂,参数量较大。
|
|
表 4 不同算法在CamVid测试集上的分割精度 Table 4 Segmentation accuracy of different algorithms on the CamVid test set |
本文提出一种双分支结构语义分割算法,在特征提取阶段既能有效获取丰富的语义信息又能保留图像的高分辨率细节信息,将得到的细节信息和语义信息通过融合模块有效融合以充分利用不同级别的信息,进而改善语义分割的性能。在Cityscapes数据集和CamVid数据集上验证了所提算法的有效性,分别获得67.4%和58.5%的均交并比,与大部分现有算法相比,所提算法分割精度有所提高且参数量使用较少。然而,相比轻量级网络模型,所提双分支网络模型参数量还有继续减少的空间;相比均交并比较高的网络模型,本文网络模型分割精度有待提高,如何权衡网络的复杂度和分割精度将是后续的一个研究方向。
| [1] | 王嫣然, 陈清亮, 吴俊君. 面向复杂环境的图像语义分割方法综述[J]. 计算机科学, 2019, 46(9): 36–46. DOI:10.11896/j.issn.1002-137X.2019.09.005 |
| [2] | LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Boston: IEEE, 2015: 3431 − 3440. |
| [3] | SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]//Proceedings of 3rd International Conference on Learning Representations. San Diego, 2015: 1 − 14. |
| [4] | NOH H, HONG S, HAN B. Learning deconvolution network for semantic segmentation[C]//Proceedings of 2015 IEEE International Conference on Computer Vision (ICCV). Santiago: IEEE, 2015: 1520 − 1528. |
| [5] | BADRINARAYANAN V, KENDALL A, CIPOLLA R. SegNet: a deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481–2495. DOI:10.1109/TPAMI.2016.2644615 |
| [6] | YU F, KOLTUN V. Multi-scale context aggregation by dilated convolutions[C]//Proceedings of the 4th International Conference on Learning Representations. San Juan: ICLR, 2016: 1 − 13. |
| [7] | CHEN L C, PAPANDREOU G, KOKKINOS I, et al. Semantic image segmentation with deep convolutional nets and fully connected CRFs[C]//Proceedings of the 3rd International Conference on Learning Representations. San Diego: ICLR, 2015. |
| [8] | 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. DOI:10.1109/TPAMI.2017.2699184 |
| [9] | LIN G S, MILAN A, SHEN C H, et al. RefineNet: multi-path refinement networks for high-resolution semantic segmentation[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017: 5168 − 5177. |
| [10] | NEKRASOV V, SHEN C H, REID I. Light-weight RefineNet for real-time semantic segmentation[C]//British Machine Vision Conference 2018. Newcastle: BMVC, 2018. |
| [11] | PASZKE A, CHAURASIA A, KIM S, et al. ENet: a deep neural network architecture for real-time semantic segmentation[J]. arXiv preprint arXiv:, 1606, 02147: 2016. |
| [12] | TREML M, ARJONA-MEDINA J, UNTERTHINER T, et al. Speeding up semantic segmentation for autonomous driving[C]//Proceedings of the 29th Conference on Neural Information Processing Systems Workshop. Barcelona: MIT Press, 2016: 1 − 7. |
| [13] | POHLEN T, HERMANS A, MATHIAS M, et al. Full-resolution residual networks for semantic segmentation in street scenes[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017: 3309 − 3318. |
| [14] | HUANG G, LIU Z, VAN DER MAATEN L, et al. Densely connected convolutional networks[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017: 2261 − 2269. |
| [15] | HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7132 − 7141. |
| [16] | LI H F, QIU K J, CHEN L, et al. SCAttNet: semantic segmentation network with spatial and channel attention mechanism for high-resolution remote sensing images[J]. IEEE Geoscience and Remote Sensing Letters, 2021, 18(5): 905–909. DOI:10.1109/LGRS.2020.2988294 |
| [17] | IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift[C]//Proceedings of the 32nd International Conference on Machine Learning. Lille: JMLR. org, 2015: 448 − 456. |
| [18] | HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016: 770 − 778. |
| [19] | CHEN L C, PAPANDREOU G, SCHROFF F, et al. Rethinking atrous convolution for semantic image segmentation[J]. arXiv preprint arXiv:, 1706, 05587: 2017. |
| [20] | 邝辉宇, 吴俊君. 基于深度学习的图像语义分割技术研究综述[J]. 计算机工程与应用, 2019, 55(19): 12–21,42. DOI:10.3778/j.issn.1002-8331.1905-0325 |
| [21] | CORDTS M, OMRAN M, RAMOS S, et al. The cityscapes dataset for semantic urban scene understanding[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016: 3213 − 3223. |
| [22] | BROSTOW G J, FAUQUEUR J, CIPOLLA R. Semantic object classes in video: a high-definition ground truth database[J]. Pattern Recognition Letters, 2009, 30(2): 88–97. DOI:10.1016/j.patrec.2008.04.005 |
| [23] | 田启川, 孟颖. 卷积神经网络图像语义分割技术[J]. 小型微型计算机系统, 2020, 41(6): 1302–1313. DOI:10.3969/j.issn.1000-1220.2020.06.032 |
| [24] | IANDOLA F N, HAN S, MOSKEWICZ M W, et al. Squeezenet: alexnet-level accuracy with 50x fewer parameters and <0.5MB model size[J]. arXiv preprint arXiv:, 1602, 07360: 2016. |
| [25] | YU C Q, WANG J B, PENG C, et al. BiSeNet: bilateral segmentation network for real-time semantic segmentation[C]//Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018: 334 − 349. |
| [26] | 陈劲宏, 陈玮, 陈舒曼. 单块嵌入式GPU下对街景图像的实时分割研究[J]. 控制工程, 2021, 28(11): 2165–2173. DOI:10.14107/j.cnki.kzgc.20210411 |
2023, Vol. 45
Issue (2): 46-54


