基于深度可分离残差网络的遥感影像路网检测
2023-04-21单传辉叶绍华姚万琪
单传辉,叶绍华,姚万琪,张 欣
(安徽工程大学 电气工程学院,安徽 芜湖 241004)
0 引 言
路网指的是在一定区域内,由各种道路组成的相互联络、交织成网状分布的道路系统。其中,全部由各级公路组成的路网称为公路网;在城市范围内由各种道路组成的路网称之为城市路网。路网提取或者检测是指输入高分辨率遥感影像,利用计算机通过一定的规则进行识别,从而提取或者检测路网[1]。高分辨率遥感影像包含丰富的信息,从中进行路网提取或者检测,其基本理论是分析影像中不同目标的光谱特征和空间几何特征等。传统路网检测方法通过图像的颜色、纹理、边缘和几何特征提取道路,应用场景受限且效率偏低。而基于深度学习的路网检测可以利用海量的高分辨率影像,并在复杂背景下自主快速地提取亚米精度的路网和中心线等交通信息,已经成为高精度地图生产的重要手段[2]。
根据路网提取算法的不同,可将路网提取分为基于像元的方法、面向对象的方法和深度学习的方法。基于像元的路网提取方法能够充分利用影像的光谱特征和几何特征。赵文智等人[3]提出了一种基于道路边缘检测的方法进行路网提取,该方法可以解决光谱特征混淆问题,但是其适用场景有限。周家香等人[4]基于Mean-Shift算法对影像划区域处理进行路网提取,但该方法仅适用于直线型路网的提取方式。Gaetano等人[5]提出利用Canny算子计算道路边界进行路网提取,但路网的特征具有一定的不确定性。面向对象的路网提取方法通常是把遥感影像划分为不同区域,然后再进行路网的提取。张游游等人[6]利用统计地物类的模型提取路网的方法,该方法运用Canny算子对遥感影像进行高斯滤波,降低噪声影响,并采用高低双阈值法细化边缘有效检测出地物的边缘信息,该方法对高分辨率遥感影像线状地物信息提取研究具有一定的参考价值。谭红春等人[7]通过结合条件随机场和目标级图像分析法,构建出目标相邻像素的关系,进而达到提取路网的目的,但是该方法提取的路网存在断连现象。刘晓宇等人[8]基于渐进式形态学滤波算法,提出一种利用格网近似值代替三维空间点运算并自适应计算滤波参数的方法来提取城市道路路网边界点,该方法取得了不错的提取效果,但算法较为复杂。基于深度学习的路网提取方法是借助于语义分割与边缘检测的方法进行路网提取,将路网提取任务转变为二分类的图像语义分割任务[9]。谌华等人[10]提出了一种改进的全卷积神经网络(FCN)实现SAR图像的路网检测,该网络可以减少图像信息丢失和计算开销。张新长等人[11]探究了不同宽度和框架的神经网络对路网检测结果产生的影响。Shan等人[12]提出了一种具有编码-解码结构的卷积神经网络E-Road进行路网检测。孙卓等人[13]将图像进行划区域分割,并利用U-Net与ResNet相结合提出了ResNetU-Net网络进行路网检测。王斌等人[14]在U-Net基础上,根据路网的连通性原理,使用多项式拟合的方法解决路网的不连续问题。Ren等人[15]将U-Net结果引入到胶囊网络,提出了一种双注意力胶囊网络(DA-CapsU-Net),该网络提取并融合了多尺度胶囊特征,具有良好的普适性和兼容性,但存在错检现象。
上述基于像元和面向对象的路网检测方法相对于基于深度学习的路网检测方法在实际操作、检测速度、检测效果和应用场景等方面存在诸多不足,因此,基于深度学习的路网检测方法得到了广泛应用。但是,基于深度学习的路网检测方法绝大多数是建立在卷积神经网络的基础上,即建立在卷积运算上,而由Google研究院的Francois Chollet提出来的深度可分离卷积运算[16]相较于卷积运算不仅拥有更好的提取图像特征的能力,而且深度可分离卷积运算相较于卷积运算具有更少的参数量和计算量。基于此,该文将深度可分离卷积引入卷积神经网络中替换对应的卷积运算并进行路网检测,从而提高路网检测的性能和检测速度。
1 深度可分离卷积运算
深度可分离卷积运算是由Google研究院的Francois Chollet提出来的,用来替换Inception V3中的卷积运算,因此诞生了Xception网络[16]。卷积运算的过程如图1(a)所示,卷积核的长度覆盖输入特征图的所有通道,输入特征图的所有通道与卷积核进行卷积运算之后得到新的特征图,即多个卷积核卷积运算之后得到的结果进行排列形成了新的特征图。深度可分离卷积运算过程如图1(b)所示,深度可分离卷积运算包含两个卷积运算:逐通道卷积运算和逐点卷积运算。前者卷积核的长度每次只覆盖输入特征图的一个通道,输入特征图的通道数与卷积核的个数相等,每个卷积核对应一个输入特征图的通道,每个卷积核与对应的输入特征图通道卷积运算之后得到新的特征图,即每个卷积核卷积运算之后得到的结果进行排列形成了新的特征图,逐通道卷积运算过程如图1(b)中虚线区域所示。后者是在逐通道卷积运算的基础上进行的,逐点卷积运算与卷积运算类似,但是逐点卷积运算要求卷积核的大小必须是1×1,可以有多个卷积核,每个卷积核与输入特征图卷积之后的结果进行排列便可得到新的特征图,逐通道卷积的运算过程如图1(b)中虚线区域所示。
通过比较图1(a)和(b)可以看出卷积运算与深度可分离卷积运算的不同之处,输入特征图都是一个4通道的特征图,输出特征图都是一个6通道的特征图,卷积运算直接通过使用6个不同的卷积核卷积运算得到,而深度可分离卷积运算首先使用4个逐通道卷积核得到一个同为4通道的特征图,紧接着再使用6个1×1大小的逐点卷积核得到最终的输出特征图。简而言之,卷积运算过程将输入特征图的通道之间的相关性与空间相关性一起处理,而深度可分离卷积运算过程将输入特征图的通道之间的相关性与空间相关性分开处理。另外,研究表明相同大小的输入特征图在分别进行卷积运算和深度可分离卷积运算得到相同大小输出特征图时,深度可分离卷积运算的参数量和计算量都低于卷积运算的参数量和计算量,且深度可分离卷积神经网络的特征提取能力也优于传统深度卷积神经网络的特征提取能力[16]。因此,深度可分离卷积运算在计算量和特征提取能力上优于卷积运算。这也是该文选择深度可分离卷积神经网络进行路网检测的原因。
图1 卷积运算过程示意图(a)和深度可分离卷积运算过程示意图(b)
2 残差模块
残差模快是ResNet的重要技能,也是防止深度神经网络过拟合和梯度消失提升网络性能的重要方法,因此,自残差模块提出之后便得到了广泛的应用。常见的残差模块分为跨两层连接的残差模块和跨三层连接的残差模块。为提升路网检测的性能,防止网络出现过拟合现象,根据网络深度,该文采用的是跨两层连接的残差模块。
3 深度可分离残差网络
将深度可分离卷积运算与残差模块结合可构建深度可分离残差网络,深度可分离残差网络的结构示意图如图2(c)所示,深度可分离残差网络所对应的残差网络和卷积神经网络分别如图2(b)和图2(a)所示。深度可分离残差网络是在残差网络的基础上将卷积层分解为逐通道卷积层和逐点卷积层而得到的,而残差网络是在普通卷积神经网络的基础上添加残差学习而得到的,深度可分离残差网络、残差网络和卷积神经网络三者的区别可见图2中的虚线区域。下面通过对比实验分别检测这些网络的路网检测性能。
4 实验结果和分析
4.1 实验环境及参数设置
从图2(c)可以看出,深度可分离残差网络共有11层,包括1个输入层、3个逐通道卷积层、3个逐点卷积层、1个最大池化层、2个全连接层和1个输出层。除此之外,网络还在逐点卷积层之后使用批归一化技巧、ReLU激活函数,以及跨越两层逐通道卷积层和逐点卷积层的残差连接。深度可分离残差网络所对应的残差网络如图2(b)所示,二者除了在逐通道卷积层、逐点卷积层和卷积层不同之外,其余设置完全相同。类似地,图2(a)所示的卷积神经网络是在图2(b)残差网络的基础上去除跨越2层的残差连接而得到的,网络其余设置与图2(b)所示的残差网络完全相同。所有实验均在2×NVIDIA GeForce RTX 3080环境下借助Caffe平台训练所得。
图2 三种神经网络的结构示意图
深度可分离残差网络、残差网络和卷积神经网络的结构和参数设置如表1所示。通过表1可以发现,卷积神经网络和残差网络的卷积层的参数量都远大于深度可分离残差网络对应的逐通道卷积层和逐点卷积层的参数量, 卷积神经网络和残差网络的3个卷积层的参数量是74 304,深度可分离残差网络的3逐通道卷积层和3逐点卷积层的参数量是5 467,因此,深度可分离残差网络可以极大地减少网络的参数量,从而提高网络的训练速度。
表1 卷积神经网络、残差网络和深度可分离残差网络的结构和参数设置
4.2 数据集
实验中使用的数据集是RRSI交通路网遥感图像数据集[17]和CHN6-CUG数据集[18]。RRSI数据集共有30幅大小不等的图像和2种标注,RRSI数据集部分图像及其标注如图3(左三列)所示,本节选用其中17幅图像作为数据集,其中11幅图像作为训练集,6幅图像作为测试集。CHN6-CUG数据集是一套新的中国代表性城市大尺度卫星遥感图像数据集,包括4 511幅512×512大小标记图像,其中有3 608幅训练图像和903幅测试图像,CHN6-CUG数据集部分图像及其标注如图3(右三列)所示,在实验中选用其中18幅图像作为数据集,其中12幅图像作为训练集,6幅图像作为测试集。
图3 RRSI(左三列)和CHN6-CUG(右三列)数据集部分图像及其对应标注
4.3 评价指标
为了评价卷积神经网络、残差网络和深度可分离残差网络对遥感影像路网检测的优劣性,共采用两种评价指标。第一种是通过比较网络的训练耗时时长、最终准确率和损失以及准确率和损失的收敛速率来评价网络训练和学习的性能;第二种是通过比较网络的路网检测实际结果来评价网络的路网实际检测性能,路网检测实际结果包括路网检测的宽度、路网检测的缺失情况和路网检测的错误情况。最后,综合比较并给出网络对遥感影像路网检测的优劣情况。
4.4 结果及分析
4.4.1 RRSI数据集上的结果及分析
深度可分离残差网络、残差网络和卷积神经网络在RRSI数据集上的对比实验结果如表2所示,该结果是经过200 000遍训练后得到的。从表2可以看出,在RRSI数据集上深度可分离残差网络、残差网络和卷积神经网络的准确率分别为98.59%、98.31%和98.30%,深度可分离残差网络的准确率分别比残差网络和卷积神经网络的准确率提高了0.28和0.29百分点;还可看出,深度可分离残差网络、残差网络和卷积神经网络的损失分别为0.041 5、0.067 5和0.064 1,深度可分离残差网络的损失分别比残差网络和卷积神经网络的损失降低了0.026 0和0.022 6;也还可以看出,深度可分离残差网络、残差网络和卷积神经网络的每百步的平均训练耗时分别为93 s、165 s和162 s,深度可分离残差网络的每百步的平均训练耗时分别比残差网络和卷积神经网络的平均训练耗时降低了72 s和69 s。
表2 深度可分离残差网络、残差网络和卷积神经网络在RRSI数据集上的对比实验结果
图4(a)和(b)分别给出了深度可分离残差网络、残差网络和卷积神经网络在训练集和测试集上损失随步长的变化关系。从图4(a)可以看出,深度可分离残差网络、残差网络和卷积神经网络在训练集上损失随步长的下降情况区别不明显,但从图4(b)可以看出,深度可分离残差网络的损失在测试集上要比残差网络和卷积神经网络的损失略低。图4(c)给出了深度可分离残差网络、残差网络和卷积神经网络在测试集上准确率随步长的变化关系,可以看出,深度可分离残差网络的准确率在随步长的变化过程中比残差网络和卷积神经网络的准确率略高。因此,深度可分离残差网络在准确率和损失略微优于残差网络和卷积神经网络,且在网络的训练耗时时长上远远低于残差网络和卷积神经网络。
图4 深度可分离残差网络、残差网络和卷积神经网络在RRSI数据集上的训练过程
图5给出了连通度大小为100时深度可分离残差网络、残差网络和卷积神经网络的部分路网检测结果,可以看出,深度可分离残差网络的路网检测宽度与实际路网宽度更接近,优于残差网络和卷积神经网络的路网检测宽度;深度可分离残差网络的路网检测缺失比例明显低于残差网络和卷积神经网络的路网检测缺失比例;深度可分离残差网络的路网检测错误比例明显低于卷积神经网络的路网检测错误比例,高于残差网络的路网检测错误比例。综上可知,深度可分离残差网络的路网检测实际结果整体上优于残差网络和卷积神经网络的路网检测结果,而卷积神经网络的路网检测结果次之,残差网络的路网检测结果最差,可以说路网检测任务失败。
图5 在RRSI数据集上连通度为100时深度可分离残差网络(第一行)、残差网络(第二行)和卷积神经网络(第三行)的路网检测结果
从表2可以看出,在RRSI数据集上残差网络虽然在路网识别的准确率上略高于卷积神经网络,但是最终在路网检测结果上效果不佳,这是令人费解的地方,可能的原因是残差网络在网络的深度较浅时,泛化能力弱于单纯的卷积神经网络,这就导致在训练图像上残差网络的性能得不到保障,在测试图像上其性能表现较差。
4.4.2 CHN6-CUG数据集上的结果及分析
深度可分离残差网络、残差网络和卷积神经网络在CHN6-CUG数据集上的对比实验结果如表2所示,该结果是经过50 000遍训练后得到的。从表2可以看出,深度可分离残差网络、残差网络和卷积神经网络的准确率分别为99.40%、99.92%和99.96%,深度可分离残差网络的准确率分别比残差网络和卷积神经网络的准确率低了0.52和0.56百分点;还可以看出,深度可分离残差网络、残差网络和卷积神经网络的损失分别为0.016 6、0.002 5和0.002 3,深度可分离残差网络的损失分别比残差网络和卷积神经网络的损失大了0.014 1和0.014 3;也还可以看出,深度可分离残差网络、残差网络和卷积神经网络的每百步的平均训练耗时分别为36 s、80 s和79 s,深度可分离残差网络的每百步的平均训练耗时分别比残差网络和卷积神经网络的平均训练耗时降低了44 s和43 s。图6(a)和(b)分别给出了深度可分离残差网络、残差网络和卷积神经网络在训练集和测试集上损失随步长的变化关系。从图6(a)可以看出,深度可分离残差网络、残差网络和卷积神经网络在训练集上的损失基本持平,当然,从表2可以看出,在CHN6-CUG数据集上残差网络和卷积神经网络在训练集上的最终损失比深度可分离残差网络在训练集上的最终损失更小一点。从图6(b)可以看出,深度可分离残差网络、残差网络和卷积神经网络在训练集上的损失基本持平。图6(c)给出了深度可分离残差网络、残差网络和卷积神经网络在测试集上准确率随步长的变化关系,可以看出,深度可分离残差网络、残差网络和卷积神经网络在训练集上的准确率基本持平,当然,从表2可以看出,在CHN6-CUG数据集上残差网络和卷积神经网络在训练集上的最终准确率比深度可分离残差网络在训练集上的最终准确率更小一点。因此,深度可分离残差网络在准确率和损失上虽然略微逊于残差网络和卷积神经网络,但在网络的训练耗时时长上远远低于残差网络和卷积神经网络。图7给出了连通度大小为100时深度可分离残差网络、残差网络和卷积神经网络的部分路网检测结果,可以看出,深度可分离残差网络的路网检测宽度与实际路网宽度更接近,优于残差网络和卷积神经网络的路网检测宽度;深度可分离残差网络的路网检测缺失比例明显低于残差网络和卷积神经网络的路网检测缺失比例;深度可分离残差网络的路网检测错误比例明显低于卷积神经网络的路网检测错误比例,高于残差网络的路网检测错误比例。综上可知,深度可分离残差网络的路网检测实际结果整体上优于残差网络和卷积神经网络的路网检测结果,而卷积神经网络的路网检测结果次之,残差网络的路网检测结果最差。
图6 深度可分离残差网络、残差网络和卷积神经网络在CHN6-CUG数据集上训练过程
图7 在CHN6-CUG数据集上连通度为100时深度可分离残差网络(第一行)、残差网络(第二行)和卷积神经网络(第三行)的路网检测结果
从表2可以看出,在CHN6-CUG数据集上卷积神经网络和残差网络虽然在路网识别的准确率上略微优于深度可分离残差网络,但是最终在路网检测结果上效果不佳,这是令人费解的地方,可能的原因是卷积神经网络和残差网络存在过拟合的现象,从表2也可以看出,二者的准确率几乎接近于1,因此,这就导致卷积神经网络和残差网络的泛化能力逊色于深度可分离残差网络的泛化能力。
5 结束语
深度可分离卷积运算相较于卷积运算不仅拥有更优的特征提取能力,而且在参数量和计算量方面也低于卷积运算,因此,该文利用深度可分离卷积运算替代卷积运算,并引入残差模块,构造了深度可分离残差网络进行路网自动提取应用。实验结果表明,虽然深度可分离残差网络、残差网络和卷积神经网络在准确率和损失上区别不大,但是深度可分离残差网络的训练耗时时长远远低于相对应的卷积神经网络和残差网络的训练耗时时长,而且深度可分离残差网络的路网检测实际结果也优于相对应的卷积神经网络和残差网络的路网检测实际结果。因此,提出的深度可分离残差网络在路网检测方面具有广泛的应用前景。但是,深度可分离残差网络依然存在漏检和误检的现象,进一步降低漏检和误检比例是下一步的研究方向。