APP下载

结合深度学习和图割法的遥感影像建筑物检测

2019-12-03邓兴升

测绘通报 2019年11期
关键词:轮廓建筑物卷积

刘 舸,邓兴升

(长沙理工大学交通运输工程学院,湖南 长沙 410114)

建筑物是城市活动的主要载体,建筑物信息自动化提取对城市规划、环境监测等领域有重要意义。由于高分辨遥感影像包含大量光谱、结构和纹理信息,这些信息为精确的建筑物检测提供可能。然而手动提取这些图像中的建筑物在区域内或全球尺度是不切实际的,因此有必要开发能够自动或半自动提取建筑物的方法。文献[1]采用多尺度对象分割与决策树分类提取建筑物区域。文献[2]通过手工构造建筑物的多星型约束,利用图割法提取建筑物。文献[3]对建筑物阴影自动定位建筑物的位置,再利用图割法提取建筑物,达到全自动提取建筑物。文献[4]使用一系列形态学操作得到建筑物的形态学特征,再利用支持向量机(support vector machine,SVM)提取建筑物信息。这些方法都需要人工设计一些建筑物特有的特征来获取建筑物的位置,从而使建筑物和非建筑物区分开来。深度学习通过在浅层网络中自动提取低级特征,在深层网络中获取高级特征,避免人工构造低级特征。文献[5—6]利用深层卷积神经网络(deep convolutional neural networks,DCNNs)检测航空影像建筑物,能达到一定的精度,但存在结果边界不完整的情况。

针对上述高分辨率遥感影像建筑物信息提取现存的问题,本文提出一种深度学习与图割法融合处理的方法。用深度学习对建筑物进行检测和定位,避免了人工设计低级特征,再用粗提取结果建立建筑物区域和非建筑物区域的高斯混合模型(GMM),减少图割法中人工标记前景和背景的操作,提高自动化程度,然后用最大流/最小割法提取建筑物轮廓,最后优化图割法结果,得到建筑最终轮廓。

1 算法步骤

本文建筑物轮廓信息提取方法流程如图1所示。

1.1 构建卷积神经网络(CNNs)

卷积神经网络(CNN)的起点是Necognitron模型,模型已经体现了大部分现代CNN的结构[7]。根据研究需要,本文设计的深度卷积神经网路结构为:输入层、2个卷积层、2个批标准化层、2个池化层、解卷积层。其网络结构如图2所示。

构建深度卷积神经网络模型,其中卷积过程为

(1)

式中,fij(1≤i≤M,1≤j≤N)表示二维单通道特征图;kij(1≤i≤m,1≤j≤n)表示卷积核;b为噪音。

在批标准化和池化层之间加入ReLU激活函数[8],其公式为f(x)=max(0,x)。

批标准化(batch normalization):文献[9]指出批标准化使损失空间更加平滑,这种平滑性能加速模型的训练过程。具体的,批处理化分为归一化和转换重构两个步骤:

(1) 归一化求出样本的零均值μ和单位方差σ。

常用池化层模型主要有两种:最大池化层[10]和平均池化层[11]。根据文献[12]和本文试验结果,使用平均池化层。其平均池化层的公式为

(2)

式中,Gij为由卷积层得到特征图矩阵;c为池化层正方形区域的边长和池化步长;b1为偏移量。

解卷积是卷积的逆过程,即已知h,寻求合适的k,重构f。通过解卷积来恢复图像的原始尺寸,以获取端对端的预测图像。

1.2 预测建筑物轮廓

用训练好的卷积神经网络模型对遥感影像进行预测,遥感图像为g(x,y),已训练好的CNNs模型为CNNs( ),建筑预测图为p(x,y)。p(x,y)为二值图像,建筑物像素点值为1,非建筑物像素点值为0。

1.3 建筑物轮廓的检测与分割

(1) 检测建筑物轮廓。建筑物图像p(x,y)通过连通分析将建筑物聚类,根据文献[13]中提供的二值图像外轮廓检测方法检测出预测图p(x,y)中单个建筑物组成的像素点集合S={S(xi,yj)|i=1,2,…,n,j=1,2,…,n,且(xi,yj)=1}。

(2) 建筑物轮廓的粗差去除。根据图像地面分辨率GSD的大小设置阈值去除微小建筑物轮廓,其经验公式为

(3)

式中,num(Si)为第i个像素块的数量;w和h分别为图像中最小建筑的长和宽,GSD为图像的地面分辨率,本文取值0.3 m。

(3) 提取建筑物图斑。对第i个建筑物轮廓Si进行形态学膨胀后,获取的膨胀的轮廓取外接矩形为

