基于DeepLabv3的样本不均衡图像语义分割研究
2022-09-23王汉谱刘志豪谷旭轩廖建英贺志强彭怡书
王汉谱,刘志豪,谷旭轩,廖建英,贺志强,涂 兵,彭怡书
(湖南理工学院 a.信息科学与工程学院;b.机器视觉与人工智能研究中心,湖南 岳阳 414006)
图像语义分割是计算机视觉领域的一个重要研究课题,它利用图像中的语义信息对每一个像素进行分类,是一种高阶图像处理任务,广泛应用于自动驾驶[1]、地理信息系统[2]、智能医疗影像分析[3]等领域。传统图像语义分割方法是根据图像色彩、几何形状、灰度值等特征,把图像划分为多个互补相交的区域,将目标与背景分类,主要包括基于边缘分割[4]、阈值分割[5]、图论分割[6]、聚类分割[7]等。Alex等[8]提出的AlexNet网络在ImageNet大赛上取得优异成绩后,基于深度学习的方法大幅提升了语义分割性能,全卷积神经网络(Fully Convolutional Networks,FCN)[9]通过不断地卷积和池化操作对图片进行特征提取,再利用反卷积层对最后一层特征图进行上采样,恢复到原来的分辨率,从而实现像素级分类。然而,数据集中一般都存在许多小目标和稀少样本类,这些难以学习特征的样本,边缘细节分割困难,尽管FCN增强了物体的分类能力,但是图片空间分辨率的降低也导致了对小目标不敏感和边缘信息丢失。
为解决上述问题,在前端处理方面可以通过对样本重采样来改善原始数据集使类别达到平衡[10],但是,根据先验知识处理数据集使其达到平衡不仅耗时,且在后验信息的度量下,会出现不均匀性。通过修改损失函数来加强对困难样本特征的学习是一类常用的方法,黄庆康等[11]采用一种动态学习损失函数的方式,使得小批量内各类样本的损失值得到均衡;杨威等[12]将改进后的Focal Loss作为新的损失函数,缓解了城市景观数据集中样本不均衡问题。还有一类方法是通过特征融合来提升语义分割的性能,U-Net[13]将预先训练好的主干卷积模型的低级和高级特征结合起来以提高语义分割的性能;深度卷积网络(Dense Convolutional Networks,DenseNet)[14]则是实现了各层特征图的重用来提升语义分割的性能;ExFuse网络[15]在高级特征中引入更多的空间分辨率信息来增强小目标和边缘分割。但是,简单的特征融合并不能很好地保护小目标的语义信息,因为在特征融合时,高层特征的通道数远远大于低层特征的通道数,使得高层特征在特征融合时起着主导作用。DeepLabv3网络[16]将语义分割的性能提升到一个新的高度,本文利用该网络获得多尺度信息的基础上,将Focal Loss引入替换原来的交叉熵损失函数来加强边缘像素点的特征学习,为了进一步提升小目标语义分割的性能,利用GPB/OWT/UCM[17]得到超像素块,使得小目标的语义信息仅由低层特征单独决定,从而优化小目标和边缘细节的分割,最终通过实验证实该方法能够进一步提升语义分割的性能。
1 模型框架
本节从稀少样本类和小目标2个方面考虑样本不均衡问题。首先描述DeepLabv3网络结构,接着引入Focal Loss并对该损失函数如何加强困难样本特征的学习进行阐述,最后使用GPB/OWT/UCM所得超像素块作为监督,使小目标区域的语义信息仅由低等级特征去单独决定,从而进一步优化小目标分割,并最终进一步提升语义分割的性能。
1.1 DeepLabv3网络
DeepLabv3网络如图1所示,这是一个典型的编码器-解码器结构。其中编码器由Backbone和空洞空间金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模块2部分组成。在编码端,使用Resnet101[18]残差网络模型作为Backbone来进行特征提取,首先对输入图片进行16倍下采样,得到特征图(黄颜色块表示),该特征图经过ASPP模块,进一步提取到多尺度特征图(不同颜色块表示);在解码端,多尺度特征图通过连接和1×1卷积处理得到特征图(绿颜色块),该特征图与Backbone下采样通道数相同,然后通过上采样将所得特征图恢复到原来图像的大小,最后经过分类器获得最终的语义分割结果。
图1 DeepLabv3网络结构
Resnet101网络由多个残差块组成,除激活层和Pooling层外,网络共含101个卷积层,其网络结构参数如表1所示。
表1 Resnet101结构参数
在实际训练时,把表1中的全连接层丢弃,将结果输入到空间金字塔空洞池化模块,所得特征图通过上采样恢复到原图分辨率大小。
ASPP模块是由1个1×1卷积、3个3×3采样率为rates={6,12,18}的空洞卷积[19]和1个全局平均池化层组成。空洞卷积解决了由于下采样导致图像分辨率降低、细节丢失信息的问题,且与VGG[20]网络中使用小卷积核叠加,线性增加感受野相比,空洞卷积可以实现指数级增大感受野;全局平均池化模块则是获取全局上下文信息。输入特征图经过ASPP模块,在不降低图像空间分辨率的同时提取到多尺度信息。不同空洞率的空洞卷积如图2所示,红点代表卷积操作后所得有效元素,蓝点填充部分代表中间红点处感受野的大小。
(a)空洞率为1
1.2 Focal Loss
Focal Loss最初是在目标检测中提出,用于解决训练过程中正负样本候选框极其不平衡问题[21]。其中Focal Loss的公式为:
(1)
式中:σ和γ为超参数;pt是标签预测概率。
语义分割对应类别较多,预测结果多为2类之间较为相近的情况,其像素点对应的标签概率多为0.3~0.5,解码器在最后一层上采样使用双线性插值法,其预测结果也会在空间相近的2个类之间。在后续的研究中,依据杨威等[12]在Cityscapes数据集上Focal Loss权重参数的设置,Pascal Voc 2012数据集与Cityscapes数据集类似,本文通过对原来的交叉熵损失值加上权重,同样设置σ=2,γ=0.5来加强对困难样本特征的学习。
1.3 GPB/OWT/UCM分割算法
采用全局边界概率(Global Probability of Boundary,GPB)算法计算每一个像素作为边界的可能性,即像素作为边界的权重;定向分水岭变换(Oriented Watershed Transform,OWT)对传统分水岭算法进行改进,将不连续的边界图连接成具有完整边界的超像素分割图,每条边都赋予表示重要性的权重;最后采用超度量轮廓图(Ultrametric Contour Map,UCM)算法,通过设置不同的阈值Q,实现对区域贪心合并,使得分割块大致变成可以用语义去标志的区域,分割结果如图3所示。
(a)原图
本文使用UCM所得超像素块图作为监督,先对每个超像素块进行标号,若像素块的面积小于给定阈值T时,则用1表示,否则用0表示,记为监督图U。FL是DeepLabv3网络中Backbone所得特征图经过上采样所得结果,FH是ASPP模块所得特征图上采样所得结果,则最后融合特征图可通过式(2)计算:
FFused=FL⊙U+FH⊙(1-U)。
(2)
式中:⊙代表每个特征与监督信号的乘积;FFused是最后所得特征图。将融合特征图送入分类器,确定每个像素具体类别,这样使得小目标区域的语义信息仅由低等级特征去决定,从而进一步优化小目标分割。
2 实验及结果分析
在Linux下,GNU Octave作为GPB/UCM/OWT算法的编译和运行环境,得到数据集图片对应的超像素图;在Windows下使用Mxnet框架搭建深度学习网络模型,并且在2块GTX 1080Ti上运行改进的DeepLabv3网络结构。
2.1 数据集
本文使用的数据集为PASCAL VOC 2012[22],该数据集图片分为20类,包括背景类共21类。这些图片被分为训练集、测试集、验证集、增强数据集。增强数据集用于对模型进行预训练。一共有1 464张高质量像素级标注的图片用于训练。在训练数据集上对图片进行随机裁剪,裁剪尺寸大小为320×480,然后对其进行归一化操作,最后在验证集上计算均交并比(Mean Intersection over Union,MIoU)来验证本文所提出的网络模型分割效果。
2.2 数据训练设置
使用随机梯度下降算法进行训练,批量大小设置为8,迭代次数为30×103,学习率为10-3,权重衰减为10-4;UCM算法中阈值Q取0.9;低等级特征替换的阈值T为32×32。
2.3 评价指标
为了评价本文网络模型的语义分割效果,对实验结果从主观和客观评价2个角度进行分析。主观评价中,主要是语义分割结果小目标可视化和稀少样本边缘分割情况,客观评价中,使用MIoU作为评价指标,定义为真实值(ground truth)和预测值(predicted segmentation)的交集和并集之比:
(3)
式中:k表示前景类别个数;pij表示真实值为i,被预测为j的数量。
2.4 实验结果
本文在没有MS-COCO数据集预训练和条件随机场(Conditional Random Field,CRF)等后处理的情况下与其他语义分割方法进行对比。如表2所示,以VGG16作为编码器结构,通过逐层跳跃连接恢复对象边缘细节信息的经典FCN网络,在Pascal VOC 2012验证数据集上MIoU值取得了56.00%,至此,传统语义分割方法再也无法与其比较。DeepLabV2中引入空洞卷积,在不降低特征图分辨率的情况下扩大了感受野,MIoU值升至75.20%;MobileNetv2网络中使用了深度可分离卷积,在保持精度的同时提升了语义分割的速度;在单DeepLabv3网络中,MIoU值为79.52%,通过Focal Loss替换原来交叉熵损失函数后,MIoU值升为79.64%。而本文所提出的方法获得MIoU值为80.23%,进一步提升了0.59%,并且优于CRF-RNN、MobileNetV2、FastDenseNasarch-0等其他方法。
表2 与其他模型MIoU值的比较 %
图4为分割结果MIoU值较高的DeepLabv3,DeepLabv3+Focal Loss以及本文方法在PASCALVOC 2012验证数据集上的可视化结果图。以第一行飞机目标为例,相比于原始的DeepLabv3网络,本文方法优化了如红颜色框圈起的飞机机翼部分的分割,对于像牛这种稀少样本类边缘细节分割也有一些改善,而人这种大类目标也不会降低其分割效果。
(a)RGB图像 (b)DeepLabv3 (c)DeepLabv3+Focal Los (d)本文方法 (e)标签
3 结语
本文针对语义分割样本不均衡导致的小目标和边缘分割困难的问题,提出了一种基于DeepLabv3网络结构的语义分割模型。该模型以DeepLabv3为基本框架,首先,使用Focal Loss损失函数替换原来的交叉熵损失函数,加强对小目标和边缘特征的学习;然后引入GPB/OWT/UCM模块,细化边缘分割,提升分割精度,实验结果表明本文分割方法能够获得较高的语义分割精度。但是,由于无法考虑单个像素与全局像素之间的关系,会导致分割错误的情况发生,下一步将会着重研究注意力机制,考虑单个像素点与全局关系以减少错分情况,提高分割准确度。