查看原文
其他

遥感图像DSM建筑物点过滤方法

GIS前沿 2022-07-16

The following article is from 测绘学术资讯 Author 测绘科学


摘要:针对图像密集匹配生产的数字表面模型(DSM)进行点云滤波,算法对地形依赖大,参数设置复杂,精度不高,后续人工编辑修饰的工作量大、效率低的问题,该文设计了一套针对DSM滤波、涵盖多种样本形式(栅格、矢量)的航空图像建筑物数据集。针对航空图像建筑物尺度较大等特点,将膨胀卷积加入U-Net构成Dilated U-Net,并综合运用其进行建筑物语义分割,利用分割结果在相应图像密集匹配得到的DSM上滤除建筑物点,然后采用投票插值策略得到过滤掉建筑物点的DSM。实验证明:利用该文网络DU-Net将DSM中非地面建筑物点滤除,Ⅰ类误差在5.8%以内,Ⅱ类误差在2.4%以内,其可以在30 s内完成超过9 000万个建筑点与非建筑物点位置的预测,效率高、成本低。且DU-Net网络建筑物语义分割过程不受地形、高差的限制,对于其他非地面点的滤波具有一定的借鉴意义。


关键词:深度学习;卷积神经网络;建筑物语义分割;数字表面模型




引言
数字高程模型(digital elevation model,DEM)是生成数字正射图像(digital orthophoto map,DOM)的基础[1],是地理国情监测的重要产品之一[2-3],可以应用到普查、工程、军事等多个方面,因此快速准确的生成DEM具有重要的现实意义。图像密集匹配等相关技术是生产数字表面模型(digital surface model,DSM)的主要手段之一。进一步,DSM滤波方法可以滤除非地面点生成DEM。传统的滤波算法大致分为3类。第1类是基于不规则三角网(triangulated irregular network,TIN)的滤波算法。文献[4]通过加入对地形智能识别的技术,改进三角网加密滤波算法,达到了自适应的目的。文献[5]通过对三角网进行迭代加密,根据滤波次数改变格网大小进行迭代滤波。第2类是基于形态学的滤波算法。文献[6]通过逐步改变滤波的窗口尺寸,保留地形拓扑信息来进行改进的形态学滤波。文献[7]使用了机器学习中监督学习的方法,将每个点划分到地面点或者非地面点,从DSM模型自动提取DEM。第3类是基于曲面参数约束的滤波算法。文献[8]结合了自适应与分层的思想,主要用于处理城区的点云。文献[9]将原始的激光雷达(light detection and ranging, LiDAR)点云图像进行转换,然后通过分层处理进行滤波。以上算法参数设置复杂,对于地形的依赖性大,基本只能适用于一到两种地形,在高程差异较大的区域精度较低,后续人工再编辑修饰的处理周期长,操作麻烦。


随着深度学习技术突飞猛进地发展,卷积神经网络(convolutional neural networks,CNN)可以应用于遥感图像语义分割[10]、目标检测[11]、矢量提取[12]等诸多方面,其中,语义分割是指计算图像上每个像素点属于特定类别的概率。采用CNN进行遥感图像语义分割具有以下几点优势:①CNN中的卷积操作可以多尺度、多层次地自动提取图像的高维特征,然后端到端的输出语义分割结果,不需要手工设置阈值。②CNN可以直接作用于平面二维图像提取高级特征进行语义分割,与平面图像上的像素值大小有关,与高差、地形无关。文献[13]使用了包含不同地形的遥感图像,但是语义分割精度评定均在相同的框架下进行,不区分地形的影响。③以CNN为骨架的代表性网络语义分割精度均超越了传统算法[14]。在2015年EM分割挑战赛中U-Net网络[15]的像素误差为0.061。在2017年ImageNet比赛中SENet网络的top-5 错误率为2.251%[16]。④随着计算机硬件等外部设备快速发展,卷积神经网络语义分割的速度大大提升。Mask R-CNN[17]的语义分割速率能达到5 FPS(frames per second,)。梯形DenseNets[18]在Cityscapes数据集上可以达到实时分割。目前,已有学者利用卷积神经网络对DEM进行修补[19],但是将其应用到DSM滤波中,尚属于初始阶段。