Ri={(x,y,(Δx,Δy)}

(4)

式中,(x,y)为外接矩形Ri的左上角坐标;(Δx,Δy)为Ri在X轴和Y轴的坐标值增量。

(4) 提取建筑物掩模。将建筑物轮廓S={Si|i=1,2,…,n}进行形态学滤波腐蚀处理,缩小轮廓获得建筑物掩模SM={(x,y)|(x,y)∈SM}。

1.4 基于图割法的建筑物初始提取

建筑物图斑映射为对应的加权图,用最大流/最小割算法寻找图的最小割[14],构建加权图的能量函数E(L),其公式为

(5)

式中,D(L)为数据项,表示像素n取标记L的费用;Vm,n(L)为边界项;m,n为点邻域r=4,8,16的近邻区域;L为建筑物与非建筑物的分割标号,L=1表示建筑物,L=0表示非建筑物;N为图像中所有邻接像素对组成的集合。

初始化时用掩模对加权图进行赋值,属于掩模内的像素点赋值为1,计算所在位置的高斯混合模型,这样能取代人工标记建筑物(前景)种子点和非建筑物(背景)种子点。根据上述的能量函数,采用标准最大流/最小割算法[15]求解能量函数的最小割,然后确定每个像素点的标记L。

1.5 建筑物边缘优化

图割法处理后可能出现一些小的地物,如车辆等,通过图像地面分辨率给定面积阈值Ta。通过连通分析将提取结果聚集为不同的对象,去除面积小于Ta的对象。本文Ta设置为5 m2。使用文献[16]方法对图割法提取的建筑物进一步优化,得到最终成果。

2 试验及分析

本文试验使用Ubuntu下的PyTorch机器学习框架,采用Python语言编程实现,硬件环境为AMD RYZEN 5 2600,GPU Nvidia GTX1060 6 GB内存。为了验证本文所提方法的可行性和有效性,利用文献[17]提供的数据集,分辨率为0.3 m。

2.1 试验1

本次试验选择的建筑物为规则多边形,且建筑物与周围环境的光谱差别明显,试验流程如图3所示。对本文算法详细描述如下:

(1) 利用卷积神经网络对原图(图3(a))上的建筑物进行检测,得到建筑物预测图(图3(b))。其结果能覆盖建筑物,但是建筑物的外轮廓不完整。

(2) 根据建筑物预测图(图3(b))检测与提取建筑物轮廓(图3(c)中的框线)和建筑物掩模(图3(d)灰度部分)。

(3) 利用建筑物轮廓裁剪获取建筑物图斑(图3(e))。

(4) 使用图割法提取建筑物如图3(f)所示。

(5) 对初步提取结果优化。

本文算法与其他方法的结果对比见表1。从图3及表1可以看出,对于光谱值差别明显、简单的规则建筑,分割结果比较完整,但是存在建筑物边缘模糊的情况。经过本文方法处理后边缘较规则。

表1 本文算法与其他方法的结果对比

3次试验采用定性和定量两种分析方法来评价方法的优点。定量使用3个指标:精确率(Precision)、召回率(Recall)和F1值。

本次试验的特点是建筑物规则,建筑物与周围地物的光谱差别明显,且部分边缘不清楚,如图4所示。

图4中,图4(b)为本文提取的建筑物轮廓,与参考数据较为吻合。图4(c)由深度学习UNet模型提取的结果,存在边缘不规则[18]。图4(d)CNNs模型是本文构建的一个小型卷积神经网络模型,能大致提取建筑物所在地区。

2.2 试验2

本次试验的特点是所选的建筑物不规则,建筑物与周围地物的光谱值差别不明显,且部分边缘不清楚。试验结果如图5及表1所示。

图5中,图5(b)为采用本文方法提取的建筑物,与参考数据较为符合。而UNet方法和CNNs无法正确提取复杂建筑物的边界。

2.3 试验3

本次试验的特点是所选建筑物不规则,且其光谱值与周围地物的差别不明显,如图6所示。

从上述3个试验来看,采用本文方法可以获得较为符合实际的建筑物轮廓,无论是矩形建筑物,还是形状复杂建筑物,其提取的精度都能达到0.9以上,能很好地优化卷积神经网络提取的建筑物轮廓。提取过程只使用高分辨率影像数据。

3 结 语

本文利用卷积神经网络对建筑物原图进行定位与检测,提取出建筑所在图斑,然后用图割法对建筑物进行处理,以提高检测精度,其优点在于:

(1) 将卷积神经网络定位建筑的能力和图割法精度相结合,充分利用二者的优点。

(2) 可以减弱一定光照变化的影响,寻找出较为准确的建筑轮廓和拐角点,所提取的结果能够反映建筑物的外形。

(3) 只需要高分辨率的遥感影像,不需要使用高程及回波强度等信息。

(4) 用卷积神经网络将建筑物轮廓检测与定位之后,可以使用其他的方法(如分水岭法)。

需要说明的是,训练一个卷积神经网络的过程比较耗时,而且整个试验流程受到卷积神经网络精度的限制,同时本文算法的精度对太阳光照敏感,可能是由于本文算法利用像素点之间的差异来判断是否属于同一背景。今后将进一步解决这些问题,以提高算法的稳健性。

猜你喜欢

轮廓建筑物卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
邻近既有建筑物全套管回转钻机拔桩技术
描写建筑物的词语
跟踪导练(三)
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
Relationship between mode of sport training and general cognitive performance
火柴游戏
儿童筒笔画