APP下载

基于预测和残差细化网络的道路提取算法研究*

2020-05-04管来福王传胜李利荣

计算机工程与科学 2020年4期
关键词:解码器细化编码器

熊 炜,管来福,王传胜,童 磊,李利荣,刘 敏

(1.湖北工业大学电气与电子工程学院,湖北 武汉 430068;2.美国南卡罗来纳大学计算机科学与工程系,南卡 哥伦比亚 29201)

1 引言

道路提取可以表示为一个二分类问题,类似于语义分割中的多目标分割,但道路分割减少了分割类别。由于航拍图像或者高分辨率图像中的道路类型多变,道路提取仍然面临严峻的挑战。经过多年研究,已有大量的算法用于从航拍图像中提取道路。张永宏等人[1]对近年来提出的遥感图像道路提取算法进行了总结。Wegner等人[2]提出了用于道路提取的条件随机场CRF(Conditional Random Field)算法。梅超等人[3]结合Hough变换、噪声分类以及道路修复等多种技术,对航拍图像中的道路进行提取。

Mnih等人[4]将深度信念网络DBN(Deep Belief Network)应用到航空遥感图像道路检测任务中。朱振文等人[5]提出了基于编码器-解码器结构的卷积神经网络的道路检测方法,编码器结构中的卷积层和下采样层用于提取低维的道路特征;对称的解码器结构可以将低维的编码器特征映射到原始图像尺度,实现像素级别的分类。贺浩等人[6]提出了基于编码器-解码器结构的语义分割的道路提取算法,设计的浅层编码器-解码器网络结构提高了网络对道路细节的分割能力,针对遥感图像道路像素比例较小的特点,改进了二分类交叉熵损失函数,解决了网络训练中存在的正负样本失衡问题。Wei等人[7]提出了道路结构细化的卷积神经网络RSRCNN(Road Structure Refined Convolutional Neural Network),设计了一种新的损失函数,在交叉熵损失函数中引入了道路结构信息,从而解决了道路结构的丢失问题。基于卷积神经网络CNN(Convolutional Netural Network)的语义分割方法,U-Net[8]在生物医疗图像分割中取得了非常显著的效果,对生物细胞边界进行分割,有效地区分不同生物细胞。深度残差学习[9]可以对图像进行有效识别,在很多分类任务中有非常好的效果。Singh等人[10]提出基于U-Net的卷积神经网络来对航拍图像进行道路提取,遵循原始U-Net网络的基本框架,采用2个U-Net结构组合的方式,U-Net1作为高精确度网络,U-Net2作为高召回率网络,其中前一个U-Net网络的输出结果作为后一个U-Net网络的输入,最终的道路预测结果是由U-Net2网络产生。Zhong等人[11]采用全卷积网络FCN(Fully Convolutional Network)对建筑和道路进行提取。Panboonyuen等人[12]提出了DCNN(Deep Convolutional Neural Networks)网络模型,模型中加入了指数线性单元ELU(Exponential Linear Unit)激活函数,采用Landscape Metrics和CRF方法去除虚假的道路对象,进一步提高了结果的整体质量。Qin等人[13]提出边界感知目标检测BASNet(Boundary Aware Salient Network)模型,设计了2个相串联的网络,同时结合深监督方式,并融合多种损失函数进行显著目标检测。

针对道路目标的不同特征,本文设计了预测网络和残差细化网络相结合的航拍图像道路提取算法。预测网络采用编码器-解码器结构,为了保留丰富的低维细节特征以及高维语义特征,增加了低维特征向高维特征的跳连接,进行多级特征融合,减少信息损失;其次,预测网络结合了空洞卷积模块DCM(Dilated Convolution Module)[14]和多层池化模块MPM(Multi-kernel Pooling Module),能够充分地获得图像的上下文信息和道路边缘信息,提高道路边缘检测能力。残差细化网络将对预测网络产生的初始道路预测结果进行细化,基于局部上下文信息,进一步细化模糊不清的预测图,改善预测图的边缘细节,从而提高道路边界的清晰度。该网络还融合了二元交叉熵BCE(Binary Cross Entropy)[15]、结构相似性SSIM(Structural SIMilarity)[16]以及交并比IoU(Intersecion over Union)[17]损失函数进行监督训练。最后,本文提出的算法与其他算法进行对比,在Massachusetts道路数据集[18]上的实验结果表明,其精确率、召回率、F值以及准确率均有很大的提升。

