多尺度融合增强的图像语义分割算法
2021-01-22田启川
田启川,孟 颖
1.北京建筑大学 电气与信息工程学院,北京100044
2.北京建筑大学 建筑大数据智能处理方法研究北京市重点实验室,北京100044
图像语义分割技术的目标是对图像中每个像素进行语义信息标注,从而将图像分割为若干个属性、类别不同的区域,是计算机视觉领域一项基础的研究内容。图像语义分割技术可以应用于医疗影像、地理遥感等众多领域,为医疗辅助诊断、遥感图像解译等智能化升级提供有力保障。但是,目前的语义分割技术依旧面临着小尺度目标丢失、分割不连续、误分割等问题,因此如何增强空间细节信息的表征能力是提高分割精度的重点研究内容。
目前主流的图像语义分割算法主要通过特征提取、复原、融合、优化四个过程获取待分割图像中感兴趣的目标区域。
在特征提取阶段,大量的下采样和池化操作导致空间和细节信息丢失,如全卷积神经网络(Fully Convolutional Networks,FCN)[1],因此后续提出了空洞卷积和空间金字塔池化模块以增强全局语义信息。如DeeplabV1[2]、DRN[3]等网络模型通过串行的空洞卷积增加感受野,获取更丰富的空间特征,但是这类方法存在计算量较大的问题。DeepLabV2[4]、DenseASPP[5]、PSPNet[6]等网络模型利用空间金字塔池化模块提取全局语义信息,实现了更密集的多尺度特征提取,但是上述方法会引发棋盘效应,导致局部信息丢失和语义信息不连续的问题。
特征复原通过对特征图上采样,恢复特征图的分辨率,用于模型的分类预测。双线性插值、反卷积等方法在恢复特征图分辨率时存在一定的局限性,文献[7]提出的密集上采样模块使网络在上采样的过程中放大低分辨率特征,捕获丢失的细节信息。文献[8]提出的上下文解卷积网络可以对空间依赖关系进行建模,使像素在某些局部区域上更具表现力。上述方法虽然增强了特征的表达,但是小尺度目标的分割能力仍有待提升。
特征融合通过特征图的相加融合、拼接融合、跨层融合等方式获取更丰富的语义信息,提高分割精度。相加或拼接往往用于融合多尺度特征,在众多的网络模型中都有广泛的应用。FCN、U-Net[9]、RefineNet[10]、DeeplabV3+[11]等网络模型采用跨层融合的思想,将浅层细节特征与深层抽象特征相结合,增强了高分辨率细节信息的表征能力,为语义分割的研究开辟了新的思路。
特征优化通常采用条件随机场或马尔科夫随机场对语义分割的预测结果进行优化,将低层图像信息和逐像素分类结果相结合,提高模型捕获细粒度的能力,但是这类方法会占用大量计算机内存,模型的实时性较差。
针对小目标分割和识别的问题,考虑到DeeplabV3+网络模型在多个公开数据上的优异性能,计划在DeeplabV3+网络模型的基础上,采用多尺度融合增强网络的语义分割算法提高小尺度目标的分割精度。该算法受高分辨率网络(High Resolution Network,HRNet)[12]的启发,在DeeplabV3+编码端增加一个多输入多输出的特征融合增强网络,使网络在特征提取的过程中保持高分辨率细节信息;在解码端采用跨层连接的思想,拼接多尺度融合增强网络和原始网络提取的特征图,充分利用浅层细节信息优化模型的输出特征。在Cityscapes[13]和PASCAL VOC 2012[14]数据集上的实验结果证明了本文算法的有效性和通用性。
1 相关研究
1.1 DeeplabV3+网络模型
DeeplabV3+是由谷歌开发的网络模型,在图像语义分割领域多个公开数据集上展现了领先的优势。DeeplabV3+在DeeplabV3[15]的基础上,构建了经典的编解码结构,并采用端到端的方式对网络进行训练。其中,编码器主要用于特征提取,可分为三个阶段:第一阶段DeeplabV3+创新性地将轻量级网络模型Xception 和深度可分离卷积整合作为深度卷积神经网络(Deep Convolutional Neural Networks,DCNN)提取初始特征,极大地减少了模型的参数量;第二阶段将初始特征传递至ASPP 模块[4],通过多扩张率的空洞卷积获取更丰富的上下文语义信息,提取多尺度特征;第三阶段将多尺度的特征图调整分辨率后拼接融合,并利用1×1卷积将输出通道数调整为256,此时编码器输出特征图的分辨率是原始图像的十六分之一。
在解码端,首先将编码器输出特征图以双线性插值的方式进行四倍上采样,然后与Xception网络模型对应层级的特征图拼接,通过跨层连接丰富图像的语义信息。接着再进行四倍上采样,得到与原始图像分辨率相等的特征图,恢复图像空间细节信息。最后调整解码端输出特征的通道数并激活,即可获取最终的预测结果。DeeplabV3+网络模型如图1所示。
图1 DeeplabV3+网络模型
DeeplabV3+网络模型通过大量的空洞卷积和ASPP模块增大空间感受野,提取更丰富的上下文特征,有助于大尺度目标的分割识别,但是空洞卷积和ASPP 模块会造成小目标丢失,影响小目标的分割精度。
1.2 HRNet网络模型
HRNet 是由微软亚洲研究院针对人体姿态估计领域提出的网络结构,在像素级分类领域表现了良好的性能。大多数现有的特征提取方式都是采用将高分辨率特征逐级下采样,获取低分辨率的抽象特征后再上采样回原图像大小,最后进行分类预测。上述方法在特征提取和特征复原的过程中损失了大量的空间和细节信息,导致小尺度目标丢失和分割不连续。HRNet 网络通过并行连接多个分辨率子网,同时反复融合多分辨率特征,实现在整个特征提取过程中保持高分辨率细节信息,从而提高了分割的准确率。具体操作为:
(1)第一阶段包含一条特征提取分支,将高分辨率特征图(其分辨率和特征通道数为(H,W,C))输入4 个重复的Bottleneck模块后,分别进行步长为1和2的下采样操作,得到两张新的特征图A(分辨率和特征通道数为(H,W,C))和B(分辨率和特征通道数为(H/2,W/2,2C))。
(2)第二阶段包含两条特征提取分支,第一个分支的输入为特征图A,第二个分支的输入为特征图B,分别输入4个重复的Bottleneck模块后,进行步长为1和2的下采样操作,得到特征图A′(H,W,C)、B′(H/2,W/2,2C)、D(H/2,W/2,2C)、E(H/4,W/4,4C)。同时信息融合层先将第二个分支特征图B′的分辨率和通道数调整至和A′ 相同,得到特征图B′ ,再将A′ 和B′ 相加融合得到特征图F;将特征图D 和B′相加融合得到特征图G。经过信息融合层后得到第二阶段最终输出的三张特征图E、F、G。
(3)第三阶段包含三条特征提取分支,三个分支的输入对应为E、F、G。这一阶段具体操作过程和(2)相似,不同在于第三个分支不再进行下采样操作,且最后的信息融合层通过反复融合三个分支的特征,得到特征图H、I、J 。将H 作为HRNet提取的特征输出,进行最终的预测和分类。HRNet结构如图2所示。
图2 HRNet网络模型
HRNet 通过并行连接多分辨率子网和信息的反复融合,使浅层低分辨率特征中保存了大量的细节特征,有助于提升小尺度目标的分割精度。
1.3 Bottleneck与Xception Module
Bottleneck是HRNet网络模型中用于特征提取的基本残差结构,包括残差学习单元和直连单元两部分。残差学习单元首先通过1×1卷积对输入特征图进行降维,减少模型参数量;接着利用3×3 卷积提取特征,且不改变特征的分辨率和维度;最后利用1×1卷积调整输出特征的通道数至第一次降维时的4 倍。当输入特征和输出特征维度相同时,将输入特征与残差学习单元的输出特征图相加融合即可获得Bottleneck 最终提取的特征;当输入特征与输出特征维度不同时,需要通过1×1卷积调整输入特征的维度,再与残差学习单元的输出特征相加融合,从而获得最后的特征图。Bottleneck 中的残差学习单元在训练的过程中不断向前传播,在避免梯度爆炸的情况下,不断加深网络层次,提取更加丰富的特征。Bottleneck 残差结构示意图如图3 所示,图中的结构为输入特征与输出特征维度不同的情况。
图3 Bottleneck与Xception Module残差结构
Xception Module是DeeplabV3+网络模型中用于特征提取的基本残差结构,包括Xception Module A 和Xception Module B两种形式。二者的残差学习单元都是通过3 次3×3 的深度可分离卷积提取特征,其中,Xception Module A表示当输入特征与输出特征维度不同时,需要通过1×1 卷积调整输入特征的维度,再与残差学习单元的输出特征相加融合,从而获得最后的特征图。Xception Module B表示当输入特征和输出特征维度相同时,将输入特征与残差学习单元的输出特征图相加融合即可获得最终提取的特征。Xception Module结合深度可分离卷积和Bottleneck 残差结构的思想,利用深度可分离卷积将标准卷积拆分成通道卷积和空间卷积以减少模型训练的参数;利用残差结构消除随着网络层次加深引发的梯度爆炸问题。Xception Module的示意图如图3所示。
基于DeeplabV3+网络模型在多个数据集上展现的先进性和HRNet网络模型保持高分辨率表征的特点,本文提出一种多尺度融合增强的图像语义分割算法。在DeeplabV3+的基础上,该算法在编码端构建一条并行的特征提取分支,用于提取并保存浅层细节信息;在解码端将该分支的特征与原始网络提取的特征相融合,丰富特征图的空间表示,提高小目标分割的准确率。
2 网络模型与算法
2.1 多尺度融合增强网络
DeeplabV3+网络模型在特征提取时采用ASPP 模块丰富上下文的语义信息,但是多个扩张率的空洞卷积易引发棋盘效应,导致小尺度目标丢失和分割不连续的问题。HRNet网络模型以其独特的设计思想,在提取的特征图中融合了更多的细节信息,有助于小目标分割,但是网络模型存在结构较复杂、参数量较大的问题。
因此本文提出多尺度融合增强的网络结构,将该结构作为单独的路径独立于ASPP 模块之外,在提取特征的过程中充分保存高分辨率信息,提高模型对细节特征的学习能力,同时简化网络模型的结构,提高运算效率。相较于HRNet网络模型做出了以下几点改进:
(1)利用DeeplabV3+中的Xception Module 替换HRNet 网络模型中的Bottleneck。Xception Module 借鉴Bottleneck 的设计思想,通过残差学习单元不断加深网络模型,提取了丰富的语义特征,同时利用深度可分离卷积替换Bottleneck 中的标准卷积,在保证精度的情况下可以减少模型的参数,降低运算成本。
(2)将重复残差结构的数量由4调整为2。Bottleneck和Xception Module的残差学习单元虽然都包含三个卷积层,但是Bottleneck 的第一和第三个卷积层的目的是通过1×1卷积调整输出特征的维度,并没有进行有效特征的提取,而Xception Module 的三个卷积层都进行了特征的提取,其提取的有效特征远远多于Bottleneck。为了避免Xception Module提取特征冗余或是引发模型过拟合,考虑降低重复残差结构的数量,并通过对比实验最终确定重复残差结构的个数为2。
(3)构建特征提取与交换单元,去除HRNet 模型下采样生成独立分支的过程,并将HRNet 单输入、单输出的网络结构转换为三输入、三输出的网络结构。特征提取与交换单元在同一分辨率分支上利用Xception Module进行重复特征提取,提取到特征后对三个分支输出的特征图进行多尺度融合增强,从而实现特征的反复提取与交换,获得更加丰富的上下文信息。HRNet在特征提取的过程中需要不断下采样生成低分辨率特征提取分支,由于DeeplabV3+中DCNN 已经通过下采样提取了特征,可直接将DCNN提取的3个中间层特征作为多尺度融合增强网络的输入,去除高分辨率分支不断下采样生成低分辨率分支的过程,避免特征的重复提取,减少模型的参数量。同时,HRNet网络最终只输出了最高分辨率分支的特征图,没有充分利用两个低分辨率分支的有效信息,因此考虑在多尺度融合增强网络中同时输出三个分支的特征图,并在后续过程中将三张特征图拼接融合,保留更丰富的语义信息。
本文设计的多尺度融合增强网络如图4所示。
图4 多尺度融合增强网络
多尺度融合增强网络包含2 个相同的特征提取与交换单元。每一个单元包含3 个独立的分支。每个分支采用不同尺度的输入,从而可以提取不同尺度的特征。其中,第二个分支的分辨率是第一个分支的一半,特征图的通道数是第一个分支的2倍;第三个分支的分辨率是第二个分支的一半,特征图的通道数是第二个分支的2倍。算法步骤如下:
(1)将不同分辨率的特征图输入多尺度融合增强网络。
(2)在第一个特征提取与交换单元(Unit1),每一个分支都通过2 个Xception Module 进行独立的特征提取,随后通过特征融合实现不同特征图的信息交换。在信息融合的过程中,第一个分支的特征图通过步长为1或2的下采样得到特征图A11、A12,A12再通过步长为2的下采样得到特征图A13,第二、第三个分支的特征图通过双线性插值上采样得到特征图A21和A31,将A21和A31调整通道数后与A11相加融合,即可得到Unit1第一个分支的输出特征图。第二、第三分支的输出特征图同理。因此,通过Unit1 可以获取三张不同分辨率的特征图,并作为Unit2的输入。
(3)Unit2的计算过程和Unit1相同,Unit2中三个分支的输出是多尺度融合增强网络最终输出的特征,每一个分支的特征图中都包含了高分辨率的细节信息,有助于提升分割的准确率。
2.2 多尺度融合增强的图像语义分割算法
为了使网络模型在特征提取的过程中拥有更大的感受野,增强上下文语义信息的同时保持高分辨率特征,提高小尺度目标分割精度,本文在DeeplabV3+网络模型的基础上嵌入多尺度融合增强网络,构建了一个具备小尺度目标分割能力的深度学习模型。网络模型的结构如图5 所示,包括编码器和解码器两部分,编码器包括DCNN、ASPP、多尺度融合增强网络三部分,用于特征提取;解码器包括特征的跨层融合和上采样,用于恢复图像的空间分辨率。
算法步骤如下:
(1)将原始图像输入DCNN提取初始特征。
(2)将DCNN 输出的初始特征输入ASPP 模块,获取多尺度特征图后拼接融合,并调整通道数为256。
(3)提取DCNN中间三个卷积层的输出特征作为多尺度融合增强网络的输入,得到三个分支的输出特征图后进行拼接融合,并调整通道数为128。
(4)将多尺度融合增强网络和ASPP 模块的输出四倍上采样后与DCNN中对应层级的浅层特征拼接融合,其中浅层特征的输出通道数为48。
(5)将融合后的特征四倍上采样,得到与原始图像分辨率相等的特征图,恢复图像空间细节信息。
(6)最后经过一次卷积后,调整输出特征的通道数为待分割的类别数,通过Softmax 函数激活后即可得到预测的分割图像。
图5 多尺度融合增强的语义分割算法
本文基于HRNet网络模型的设计思想,在DeeplabV3+的基础上构建多尺度融合增强网络,对DCNN提取的浅层特征进行多尺度特征提取与反复的信息融合,其中多尺度特征提取可使模型获取不同尺度上更全面的信息,不同尺度特征图上相同的关键点有助于模型对不同的语义含义进行更精准的预测,而反复的信息融合有助于模型获取高分辨率的细节特征。多尺度融合增强网络增强了不同尺度特征上的关键特征和高分辨率的细节特征,使模型充分利用多尺度信息和浅层信息提高语义分割的准确率。在解码端将多尺度融合增强网络输出的特征与DeeplabV3+中ASPP 模块输出的特征拼接融合,利用浅层特征恢复上采样过程中的空间细节信息,提高了模型对小尺度目标的分割能力。目前大多语义分割算法都通过对高分辨率特征不断下采样来提取深层抽象特征,会造成大量的细节信息丢失,而本文提出的多尺度融合增强网络与上述方法相反,它通过高分辨率信息与低分辨率信息的反复融合增强,使网络在训练的过程中时刻保持有效的多尺度特征和细节特征,提高了分割精度。本文在DeeplabV3+的基础上构建一条独立分支,在一定程度上增加了参数量,但由于采用了轻量化的残差结构,改进前后模型大小相差不多,对网络的实时性影响不大,且更有助于小目标识别。
3 实验研究与结果分析
针对本文提出的算法进行实验研究,实验环境配置如表1所示。
表1 实验环境配置
3.1 数据集、评价标准与训练策略
3.1.1 数据集
本文采用公开数据集Cityscapes 和PASCAL VOC 2012验证算法的有效性与泛化性。
Cityscapes 是大规模城市街景语义理解数据集,包含50个城市不同场景、不同季节的5 000张精细标注图像,提供19 个类别标注。每张图像的分辨率为2 048×1 024,图像中街道背景信息复杂且待分割目标尺度不一。训练集、验证集和测试集分别包含2 975、500、1 525张图像。
PASCAL VOC 2012 是由国际计算机视觉挑战赛发布的用于图像分类、检测或语义分割的数据集,提供了20个物体对象和1个背景的类别标签,包括人、动物、室内生活用品等。数据集中每张图像的尺寸不固定,每张图片包含不同数量的物体。训练集、验证集和测试集分别包含1 464、1 449、1 456张图像。
3.1.2 评价标准
图像语义分割技术一般将平均交并比(mean Intersection over Union,mIoU)作为算法性能的评价标准。mIoU 用来计算真实值和预测值两个集合的交集和并集,即计算预测结果与原始图像中真值的重合程度。
其中,k 表示标签标记的类别,k+1 表示包含空类或背景的总类别,pii表示实际为i 类预测为i 类的像素数量,pij表示实际为i 类但预测为j 类的像素数量,pji表示实际为j 类但预测为i 类的像素数量。mIoU 的取值范围为[0,1],mIoU 的值越大,说明预测的分割图越准确。
3.1.3 训练策略
通过对Cityscapes和PASCAL VOC 2012数据集上预训练的模型进行微调,以迁移学习的方式初始化权重,加快训练速度。采用带动量的随机梯度下降法进行训练,设置初始化学习率为0.000 1,动量为0.9,迭代步数为50 000 次。实验中将图像剪裁至321×321 大小进行训练。
3.2 DeeplabV3+与本文算法的对比实验
为了验证改进算法的有效性,对比在Cityscapes 数据集上DeeplabV3+与本文算法的分割结果,改进前后在Cityscapes数据集上mIoU 值对比结果如表2所示。
通过表2 可以看出,改进后算法的全局平均mIoU值相较于原始的DeeplabV3+网络模型提升了0.24,且大多数物体识别准确率有所提升,说明多尺度融合增强网络有助于提高网络模型的分割能力。
表2 算法在Cityscapes数据集上的mIoU 值对比结果
改进前后算法在Cityscapes数据集上的预测结果如图6所示。从第一列可以看出,本文算法有效地分割出了DeeplabV3+中丢失的行人,提高了小尺度目标的分割能力。第二列分割结果中,DeeplabV3+将公交车后视镜错误地识别为行人,而改进后的算法避免了小目标的分割错误。第三列的分割结果同样证明了改进后算法相较于DeeplabV3+更善于对小尺度目标的分割和预测。
图6 算法在Cityscapes数据集上的预测结果
3.3 结构和参数优化实验
前面的实验表明本文算法对小目标分割的准确率普遍得到提高,根据分析,多尺度融合增强网络的残差结构和残差结构个数、输出特征拼接通道数等参数对模型的性能影响较大,因此对模型的结构和参数进行优化。
3.3.1 残差结构对比实验
Bottleneck 和Xception Module 分 别 是HRNet 和DeeplabV3+中的残差结构,用于在网络加深的过程中避免梯度消失问题,提取更丰富的语义信息。为了验证更适用于本文算法的残差结构,通过对比Bottleneck 和Xception Module分别进行实验,实验结果如表3所示。
表3 残差结构对比结果
通过实验结果可以看出,两种残差结构的平均mIoU 值相差不多,但Xception Module 在多个小目标上的分割精度更高,且Xception Module为轻量级网络,因此采用Xception Module作为多尺度融合增强网络的残差结构。
3.3.2 Xception Module个数对比实验
HRNet每个分支采用4个Bottleneck模块反复提取特征后再进行特征拼接融合。提取的特征过多会造成信息的冗余,提取特征过少则会降低分割精度,因此为了提取有效信息,避免信息缺失或冗余,设置Xception Module个数为1、2、3、4,实验结果如表4所示。
表4 Xception Module个数对比结果
通过实验结果可以看出,Xception Module 个数设置为2时,在行人和自行车两个小尺度目标上获取了更好的分割效果,且平均mIoU 值最高,更有利于提高目标分割的准确率,因此设置Xception Module个数为2。
3.3.3 特征拼接通道数对比实验
在网络训练的过程中,需要将多尺度融合增强网络三个分支的输出特征图进行拼接融合,并调整输出通道数。为了获取分割准确率更高的通道数,实验中分别设置输出通道数为64、128和256,实验结果如表5所示。
表5 输出特征拼接通道数对比结果
通过实验结果可以看出,输出特征拼接通道数为128 和256 时在小目标数据集上取得的效果较好,当通道数设置为128时取得的平均mIoU 值较高,还有助于减少网络模型的参数量,因此本文将输出特征拼接通道数设置为128。
3.3.4 特征提取与交换单元个数对比实验
重复的特征提取与交换单元可提取更丰富的语义信息。为了验证有效的个数,实验中分别将其设置为1、2、3、4进行对比,实验结果如表6所示。
表6 特征提取与融合单元个数对比结果
实验结果表示,当个数为1 时,网络模型对电线杆的分割能力较好,个数为2 时,模型对摩托车的分割效果更好;个数为3 时,对行人的分割效果更好;个数为4时,对交通信号灯的分割效果更好。但是个数为2时的全局平均mIoU 值最高,为0.756,因此本文采用2 个特征提取与融合单元。
3.4 泛化性实验
算法在PASCAL VOC 2012 数据集上的可视化结果如图7所示。
图7 算法在PASCAL VOC 2012数据集上的预测结果
通过图7 的第一列可以看出,本文算法识别出了DeeplabV3+网络分割过程中丢失的像素点,预测的结果更加精确。第二列分割的结果中,DeeplabV3+网络模型错误地将椅子识别为其他的物体,改进后的算法避免了误分类错误。第三列结果表明,DeeplabV3+网络模型在分割自行车时存在明显的分割不连续问题,本文算法分割的结果连续性更强。综上,改进后网络模型相较于DeeplabV3+网络模型可以提升小尺度目标的分割精度,并具有更强的分类识别能力。
表7 PASCAL VOC 2012数据集上mIoU 值的测试结果
同时,本文算法与其他经典算法在PASCAL VOC 2012数据集上的测试结果进行了对比,如表7所示。可以看出,对鸟、船、瓶子等12个不同种类物体,本文算法都取得了更佳的分割结果,说明本文算法具有较好的泛化能力。
4 结论
为了提高小尺度目标的分割能力,本文深入研究了DeeplabV3+和HRNet 网络模型,在二者的基础上提出一种多尺度融合增强的图像语义分割算法。在编码端构建一条多尺度融合增强分支保持网络的高分辨率信息,增强细节特征的表达能力;在解码端融合高分辨率特征和原始网络提取的特征,获取高质量的上下文语义信息,从而构建了一个适用于小尺度目标分割的网络模型。本文算法在两个公开数据集上进行了大量对比实验,实验结果表明,本文算法不仅具备小目标分割的能力,还可以解决目标分割不连续的问题,有助于小目标的识别。