针对传统DSM滤波算法的局限性并结合卷积神经网络的优点,本文设计了第一套应用于DSM滤波、涵盖多种样本形式(栅格、矢量)的航空图像建筑物数据集。针对航空图像建筑物尺度较大等特点,本文将扩大局部感受野的膨胀卷积(dilated convolution,DC)加入U-Net网络构成全卷积神经网络Dilated U-Net(DU-Net),并综合运用DU-Net建筑物语义分割结果在相应图像密集匹配得到的DSM上滤除非地面建筑物点,然后采用投票插值策略得到过滤掉建筑物点的DSM。DU-Net具有以下优势:①该方法采用端到端的学习方式,不需要设置复杂的阈值参数;②该方法针对二维平面图像进行卷积操作来提取建筑物,不受地形限制,适用于平地、山区、高原等复杂区域;③该方法能够多尺度地提取遥感图像的高维特征,快速、精确地对建筑物进行像素级别的语义分割,节省了人工再修饰的时间,提高了生产效率,降低了生产成本。本文方法为DSM滤波算法研究提供了一种新的思路,有助于高精度、快速DSM滤波方法的实现;且对于DSM上其他非地面点的过滤具有一定的借鉴意义。

1 算法简介

1.1 全卷积神经网络U-Net简介

U-Net网络是基于FCN网络[20]改进得到的,因为它的形状很像一个大写的“U”而得名。其最早是针对医学图像提出的,但其分割效果比较精确,所以工业界将其广泛地应用于其他领域,比如:遥感图像上地物提取[21]、GIS网络规划[22]等。


如图1所示,U-Net网络结构分为两部分,左边是特征提取,右边是上采样,可以将这两部分看作是一对编码器和解码器,编码器负责提取输入图像的特征,由低级特征逐渐提取高级特征,通道数逐渐增加。解码器负责反卷积,将通道数逐渐收缩变小,图像尺寸逐渐扩大,最后使网络能够端到端的输出分割图像的结果。另外,U-Net网络具有4个跳跃连接结构,如图1中空心箭头所示,跳跃连接的作用是聚合上下文信息,在逐层卷积的过程中减少特征的损失,有利于多尺度的特征提取,使得图像分割结果更加精确。


图1 U-Net网络的结构


1.2 改进的全卷积神经网络U-Net简介

由于航空图像分辨率较高,建筑物的尺度较大,U-Net网络采用普通的卷积操作,使得图像空间中大尺度地物的特征损失较为严重,图像细节难以保持,分辨率大大下降,这些均不利于大尺度地物像素级别的语义分割。故本文将U-Net编码器中的卷积操作替换为膨胀卷积(又名空洞卷积)[23]


膨胀卷积,即在普通的卷积核中间添加0值,如图2所示,特征图尺寸为4像素×4像素,上方尺寸为3像素×3像素的卷积核中加入空洞后,尺寸扩大为5像素×5像素。将膨胀后的卷积核作用于Padding(深度学习常用的补0技巧)后的特征图上,得到的结果图尺寸并没有发生改变,但是膨胀后的卷积核可以覆盖整个4像素×4像素的特征图,扩大了卷积核的感知范围,每个卷积操作的结果输出都包含了较大范围的信息,并且卷积核各个值中间添加的0值,没有导致计算复杂度升高。因此,膨胀卷积既可以扩大卷积的感受野,使得图像中像素的邻域空间扩大,获取更多像素间的相对关系,又没有增加网络的参数量,有利于航空图像中大尺度建筑物的提取。

图2 膨胀卷积的结构