2 算法整体框架

本文采用的网络框架如图1所示,完整的框架结构主要分为2个部分:第1部分为预测网络,第2部分为残差细化网络。预测网络生成初始的道路预测结果,其输出作为残差细化网络的输入,残差细化网络将对预测网络的输出进一步细化,从而提高道路预测结果的清晰度。在图1所示算法框架中,预测网络包括空洞卷积模块DCM和多核心池化模块MPM。

Figure 1 Algorithm framework图1 算法框架

2.1 预测网络

最近,U-Net模型在细胞分割领域取得了非常不错的效果,受启发于U-Net语义分割框架,道路预测网络也采用编码器-解码器网络架构,它对获取高维全局纹理和低维细节信息有着非常好的效果。为了减轻过拟合带来的影响,每一级编码器的最后一层将采用Ground Truth进行监督训练。

编码器包含1个输入卷积层和6层下采样卷积层,每层卷积层是由残差网络块(ResNet-block)组成的。输入卷积层由64个卷积核大小为3×3、步长为1的滤波器组成,输入层之后不进行池化操作。进入预测网络的图像尺寸为500×500×3,进行1次随机裁剪,将图像尺寸调整为448×448×3,经过输入卷积层处理,输出的特征图尺寸为448×448×64。对于设计的6层下采样卷积层,前4层采用的是ResNet-34[9],采用3×3卷积核,步长为1,前4层下采样卷积层输出的特征图尺寸分别为448×448×64,224×224×128,112×112×256,56×56×512。为使网络获得更高维度的特征图,得到完整的特征信息,本文在第4层下采样卷积层后面增加了2层。增加的2层下采样卷积层主要由3个残差块组成,每个残差块包括512个卷积核大小为3×3的滤波器、批量归一化(Batch Normalization)[19]和修正线性单元ReLU(Rectified Linear Unit)[20]激活函数。随后紧接1个卷积核大小为2×2、步长为2的最大池化层。最后,第5层和第6层下采样卷积层输出的特征图尺寸分别为28×28×512和14×14×512。

2.2 空洞卷积模块

为了进一步提取全局特征信息,本文在预测网络的第6层下采样卷积层之后加入了空洞卷积[14]模块,其后的桥接层是连接编码器和解码器并进行特征传递的桥梁。为了进一步研究空洞卷积对道路分割性能的影响,本文设计了2种空洞卷积模型,通过调整空洞卷积率来验证分割性能的差异,如图2所示。

Figure 2 Dilated convolution module图2 空洞卷积模块

图2a模型采用空洞卷积率rate分别为1,3,5的串并联方式,图2b模型则采用空洞卷积率rate分别为1,2,4的串并联方式。

空洞卷积可以采用级联方式,通过调整空洞卷积率改变每层感受野的大小。本文设计的DCM包含5个并联分支,伴随着空洞卷积率的改变,每一分支的感受野将会发生改变。感受野的计算公式如式(1)和式(2)所示:

棉花糖实验也说明了这点,研究员们发现那些等更久的孩子并不都是天生自控力强,很多是用了方法,比如转身不看棉花糖或者把手坐在屁股下,让手不能去拿。这些方法可以通过后天训练习得。

R1=d×(k-1)+1

(1)

Rn=d×(k-1)+Rn-1

(2)

其中,k表示卷积核大小,d表示空洞卷积率,Rn为第n层卷积的感受野。因此,对于图2a所示模型,由于中间分支没有卷积操作,不涉及感受野,所以剩下4个分支从左到右感受野大小分别为3,7,9,19。同理,对于图2b所示模型,从左到右每一分支感受野分别为3,5,7,15。

2.3 多核池化模块

