张荣军,谭海,马天浩,于永帅,黄小贤
(1.辽宁工程技术大学 测绘与地理科学学院,辽宁 阜新 123000;2.自然资源部国土卫星遥感应用中心,北京 100048;3.核工业航测遥感中心,石家庄 050000)
随着遥感技术的发展,从遥感影像上获取所需信息已经成为一种非常重要的信息获取手段。道路信息作为一种重要的地理信息,在城市建设和规划、交通导航等方面发挥着重要作用。从遥感影像中提取道路,已经成为一种有效、快捷的道路提取手段,目前也是遥感信息提取的研究热点之一。
国内外众多学者对遥感影像中道路提取做了许多研究,根据道路提取的方法不同,可以分为基于模板匹配提取方法[1-3]、基于面向对象提取方法[4-6]、基于深度学习语义分割提取方法[7-11]。基于模板匹配的提取方法是根据道路在遥感影像中的特征,利用几何信息、辐射信息、拓扑关系等,设计道路提取模板,通过模板计算待定区域与已知区域间的相似性程度,根据相似程度确定待定像素区域是否为道路[12]。朱长青等[13]提出了一种矩形模板匹配方法,通过不断地调整矩形的宽度和方向,根据影像特征、道路拓扑知识以及结合数学形态学的方法,将最佳匹配矩形区域作为道路,该方法提取效果较好,但是对道路模板的自适应能力要求较高。Wang等[14]提出了一种半自动的高分辨率道路提取方法,通过人工输入一个种子点,设定道路的方向、宽度和起始点信息,生成道路参考模板,用模板自动搜索和跟踪道路。曹帆之等[15]提出了一种基于均值漂移的道路中心点匹配算法,运用卡尔曼滤波,实现高分辨率遥感影像道路中心线追踪,准确地提取了高分影像中的道路中心线,对车辆、树荫等的遮挡具有很好的鲁棒性。谭仁龙等[16]提出基于圆形模板的道路提取方法,克服了传统矩形模板的局限,使用圆形模板代替矩形模板,省去了旋转角度计算,降低了算法的时间复杂度,并结合影像灰度、形态学梯度等信息,用迭代内插法对道路中心点加密,最终得到较为准确的道路中心线。
面向对象方法将道路作为一种具体的对象,具有独特的几何纹理特征;依据特征进行图像分类或者分割,实现提取道路信息。余长慧等[17]先将图像进行预处理分割成多个小区域,然后引入基于对象的MRF方法来提取道路。金静等[18]提出区域增长算法,其主要做法是在预处理得到的分割结果中,选取一个或者多个区域作为种子点,然后以种子点为起点,对相邻四个方向区域的像素进行相似度比较,满足条件的作为新的种子点继续迭代下去,直到所有的种子点都不满足条件为止。曹云刚等[19]提出了一种融合像元多尺度对象级特征的道路中心线提取算法,通过像素级上提取影像的纹理和形状结构特征和多尺度分割集影像上提取对象的区域光谱特征,再将像元级特征与多尺度对象特征进行决策级融合,提取出道路网络,最后利用非道路区域自动去除算法和张量投票算法,实现道路中心线的精提取。为了解决仅依靠光谱信息提取道路的方法中道路特征与背景难以完全分离,以及提取出来的道路中心线出现毛刺等现象,Miao等[20]提出了一种基于形状特征和多元自适应样条回归的遥感影像道路中心线提取算法,改进了传统的道路长宽比指数,然后利用该指数对遥感影像分割结果进行滤波,提取线性特征;再结合光谱特征从线性特征中提取纯净道路段,最后利用多元自适应样条回归算法提取道路中心线。
深度学习语义分割方法通过设计语义分割网络模型,利用道路样本数据,训练出参数模型,再利用参数模型提取道路。李代栋等[21]提出了一种基于SPUD-ResNet的道路提取方法,利用空洞卷积构建残差网络编码器,通过跳跃连接与对应解码器相连,构建了条形池化模块和混合池化模块,增强网络对条形道路结构特征的获取能力。王卓等[22]提出了一种改进U-Net网络的高分辨率影像道路提取方法,设计了以VGG16作为网络编码结构的U-Net网络结构,利用batch normalization与dropout解决网络训练过程中出现的过拟合。Wei等[23]提出了一种新的基于回归的方法,直接从航空影像中提取道路中心线和边缘线。首先,训练基于CNN的端到端回归网络来预测道路中心线的置信度图和估计道路宽度;然后,在CNN预测自信图后,采用非最大值抑制和道路跟踪的方法提取准确的道路中心线,构建道路拓扑结构,同时,根据CNN估计的道路宽度生成道路边缘线;最后,为了提高提取的路网的连通性,采用张量投票的方法检测交叉口,并将检测到的交叉口作为克服不连续性的指导。
综上所述,近年来许多专家、学者对基于高分辨率遥感影像提取道路中心线进行了大量深入研究,提出了多种道路中心线提取算法,但受影像中道路两旁树木遮挡、高大建筑物及其阴影覆盖和道路上车辆等干扰因素影响,基于模板匹配方法、基于面向对象以及基于深度学习的道路中心线提取方法提取出来的道路中心线在一定程度上均存在断裂、不完整问题。此外,在复杂场景下,道路的中心线提取精度较差。因此,本文提出了一种基于深度学习提取道路掩膜,对掩膜进行形态学膨胀处理,再提取道路矢量中心线,并对其进行优化处理的道路中心线提取方法,在一定程度上消除了树木遮挡、建筑物及其阴影覆盖和道路上车辆干扰等因素造成的不完整、断裂情况,提高了道路中心线的完整性。
本文的道路中心线提取算法主要由道路掩膜提取、道路矢量中心线提取和矢量中心线优化处理三个模块组成。道路掩膜提取模块主要利用DeepLabV3+语义分割模型,训练道路提取模型参数,提取道路掩膜;道路矢量中心线提取模块中对提取出来的道路掩膜进行形态学膨胀处理,尽可能消除树木遮挡、高大建筑物及其阴影覆盖和道路上车辆的干扰,在此基础上提取矢量道路中心线;矢量中心线优化处理模块利用断裂矢量道路中心线间在空间、几何上的约束关系,建立优化模型,对满足条件的断裂线段进行重连接。本文具体技术流程如图1所示。
图1 技术流程
本文采用DeepLabV3+语义分割模型提取道路掩膜。首先利用Photoshop等标签制作软件制作符合模型训练要求的道路标签。通过对高分辨率遥感影像中的道路进行分析,道路在影像中均呈条带状,且通常情况下道路间是相连的,可形成道路网状结构。DeepLabV3+语义分割模型具有带孔卷积(atrous convolution)、多尺度分割物体(multiplescales)、空洞空间卷积池化金字塔(atrous spatial pyramid pooling,ASPP)模块。该网络采用带孔卷积模板进行卷积运算,增加了感受野面积,能有效地综合道路周围的上下文信息,同时结合多尺度分割和ASPP模块,充分挖掘不同尺度的特征,最大限度地消除影响道路掩膜提取结果断裂的因素,尽可能地提取出完整的道路。
DeepLabV3+语义分割模型可以分为编码器模块和解码器模块,如图2所示。首先输入原始图像进行编码处理,经过一序列的卷积运算,生成大小为原图像1/16的特征张量,再将这些特征张量传入ASPP结构中。ASPP结构由一个1×1的卷积层、三个3×3扩张率不同的并行空洞卷积层以及一个全池化层组成。将这些层进行通道拼接处理,之后将拼接处理后的图层进行1×1卷积处理。在解码器模块中,提取出骨干网络产生的大小为原图像1/4的卷积特征图层,将ASPP结果图层经过四倍上采样,形成大小相同的图层进行通道拼接,再将拼接后的图层进行3×3卷积处理和四倍上采样处理,形成与原始图像大小相同的输出图像。
图2 DeepLabV3+语义分割模型框架
通过调用已经训练好的DeepLabV3+语义分割模型,结合遥感影像裁剪、拼接算法,可实现影像中大区域范围内的道路掩膜提取。
1)道路掩膜形态学膨胀处理。通过对语义分割模型提取出来的道路掩膜进行分析,发现受道路两旁的树木、高大建筑物及其阴影和路面上车辆等因素影响,在提取出来的道路掩膜中存在空洞,而空洞的出现会对道路中心线提取造成干扰,无法准确提取道路中心线。所以采用形态学膨胀处理,能有效填充道路掩膜中的空洞。道路掩膜膨胀处理前后的对比,如图3所示。
2)基于道路掩膜提取道路中心线及矢量化。通过将语义分割提取出来的道路掩膜经过膨胀处理后,利用细化算法对面状道路进行道路中心线提取。本文引用经典的Zhang并行快速细化算法[24],在细化的基础上进行线段搜索,记录每一个构成线段点的像素坐标,依次对图像中的每一条线段进行遍历,再根据源图像的空间参考信息,将像素坐标转化为空间坐标,生成shp格式的道路矢量中心线。图4为生成的矢量数据在ArcMap中的展示。
图3 膨胀处理前后对比
图4 道路中心线矢量数据
针对道路矢量中心线仍然存在断裂、不完整的情况,本文设计了对矢量中心线重连接优化算法。通过对道路矢量中心线进行分析,发现存在断裂的道路矢量线段间,在空间、几何上存在一定的关系,将这些关系作为优化的约束规则条件,对满足条件的矢量中心线段进行重连接优化处理,提高道路数据的完整性。具体算法实现步骤如下。
步骤1:依次计算每一条矢量线段两端的斜率信息,保存为{K11,K12,K21,K22,…,Kn1,Kn2}。
步骤2:设置距离阈值D和空间几何斜率差阈值K。
步骤3:取出线段记录中的一条线段L1,设置其中一个端点为当前端点P。
步骤4:计算点P到其他线段端点的距离{D1,D2,D3,D4,…,Dn}。若Di (1) 对满足条件的端点进行连接,将以P、Pi为端点的两条线段构成新的线段,更新线段记录表中的线段信息。 步骤5:对步骤3中的另外一个端点P重复步骤4操作。 将线段列表中的每一条线段依次取出,重复步骤3、步骤4、步骤5,直到遍历完所有的线段。 图5为优化前后对比。从图中可以看出,本文优化算法对断裂道路中心线进行了重连接,使道路中心线更加完整。 图5 优化处理前后对比 1)实验数据集。本文选取湖南省长沙市高分辨率遥感影像制作实验数据集,空间分辨率为0.6 m,利用Photoshop软件制作勾画深度学习训练所需要的标签,再将标签和原始数据裁剪为320像素×320像素。数据经过预处理后共有9 280张有效标签数据,采用75%∶25%的比例将数据分成训练集6 960张和验证集2 320张,将75%的数据6 960张作为训练数据集,将25%的数据2 320张作为验证集,输入到语义分割网络模型中。此外,本文还使用了公开的马萨诸塞州数据集进行实验对比分析。本研究实验环境为Ubuntu18.04操作系统,显卡型号为NVIDIA QuadroP6000,显卡容量为32 GB,采用Pytorch深度学习框架,实验参数的学习率设置为0.007,迭代轮数设置为80。 2)道路掩膜提取结果评价分析。语义分割主要评价指标如下。 真阳性(true positive,TP)表示真实情况为道路,检测结果也为道路的部分。 假阳性(false positive,FP)表示真实情况为非道路的背景部分,检测结果却是道路部分。 真阴性(true negative,TN)表示真实情况为非道路的背景部分,检测结果也为背景部分。 假阴性(false negative,FN)表示真实情况为道路,检测结果为非道路的背景部分。 为了客观评价深度学习提取效果,采用了语义分割常用的准确率(accuracy)、精确率(precision)、召回率(recall)、平均交并比(MIoU)四个指标评价DeeplabV3+提取算法的性能。 对于不同的训练数据集,DeepLabV3+提取结果评价指标如表1所示。 表1 不同数据集道路掩膜提取指标评价 % 从表1可以看出,DeepLabV3+分割模型在长沙影像数据集具有较好的分割效果,各项评价指标接近于公开的马萨诸塞州数据集。本文数据集训练出来的模型提取道路掩膜,准确度达到了98.6%,说明DeepLabV3+模型在长沙高分辨率影像中提取道路性能较好,提取出来的掩膜具有较高的可靠性。 1)道路中心线提取对比实验设计。为了验证本文的道路中心线提取优化算法的有效性,选择了不同的道路中心线提取算法进行实验对比。实验数据为从湖南省长沙地区的高分辨率影像中裁剪的含有建筑物阴影、植被遮挡道路的两景影像,空间分辨率为0.6 m,影像大小分别为1 240像素×780像素和1 170像素×790像素,设计了两个对比实验。 为了评价不同方法道路中心线提取的精度与提取效率,引入了准确度(accuracy)、完整度(integrity)、运行时间(time)三个评价指标,表达如式(2)、式(3)所示。 (2) (3) 式中:L1表示正确提取的道路中心线总长度;L2表示未检测的道路中心线总长度;L3表示错误提取的道路中心线总长度。 本文算法实现过程中,通过将Pytorch框架下训练完成的模型进行格式转换,结合Libtorch、OpenCV及GDAL等开源库,运用C++语言编程实现原图像裁剪、道路掩膜提取与膨胀处理、道路矢量中心线提取及优化等一系列操作,其运行时间为输入图像至输出道路矢量中心线时间。 2)道路中心线提取对比实验与分析。 (1)实验一。图6为1 240像素×780像素的城市区域影像局部图,图中包含了存在天桥、建筑物阴影的城区道路。对于城区影像的道路中心线提取,阴影区域易造成提取出来的道路中心线出现断裂、不完整现象。文献[19]方法融合了影像的多尺度特征提取道路网络和采用了张量投票算法对断裂中心线进行了重连接,图6(a)为文献[19]方法的提取结果。从图中可以看出,该方法在一定程度上连接了距离较短的断裂线段,但对于相隔距离较大的断裂线段无法实现连接,而本文方法通过对深度学习提取的掩膜进行膨胀处理,不仅能有效地去除道路上车辆、路面污染物造成的空洞,同时能对阴影造成的断裂掩膜进行连接修复、填充,在此基础上进行细化处理,就能提取出相对较完整的道路。文献[20]的方法为基于影像分割结果提取道路的线性信息,结合道路的光谱信息,采用多元自适应样条回归算法提取道路中心线,图6(b)为文献[20]方法的提取结果。从图6(b)可以看出,由于该方法基于分割图像滤波结果提取道路的线性形状特征,而分割结果易受阴影的干扰,造成提取出来的道路线状特征无法真实地表达道路的客观形状,易造成断裂情况的出现。图6(c)为本文方法的提取结果,该方法通过对掩膜的膨胀处理和建立优化规则进行优化处理,能有效克服阴影的干扰,提取出较完整的道路中心线。 (2)实验二。图7为1 170像素×790像素的乡村区域影像局部图,图中包含了存在植被及其阴影遮挡的乡村道路。对于乡村道路,道路旁的植被遮挡是造成提取道路中心线出现断裂的主要原因。乡村道路的宽度通常比城市道路的宽度要小,几何形状也更复杂;此外,乡村道路受道路旁植被遮挡相对严重,导致乡村道路的几何特征、光谱特征相对于城市道路的几何特征、光谱特征难以提取和描述。文献[19]方法融合了道路的多尺度特征提取路网,虽然采用了张量投票算法对断裂道路中心线进行了重连接,但由于乡村道路存在较多的树木遮挡,容易导致提取出来的路网出现断裂。结合图7(a)可以看出,对于遮挡区域面积较小造成相隔距离较小的断裂中心线重连接较好,而对于大面积的遮挡造成相隔距离较大的断裂中心线连接效果较差。文献[20]方法改进了道路的长宽比指数对影像进行分割,根据分割结果提取道路的线状特征,再结合光谱信息提取路网。由于乡村道路旁树木的遮挡对道路的线状特征的影响,树木的光谱信息与道路的光谱信息有较大差异,造成树木遮挡区域存在断裂线段,如图7(b)所示。图7(c)为本文方法的提取结果,通过DeepLabV3+模型提取的路网,相对文献[19]方法和文献[20]方法更完整,对道路的细节提取更细致;此外,通过对掩膜的膨胀处理,能消除影像中小面积的遮挡造成的断裂;优化模型则能对相隔距离较大的断裂线段进行优化重连接。 图6 城区道路中心线提取 表2将不同的方法进行了定量对比。通过对比可以得出,本文方法不考虑深度学习样本制作及模型训练所耗用的时间情况下,在准确度、完整度以及效率上均优于其他方法,再次验证了本文方法的有效性。 图7 乡村道路中心线提取 表2 不同道路中心线提取方法对比 基于遥感影像的道路中心线提取,其准确度、完整度主要受影像中道路两旁的树木、建筑物及其阴影以及道路上的车辆影响,造成提取出来的道路中心线出现断裂、不完整,且难以直接用于实际生产。针对这些问题,本文基于DeepLabV3+网络分割模型提取道路掩膜,对道路掩膜进行形态学膨胀处理后提取道路中心线并对其进行矢量化处理,同时设计优化算法,对矢量中心线进行优化处理。通过与文献[19]方法、文献[20]方法进行实验对比分析,本文方法具有更高的准确度、完整度及提取效率。但是,本文方法在道路矢量中心线优化过程中仍存在少量错误连接问题,后续将建立更完善的优化模型,提高中心线优化的准确度。2 实验结果对比分析
2.1 DeepLabV3+网络道路掩膜提取结果分析
2.2 道路中心线提取实验对比分析
3 结束语