以U-Net的整体结构作为骨架网络,并将其左侧特征提取中的部分普通卷积替换为膨胀卷积,构成DU-Net。与U-Net相同,DU-Net的主干网络也是由特征提取(编码部分)和上采样(解码部分)构成,如图3(a)所示。DU-Net特征提取部分的具体结构如图3(b)所示,黑色虚线框为构成编码部分的各组卷积块,共5个。并且因为DU-Net以U-Net为主干,所以它与U-Net一样共有9个这样的卷积块。每一个卷积块的操作是首先将输入的特征图进行膨胀卷积,扩大局部感受野,然后再利用普通卷积提取更高维度的特征,最后利用最大池化操作进一步缩小特征图的数据空间。在卷积过程中,膨胀卷积使得大尺度地物的特征损失下降,更好地保持地物细节,增强了整个网络的鲁棒性和健壮性,航空图像中大尺度建筑物的分割更加精确。而且,本文算法中每一个卷积块有一层膨胀卷积和一层普通卷积交替出现,既有利于大尺度建筑物的提取,又能保证小建筑物特征基本不损失。根据卷积的原理,DU-Net计算过程中使用平面图像上的像素值,高差、坡度信息并未参与计算,因此建筑物提取过程与高差、坡度无关,不需要设置复杂的阈值来表示建筑物区域。


(a)DU-Net网络主干

(b)带有膨胀卷积操作的特征提取部分

图3 带有膨胀卷积的U-Net网络结构


2 针对DSM滤波的高分辨率航空遥感图像建筑物样本数据集建立


现有的针对深度学习算法的遥感图像数据集大多是针对特定地物的分割和提取,不具有配套的图像密集匹配生产的DSM,无法利用其进行针对DSM滤波的研究。针对这种问题,笔者团队手工编辑制作了这套针对DSM滤波的高分辨航空图像建筑物样本数据集(CASM DSM dataset),数据集中的DSM是由相应的航空图像匹配得到。建筑物是遥感图像中最具代表性的地物类型之一,建筑物的分割方法也可以应用到其他地物类型的提取中。


CASM数据集中的图像来自于ISPRS标准数据库,位于德国法伊英根地区,该地区属于半农村、半城镇的状态,包含建筑物稀疏、稠密的两种地貌,比较具有代表性,其整体概况如图4所示。CASM数据集包含1 879栋形态各异的建筑物,航空图像以及DSM的地面分辨率均为0.09 m,覆盖38.2 km2。DSM的点密度为123个/m2。原始图像没有对应的标签,无法进行深度学习的训练,因此笔者团队在ArcGIS软件中采用全部人工勾绘,并且3位作业员交叉进行检查和修订的方式,制作了图像对应的标签,其中部分图像与其对应标签如图5所示。同时,CASM数据集设计了相应的矢量数据,可以供建筑物单体化提取以及实例提取。
图4 测区整体概况

图5 部分图像及其对应标签


3 实验结果

此次实验首先将本文建立的数据集与国际流行的数据集进行比较,验证本文数据集的有效性;其次比较DU-Net与U-Net建筑物语义分割精度,验证本文方法的可靠性;最后利用以上网络的分割结果过滤DSM中建筑物点,并投票插值得到新的DSM。


两种卷积神经网络建筑物语义分割精度采用深度学习中普遍应用的4个指标进行评价。第1个是交并比IoU,指的是卷积神经网络检测到的建筑物像素点与真实建筑物像素点的交集与它们的并集之比,对于本文只有IoU大于0.6时才认为建筑物检测正确。第2个为召回率Recall,又称为查全率,指的是卷积神经网络检测到正确的建筑物点与标签中真实建筑物像素点个数的比值。第3个是精确度Precision,又称为查准率,指的是卷积神经网络检测正确的建筑物点与卷积神经网络检测到的建筑物点的比值。第4个为总体精度(overall accuracy,OA),指的是卷积神经网络检测正确的建筑物点与总建筑物点的比值。对于滤除DSM建筑物点的误差分析,本文借鉴DSM滤波中常用的评价体系,采用2种指标对DSM建筑物过滤结果进行精度评定:第Ⅰ类误差(也称拒真率),即拒绝真正的建筑物点的几率,其值等于(1-Recall);第Ⅱ类误差(也称纳伪率),即接受非建筑点为真的几率,其值等于将非建筑物误检为建筑物的点数与真正非建筑总点数的比值。