编码器-解码器结构具有对称的特点,图1中DCM模块和MPM模块中间为桥接层,桥接层主要由3个卷积层组成,每个卷积都采用3×3的卷积核,为了增大感受野,学习更多的道路特征信息,3个卷积层中也加入了空洞卷积,空洞卷积率按顺序分别为1,2,3,同时每个卷积层都会串联1个BN和1个ReLU激活函数,此时对应桥接层的输出为14×14×512。为了获得多1层的特征信息,在桥接层输出中,将采用Skip-Connection方式与第6层下采样卷积层输出进行特征融合,并传递到第6层下采样卷积层相对应的上采样解码器中。与此同时,桥接层的输出除了与第6层的下采样卷积层输出进行特征融合外,还将直接作为多核池化模块的输入,随后进行多层池化操作。

本文设计的多核池化模块如图3所示,包括4层池化分支,每一分支的池化卷积核大小分别为2×2,3×3,4×4,5×5,对应的步长分别为2,3,4,5,这4个分支经过1个1×1卷积和上采样串联连接输入到第1层解码器中。

Figure 3 Multi-kernel pooling module图3 多核池化模块

对于预测网络的解码器部分,如图1所示,解码器共有6层,这6层将进行上采样操作恢复特征图尺寸,设计的每一层解码器都是由3个卷积核组成,卷积核尺寸为3×3,每个卷积都串联1个BN和1个ReLU激活函数,然后再使用双线性插值进行上采样操作恢复特征图尺寸。每一层解码器的输入包括2个部分,其一来自于前一层解码器经过上采样的输出,其二来自于编码器相对应层的特征映射输出和前一层解码器经过上采样恢复后的尺寸进行融合后的输出,具体的连接如图1所示。为了实现多边监督,桥接层、前5层解码器、预测网络的输出层以及残差细化网络的输出层加入了边输出。每个边输出通道将通过3×3卷积核,经过上采样和1个Sigmoid函数,融合SSIM、IoU以及BCE损失函数,在训练中实时检测这8条边的训练损失。最后,预测网络的输出将预测出道路的大致轮廓,并输入到残差细化网络中。

2.4 残差细化网络

由于残差细化网络RRN(Residual Refinement Network)预测的输出结果与真实标签会存在一定的误差,为了得到较准确的道路预测结果,就需要使其误差值尽可能小。假设残差细化网络产生的预测图为Pcoarse,通过学习预测图Pcoarse和Ground Truth之间的差异Dresidual,网络细化之后的结果为Rrefined,定义三者之间的损失关系如式(3)所示:

Rrefined=Pcoarse+Dresidual

(3)

预测网络生成的预测图产生模糊不清的结果,主要是预测出的结果存在失真和噪声。残差细化网络遵循编码器-解码器结构,包含有输入层、编码器、桥接层、解码器以及输出层。与预测网络不同的是,不考虑中间的桥接层,残差细化网络中的编码器和解码器采用5层对称的编码器-解码器结构。每一层都仅有1个卷积层,采用64个卷积核大小为3×3的滤波器,串联1个BN和1个ReLU激活函数。编码器和解码器之间的桥接层也采用相同的设计方式。不同层之间的编码器采用最大池化进行下采样操作,不同层之间的解码器采用双线性插值进行上采样。最后,残差细化网络将生成高准确率的道路预测结果。

2.5 损失函数

本文采用的损失函数分为3个部分,分别为BCE损失、SSIM损失以及IoU损失。总训练损失定义为所有输出的总和,如式(4)所示:

(4)

其中,lk表示第k条边的输出损失,K表示总的输出层数,这里设置K=8,βk表示第k条边的损失权重。本文设计的道路提取网络模型将对8个输出进行深监督,7个输出来自预测网络,1个输出来自残差细化网络。

为了获得高质量的道路分割结果和清晰的道路边界,定义lk如式(5)所示:

(5)

BCE损失函数定义如式(6)所示:

(1-G(r,c))log(1-P(r,c))]

(6)

其中,G(r,c)∈{0,1},指的是像素(r,c)的Ground Truth标签值,P(r,c)指的是道路目标预测的概率。

