传播深度和多尺度特征融合的遥感图像分割
2021-12-12孙昊堃刘紫燕梁水波
孙昊堃,刘紫燕,梁 静,梁水波,袁 浩
(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)
0 引言
随着科技的不断发展,遥感图像在无人机、城市规划、灾害现场评估和交通运输等方面有着广泛的应用,获取遥感图像中的地面信息有着极其重要的实用价值。然而,由于近些年来遥感图像所包含地面与物体信息越来越多,结构越来越复杂,存在各种物体的大小不一、光照不一、阴影重叠和物体遮挡等现象,导致实际分割过程中存在目标尺度变化大、小目标众多和目标排布密集等难点,给遥感图像的发展与应用带来了巨大的挑战[1]。
图像语义分割是根据图片中的纹理、位置和颜色等信息,对图片中的每个像素预测分类,从而得到特定目标的图像,以满足人们对图像中目标精确定位的需求。传统的图像分割有基于阈值分割[2]、均衡直方图[3]、区域生长[4-5]、尺度不变特征变换[6]和超像素等方法。
受AlexNet[7]启发,科研人员将卷积神经网络运用到图像语义分割领域,并提出许多优秀的分割网络模型。文献[8]未考虑遥感图像中像素之间的关系,缺乏空间一致性;文献[9]对卫星拍摄图像的中小目标分割效果差;文献[10]无法充分利用遥感图像整体的场景信息;文献[11]存在局部信息丢失,损失信息的连续性;文献[12]使用远程残差连接实现高分辨率的预测,但网络结构十分复杂;文献[13]存在训练时严重消耗内存,对硬件设备要求高等问题;文献[14]模型没有下采样过程存在计算量复杂、实时性差等问题;文献[15]在医疗图像领域效果较好,但对于包含类别多的遥感图像效果表现不佳;文献[16]提取局部信息较少导致分类的性能存在限制,遥感图像分割的准确率不高。
上述网络存在一些不足,例如,浅层特征传播过程中丢失信息严重,获得的全局上下文信息不完整,导致分割对象出现支离破碎的区域;空间位置和类别的多样性会影响分割的准确性,若目标所占像素区域小并且特征不明显则容易被忽略,导致背景同化得到错误的分类;对于不同大小的同类物体缺乏特征融合等。
为解决上述问题,本文在ResNet101网络的基础上改进特征融合结构,融合所提取的多层特征从而获取更丰富的上下文信息,保留浅层特征在传播过程中的完整性,有效提高位置信息的利用率,同时改善空洞空间金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模块的膨胀率设置,避免网格效应,更好地利用多尺度信息。最后,在公开数据集Satellite dataset I (global cities)上实验,证明了本文模型的有效性。
1 传播深度和多尺度特征融合网络
基于融合深度特征的方法通过融合1个或多个卷积神经网络不同层的特征,增加融合特征的信息量提高性能[17]。本文模型的特征融合方式有2种:多层级特征融合和多尺度特征融合。多层级特征融合即传播深度特征融合,指不同提取深度的特征包含不同信息,高层级提取到的特征用于类别识别,低层级的特征用于精准定位,将二者提取到的信息融合,捕获到高精度的全局上下文信息。多尺度特征融合是指将尺寸不同的特征信息融合,存在差异目标与卷积核并行运算,将二者结果相融合。为降低运算复杂度,本文采用膨胀率不同的卷积代替大小不同的卷积核。
本文提出的向前传播深度和多尺度特征融合网络示意如图1所示,主体结构为改进特征融合的ResNet101残差网络。主干网络使用跨连接方法多次融合浅层和高层特征信息,去除Fully Connected(FC)层后添加经过改进的ASPP模块,实现不同深度和不同尺度的信息融合。
图1 传播深度和多尺度特征融合网络示意Fig.1 Schematic diagram of propagation depth and multi-scale feature fusion network
1.1 ResNet101网络
2015年,Residual Neural Network(ResNet)由微软研究院何凯明等[18]华人学者提出。传统的卷积神经网络随着层数增加,理论上会取得更好的效果。然而实践表明,当模型层数达到一定深度,网络性能并不会随着深度增加而提高,相反会引起梯度消失与梯度爆炸等问题,从而导致精度下降。残差网络的提出有效地解决了上述问题,使网络模型较深的情况下依旧能取得出色的性能。通常网络的一层可以看作y=H(x),而残差网络中的残差块可以表示为F(x)=H(x)-x,即预测值H(x)与x观测值的差值称为残差。残差模块结构如图2所示。
每个残差单元可表示为:
yl=h(xl)+F(xl,Wl),
(1)
xl+1=f(yl),
(2)
式中,xl和xl+1分别表示第l个残差单元的输入和输出;h为直接映射;f为ReLU激活函数;F为残差函数,表示学习到的残差。基于以上公式可求出从浅层l到深层L的学习特征:
(3)
根据链式求导法则,得到反向传播过程中的梯度为:
(4)
图2 残差模块结构Fig.2 Residual module structure
常见的ResNet网络有ResNet18,ResNet50,ResNet101和ResNet150等,数字部分代表网络所包含的层数。ResNet101网络由4个Bottleneck组成,每个Block包含不同的残差块,如图3所示。
图3 ResNet101网络结构Fig.3 ResNet101 Network structure
1.2 传播深度特征融合
基于卷积神经网络最后一层的输出作为提取图像的特征,卷积神经网络在逐层运算过程中保持了图像的空间特征,然而位置信息不够精确,需要经过特征融合获取更多的信息。较浅层的特征图位置信息比较丰富,但语义信息相对缺乏。若能将浅层与深层的特征有效融合,既可以得到丰富的语义信息又能得到精确的空间信息,从而提高语义分割的精确度。本文模型针对经典网络融合方式存在的缺点做出以下改进。
(1) 融合浅层信息。经典网络FCN的融合方式通过深层特征图多倍上采样后与浅层相加,当加到第3个Block时效果最优,继续添加更浅的Block1和Block2反而使效果变差。其原因包含2点:特征图上采样倍数过大(16倍),使得结果变粗糙;多次叠加最浅层信息,默认降低了深层信息的权重。本网络利用了所有浅层的信息,为得到更好的效果主要采取以下2个措施:所有上采样均为2倍,若需要更大的倍数则多次叠加2倍上采样,并且每次叠加之间添加卷积层调节插值效果;将2个浅层特征图融合为一个,降低此部分在最终融合结果中的权重。本文模型的阶段1与阶段2的内部融合均采用该方法降低权重。阶段1融合Block1和Block2的内部融合结果如图4所示。
图4 内部融合Fig.4 Internal integration
(2) 利用融合结果实现前向传递。Unet网络在编码阶段的前向传递没有受到融合结果的影响,仅在解码阶段持续融合编码阶段的特征图优化细节信息。这种方式未能充分地利用融合结果,本文采用前向传递的方式将融合后的结果用在特征图中,能让浅层信息得到充分提取特征。阶段间的融合如图5所示。
图5 阶段间融合Fig.5 Fusion between stages
1.3 多尺度特征融合
ASPP模块的主要结构是空洞卷积,其主要作用是在保持特征图分辨率大小的前提下增大感受野,即:
(5)
式中,y[i]为输出;x[i]为输入;r为空洞率表示卷积和之间插入r-1个空洞;w[k]为卷积核中第k个参数。r=1时,为标准卷积;r>1时,为带孔的卷积。
当输入为标准卷积时,输出的感受野较小,浅层信息被使用多次从而产生多余信息。而输入为空洞卷积时,可以通过不增加额外参数的情况下增加神经元的感受野,利用更多的上下文信息。
遥感图像分割网络中高层网络的感受野比较大,语义信息表征能力强,但是特征图的分辨率低,几何信息的表征能力弱(即缺少空间几何特征细节)。空洞卷积可以提高感受野,并且不增加额外运算复杂度。ASPP采用具有4个不同膨胀率(6,12,18,24)的并行支路,其感受野不同可以提取不同尺度目标的信息。然而膨胀卷积不连续,并非所有像素都用来计算。膨胀不能覆盖所有图像特征,会产生网格效应。网格效应如图6所示,有部分像素点的信息被忽略,即使多支路叠加也会忽略损失信息的连续性。为改善这种状况,采用没有最小公倍数的混合膨胀卷积,将膨胀率设置为(3,5,11,17),使卷积运算更合理地分配到每个像素点。通过以上操作,本文模型最后的特征图经过混合膨胀卷积运算融合多尺度信息。
图6 网格效应Fig.6 Grid effects
1.4 网络架构
本文的网络结构由3次传播深度特征融合和并行混合膨胀卷积组成。3次传播深度特征融合是从浅层开始向深层逐层融合,保留浅层特征的信息完整性。Block1和Block2的结果进行第1次融合,一方面保留高精度位置和形状信息,另一方面融合的结果继续前向传播;第2次融合,用相同的办法处理Block3和Block4;第3次融合包含所有层的信息,即前2次的融合、Block5和混合膨胀卷积的结果。
融合阶段1:首先输入图像(512×512×3),Block1由卷积-卷积-最大池化构成,经过Block1得到256×256×32的特征图。通过Block2的3个连续的Bottleneck结构得到128×128×256的特征图。此时Block2的结果不直接前向传播,而是和Block1的结果融合。将Block2的结果采取2倍上采样,接着用1×1的卷积核将深度调节为32。相加得到阶段1的结果,如图7所示。
图7 融合阶段1Fig.7 Fusion stage 1
融合阶段2:阶段1的结果继续前向传播,经过Block3(连续4次Bottleneck结构)得到64×64×512的特征图。经过Block4(连续23次Bottleneck结构)得到32×32×1 024的特征图。此时Block4的结果不直接前向传播,而是与Block3的结果融合。类似融合阶段1,不再赘述。
融合阶段3:阶段2的结果继续前向传播,Block5(连续3次Bottleneck结构)不同于ResNet101的第5部分取消最后的池化层。因为所用数据集的分割对象为有较强先验结构的矩形目标,所占像素宽度在30~50,若再次最大池化,会导致特征图仅为原输入的1/32,丢失有用信息。
经过Block5的运算,得到32×32×2 048的特征图。使用混合膨胀卷积运算,以Concatenate的方式进行并行支路的融合特征。4条并行支路的卷积核大小保持不变,只将膨胀卷积层的padding与膨胀率设置相等即可得到分辨率相同的输出结果。如式(6)和式(7)所示,若padding等于膨胀率,则特征图运算前后的尺寸大小相等,可以在不增加运算复杂度的前提下实现特征融合:
(6)
sizedilation=sizeker+dilation_rate×2,
(7)
式中,sizeold为卷积运算前的特征图尺寸;sizenew为卷积运算后特征图的尺寸;sizeker为卷积核的尺寸;padding为特征图填充尺寸;stride为卷积运算的步长;sizedailtion为加上卷积核填充后的卷积核尺寸,膨胀率为卷积核填充尺寸。
最后阶段3的融合,包含阶段1、阶段2、Block5和混合膨胀卷积的结果,如图8所示。融合后的结果再连续经过3次上采样,最终可恢复到输入大小相同尺寸。
图8 融合阶段3Fig.8 Fusion stage 3
1.5 损失函数
交叉熵损失函数(Cross-entropy Loss)作为遥感语义分割领域中常用的损失函数,是一种利于分类网络进行标签的置信度排序函数。首先将输出值用Softmax函数激活,接下来和标签做带权重的交叉熵损失。数据集中前景和背景的像素比例约为1∶3,若不调节交叉熵损失项的权重,会使模型更偏向于更新背景相关的权值。因此在交叉熵损失项上乘以类别比例的反比来修正前景和背景损失项的权重:
L=w1×ytrue×log(ypred)+w0×(1-ytrue)×
log(1-ypred),
(8)
式中,w0和w1分别代表了当前数据的真实标签为0或1所占的概率。
2 实验结果与分析
本文的实验平台采用Ubuntu16.04操作系统,NVIDIA RTX 2070显卡的环境。采用Adam优化算法,学习率为0.001,beta_1为0.9,beta_2为0.999,epsilon为10-8。batch大小为4,epoch为150。
2.1 标准数据集与评价指标
本文采用武汉大学公开遥感数据集Satellite dataset Ⅰ(global cities)[19],数据集信息是从世界各地的城市以及各种遥感资源(包括QuickBird,Worldview系列,IKONOS,ZY-3等)收集的,包含204张图像(分辨率为512×512,能见度0.3~2.5 m),如图9所示。
图9 数据集样图Fig.9 A sample of the dataset
实验中,使用语义分割中常见的准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1值(F1 measure)作为性能评价指标。值越大代表模型效果越好。每个像素的预测结果为4种之一,分别是真阳性(True Positive,TP)、假阳性(False Positive,FP)、真阴性(True Negative,TN)和假阴性(False Negative,FN)。
Accuracy是图中预测正确的像素与总像素的比例,即:
(9)
Precision是图中预测为正例的样本中正例的比例,即:
(10)
Recall表示图中有多少正例被正确地预测,即:
(11)
F1值由精确度和召回率计算得到,它表示精确度与召回率的加权调和平均,即:
(12)
2.2 与其他模型比较
为验证本文模型的有效性,实验将改进模型与FCN,PSPnet,DeepLabv3和Unet等经典网络模型进行对比,分别从定性和定量2个方面评价,定性分析将从图像分割的视觉效果评价,定量分析从准确率、精确度、召回率和F1值4个指标评价。
如图10~图13所示,在5个模型中DeepLabv3和PSPnet分割的效果最差,具体表现在与真实标签图相比建筑物轮廓粗糙,几何特征未能真实还原。FCN的分割效果有一定的提升,建筑物的轮廓信息逐渐清晰,但与真实标签相比,无法分割邻近建筑物,与实际效果融合在一起。Unet已经能够较为准确地分割出建筑物,但在小物体分割效果上不如本文所提出网络模型。图11~图13中标出的黄色框为灌木丛旁的一组建筑物,真实标签图中区域棱角分明,轮廓清晰。PSPnet和DeepLabv3的分割结果显示该区域信息缺失严重,无法恢复出建筑物基本轮廓特征。因为Unet和FCN网络利用了提取深度特征融合,分割效果有明显的提升。在所有网络里,本文的模型分割效果最好,其细节表现性能优异,没有出现边缘有锯齿状或者参差不齐的情况。最终分割的边缘与真实标签高度相似,精确捕捉到分割目标的位置和形状信息,在上述几种模型中表现最好。
图10 原始图像Fig.10 Original image
图13 UNet和Ourmodels
真实标签中的建筑物目标一般具有直线型的边缘,而本文所提算法仅能提取出锯齿状边缘,这是由神经网络多次下采样后的信息损失导致的,而上采样后的特征图又无法完全恢复信息损失。边缘处的误检或漏检限制精度的提升。在未来的工作中为解决此问题,需要重点关注边缘区域的像素分类结果,选出准确度不高的点,综合利用该点的深层和浅层特征图信息,训练一个较小的网络辅助判断其分类,进一步提升整体精度。
每个模型在准确率、精确率、召回率和F1值4个指标的数据如表1所示。本文提出的模型准确率相较于DeepLabv3,PSPnet,FCN,Unet分别提升了3.97%,3.91%,3.4%,1.23%;精确率提升了12.95%,7.9%,5.55%,1.83%;召回率提升了4.85%,5.84%,5.04%,1.48%;F1值提升了13.23%,11.44%,9.51%,4.93%。可以得出,本文提出的模型在4个指标均有提升,对比PSPnet,DeepLabv3提升比较明显。对于遥感图像中表现优异的Unet网络也有一定的提升。
表1 5个模型的指标对比
2.3 消融实验
为验证本文各阶段间融合与改进ASPP模块的有效性,在Satellite dataset Ⅰ数据集上采用控制变量法设置消融实验,与2.1节评价指标对比,实验结果如表2所示。
表2 消融实验
由表2可知,传播深度融合stage3的作用最大,因为其基本融合了所有传播深度的特征,有利于最终特征图的优化,若不利用stage3的融合结果会导致准确率下降4.1%。其次是改善的ASPP模块作用较大,能够辅助提取多尺度信息,若取消该模块会导致准确率下降2.6%。传播深度融合stage1和stage2的作用微弱,其原因可能是:① 层数较浅导致并没有提取到足够的信息,使融合提升幅度不大。② 其都属于局部特征融合,特征之间的差异较小对融合的作用较弱。综合分析表2结果,本文所提出传播深度的特征融合与改进的ASPP模块取得最好的效果。
综上所述,本文提出的网络模型从定性与定量2个方面相比均优于目前主流的语义分割网络。在提取图像的位置和形状精度上具有明显优势,验证了浅层特征能保留更多的形位信息,充分利用浅层特征带来分割效果提升的有效性。
3 结束语
本文针对遥感语义分割中浅层特征在传播中丢失严重的问题,在ResNet101的基础上使用传播深度和多尺度特征融合的方式搭建了一个遥感图像分割的网络模型,并且在公开遥感数据集Satellite dataset Ⅰ上进行了一系列对比实验。本文网络模型能够更加准确地处理复杂场景图像中图像分割问题,显著改善类别边缘区域分割效果。今后可以考虑在网络后处理中添加边缘锐化进一步提升效果。