张新华,黄梦醒,张 雨,李玉春,单怡晴,冯思玲
(1.海南大学 计算机与网络空间安全学院,海口 570228;2.海南大学 信息与通信工程学院,海口 570228)
道路是影响自动驾驶技术的重要因素,道路的精确度影响地图的准确性,但是由于社会的快速发展,道路规划的频率也越来越快[1-3]。目前获取道路的方式有:使用车载激光扫描设备,通过遍历扫描信息的方式获取路面信息,但是人力物力耗资巨大;使用航空或者卫星图像,通过技术方法获取道路信息,能够节省大量的人力和时间[4-6]。
近年来,深度学习在计算机视觉、图像分类及图像分割等领域取得重大的成果。深度学习特殊的网络结构可以通过神经元将提取的特征值传递,每一层对上一层传递的特征再进行提取学习继续传递,从而提取最优的特征值[7-9]。在图像语义分割领域的方法包括AlexNet、FCN、U_Net、SegNet以及ResNet。AlexNet实现了在卷积神经网络(Convolutional Neural Network,CNN)中成功应用ReLU、Dropout 和LRN(Local Response Normalization)等Trick[10];FCN 将AlexNet、VGG 全连接层改为卷积层,FCN[11]下采样对图像进行特征提取,对上采样进行反卷积,保证输出图像和输入图像大小相同;NOH[12]等在FCN 网络架构的基础上,提出学习一个多层反卷积网络代替简单的双线性插值;BADRINARAYANAA 等[13]提出SegNet 基于编码器-解码器架构,卷积层和池化层组成了编码器,卷积层和上采样层组成了解码器。编码器的作用是提取特征图像,解码器的作用是将特征图像返回到和输入图像大小一致。
SegNet 与反卷积网络相同点是网络结构相似,不同点是SegNet 去除了网络中间的2 个全连接层,并采用Batch Normalization 方法和Softmax 分类器;SegNet的优点是效率高、消耗内存少,缺点是精度不高;FCN和SegNet 网络中引入池化层,优点是在减小图像大小的同时增大感受野,缺点是部分位置信息丢失。
YU 等[14]设计一种专用于图像像素预测的网络,该网络不包含池化层,并且卷积层采用扩张卷积。该网络的优点是扩张卷积增大卷积核的感受野,可以将捕获的图像多尺度上下文信息融合,提高像素预测的准确率。
ResNet[15-16]残差网络内部的残差块使用跳跃连接,优点是减少随着神经网络深度增加引起的梯度消失问题。RONNEBERGER 等[17]提出的U-Net 网络,利用编码器与解码器之间的级联操作将图像高层信息与浅层信息融合,优点是避免高层语义信息的丢失,尽可能性地保留图像特征。深度学习可以通过计算机实现目标对象的分割和提取,并且通过特殊的网络模型学习较低层次和较高层次的特征,具有较高的学习效率[18]。深度学习对图像特征要素的分割,可以通过大量的数据实验取得较好的实验效果。因此,可利用深度学习算法对卫星图像道路分割提取特征图。
针对道路分割时存在混淆和识别不清等问题,本文在U_Net 基础上,提出一种基于密集连接块[19]、ASPP[20]和CBAM[21]的卫星道路图像语义分割算法。在融合图像特征信息时通过注意力监督机制输入图像特定部分,以提高卫星图像道路分割的精确度。
考虑到U-Net 网络在图像语义分割和密集连接网络方面的优越性,本文构建基于U-Net 结构的道路语义分割模型。其网络结构由编码器、解码器、密集连接模块、ASPP 和CBAM 组成。
1)编码器部分。包括密集连接模块和最大池化层。密集连接模块通过卷积层来提取图像的语义特征,最大池化层对图像的特征信息进行下采样操作。
2)密集连接模块。对上一层的图像特征再利用;引入ASPP 增加图像特征信息的感受野,提高图像特征的鲁棒性;引入CBAM 在学习深层次的特征信息时进行注意力监督,可有效提取道路要素的特征信息。
3)解码器部分。包括密集连接模块和反卷积层。反卷积层对图像特征信息进行上采样操作,使得输入图像和输出图像大小不变。
算法实现过程包括网络设计、网络搭建、获取数据、对数据进行预处理和扩大数据[22]。算法流程如图1所示。
图1 本文算法流程Fig.1 Procedure of this proposed algorithm
本文网络结构在原始U-Net 网络基础上引入密集连接模块、ASPP 和CBAM 模块。其网络结构如图2所示。
图2 本文模型网络结构Fig.2 Network structure of proposed model
输入图像大小为480×480,密集连接模块包括2 次卷积和2 次特征融合,图像大小保持不变为480×480。经过最大池化层,图像大小为原来的1/2,即240×240。将密集连接模块和最大池化操作记为1 个操作单元。然后进行3 次操作单元,图像大小变成30×30 的特征图。在对特征图进行反卷积(上采样)前引入ASPP 和CBAM,ASPP 可以融合更深层次的图像细节信息;CBAM 不影响特征图的大小,网络学习将通道和空间注意力模型的特征图和权重图点乘融合,然后将融合后结果图输入到反卷积层(上采样)中。在上采样时进行反卷积,图像大小扩大为2 倍,即60×60,再经过密集连接模块,图像大小仍为60×60。最后进行3 次操作单元(上采样与密集连接模块),图像大小恢复为480×480。本文算法模型中各层的参数设置如表1 所示。
表1 网络各层的参数设置Table 1 Parameter settings of each layer of the network
1.2.1 密集连接
在深度学习网络中,随着网络深度的加深,梯度消失问题会愈加明显,本文参考DenseNet 中密集连接的概念,引入密集连接模块。在保证网络中层与层之间最大程度信息传输的前提下,将所有层连接起来。为能够保证前馈的特性,每一层将之前所有层的输入进行拼接,之后将输出的特征图传递给之后的所有层。
操作过程为:输入图像大小为480×480,密集连接模块包括2 次卷积和2 次特征融合,卷积核的大小为3×3,步长为2,卷积核的个数为64;经过4 次密集连接模块和池化操作后,得到30×30 大小的特征图。密集连接模块如图3 所示。
图3 密集连接模块Fig.3 Densely connected modules
每个卷积层与激活函数之间添加批量归一化层(Batch Normalization,BN),即在每次随机梯度下降时对每个批处理的数据做归一化操作,使得输出特征图中每个通道数据的均值为0,方差为1,减少了网络学习过程中梯度消失的问题,引入ReLu 激活层对特征进行激活。
1.2.2 空洞空间金字塔结构
在上采样前引入带有空洞卷积的空间金字塔结构(ASPP)。空洞空间金字塔结构基本要素是不同扩张率的空洞卷积。空洞卷积的优点是:在不增加参数的情况下,增大卷积核的感受野,在下采样不损失信息的情况下,卷积输出范围更大的空间信息使得网络保留了更多的图像特征。本文的空洞卷积的卷积核为3×3,扩张率为2、4、8、16 的空洞卷积替换了原来的普通卷积,使得该模型分割道路图像更加清晰,如图4 所示。
图4 空洞卷积模型Fig.4 Dilated convolution model
ASPP 对输入的特征图进行6 次卷积操作。第1次卷积:卷积核大小为1×1;第2 次~第5 次卷积为:卷积核大小为3×3,扩张率为2、4、8、16 的空洞卷积替换了原来的普通卷积,获得多尺度特征信息。引入平均池化,对输入的特征图进行全局均值池化后,将特征图送入大小为1×1 卷积核,使用BN 操作和上采样到图像原始大小。然后将融合6 个多尺度的特征图送入大小为1×1 卷积层中,最后将输出特征图送入到注意力机制模型中。ASPP 网络结构如图5所示。
图5 ASPP 网络结构Fig.5 ASPP network structure
1.2.3 注意力机制模块
在ASPP 后及上采样前引入CBAM,CBAM 模块(包括通道注意力和空间注意力2 个子模块)如图6、图7 和图8 所示。
图6 注意力模型总体结构Fig.6 Overall structure of attention model
图7 通道注意力子图Fig.7 Channel attention subgraph
图8 空间注意力子图Fig.8 Spatial attention subgraph
输入特征图经过通道注意力子模块和空间注意力子模块后,将2 个子模块输出结果相乘后的特征图送入编码阶段进行上采样。CBAM 通过空间和通道学习更深层次的特征信息时进行注意力监督,可以有效提取道路要素的特征信息,其实现过程如下:
其中:F经过通道注意力模块和空间注意力模块操作后的特征图分别为F′和F″;⊗表示逐元素相乘。
通道注意力模块实现过程为:对输入特征图F进行全局平均池化(AvgPool)和全局最大池化(MaxPool),结果分别为a1、b1,然后将a1、b1通过多层感知机(Multi-Layer Perceptron,MLP)得到特征要素A、B相加得到C1;通道注意力特征是C1与F融合的结果。运算过程如下:
其 中:W0和W1为MLP 的两层参数;σ为sigmod 激 活函数;W0需要使用Relu 函数激活。
空间注意力模块实现过程为:对输入特征图进行平均池化和最大池化的结果为a2、b2,然后将a2和b2融合进行3×3 卷积操作得到特征图C2;空间注意力特征是C2与F融合的结果。运算过程如下:
其中:f表示3×3 卷积操作。
本文对获取的卫星道路图像信息优化,淘汰不存在道路要素的图像。OpenStreetMap 首先根据经纬度截取道路图像的坐标值,然后根据端点坐标数据定位在Mapbox 中相应的位置,使用Labelme 对数据进行标注。为解决获取的图像尺寸不同、图像内容不清晰、数据量较大、训练速度慢等问题,将截取的图像通过预处理调整大小为480×480,提高模型的训练速度[23]。本文采用随机翻转、图像加噪、增加图像亮度等方法来增强数据,避免网络出现过拟合现象,更好地训练网络模型[24]。卫星道路图像预处理过程如9 所示。
图9 数据预处理过程Fig.9 Data preprocessing process
将每张卫星道路图像的像素点分为3 类,如表2 所示。实验数据、实验环境和参数的设置如表3 所示。
表2 语义分割类别Table 2 Semantic segmentation categories
表3 参数设置Table 3 Parameter settings
采用准确率(Accuracy)、召回率(Recall)和精确率(Precision)3 个性能指标对本文算法分割效果进行评估[25]。U-Net 和本文算法在训练过程中精准率和损失函数分析结果如图10、图11 所示。
图10 网络训练阶段精度比变化Fig.10 Accuracy ratio change of network training
图11 网络训练阶段Loss 变化Fig.11 Loss changes of network trainingstage
从图10 可以看出:在训练过程中经过20 轮迭代,本文算法的准确率永远高于U-Net,证明本文算法分割道路图像的可行性。
从图11 可以看出:在训练过程中经过20 轮迭代,U-Net 的损失曲线永远高于本文算法,本文算法的损失曲线比U-Net 提前达到稳定值,损失值越小,表示模型的拟合效果越好;损失曲线越光滑,表示模型的鲁棒性越强;根据曲线变化可得本文具有较高的鲁棒性。
实验1研究不同改进策略对道路图像语义分割性能影响。实验结果如表4 所示,其中粗体为最优值。
表4 不同策略的结果对比Table 4 Results comparison of different strategies
从表4 可以看出:在U-Net 基础上分别引入密集连接模块、ASPP 和CBAM,准确率分别提升了0.2、0.3 和0.4 个百分点,召回率分别提升了0.3、0.5 和0.9 个百分点,精确率分别提升了0.3、0.2 和0.3 个百分点。通过性能指标结果可得:引入密集连接模块、ASPP 和CBAM 能够有效利用图像上下文信息,提升网络模型的性能。特别是在下采样时引入密集连接模块可以保留更多的图像信息,图像分割结果的精确率达到95.5%。实验结果如图12 所示。
图12 不同改进策略实验结果Fig.12 Experimental results of different improvement strategies
从图12 可以看出:在U-Net 网络基础上分别引入密集连接模块、ASPP 和CBAM 分割的道路元素比原始的U-Net 更清晰,但仍存在道路线和道路面分割中断和未分割的情况,说明分别引入3 种不同的改进策略对道路元素的分割存在缺陷,对道路元素分割的准确性仍需要提高。
实验2研究不同改进策略相互结合对道路图像语义分割性能影响。实验结果如表5 所示,其中粗体为最优值。
表5 不同改进策略结合的结果对比Table 5 Results comparison of different improvement strategies combining
从表5 可以看出:在U-Net 模型中引入密集连接模块、ASPP 和CBAM,任意两者结合,准确率、召回率和精确率都比分别引入3 种改进策略有所提高。实验结果表明,同时结合3 种改进策略的准确率、召回率和精确率具有更优异的表现,验证了本文算法的有效性。特别是在U-Net 引入密集连接模块的基础上再分别引入ASPP 和CBAM 后,准确率比U-Net引入密集连接模块提高了0.3 和0.4 个百分点。实验结果如图13 所示。
图13 不同改进策略相结合的实验结果Fig.13 Experimental results of different improvement strategies combining
从图13 可以看出:将改进策略相互结合更大限度地读取了图像的特征信息,提高道路图像语义分割的结果,但仍存在对部分道路线元素分割能力较差。根据实验结果对比可得,U-Net 结合ASPP 和CBAM 模块对道路语义分割效果更佳,原因是ASPP融合多尺度的图像特征信息,而且CBAM 提高网络对目标区域的关注。在此基础上本文算法同时结合3 种改进策略,能够清楚地分割出道路线、道路面和背景,尤其是提高道路线的分割准确性更为明显。
实验3研究空洞卷积扩张率对算法性能的影响。本文研究在ASPP 模块中采用正常卷积和空洞卷积对道路语义分割结果的影响。实验结果如表6所示,其中粗体为最优值。
表6 空洞卷积扩张率对网络性能的影响Table 6 Impact of the dilated convolution expansion rate on network performance
从表6 可以看出:正常卷积(C1)在一个小区域内获取图像特征信息,分割效果较差;空洞卷积(C2,C3,C4)在不增加参数的情况下,增大卷积核的感受野,卷积输出范围更大的空间信息,使得网络保留了更多的图像特征。因此,采用空洞卷积的分割效果要优于正常卷积。为验证扩张率对网络性能的影响,ASPP 采用不同扩张率组合。实验结果表明,随着扩张率的增加,语义分割的准确率、召回率和精确率均有所提高。但是当空洞卷积为C4 时,图像特征信息的关联性减弱,降低了分割效果。因此,本文采用ASPP 空洞卷积的扩张率为2、4、8、16。
实验4研究本文算法在速度方面的对比实验。实验结果如表7 所示,其中粗体为最优值。
表7 本文算法速度对比Table 7 Comparison of algorithm speed in this paper
当训练样本为1 057 张图像时,本文算法的训练时间比U-Net 多0.51 h,验证速度慢2.19 frame/s,测试速度慢0.64 frame/s。当训练样本为3 000 张图像时,本文算法的训练时间比U-Net 多1.55 h,验证速度慢1.64 frame/s,测试速度慢0.56 frame/s。分析结果表明:网络模型计算量越大,语义分割的速度越慢,但语义分割的准确率越高,证明了本文算法在道路图像语义分割方面的有效性。
实验5研究不同算法对道路图像语义分割的性能指标对比结果。实验结果如图14 所示。
图14 不同算法的道路分割结果Fig.14 Road segmentation results of different algorithms
从图14 可以看出:本文算法融合了多尺度的图像并专注于特定的图像信息,提高了道路语义分割精确度,可以清晰地识别出道路图像中的道路面、道路线和背景3 个要素。
将不同算法对道路图像的3 种要素(道路面、道路线和背景)语义分割的准确率、召回率和精确率进行对比。实验结果如表8 所示。
表8 性能指标对比分析Table 8 Comparative analysis of performance indicators
横向对比表8 性能指标结果可得:道路面和背景的分割结果好于道路线。主要原因是3 个要素在实验数据中的覆盖率不同,在模型训练过程中根据要素阈值进行筛选,从而出现3个要素语义分割不等价的情况。
纵向对比表8 性能指标结果可得:本文算法语义分割结果好于其他语义分割模型。FCN 保证输出图像和输入图像大小一样,语义分割准确率达0.948,但是在下采样过程中丢失了图像部分特征信息。SegNet引入归一化方法和Softmax 分类器,但池化层的存在导致了图像位置信息丢失,SegNet 比FCN 道路图像语义分割的精确度提高了0.5 个百分点。U-Net通过编码器与解码器之间的级联操作融合图像高层信息与浅层信息,U-Net 比FCN 和SegNet 减少语义信息的丢失,保留了图像细节。U-Net 语义分割的准确率为0.959,比FCN和SegNet语义分割准确率提高了0.7 和0.2 个百分点。本文算法相比U-net 对道路图像语义分割平均准确率提升了0.8 个百分点。本文算法相比U-Net 在道路线、道路面和背景语义分割准确率分别提升了0.6、1.2、0.7个百分点,主要是是因为本文算法在U-Net 网络的基础上引入密集连接模块,ASPP 可以融合多尺度的图像特征信息,而注意力机制模型对关键信息的权值加重,提高神经网络对目标区域的关注,专注于输入图像特定部分。
本文设计一种改进的U-Net 网络结构,该网络结构在下采样时引入密集连接模块,在上采样前引入ASPP 和CBAM,从而对卫星图像道路元素做出准确的分割。实验结果表明,与FCN、SegNet 和U-Net等传统网络相比,该网络对道路要素分割的准确率更高。下一步将继续对网络结构进行优化,提高网络运行速度和语义分割的精确度,以更清晰地识别出道路图像信息。