SSIM最初是用来评估图像质量的性能指标,它可以获取图像的结构信息,将其整合到训练损失中可以学习道路目标Ground Truth的结构化信息。本文利用滑动窗将图像分为N个图像块,x={xi:i=1,22,…,N2}和y={yi:i=1,22,…,N2}分别表示道路预测概率图(Predicted Probability Map)和二值标签(Binary Ground Truth Mask)对应块的像素值,SSIM对于x和y的损失定义如式(7)所示:

(7)

其中,C1=0.012,C2=0.032,φx和φy分别表示x和y的平均值,σx和σy分别表示x和y的标准差,σxy表示x和y的协方差。

IoU的提出是为了度量2幅图像的相似性,对于目标检测和分割任务是一个标准的评估度量,IoU损失定义如式(8)所示:

(8)

其中,H表示图像的高度,W表示图像的宽度。

3 实验结果与分析

3.1 数据处理

实验采用Massachusetts道路数据集[18],总共包含1 171幅图像,图像尺寸为1500×1500,每幅图像都有相对应的标签(Ground Truth)。该数据集覆盖面积超过26 000 km2,包括城市、郊区以及农村地区,涉及道路、河流、海洋、建筑和港口等。由于这个数据集中存在大量的白背景图像,为了提高训练准确率,学习更多有用的道路信息,需要对含有白背景的图像进行剔除。本文挑选789幅合格的图像,随机分709幅为训练集,80幅为测试集。为了不丢失原数据集中的道路信息,对每幅图像进行倍数裁剪,选择将图像裁剪为500×500。

3.2 实验过程

本文采用Pytorch深度学习框架,操作系统为Ubuntu16.04,使用Intel i5-9400F CPU(16 GB内存),NVIDIA RTX 2070 GPU(8 GB显存)。初始输入到网络的图像大小为500×500×3,经过1次尺寸调整,大小变为448×448×3。网络采用Adam[21]优化器,Epoch设置为35次,学习率设置为1E-3。由于训练图像尺寸过大,本文设计的网络具有较多的参数,消耗大量的显卡内存,在训练中批处理大小(Batch Size)设置为1。

3.3 实验结果

3.3.1 评价指标

道路提取是一个二分类问题,可以看作语义分割[8,14,22,23]任务,道路提取分割出的结果通常采用语义分割的评价方法。精确率(Precision)、召回率(Recall)、F值(F1-score)以及准确率(Accuracy)这4个评价指标在航拍图像和遥感图像的道路提取任务中普遍采用。精确率是正确分类的道路像素占所有预测像素的比值;召回率是正确分类的道路像素占所有正确道路像素的比值;F值是精确度和召回率的调和平均;准确率是对分类器性能的整体评估。另外,为了更进一步显示预测结果与Ground Truth的接近程度,将交并比IoU和平均结构相似性M-SSIM(Mean Structural SIMilarity)也作为评价指标。其中,IoU是Ground Truth和预测值的交集与并集之比;M-SSIM是一种衡量2幅图像相似程度的指标。

3.3.2 算法比较

表1列出了不同算法在Massachusetts道路数据集[18]上进行比较的实验结果。其中,DCM-124和DCM-135分别表示空洞卷积模块中空洞卷积率1,2,4和1,3,5串并联结合的方式,RRN-5和RRN-6分别表示残差细化网络为5层和6层的网络结构。

Table 1 Performance comparison of different models表1 不同模型的性能比较 %

Figure 4 Visualization result图4 可视化结果

表1显示了10种模型的评价结果,其中后4种模型是本文提出的。从表1的实验结果可以看出,本文设计的DCM-135_RRN-6模型的Precision指标达到了最高(99.3%),与此同时,Recall、F值以及Accuracy指标也分别达到了95.4%,97.3%和95.1%,与基准BASNet模型相比较,分别提升了9.2%,6.4%和9%。文献[10]提出的Two-Step-DCNN模型与DCM-135_RRN-6模型比较,Accuracy较高,达到了98.1%,但是Precision、Recall、F值这3个指标均低于DCM-135_RRN-6模型的,后者分别提升了11.4%,6.1%和8.7%。这表明通过串联和并联带有不同空洞卷积率的空洞卷积,提取不同感受野的道路特征对于道路提取是有效的,同时多核池化模块对不同尺度的特征进行融合,也有助于减少道路特征信息的丢失,提高道路预测的准确性。此外,本文设计的DCM-135_RRN-5、DCM-124_RRN-6以及DCM-135_RRN-6模型的Accuracy指标都为95.1%,略低于Two-Step-DCNN模型的98.1%,但相比于其他模型也获得了比较高的准确率。分析其原因可能是训练过程中丢失了过多的道路信息,设计的分类模型产生了错误的分类,导致学习到了错误的道路特征,丢失了关键的道路特征,造成道路预测准确率偏低。另外,图像中的道路具有复杂的拓扑结构特性,这也无疑增加了道路预测以及分割的难度。

