0 引言
语义分割是计算机视觉应用领域的主要任务之一,它将图像根据具体的语义类别对每一个像素点进行分类和定位,使输入图像能够分割出具有不同语义含义的区域块,是一项极富挑战性的任务。目前,已经在多个领域得到广泛的应用。例如在医疗影像领域中,该技术可以精准地获取病变部位,进而辅助医生判断病情。在自动驾驶领域中,通过该技术能获取道路、行人、车辆等目标的位置信息,进而帮助自动驾驶汽车理解路面场景中的目标并做出适当的决策。
随着计算机硬件性能得到飞速发展,区别于传统分割方法无法实现全自动分割任务的需求,基于深度学习的语义分割方法开始逐渐成为主流。Long等设计出分割网络FCN(fully convolutional network)[1],使语义分割方法进入新纪元。该网络采用VGG16(visual geometry group 16-layer net)作为其特征提取网络,将深层与浅层的特征信息进行融合,并替换网络中的全连接层为转置卷积,实现了端到端的语义分割。2015年Ronneberger等提出的具有U型对称结构的卷积网络U-Net[2]则是利用了网络编码和解码阶段中获得特征图进行拼接,实现特征信息的恢复以提升分割效果。同年,Badrinarayanan等提出SegNet[3],保留了在编码阶段中最大池化索引信息,在解码过程中直接使用这些索引信息进行反池化上采样操作以节省算力开销,但这一操作也不可避免地导致了较多的特征信息的丢失。PSPNet(pyramid scene parsing network)[4]尝试结合图片的上下文信息,通过使用空间金字塔池化结构,给特征图添加局部与全局的信息,来提升网络的语义理解能力。由Chen等提出的DeepLabV3 + [5],使用空洞金字塔池化结构并采用与PSPNet类似的思想从输入图片中提取并融合不同尺度的感受野所含的特征信息来提高网络整体分割性能。提出的模块中主要使用空洞卷积和深度可分离卷积的结合来优化模型,在获取更多感受野的同时具备较少的参数量。这两种方法都不可避免地增加了模型的复杂度。同年,Zhang等提出了ExfuseNet[6],该网络加入了多监督模块进行深度语义监督,并且加入了语义嵌入模块进行特征互补融合,DAP(densely adjacent prediction)模块用于优化最终结果。同年,Yu等提出双路径结构分割算法BiSeNet(bilateral segmentation network)[7],采用空间路径获取低级浅层信息并与上下文路径获取高级语义信息并进行融合,从而提升网络的分割性能表现。而Li等提出的DFANet(deep feature aggregation network)[8]则充分利用网络在各阶段下采样过程中的空间信息,通过特征重用的思想提升模型的语义分割性能。随着注意力机制在计算机视觉领域开始应用,许多工作也开始通过注意力机制来提升语义分割的效果。2019年,Fu等提出DANet(dual attention network)[9]采用双路径注意力通道的形式,简单且有效地捕获全局的特征依赖关系。SANet(squeeze-and-attention network)[10]则引入了对像素分组的思想,帮助语义分割任务在对像素分类的过程中提升像素点之间的联系。
针对语义分割任务中,空间分辨率和感受野很难两全的问题,本文提出一种双路径结构模型。在空间路径中提取高分辨率的边缘细节信息来优化模型对物体边界的分割。在语义路径提升主干网络获取多尺度全局上下文信息的性能以增强整体模型的语义理解能力。本文主要的贡献有:
1) 嵌入一种改进的自注意力机制的方式,更换原主干网络中的3×3卷积块,在减少模型参数量的同时,在特征提取过程中增强主干网络对于全局上下文信息捕获的性能。
2) 在主干特征提取网络,根据Liu等[11]提出的自适应空间特征融合的思想将编码阶段产生的多尺度的语义信息通过网络学习的方式按照自适应的比例进行融合,以解决分割任务中多尺度目标的存在问题。
3) 对于两路分支获取的特征图之间存在的兼容性问题,采用巧妙的特征融合方式,使融合后的结果更好地服务于最终的预测结果。
4) 提出一种简易双分支的下采样方式,将经过卷积和最大池化获得的特征信息进行叠加,在空间路径进行简单下采样的同时获取融合后的低级高分辨率特征的边缘信息,进一步提升最后的算法预测结果精度。
1 网络结构本文提出的模型结构主要包含两条特征提取路径分支,分别为提取空间特征信息的空间信息路径与获取高语义信息的上下文语义路径。如图 1所示,采用ResNet50[12]的结构,先通过卷积(Conv 1)进行下采样,然后更换3×3卷积块为自注意力模块(Cot)作为语义路径的基础特征提取网络,其尾部衔接全局平均池化(global pooling)与Cot 4层输出的特征进行融合用于提供较大感受野的特征。此外,采用空间特征自适应融合模块ASFF(adaptively spatial feature fusion),对Cot 2与Cot 3层输出的特征以及上述融合后的特征进行自适应的特征融合输出。在空间信息路径采用双分支下采样模块(TDB)进行4倍下采样以获取具有高分辨率的边缘特征信息。最后,通过特征融合模块(FFM)巧妙地将两条路径获取的不同信息结合起来。
1.1 上下文信息捕获模块(CoT)主干特征提取网络的选取直接影响着整个模型的最终分割结果,本文在选择使用ResNet50作为基础主干特征提取网络的同时,尝试获取更多的全局上下文信息。文[13]提出non-local block,一种用于帮助卷积网络获取全局上下文信息的自注意力模块,它的作用就是捕获图像中当前像素和其他像素之间的依赖关系。
本文提出使用在传统视觉自注意力基础上进行改进的版本Cot block(Contextual transformer block)[14],图 2展示了该模块的具体结构细节其中,Key、Query和Value分别定义为K=X,Q=X,V=XWv,⊗表示特征张量的Hardamard积。该模块将上下文的挖掘与自注意力的学习集成到统一的框架中,很好地继承了传统自注意力学习中的全局上下文,也结合了卷积带来的邻近上下文。当给定输入大小为H×W×C的输入特征图时,CoT模块首先在空间上对3×3的网格内的所有K采用3×3的分组卷积进行编码来挖掘相邻K之间的静态上下文信息,得到可以代表输入的静态上下文表示K1∈RH×W×C;之后,将K1与Q拼接起来,以更好地探索K与Q之间的上下文以此增强视觉表征学习能力,再通过两个连续的1×1卷积得到注意力矩阵A,表达式如式(1)所示,其中Wθ含有ReLU(rectified linear units)激活而Wδ不带有激活函数:
(1) |
注意力矩阵A是基于Q特征和具有上下文信息的K特征融合而成,而不是独立的Q-K对进行学习得到的。接下来,通过对输入进行投影后的V与A进行矩阵相乘获得加权后的特征图,得到动态上下文信息表示K2,如式(2)所示:
(2) |
由于K2捕获了输入之间的动态特征交换,因此将其命名为动态上下文表示。最后,Cot模块通过对K1和K2进行融合得到最终的输出Y。这种结构设计通过充分探索邻近的上下文信息以一种高效的方式提升自注意力的学习,进而增强输出特征的视觉表达能力。本文通过更换ResNet50残差块中的3×3卷积块为Cot模块,从而达到提升分割性能的效果,嵌入模块后的网络称为CoTNet50。
1.2 空间特征自适应融合模块(ASFF)为了解决分割任务中存在不同大小物体的问题,本文提出使用多尺度自适应特征融合方式,将编码阶段中3个不同尺度下的输出特征图有效利用起来,进而使融合的多尺度信息能够帮助网络实现更好的分割效果。
图 3展示了模块对编码阶段3条分支的特征进行融合的细节。首先,提取由主干网络CoTNet50所产生的分别对应原图 1/8、1/16及经过全局平均池化并简单融合后的1/32大小的特征图作为ASFF模块的3个输入。本文选取1/8下采样的特征图作为最终模块输出的融合标准,所以对于1/16和1/32大小的特征图先进行1×1卷积将它们的通道数转换成和1/8大小特征图一致的通道数,再通过线性插值的方式分别进行2倍及4倍上采样的过程,完成3种不同尺度特征图统一到相同的尺寸以及通道数的操作。经过统一处理操作后得到3个尺寸大小、通道数都相等的特征图Xij1、Xij2、Xij3,分别对应1/8、1/16、1/32尺度下的特征,与来自各自层的权重参数αij、βij、γij相乘后并相加,最终就能得到融合后的特征为
(3) |
其中,权重参数αij、βij、γij分别满足式(4)中的约束条件:
(4) |
这些权重参数将会通过网络的学习而进行自适应的更新。通过对进行统一操作后的特征图Xij1、Xij2、Xij3执行1×1的卷积操作并将它们融合起来,使它们的通道数转换为3。转换后3个尺度下的特征图分别表示为eλαij、eλβij、eλγij,由Softmax函数对其进行约束后得到3个参数的计算公式,分别为
(5) |
(6) |
(7) |
在获得最终的预测图前,需要融合由空间路径获取的高分辨率的边缘特征以及由上下文语义路径获取的多尺度上下文语义特征,这两部分来自不同路径的特征,它们之间的分辨率有着较大的差距。这也造成了它们之间存在较差的兼容性,因此不能做一个简单的融合。于是本文采用如图 4所示的特征融合模块,其中,Sigmoid为非线性激活函数,mul表示特征张量的Hardamard积,add表示特征张量的相加操作。首先将两条分支所获得的不同特征信息进行拼接操作,然后经过一个卷积块将通道数变为预测输出的类别数,并对融合后的特征图进行加权操作,起到使特征信息进行一个选择和结合的作用。
1.4 双分支下采样模块(TDB)本文中的空间路径获得是具有高分辨率的边缘细节信息,不需要堆叠过深的网络结构。本文设计了一个双分支的下采样模块,以此达到对输入特征图进行简单下采样的同时,也能较好地提取到所关注特征图中的边缘细节信息。该模块结构如图 5所示,一侧分支为带有批归一化(BN)和ReLU激活以及包含步长为2的3×3卷积块,另一侧为最大池化和带有BN的1×1卷积以此保持两路输出通道数相同,最后将这两路下采样获得的结果相加后经过ReLU非线性激活得到输出。
2 实验结果与分析针对本文所提出的双路径分割算法,主要进行了3个实验。首先,在Camvid数据集上实验对提出各模块的有效性进行验证。然后,分别在Camvid以及Aeroscapes数据集上对模型的分割性能进行实验评估,进而说明本文所提出的模型在语义分割任务中的可行性。本文实验采用评价指标为平均交并比(MIOU),该指标能系统直观地反应出网络模型的分割性能,其定义如式(8)所示。
(8) |
其中,K+1表示的是数据集中的类别数目,Pii代表预测正确的像素数量,Pij和Pji则分别表示错误预测正样本和错误预测负样本的像素数量。
为了实验公正性,在表 1所展示的仿真环境下进行的各实验相应的参数设置。
实验条件 | 参数值 |
CPU | Inter Xeon Gold 5218 |
GPU | Tesla-P100 (16 G) |
训练框架 | Pytorch |
初始学习率 | 0.000 5 |
学习率调整策略 | StepLR |
迭代轮次 | 100 |
损失函数 | CrossEntropyLoss |
优化器 | Adam |
输入图像批次 | 4 |
实验过程中采用Pytorch框架进行模型训练,网络初始学习率设置为0. 000 5,并采用StepLR(step learning rate)策略对学习率进行调整,每经过25个迭代轮次使学习率衰减为当前值的1/10,总的模型训练迭代次数为100,并且采用交叉熵损失函数训练模型。
2.1 数据集本文在两个公开语义数据集上进行实验,分别为Camvid和Aeroscapes。其中,Camvid数据集是第一个通过视频提取出的拥有目标语义类别标签的道路场景分割数据集,包含有天空、汽车、人行道等11类语义类别和1类背景类。共701幅图片,分为367张训练图像,101张验证图像和233张测试图像。图像原始分辨率为480×360,在实验过程中将尺寸统一裁剪为480×352。而Aeroscapes数据集是由无人机拍摄的航拍数据集,划分成2 621张训练图像以及648张测试图像。数据集中包含人、道路、建筑物、无人机、汽车等11种语义标签和1类背景。
仿真实验中所用的数据集存在较为普遍的类别不平衡现象。其中,Camvid训练集中各类别像素点占比如图 6所示,由占比图可以看出,数据集中天空、建筑和道路这3个类别就占了所有类别总数的70%,而骑者、杆子、信号灯等在所有类中占比很小。这一现象将导致网络对于一些占比不大的类无法较好地学习其特征,从而使网络的分割效果变差。于是本文先对训练集标签中各个语义类别出现的像素点数量进行统计,然后根据式(9)所示的公式计算出每一类的占比pclass。接着,由式(10)去计算出该赋予每个类别的权重ωclass,对占比较小的类别赋予较大的权重而对占比大的类别赋予较小的权重,以此改善图像语义类别不平衡的情况。最后,通过交叉熵损失函数中载入统计计算得到的类别平衡权重来有效解决类别不平衡的问题。
(9) |
(10) |
本文所提出的上下文语义增强及融合多尺度特征信息的双路径分割算法主要由嵌入上下文信息捕获模块的加强主干网络CoTNet50、多尺度特征信息自适应融合模块以及双分支下采样模块构成。为了证明模型中各模块的有效性,在Camvid数据集上进行一系列组合实验,结果如表 2所示,其中√表示采用了对应的方法。在编码阶段中对主干网络的选取上,本文对ResNet50,ResNet101、CoTNet50都进行了实验,从序号1~序号3可以看出,当选取ResNet50作为主干网络时,模型的MIOU表现效果最差。通过加深网络结构采用ResNet101作为模型主干网络后MIOU虽然有所上升但是模型的参数量也大幅增加。最后,将主干网络更换为本文提出使用的CoTNet50后,不仅模型的MIOU相较前两个主干网络得以进一步较大提升同时其模型参数量也比采用前两个模型时的参数量更低,由此可以看出本文加入的上下文信息捕获模块的有效性。因此,本文选择CoTNet50作为整个模型的特征提取主干网络。序号4表明模型中加入了多尺度特征自适应融合模块,由表 2数据可知,加入该模块后模型平均交并比指标可以得到一定提升。序号5表示在模型的空间路径上添加了双分支下采样模块来替换原本步长为2的3×3卷积块,可以看到模型的参数只在小幅增加的前提下也能使MIOU进一步提升0. 47%。而从序号6、序号7可以看到,在尝试对空间路径下采样所提取的特征去进行更多的处理后,模型的MIOU指标反而下降同时模型的参数大小也有一定的增长。主要是由于该分支所要提取的特征为高分辨率的低级特征,这些特征在最后的分割任务中是提供边界信息的,对这些特征进行一定处理反而会丢失这些边缘细节信息。其中SP_CBAM表示在空间路径下采样后添加CBAM[15]注意力模块,SP_RBF表示在空间路径下采样结束后加入RBF[16]特征融合模块。序号5、序号8则说明了整个模型在采用类别平衡策略后可以让平均交并比指标得到较大的提升,能够使最后的平均交并比提升约2. 5%。经过模型消融实验最终选取5号方案作为本文的最终实验模型。
为了验证空间路径中下采样倍率对于模型分割结果的影响,分别将下采样倍率设置为2、4、8、16进行实验。表 3中得到的实验结果说明,在4倍下采样倍率下所提取的边界特征信息在和高语义信息进行融合后能使分割结果更精确,得到的结果最优,并且随着倍率的增大,对于图像空间物体边界信息提取的效果逐渐变差,MIOU也随之下降。
为了找出最优的ASFF模块输出尺寸,对3种输出尺寸下的模型进行实验,结果如表 4所示。1/8作为融合标准下结果最优。随着输出尺寸大小的减小,MIOU随之减小。
由消融实验确定好模型的网络结构之后,通过与其它提出的公开模型算法进行对比来客观地说明本文所提模型的可行性,在Camvid数据集上的结果如表 5所示。
由表 5中的结果可以客观得出,本文提出的模型得到的MIOU指标均优于其它分割模型。相较于DANet以及FCN-8s,MIOU分别提升了6. 82%和3. 93%。
为了进一步清楚直观地说明本文模型在Camvid数据集上的分割效果,将本文模型与其他算法模型得到语义分割预测结果进行对比,得到如图 7所示的对比结果。
如图 7所示,分别选取了FCN-8s、ExfuseNet、DeepLabV3以及本文提出的模型进行分割效果的对比。可以看出,本文提出的模型与其他模型相比在分割效果上有一定的提升。从最后一行对建筑物、信号灯以及树木的边界轮廓的分割结果可知,相较于其他模型,本文模型的分割结果更为精确。同样从其余的分割结果也可以观察到,本文模型对行人、路灯、汽车等多尺度目标的分割明显优于其他模型。
2.4 Aeroscapes数据集实验结果为了进一步验证本文模型的语义分割泛化性能,本文采用无人机航拍数据集Aeroscapes进行实验,并采用与Camvid数据集实验时相同的一些对比模型。本文模型与其他模型方法的对比结果如表 6所示,在没有进行额外的数据处理并使用与Camvid实验时相同的实验方法的情况下,可以看到相较于其他的模型取得了不错的性能。
本文针对语义分割任务中存在的多尺度目标和特征提取网络缺乏上下文语义信息获取能力等问题,提出了一种结合改进自注意力和多尺度特征自适应融合的双路径算法,分阶段地捕获特征图的空间信息特征和上下文语义特征,通过将两部分的特征信息进行有效融合用于最后的预测结果来提升分割性能。经过实验证明,本文模型在针对场景图像语义分割任务上具有较好的可行性。
然而在实际的复杂场景语义分割任务中,保证模型分割精度的同时要兼顾实际分割场景中的实时性要求,因此本文提出的模型还存在改进的空间。在未来的工作中,可以使用一些轻量化模型的方法[20-22],减少模型的复杂程度并在保证分割精度的同时有效地提升模型分割的速度。
[1] |
Long J, Shelhamer E, Darrell T. Fully convolutional network for semantic segmentation[C]//IEEE International Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2015: 3431-3440.
|
[2] |
Olaf R, Philipp F, Thomax B. U-Net: Convolutional networks for biomedical image segmentation[C]//IEEEInternational Conference on Medical Image Computing and Computer-Assisted Intervention. Piscataway, USA: IEEE, 2015: 234-241.
|
[3] |
Badrinarayanan V, Kendall A, Cipolla R. SegNet: A deep convolutional encoder-decoder architecture for image segmentation[J]. Pattern Analysis & Machine Intelligence, 2017, 39(12): 2481-2495. |
[4] |
Zhao H, Shi J, Qi X, et al. Pyramid scene parsing network[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2017: 6230-6239.
|
[5] |
Chen L C, Zhu Y K, George P, et al. Encoder-decoder with atrous separable convolution for semantic image segmentation[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 883-851.
|
[6] |
Zhang Z, Zhang X, Peng C, et al. Exfuse: Enhancing feature fusion for semantic segmentation[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 269-284.
|
[7] |
Yu C Q, Wang J B, Peng C, et al. BiSeNet: Bilateral segmentation network for real-time semanticsegmentation[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 334-349.
|
[8] |
Li H C, Xiong P F, Fan H Q, et al. DFANet: Deep feature aggregation for real-time semantic segmentation[C]//IEEE International Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2019: 9514-9523.
|
[9] |
Fu J, Liu J, Tian H, et al. Dual attention network for scene segmentation[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2019: 3146-3154.
|
[10] |
Zhong Z L, Lin Z Q, Bidart R, et al. Squeeze-and-attention network for semantic segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2020: 13062-13071.
|
[11] |
Liu S, Huang D, Wang Y. Learning spatial fusion for single-shot object detection[DB/OL]. (2019-11-21)[2021-12-18]. https://doi.org/10.48550/arXiv.1911.09516.
|
[12] |
He K, Zhang X, Ren S, et al. Identity mappings in deep residual networks[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2016: 630-645.
|
[13] |
Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2018: 7794-7803.
|
[14] |
Li Y, Yao T, Pan Y, et al. Contextual transformer networks for visual recognition[J/OL]. IEEE Transactions on Pattern Analysis and Machine Intelligence[2021-11-18]. https://ieeexplore.ieee.org/document/9747984/. DOI: 10.1109/TPAMI.2022.3164083.
|
[15] |
Woo S, Park J, Lee J Y, et al. CBAM: Convolutional block attentio module[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 3-19.
|
[16] |
Liu S, Huang D. Receptive field block net for accurate and fast object detection[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 385-400.
|
[17] |
黄泽华, 丁学明. 融合通道注意力机制和深度编解码卷积网络的道路场景分割[J]. 小型微型计算机系统, 2021, 42(11): 2362-2367. Huang Z H, Ding X M. Road scene segmentation combining channel attention mechanism and deep codec convolutionalnetwork[J]. Journal of Chinese Computer Systems, 2021, 42(11): 2362-2367. |
[18] |
鲜开义, 杨利萍, 周仁彬, 等. 变电站巡检机器人道路语义分割方法及其应用[J]. 科学技术与工程, 2020, 20(15): 6151-6157. Xian K Y, Yang L P, Zhou R B, et al. Road semantic segmentation method for substation inspection robot and its application[J]. Science Technology and Engineering, 2020, 20(15): 6151-6157. |
[19] |
Nigam I, Huang C, Ramanan D. Ensemble knowledge transfer for semantic segmentation[C]//IEEE Winter Conference on Applications of Computer Vision. Piscataway, USA: IEEE, 2018: 1499-1508.
|
[20] |
Sandler M, Howard A, Zhu M, et al. Mobilenetv2: Inverted residuals and linear bottlenecks[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2018: 4510-4520.
|
[21] |
Ma N, Zhang X, Zheng H T, et al. Shufflenet v2: Practical guidelines for efficient CNN architecture design[C]//European Conference on Computer Vision. Berlin, Germany: Springer, 2018: 116-131.
|
[22] |
Han K, Wang Y, Tian Q, et al. Ghostnet: More features from cheap operations[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2020: 1580-1589.
|