3.1 与其他数据集的比较

此次实验将CASM建筑物语义分割数据集与当前国际流行的Inria数据集[24]进行比较,为保证公平,训练集、验证集以及测试集的数量一致,且图像尺寸均为512像素×512像素,分割网络均使用标准的U-Net网络,实验结果如表1所示。

表1 CASM数据集与Inria数据集的比较
数据集
IoU
Recall
Precision
OA
Inria
0.701
0.758
0.882
0.838
CASM
0.735
0.893
0.833
0.937

由表1可以看出,CASM数据集的IoU比Inria数据集高3.5%,Recall高17.8%,OA高11.9%,CASM数据集的建筑物分割精度已经超越了Inria建筑物分割数据集。因为Inria数据集中含有较多与真实图像有错位的标签,数据集质量不高,但是,CASM数据集标签准确,图像分辨率更高。


3.2 基于DU-Net的建筑物语义分割


在构建机器学习模型时,数据集划分没有统一的标准,通常在设置验证集的情况下,训练集、验证集和测试集的比例取6:2:2或7:1:2。此次实验中训练集包括1 024张图像、 验证集包括214张图像、测试集包括405张图像,训练集、验证集以及测试集的比例约为6.2:1.3:2.4,这是一个相对合理的比例范围。数据集中每张图像的尺寸均为512×512像素,且训练集、验证集以及测试集数据分布是一致的,这避免了因为在数据划分过程中引入的额外偏差而对最终结果产生消极影响。并且,在实验前本文对训练集使用了直方图均衡化、翻转等数据增强方式,目的是增强深度学习模型的泛化能力。


为了更加精确地提取建筑物,语义分割实验中DU-Net网络设置了2组不同的超参数进行对比。首先以U-Net的网络层数,滤波器个数为基础,改变DU-Net网络中空洞卷积的卷积核尺寸,使其分别等于3像素×3像素、5像素×5像素和7像素×7像素。确定较佳的卷积核尺寸后,再改变DU-Net网络的层数,第1次实验去掉图3(b)编码部分第4组卷积块以及其对应解码部分的卷积块,DU-Net由7个卷积块构成;第2次实验去掉图3(b)编码部分第3组、第4组卷积块以及它们对应解码部分的卷积块,DU-Net由5个卷积块构成。上述实验的建筑物语义分割精度见表2。


表2 两种U-Net方法的比较
网络
类型
卷积核
尺寸/
像素
膨胀后
卷积核
尺寸/
像素
卷积块个数
/个
IoU
Recall
Precision
OA
U-Net
3×3
9
0.795
0.904
0.868
0.913
DU-Net
3×3
5×5
7×7
5×5
9
0.814
0.942
0.889
0.962
9×9
9
0.816
0.957
0.728
0.955
13×13
9
0.817
0.874
0.897
0.963
3×3
3×3
5×5
7
0.767
0.928
0.780
0.955
5×5
5
0.789
0.887
0.795
0.945

由表2可知,对于DU-Net自身来说,卷积核尺寸为3像素×3像素时,其Recall值比卷积核尺寸为5像素×5像素时提高了7.8%,其Precision值比卷积核尺寸为7像素×7像素时提高了22.1%。对单个卷积核来讲,3像素×3像素的卷积核参数为9×c(c为通道数,以下同理)个,5像素×5像素的卷积核参数为25×c个,为3像素×3像素卷积核参数量的2.7倍,7×7像素的卷积核参数为49×c个,为3像素×3像素卷积核参数量的5.4倍,对于整个网络来讲,增大卷积核尺寸的做法会使得参数量急剧增加,计算效率变差。从精度和效率的角度综合来看,选择3像素×3像素的卷积核尺寸最佳。在3像素×3像素的卷积核窗口下,DU-Net分别设置7组卷积块、5组卷积块。由表2可知随着网络层数削减,IoU、Recall、Precision、OA的值均比卷积块为9个时有所下降。这是因为航空图像包含的信息量较大,需要较深的网络层数来提取较高维的特征,卷积层越深神经网络的表达能力越强,所以卷积块的最佳个数为9个。与U-Net网络相比,当DU-Net与U-Net的网络层数相同时,DU-Net使用上述3种尺寸的卷积核,其建筑物语义分割精度整体均高于U-Net。其中选定最佳超参数后的DU-Net网络建筑物语义分割精度IoU上升了2.4%,Recall上升了4.2%,Precision上升了2.4%,OA上升了5%。这是由于在U-Net网络中加入膨胀卷积后,一些大的工业厂房或者一些形状较长的建筑,被更加精确的提取出来,并且每一个卷积块有一层膨胀卷积和一层普通卷积交替出现,对于面积较小的建筑物漏检较少。