为了更进一步对比模型的性能,本文增加了IoU和M-SSIM指标作进一步的评价。如表2所示,以BASNet[13]算法为基准,BASNet模型在IoU和M-SSIM指标上分别达到了85.2%和75.9%。本文设计的4种不同模型,从图4所示的可视化效果上可以发现,DCM-135_RRN-5优于DCM-124_RRN-5、DCM-124_RRN-6和DCM-135_RRN-6,在IoU和M-SSIM指标上也分别达到了94.8%和84.3%,与基准BASNet模型相比较,分别高出9.6%和8.4%。这2个指标显示本文设计的模型预测的道路提取结果更加接近Ground Truth,相比于BASNet模型道路提取更加准确。

3.4 道路分割可视化结果

本文复现了BASNet[13]模型,同时设计了4种不同的模型,并对这5种模型进行了可视化比较,可视化结果如图4所示。

Table 2 Test results of IoU and M-SSIM表2 IoU和M-SSIM的测试结果 %

以BASNet模型为基准,DCM-124_RRN-5、DCM-135_RRN-5、DCM-124_RRN-6和DCM-135_RRN-6为本文设计的具有不同结构的模型。如图4所示,对于Image1测试图像,BASNet模型产生的预测结果出现了模糊不清的道路,分析其原因是预测结果出现了噪声;道路边界不能被很好地区分出来,同时也预测出了错误的道路,产生这种结果的原因是设计的分类模型不够准确,对道路目标和其他目标进行了错误的归类,导致学习了错误的道路特征,产生了错误的预测结果。本文设计的4种模型,在可视化效果上优于BASNet模型,显示出空洞卷积模块和多核池化模块对于道路分割有着非常好的效果。模型的不足之处是对具有复杂连通特性的道路,容易丢失道路结构。从图4中对Image2测试图像预测结果可知,DCM-135_RNN-5和DCM-124_RNN-6预测结果中,道路结构存在局部丢失的现象。原因是采用的ResNet-34分类模型对于道路分类精度不够,产生了错误的分类。所以,本文设计的模型还是需要采用更加精确的分类模型进行准确的分类,同时不断地学习更多的道路特征,以减少信息的丢失,才能得到更加完整的道路分割结果。

4 结束语

本文提出了一种新颖的道路提取算法,通过预测网络和残差细化网络分割出完整且准确的道路,其中预测网络中加入了不同组合的空洞卷积模块,同时结合多核池化模块,充分利用了图像的上下文信息,提高了对道路特征的学习能力。残差细化网络对预测网络输出进一步细化,改善道路预测结果中由于噪声造成的道路边界模糊的情况。不同于以往的算法,本文提出的算法同时结合BCE、IoU以及SSIM 3种损失函数,对训练进行实时监督。最后,本文提出的算法是通过端到端的方式进行训练,在Massachusetts道路数据集[18]上的实验结果表明,在精确率、召回率、F值和准确率指标上分别达到了99.3%,95.7%,97.3%和95.1%,同时在IoU和M-SSIM指标也分别达到了94.8%和84.3%,高于BASNet模型的85.2%和75.9%,分别提高了9.6%和7.9%。所以,本文设计的算法在道路提取任务中具有一定的应用效果。

猜你喜欢

解码器细化编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
中小企业重在责任细化
“细化”市场,赚取百万财富
基于双增量码道的绝对式编码器设计
“住宅全装修”政策亟需细化完善
应用旋转磁场编码器实现角度测量