王文庆,胡若同,贺浩,杨东方,* 马晓华
1. 西安邮电大学 自动化学院,西安 710121 2. 火箭军工程大学 导弹工程学院,西安 710025 3. 火箭军装备部驻南京地区第二军事代表室 南京 210023
遥感图像数据通常包含道路空间分布信息,建筑物和其他人工特征等信息,道路的提取在交通导航、城市规划、农林及飞行器自动驾驶等诸多领域发挥重要作用。人类观测手段的更新和交通建设的日新月异对道路自动提取技术不断提出更高的要求。在此情况下,如何利用海量的数据,快速且完备地提取道路信息以更新地理信息系统,成为该领域的研究热点。
针对遥感图像道路智能提取问题,在深度学习之前,相关研究绝大多数都采用“特征匹配+道路连接”的思路[1-7]。2010年,Mnih等[8]首次提出使用深度人工神经网络从遥感影像中提取道路的方法,这也被认为是遥感图像道路智能提取的开端。随后,Wang等[9]训练了一个深度卷积神经网络,将道路类型分为直线,十字路口和街区,用于地表交通信息的智能提取。Saito[10],Zhong[11]等将FCN等深度网络对道路和建筑物进行同时提取,进一步丰富了遥感图像智能分割的功能。Wei等[12]基于FCN架构,设计了基于交叉熵损失函数的道路提取网络优化指标。Panboonyuen[13]利用SegNet结构,并使用条件随机场对提取结果进行后处理,提高了道路提取精度。Cheng[14],Zhang[15]等对道路提取网络结构进行了改进,分别提出了级联Encoder-Decoder网络以及深度残差网络,得到了比典型分割网络U-net更高的精度。除了对网络模型的研究和应用外,还有一些针对网络内部结构和针对目标特征的后处理方法的创新研究。Mosinska[16]提出了一种基于U-Net作为损失函数评估的VGG网络的预训练模型,并将提取结果的优化后处理集成到网络的训练过程中。Pan等[17]在同一层中考虑了线性目标的空间特征与空间卷积结构之间的相关性,从而提高了网络表示微小线状目标的能力。
事实上,道路通常是线状的,有时具有网状结构,细节信息丰富,但抽象语义信息则相对简单,这些特征对网络提取细节特征的能力提出了更高的要求。基于遥感图像道路提取问题的实际特点,本文将浅层编解码网络和道路的结构化特征相结合,提出了一种新的遥感图像道路智能提取方法,文中称其为结构化特征辅助的道路智能提取方法。
首先设计了一种适合于道路高分辨率提取任务的浅层编解码分割网络(shallow encoder-decoder,SED),同时在损失函数中引入结构相似性(SSIM)损失,并提出道路结构描述算子对道路提取进行优化。通过对道路影像的多角度旋转和镜像映射来扩充训练数据集,道路提取结果采用语义分割的评价方法,即准确率(accuracy)、召回率(recall)、F1-score。由于道路更加关注细节特征,而对感受野更大的高层抽象特征不敏感。因此,在课题组前期研究工作的基础上[18],引入结构相似性损失和结构描述算子对道路提取结果进行优化。
通常道路目标呈现出高度结构化,像素间表现出较强的依赖性,尤其是空间关系。但是,一般损失(例如交叉熵)为每个像素分配相等的权重,并在度量相似性时忽略两图空间信息。语义分割的交叉熵(BCE)损失函数如式(1),采用该损失函数作为基础。
(1)
SSIM(x,y)=[l(x,y)α·c(x,y)β·
s(x,y)γ]
(2)
式中:权重α>0,β>0,γ>0;l、c、s分别为亮度比较函数、对比度函数、相似度函数[18]。将该参数设置为α=β=γ=1,C3=C2/2,因此相似性度量又可被定义为:
(3)
对于道路分割问题,最好在局部而不是在全局应用SSIM。这是因为图像中的道路分布不均匀:某些区域包含很多局部细节,而其他则是空白。全局SSIM可能忽略有效的本地信息,并且可能降低相似性估计的效率。此外,道路提取的预测结果通常针对局部,因此应当首先使用局部结构统计数据来衡量相似性。
局部信息μx,σx和σxy可以通过滑动窗口进行计算,使用标准偏差为1.5的15×15单位圆对称高斯加权矩阵ω,以使其表现出局部各向同性的特性。其中μx,σx和σxy定义为:
(4)
(5)
(6)
在训练网络时,有必要将度量标准压缩为一个函数。因此,将平均SSIM(MSSIM)损耗用于评估整体图像质量:
(7)
式中:X和Y为真实图和预测图;xj,yj为第j个窗口的内容;M为局部滑动窗口的总数量。要将SSIM损失与端到端的卷积网络集成在一起,可以使用卷积层来计算所有局部统计信息:
μx=Conv(X,ω)
(8)
最终的SSIM损失为:
(9)
其中
(10)
σxy=Conv(X⊙Y,ω)-μx⊙μy
(11)
式中:Conv(X,ω)表示X与ω的卷积核;⊙表示两个张量之间的Hadamard积。
显然,SSIM损失函数中的所有数学运算都是可导的,所以可以直接应用于端到端卷积网络,我们将SSIM损失与BCE损失相结合来训练网络,最终损失为:
Loss=LossBCE+LossSSIM
(12)
道路提取过程中,由于存在阴影、遮挡等原因,使得像素特征和其他道路区域差异很大。此时网络对于该区域的表达能力受到了限制,调整超参数以使网络对这些点的预测也和真实道路去接近会增加网络训练的收敛难度。在进行道路提取预测时,利用更多的是道路网络的结构特征,像素特征用于提取特别明确的道路区域,而被遮挡的区域可以通过结构描述算子,实现结构一致性,来弥补像素特征道路提取的缺陷。利用场景所描述的结构特征,能够更好地提升道路提取精度。道路语义信息较为简单,网络在得到语义分割图时没有考虑到道路的方向这一结构信息,容易产生道路区域不连续、空洞和边缘不平滑等问题。在道路二值分割图的基础上进行道路区域逐像素方向判断,利用道路二值分割图的方向信息对原图进行修正以达到改善网络输出的目的。
在图像道路区域随机生成初始点并生成所有的初始方向,以像素点为原点将2π分为2n份,则不同初始方向误差为π/n。以像素点O(x,y)为原点在不同初始方向上分别进行延长操作,当延长到非道路目标区域时停止,此时停止点坐标为Ps(xs,ys)。记录该方向的向量模长,则该像素点的主方向向量V(x,y)由该点出发的所有方向模长最大的方向确定:
(13)
(14)
道路结构化描述算子如图1所示。
图1 结构算子示意Fig.1 Structural operator
在道路结构化描述算子的基础上,本文采用滑动窗口的方法对道路区域进行道路提取结果的优化,其中滑动窗口所在区域的方向由所有像素最大模长的方向确定。滑动窗口操作过程如图2所示。
图2 滑动窗口道路提取结果的优化过程Fig.2 Sliding optimization of road extraction results
在一个窗口大小的范围内进行道路区域修正,在语义分割二值化后的图像上使用滑动窗口。该窗口以图像像素点为中心,采用一个大小与道路目标路宽呈正相关的滑动窗口对断连部分进行修正。道路目标路宽由道路主方向的法线方向到达非目标区域的方向向量模长确定,记录落入该窗口的像素方向向量,分别计算该中心点到该窗口内所有像素方向向量的截断距离。对每一个像素点与目标道路接近程度进行度量,f(i)描述第i个点(xi,yi)距离道路区域的接近程度:
(15)
(16)
其中
(17)
若f(i)达到某一阈值,则认为该点为道路目标,将该点Pixeli填充为白色,实现断连道路目标的修正,生成一幅修正后的分割图。
(18)
式中:Pixeli为第i个像素点的灰度值;thresh为道路目标相似性度量的阈值。结构描述算子优化结果对比如图3所示,从左到右分别为真值图,预测图和优化图,可以看到道路断连问题得到了一定程度的解决与优化。
图3 结构化特征优化对比示意Fig.3 Comparison between prediction and structural operator optimized image
不同的图像分割任务,对特征的描述和提取过程存在较大的差异。针对道路目标结构性强、细节特征不明显的特点,提出网络分割与结构化特征优化相结合的方法,使用结构化特征描述子对道路提取的高分辨率细节图像特征进行补充,对道路提取结果进行优化。
试验以最大的卫星遥感影像道路数据集“马萨诸塞州道路”作为数据集。该数据集覆盖了美国马萨诸塞州超过2 600 km2,每个都是1 500×1 500像素的RGB图像,分辨率为1 m/像素。训练集包含1 108幅卫星图像,测试集包含49幅,验证集包含14幅。由于深度学习的训练过程需要大量数据,因此通过旋转和翻转(水平和垂直)来增加训练数据,最终共有6 648张图像。
图4 训练数据增广过程示意Fig.4 Augmentation of training dataset
试验使用Adam优化器来更新参数,参数采用了默认设置。学习率设置为0.001,指数衰减率设置为β1=0.9和β2=0.999,ε=10-9。所有试验均使用PyTorch框架进行。试验的硬件环境配置为:Intel Xeon E5-2630 v4,64 GB内存,NVIDIA GeForce RTX 1080Ti GPU。对于结构算子优化部分,使用了一个大小为5像素的滑动窗口,角度划分为20,阈值设为0.01。
在马萨诸塞州道路数据集上,对FCN,ELU-SegNet,Encoder-Decoder和SED等方法进行了比较,对应的预测可视化如图5所示。
图5 四种模型预测结果的可视化Fig.5 Visualization of prediction of four models
为了对试验结果进行量化对比,试验过程中根据该数据及上采用不同方法得到的实验结果进行了指标量化,对应的指标结果对比如表1所示。
从表1可以看出,改进的浅层Encoder-Decoder方法(SSIM)将道路提取精度提高到了85.3%,F1-score为84.6%,经过结构算子优化后,与改进前相比其精度提高了3.6%,F1-score提高了3.4%。结构损失与结构优化操作使提取更加合理和完整,提出的方法不仅具有提取细节信息的能力,还具有对整个目标道路的结构信息描述的能力,此外结构优化对精度又进一步提升,试验数据证明了改进的有效性。
表1 不同模型的量化指标
为了提高遥感图像道路智能提取的精度,从结构相似性损失和结构化特征描述子两个方面,在编解码网络中引入道路的结构特征,以获得分辨率更高、道路局部特征更完整的道路提取结果。试验结果证明了所提方法的有效性。基于以上研究,可以得到以下结论:
1)采用图像分割网络对遥感图像进行道路智能提取在多个道路数据集上都取得了明显的效果,能够很大程度上缓解测绘遥感领域的道路标注任务复杂度,具有广阔的应用前景。
2)在图像分割网络的基础上,引入结构化特征描述子优化方法后,能够将道路提取精度提升约7%。此外,该方法不受遥感成像区域的限制,具有很强的泛化能力。
3)遥感图像道路提取任务相比于普通的图像分割任务而言,对目标的结构描述要求更高。本文提出的方法充分利用道路结构化特征,实现了精度更高的道路提取。