U-Net、选定最佳超参数后的DU-Net网络建筑物分割结果如图6所示,将检测的结果掩膜与原图叠加,可以明显看到在图像的右上角与河流右侧的部分建筑,改进后的DU-Net网络比传统的U-Net分割结果更加精确。这是因为当卷积的感受野变大时,单个像素与其邻域像素的关系更加清晰,有利于特征抽取,因此位于河流右下角的黄色操场,由于颜色与黄屋顶的建筑物接近,在传统的U-Net中被错误检测为建筑物,但是DU-Net对其检测正确,所以DU-Net网络更有利于航空图像上大尺度建筑物的语义分割。


(a)U-Net网络预测结果
(b)DU-Net网络预测结果

图6 两种U-Net网络预测结果


3.3 基于建筑物语义分割的DSM过滤方法


由于在3.2节已经成功进行了精度较高的建筑物语义分割实验,下一步可以将其结果直接应用到相应测试集图像密集匹配得到的DSM中过滤建筑物点。本文的做法是利用U-Net和DU-Net网络预测出的建筑物二值图(即建筑物的像素值为255,非建筑的像素值为0),将DSM上建筑物点的像素直接减掉,再利用周围的像素进行插值。下文称基于U-Net语义分割结果过滤DSM建筑物点并插值的方法为第一种方法,基于DU-Net语义分割结果过滤DSM建筑物点并插值的方法为第二种方法。对于其结果评价,本文主要关注召回率Recall和精确度Precision。精确度越高,则误检率越低;在保证一定的精确度的情况下,召回率越高,则说明正确检测到建筑物点的比例越大,即下一步可以过滤掉越多的建筑物点。并且由于直接在DSM上减去3.2节预测的建筑物点,所以为DU-Net设置不同的超参数,其对建筑物语义分割精度的影响也会改变后续DSM滤除建筑物点的精度,语义分割精度越高,DSM滤除建筑物的精度越高,下文使用选定最佳超参数后DU-Net的建筑物分割结果进行DSM过滤建筑物实验。DSM减去建筑物点的结果如图7所示,深黑色的无值区表示过滤掉的建筑物。由图7可知,基于第二种方法减去建筑物点的效果更加精确。这是因为DU-Net方法的召回率和准确率两个指标均高于U-Net。


(a)原始DSM
(b)基于第一种方法减去建筑物点的DSM
(c)基于第二种方法减去建筑物点的DSM
图7 基于U-Net与DU-Net分割结果的DSM减去建筑物点效果图


本文只分离出了建筑物点,插值过程中建筑物周围的非地面点会产生一定的影响。但是通过观察可知与建筑物边界紧邻更多的是地面点,所以本次实验采用一种基于投票机制的插值方法:对于检测到的每一个建筑物,取与其边缘相接的一圈(一个像素)高程值,将这些高程值取1位小数后进行数量统计,获得投票数最多的高程值作为建筑物地面点的高程值。这样可以较大程度的减轻非地面点的影响。经过投票插值算法处理后,得到的DSM滤波结果如图8所示。由图8可知,基于本文算法滤除建筑物点后DSM的插值效果较好。因为基于DU-Net网络的建筑物语义分割结果精度高,尤其对于面积较大的建筑物边缘更加清晰,漏检、错检更少。另外,3.2节的卷积神经网络方法为端到端学习,直接从二维图像获取高维特征提取建筑物,所以将其应用于DSM滤除建筑物点的方式不受地形条件的限制,不受高差变化的影响。


