赵小强,徐慧萍
1.兰州理工大学电气工程与信息工程学院,兰州730050
2.甘肃省工业过程先进控制重点实验室,兰州730050
3.兰州理工大学国家级电气与控制工程实验教学中心,兰州730050
图像处理是指通过计算机实现对图像的分析以使其达到所需目标的技术,目前主要包括图像增强和复原、图像语义分割[1-2]和图像识别等。其中,图像语义分割作为图像处理的一个重要组成部分受到越来越多研究人员的关注。图像语义分割是指通过使用一定手段将感兴趣的图像内容从图像的背景中分离出来的一种技术,它作为由图像处理到图像分析的关键步骤,对于提取图像关键信息具有重要意义;同时,图像语义分割还在目标检测、图像识别、目标跟踪等相关领域存在很大的应用前景。例如,在无人车驾驶领域[3-4]中,通过图像分割获得输入图像中的障碍物,为无人驾驶车辆提供安全保障;在地球勘测领域[5]中,通过图像分割分析遥感图像中的标志性建筑,辅助研究人员完成辨识;在医疗影像分析领域[6]中,通过图像分割完成对肿瘤等病变组织的形态确定等,对病人的病情进行判断等。因此研究图像分割具有重要的意义和使用价值。
目前,图像语义分割方法主要分为四类,即基于阈值、边缘、区域和深度学习的方法。其中,基于阈值的分割算法[7-10]根据设定的阈值对灰度图像中的信息进行划分,主要包括Otsu法[8]、最大熵法[9]和聚类法[10]等。这些方法具有操作简单、容易实现、性能稳定等优点,但是也存在信息损失过大、方法对噪声敏感等缺点。基于边缘检测的分割方法[11]依据图像显著的边界区域,实现对图像的区域分割,主要包括一阶Sobel、Robert 和二阶Laplacian 微分算子等。该类方法对边缘结构清晰的图像具有较好的分割效果,然而对于边缘过度缓慢的图像,边缘检测却不能很好地提供区域结构。基于区域的分割方法[12-14]则是根据局部区域的相似性,将相似性大的区域化为整体实现对图像的分割,主要包括区域生长法[13]、GraphCut[12,14]等。该类方法对噪声具有鲁棒性,但是需要提供相应的区域分割准则,往往会造成图像过分割。
虽然以上这些方法可以实现图像分割,但只是通过图像自身的空间结构、颜色特征、边缘结构等信息实现图像分割,没能利用图像的语义信息,极大地制约了图像分割效果。随着深度学习[10]的迅猛发展,基于深度学习的图像语义分割方法得到了广泛的应用;由于深度学习方法能够从海量的样本中训练,学习得到图像内容的本质表达。因此,深度学习方法表现出了优异的分割性能。其中,基于卷积神经网络(convolutional neural network,CNN)[15-16]的图像分割方法是当前的研究热点,卷积神经网络通过卷积从训练样本中提取不同级别的图像特征,从训练样本中学习掌握图像内容中的语义信息,构建学习图像与目标内容之间的映射关系,最终实现图像分割任务。例如,Long等人首次提出全卷积神经网络(fully convolutional networks,FCN)[17],通过替换卷积神经网络中的全连接层为全卷积层,实现了图像语义分割,其优点是可以输出任意尺寸的图像,且效率高,不足之处是不能准确完成分割,且分割结果会存在边缘模糊和细节丢失的问题。Noh 等人为了更好地反映物体细节,用反卷积替换双线性插值,提出了DeconvNet[18]对称网络架构,实现目标内容精细化分割。该方法采用反卷积与上池化操作,避免了分割中的细节损失和边界不清晰等,还原图像的空间维度和像素的位置信息,解决了池化操作后特征图分辨率降低的问题,但是相比FCN,其网络训练参数过多,计算量较大。Lin等人通过对不同层次的低分辨率特征图进行多路径上采样,融合多层高分辨率特征图,提出了RefineNet方法[19],实现多特征融合的图像分割,其优点是通过捕获上下文信息,解决了使用概率图模型带来的计算量大、消耗内存等问题,不足之处是在获得分割结果的过程中会存在边界信息丢失的问题。Chen等人使用空洞卷积扩大特征图的感受野,并用全连接条件随机场优化分割边界,提出了DeepLabV1方法[20]实现对分割边界的优化处理,其优点是通过带孔卷积可以获得多尺度信息,对空间变换具有较高的不变性,而不足之处在于得到的特征图存在分辨率不清晰、定位精度不明显等的问题。为改进以上问题,又提出了DeepLabV3方法[21]。该方法通过级联多个带孔卷积模块,在空间维度上改进(atrous spatial pyramid pooling,ASPP)[22]便于更好地捕获图像上下文信息,其优点是能得到不同感受野的特征图,并以空间金字塔池化的方式融合特征图,不足之处在于对小尺度物体的分割不明显。虽然以上方法都可以较好地实现图像语义分割,但是在处理过程中没能够深层次地挖掘和利用卷积神经网络不同层级之间的特征信息。
为了更好地利用各层级间的特征信息,进一步提高图像语义的分割精度,本文提出了一种分级特征融合的图像语义分割方法。该方法通过含有深度可分离卷积块的基础结构分别提取图像的浅层低级特征信息和深层语义特征信息,并对不同层级间的特征信息进行逐级挖掘,以充分利用各层级之间的特征信息;并以浅层低级特征信息优先融合深层语义特征信息的方式,丰富图像的特征信息,加深网络对图像内容的学习,实现更为精准的图像语义分割。
图像语义分割的目的是实现对图像中所包含内容的准确定位与分类,由于模型结构和提取方式的不同,浅层低级特征和深层语义特征成为影响图像分割精度的主要因素。本文通过融合不同层级之间的特征信息,使得特征信息被充分利用,实现提升图像语义分割精度的目的。
在图像语义分割中使用卷积神经网络进行特征提取时,最大池化操作和下采样操作的频繁运用会导致特征图分辨率降低,从而丢失图像上下文信息使分割结果失去对目标位置的敏感性。此外,采用单一方式捕获特征映射会致使图像上下文信息与前一级特征信息的结合率下降,而这些特征中也存有网络路径中的细节信息和语义信息。因此,本文使用分级的思想,对特征信息进行逐级提取使其被充分利用。
为获得图像的特征信息,本文以轻量级Xception[23]作为主架构,实现本次的分级特征提取。分级特征提取,如图1 所示(图中绿色虚线框表示浅层低级特征信息和深层语义特征信息),主要实现浅层低级特征信息和深层语义特征信息的提取。该过程分为三个阶级,每一个阶级的提取结构保持相同,提取阶级主要包括Entry Flow、Middle Flow、Exit Flow三部分;Entry Flow 部分主要负责获取浅层低级特征信息,Middle Flow部分负责特征信息的传递以及不同层级间的特征信息挖掘,Exit Flow 部分主要负责获取深层语义特征信息,并将特征信息通过全连接层融合到解码器的通道信息中。
Fig.1 Feature extraction block diagram图1 特征提取框图
特征聚合主要实现浅层低级特征信息与深层语义特征信息的合并融合。其中,浅层低级特征信息含有大量结构、边缘等信息,直接融合后通过上采样操作会致使一些有助于恢复图像边界的特征信息由于冗余性而被遗弃。因此,本文在特征融合部分对浅层低级特征信息使用先细化、再融合的思想,而每一级的深层语义特征信息是通过逐级挖掘而得到的最优结果,故保留直接利用。
1.2.1 细化浅层低级特征
常规的解码器一般使用双线性插值上采样操作将粗糙的分割结果转换成精细的结果,过程如式(1)所示:
其中,Q∈RH×W×C^表示提取到的特征信息;Y表示标签;H表示高度;W表示宽度;C表示分割的类别;表示最终的输出通道数量。Y∈[0,1]H×W×C且Q是Y的或,在计算损失时将Q上采样至与Y相同的尺寸。
然而,常规的双线性上采样不考虑每个像素之间的相关性,这使得准确恢复像素预测方面的能力受限,致使浅层低级特征信息的利用率降低。因此,本文在解码阶段通过改进实时数据上采样[24]来替换双线性上采样,以提升聚合过程中浅层低级特征信息的利用率。
实时数据上采样是将Y中所包含的结构信息做无损变换至新的特征标记图,编码器输出给解码器的浅层低级特征信息为Q,通过计算其与复现得到的之间的差异来实现最终的细化。首先将输出特征信息的步长定义为m,将Y划分成尺寸为的m×m个含有特征图的方格;然后将划分的方格构造成一个立体小窗口S∈[0,1]m×m×C,并用∑S(含有特征图的立体小窗口构成的总和)生成新的向量v∈[0,1]N,其中N=m×m×C;最后将向量v转换成需要的低维向量,并重新从水平和垂直方向排列向量x形成最后的,这使得特征图的信息被重新编排,从而实现Y到的转变。
转换过程中涉及到的一些向量的具体形式如式(2)所示:
最终的实时数据上采样与双线性插值的替换过程如式(4)所示:
1.2.2 特征聚合
特征聚合实现如图2所示(图中紫色虚线框表示浅层低级特征与深层语义特征的融合过程),由Entry Flow 部分提取得到的浅层低级特征信息细化后,经过Conv1处理,便于与深层语义特征信息融合。分级结构不仅能保证浅层低级特征获取到足够充分的局部轮廓细节信息,而且也能保证深层特征获取到足够的高级语义信息。两种特征信息合并融合后,再通过上采样处理得到最终的预测结果。
Fig.2 Feature fusion process图2 特征融合过程
图3所示为本文方法的完整过程,输入图像经过第一个卷积处理得到特征信息,进而通过含有深度可分离卷积块的Block2A、Block3A、Block4A(大小依次为输入图像尺寸的1/2、1/4、1/8),每一个深度可分离卷积块均为3×3,每个卷积块的步长均为2;全连接层(full connection attention-A,FCA-A)(尺寸与Block4A保持一致)将学习到的特征映射用来匹配来自提取主干的特征。含有深度可分离卷积块的Block2B、Block3B、Block4B 作为第二个特征提取阶段,其将Block2A的输出特征作为新的特征输入并依次通过Block3B、Block4B(尺寸大小依次为输入尺寸的1/2、1/4)得到第二阶段的特征信息,每一个深度可分离卷积块均为3×3,每个卷积块的步长均为2;特征信息通过全连接层(full connection attention-B,FCAB)(尺寸大小与Block4B 保持一致)被整合到解码器的通道信息中。Block2B的输出特征作为Block2C的输入特征开始第三阶段的提取,并依次通过含有深度可分离卷积块的Block3C、Block4C(尺寸大小依次为输入尺寸的1/2、1/4)得到该阶段的特征信息,每一个深度可分离卷积块均为3×3,每个卷积块的步长均为2;特征信息通过全连接层FCA-C(full connection attention-C)(尺寸大小与Block4C 保持一致)被整合到解码器的通道信息中,以上为特征信息的提取过程。特征信息的聚合过程中,浅层低级特征信息经过实时数据上采样后通过卷积Conv1处理,并与经过Conv X2、Conv X4、Conv X8 处理的深层语义特征信息进行合并融合,最后通过上采样操作(X4)实现高分辨率的图像语义分割。
Fig.3 Network structure of hierarchical feature fusion图3 分级特征融合的网络结构
图3 中两个绿色虚线框分别表示浅层低级特征信息的提取和深层语义特征信息的提取。浅层低级特征提取端Block2A、Block2B、Block2C 的特征信息由绿色的特征信息流表示,为了尽可能地获取图像较多的低级特征信息,如颜色、线条、纹理等信息,该提取在开始就进行。深层语义特征提取由每个阶段的全连接层输出最终的信息,由于整个特征提取阶段的每个子阶段是相互影响的,自上而下的黑色箭头表示各层级间相应位置处的特征挖掘,这个过程在每个阶段的开始就进行学习,这样不仅保留了上一级特征图的感受野,还可以学习到下一级特征图的新映射,这也就保证了最终得到的深层语义特征信息的丰富性和完整性。
图3中紫色虚线框表示特征融合过程,为了保证浅层低级特征提取端得到的浅层低级特征信息的利用率,这里通过实时数据上采样细化,细化后的特征信息通过卷积操作被稳定。由于通道数的不同,各层级得到的深层语义特征信息的尺寸也有所不同,为了使得所有深层语义特征信息可以被直接融合,这里让各层级的深层特征信息分别通过Conv X2、Conv X4、Conv X8 处理,便于进行直接融合。最后,两种特征信息进行合并融合,并通过4倍的上采样实现最终的图像语义分割。
本文实验使用的数据集是公共数据集(pattern analysis statistical modelling and computational learning visual object classes2012,PASCAL VOC2012),总共包含20 种类别的物体和1 个背景类别,其语义分割数据集包含训练集(1 464 张图像)、验证集(1 449 张图像)和测试集(1 464 张图像)。本文选择其中的874 张样本作为验证集合、216 张样本作为测试集并可视化实验结果对本文方法进行验证,表1为具体的实验环境配置。
Table 1 Experimental environments表1 实验环境
本文实验的输入图片尺寸统一为512×512,初始学习率作为影响神经网络训练的重要参数,太大容易出现模型振荡,太小会致使模型无法收敛,延长训练时间。本文实验以“稳中求进”的原则,将训练时的参数设置为表2。
Table 2 Parameter settings表2 参数设置
在训练过程中对训练样本进行镜像等方式的数据增强,训练时所采用的损失函数为交叉熵(cross entropy)损失函数,训练方法使用小批量随机梯度下降的方法,将批量张数设定为25 进行端到端的迭代训练。
图像语义分割中,最常用的客观评价指标主要有像素准确率(pixel accuracy,PA)和平均交并比(mean intersection over union,MIOU)。但是由于PA评价指标过于简单,故本文选择标准度量均交并比(MIOU)作为语义分割的判别指标,其通过计算真实值(ground truth)和预测值(predicted segmentation)两个集合的交集和并集之比,即:
其中,t表示图像中的前景对象个数,pij是指原本属于第i类却被分类到第j类的像素的数量。
表3分别列出了四种不同的融合情况,从表3可以看到,当只有浅层低级特征信息时,此时的分割结果(MIOU)为24.231 0%,浅层低级特征信息经过细化后,得到的分割结果(MIOU)为29.420 3%;细化后的浅层低级特征信息相较原来的浅层低级特征信息,精度提升了5.189 3个百分点。这说明改进的实时数据上采样可以有效地提升浅层低级特征信息中所含有的颜色、纹理、边缘等特征信息。只有深层语义特征信息时得到的分割结果(MIOU)为60.402 5%,将浅层低级特征信息和深层语义特征信息融合后,得到的分割结果(MIOU)为68.825 4%;相较于只有深层语义特征信息时,分割精度提升了8.422 9 个百分点,这说明浅层低级特征信息可以促进语义分割精度的提升。将细化后的浅层低级特征信息与深层语义特征信息融合时,得到的分割结果(MIOU)为70.901 4%,分割精度相较未细化时提升了2.076个百分点,这说明,细化后的浅层低级特征信息所包含的物体轮廓、边缘纹理等信息在融合深层语义特征信息的时候,更能被深层语义特征所利用,能有效细化物体的边界,促进分割精度的提升,得到更高分辨率的分割结果。
Table 3 Influence of fusion of feature information at all levels on results表3 各级特征信息的融合对结果的影响
通过以上两种特征融合的分解实验,证明了不同的特征融合会得到不同的分割结果。由于网络通道数会决定每层网络特征图的输出数量,而融合不同数量的特征图会影响最终的分割结果,因此,本文还讨论了不同层通道数对图像语义分割精度的影响。
特征信息在被提取的过程中,相应的通道数也在逐级发生变化。如表4所示,本文选取了5组通道数下的分割结果。可以发现随着通道数的逐级增加,每一级所得到的特征信息更加完整,所对应的分割精度也在逐渐被提升。第4 组和第5 组通道数分别表示融合浅层低级特征信息和深层语义特征信息时所对应的通道数,可以看到融合的浅层低级特征信息所对应的分割结果并没有深层语义特征信息融合时的分割效果好,这也说明浅层低级特征信息对于最终的分割结果有一定的改进作用。
Table 4 Influence of the number of channels at each level on fusion results表4 融合时各级的通道数对结果的影响
为了进一步验证本文方法的有效性,在保证输入图片尺寸和实验环境完全一致的条件下,本文方法和SegNet、PSPNet、DeepLabV3 这3 种主流的方法进行实验对比,结果如表5所示。由于DeepLabV3缺少对浅层低级特征信息的充分利用,PSPNet 方法对浅层低级特征信息与深层语义特征信息没有区别对待,SegNet方法对特征信息的利用路径单一,因此本文方法相较DeepLabV3 方法精度提升了2.6 个百分点,相较PSPNet 方法精度提升了7.4 个百分点,相较SegNet 方法精度提升了12.9 个百分点,说明了本文方法具有较好的分割结果。这主要由于本文方法用含有深度可分离卷积层构成的级联结构,分级提取浅层低级特征信息和深层语义特征信息,逐级挖掘各层级间的隐藏信息,细化浅层低级特征信息来提升图中物体轮廓的清晰度,同时也提高了其与深层语义特征信息合并融合过程中的利用率,大大丰富了图像的特征信息,使物体边缘的分割更为细致,有效地提升了图像语义分割的精度。
Table 5 MIOU of 4 methods表5 4种方法的平均交并比
Fig.4 Partial segmentation results of PASCAL VOC 2012 dataset图4 PASCAL VOC 2012数据集部分分割结果
最后,为进一步验证本文方法的有效性,本文用PASCAL VOC 2012 数据集做了进一步的实验,并从中选择了部分可视化分割结果,如图4 所示,验证本文方法可以实现图像语义分割的结果。从图中奔跑的骏马到阳台的猫共6张分割结果可以看到,SegNet方法分割得到的物体不太完整,对物体的细节分割也不是很清晰;PSPNet 方法物体细节的分割也不太凸显;DeepLabV3 方法对物体有相对完整的分割结果,但对轮廓细节的处理不够充分;本文方法对各个物体的分割有较为清晰完整的轮廓,而且对边缘细节的处理也更光滑。以图4中奔跑的骏马为例,SegNet方法得到的是骏马的大致轮廓,头部的分割较为模糊;PSPNet方法得到的轮廓结果更容易被辨认,但对腿部的细节分割处理不突出;DeepLabV3 方法得到的是一个完整的骏马轮廓,但是对于骏马的尾巴和腿的细节分割也不太明显;本文方法对于整个骏马的轮廓分割很清晰,特别是腿和尾巴的细节分割很清晰。对于草坪上的小孩,SegNet 方法和PSPNet 方法得到的是一个大致的轮廓,且对小孩左手的分割较为模糊;DeepLabV3 方法得到的是完整的分割,但是对小孩的脚和手的分割较为粗糙;本文方法能清楚分割出小孩的手和脚。对于草坪上的人和马,SegNet 方法是实现人和马的基本分割;PSPNet 方法和DeepLabV3 方法对人和马的轮廓分割相对清晰,但对物体轮廓细节的分割不太好;本文方法更完整地凸显人和马的轮廓,且对于绳子有更细微的分割,整体分割结果更加平滑细致。综上,本文方法确实有效地提升了图像语义分割的精度。
本文提出了一种分级特征融合的图像语义分割方法,该方法在特征提取的过程中充分结合了图像上下文信息与前一级特征,逐步改进每一级最终输出的深层高阶特征信息的预测结果,并在上采样过程中细化浅层低级特征信息,通过多层特征合并融合,丰富特征信息,实现高分辨率的图像语义分割。然而,如何在保证分割准确率的同时提升分割速度是下一步工作中需要解决的问题。