(a)原始DSM
(b)利用U-Net结果过滤建筑物后的DSM插值结果
(c)利用DU-Net结果过滤建筑物后的DSM插值结果
图8 基于U-Net与DU-Net分割结果的DSM插值效果图


建筑物过滤精度见表3,使用U-Net网络的预测结果滤除DSM建筑物点后,第Ⅰ类误差为0.096,第Ⅱ类误差为0.028;使用DU-Net的预测结果滤除DSM建筑物点后,第Ⅰ类误差减小了3.8%,第Ⅱ类误差减小了0.4%,这是由于DU-Net网络对于建筑物的检测更加准确,所以建筑物过滤的结果也会更加准确。从图6所示的建筑物分割效果以及图7、图8所示的建筑物点过滤效果来看,第二种方法过滤建筑物的效果要优于第一种。本文的整体思路为滤除DSM其他非地面点提供了一种可以借鉴的方法,DSM上其他非地面点也可应用上述深度学习方法进行识别与分割,从而去掉其他非地面点再插值得到新的DSM。


表3 DSM滤波的两类误差比较
算法
 Ⅰ 误差
 Ⅱ 类误差
第一种方法
0.096
0.028
第二种方法
0.058
0.024

从时间效率分析,在RTX 8000 GPU上,利用全卷积神经网络DU-Net对包含91455879个像素点的测试集进行预测只用了27~28 s,U-Net网络用了29~30 s,两者在预测效率上相差不大。但是,本文算法的查全率Recall值为94.2%,说明图像中94.2%的建筑物像素点已经被准确检测到,而U-Net的Recall值比本文低4.2%。所以基于U-Net网络的DSM建筑物点过滤结果人工后期修饰的时间会更长。本文算法节约了时间成本,减小了劳动力成本、提高了生产效率。


4 结束语


针对现有滤波方法参数复杂、受地形影响较大,精度低,实际应用中人工滤波时间长、效率低等问题。本文进行了以下工作:①设计了第一套针对DSM滤波、涵盖多种样本形式(栅格、矢量)的航空图像建筑物数据集,该数据集便于后续其他研究人员使用。②将膨胀卷积加入U-Net构成DU-Net网络,扩大了卷积操作的局部感受野,提高了航空图像中大尺度建筑物提取精度。该算法无需设置复杂的参数阈值,可以采用端到端的输出结果;该算法不受地形、高差的限制,针对二维平面图像进行卷积操作来提取建筑物,适用于平地、山区、高原等复杂区域;该算法能够多尺度、多层次地提取遥感图像的特征,快速、精确地提取建筑物,提高了生产效率,降低了生产成本。③本文综合运用DU-Net建筑物语义分割结果,在相应图像密集匹配得到的DSM上滤除非地面建筑物点,并采用投票插值策略得到过滤掉建筑物点的DSM。这为高精度、快速DSM滤波方法的实现提供了一种新的思路,整体流程对于DSM上其他非地面点的过滤具有一定的借鉴意义。


作者简介:李雪(1993—),女,山东临沂人,硕士研究生,主要研究方向为遥感图像高精度语义分割。E-mail:amberlixue1229@163.com
基金项目:国家重点研发计划课题项目(2019YFB1405602)
通信作者:张力研究员 E-mail: zhangl@casm.ac.cn

引用格式:李雪,张力,王庆栋,石壮,牛雨.遥感图像数字表面模型建筑物点过滤方法研究[J].测绘科学,2021,46(2):85-92.


- END -


云原生+AI,把卫星遥感虐的死去活来
遥感影像时序分析
遥感AI?!来体验阿里巴巴达摩院的AI Earth
基于无人机激光点云的高精度DSM、DEM生产研究
C3D 一键式DSM滤波和DEM编辑

戳原文,更有料!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存