基于深度学习差值分析的高分影像建筑物变化检测

2021-07-21 03:04刘星雨马紫雯周再文高贤君
北京测绘 2021年5期
关键词:差值建筑物像素

刘星雨 王 建 朱 恰 马紫雯 周再文 高贤君

(长江大学地球 科学学院, 湖北 武汉 430100)

0 引言

随着国家经济快速发展,城市建设不断增强,建筑物作为城市重要组成成分之一,其变化信息对城市管理、城市规划等业务具有重要意义[1-2]。现阶段的建筑物变化检测方法主要有两种,一种是依靠传统的人工方法进行调查取证,该方法效率低,综合性差、经济性低,消耗大量人力物力且无法做到全面检测[3]。第二种方法是利用监控摄像头,使用视频检测技术等设备,建成资源动态监测系统。该方法成本高、时间长、不适用于大范围的监测[4]。近年来,遥感技术突飞猛进,遥感影像因其具有分辨率高、覆盖范围广、调查周期短、回收方便、成本较低等特点使其在现实生活中的很多重要领域发挥着不可或缺的作用,如地图制图与更新、城市规划与管理、灾害应急响应、资源调查、军事目标识别等等。变化检测是遥感技术的主要应用之一[5],其中以城市建筑物作为重要的人工地物之一的建筑物变化检测,更是成为国内外学者研究的热点[6]。

建筑物变化检测一般包含两种模式:一种是直接进行变化检测,从检测结果中提取建筑物;另一种是先提取出建筑物后,再进行建筑物变化检测。由于第一种方法对纠正和匹配的精度要求较高,目前学者们多采用第二种模式进行建筑物变化检测研究[7]。遥感图像上的建筑物,具有很多特征,如阴影、形状、纹理布局等。目前存在的变化检测方法可分为基于像素的变化检测、基于特征的变化检测、基于目标的变化检测三大类[8]。基于像素的变化检测,是对不同时相的遥感图像进行像素级的比较,直接得出每个像素的变化情况,如张永梅等[9]提出了对多个时相的遥感图像进行基于比值法并结合对象特征的像素级变化检测。基于特征的变化检测主要是依靠提取出的色调、形状、结构纹理等特征信息进行比较分析。这种方法受配准精度影响小,且特征在图像上的表现一般具有稳定性,因此其不易受图像时相变化的影响。季顺平等[10]、袁修孝等[11]提出了基于阴影检测的建筑物变化检测方法。刘波[12]等提出一种基于正样本单分类器学习框架下的建筑物变化检测算法,利用一种单分类器和形状特征判定其变化。基于目标的变化检测最主要的特点是将图像看作多个具有语义信息的对象的组合,将其作为检测单元进行检测。林雨淮等[13]提出一种面向对象的建筑物变化检测和提取技术,刘莹等[14]提出利用图割能量函数模型的高分变率遥感影像建筑物变化检测。以上方法都获得了较好的成果,但基于像素的变化检测方法忽略了目标的整体性,且对前后时相图像配准精度要求高,像素之间的唯一偏差会产生大量的伪变化;基于特征的变化检测目前仍是多种特征的简单组合,将它们充分利用、取长补短从而获得更加准确可靠的检测结果仍需进一步研究;目标级的变化检测在研究和实际应用中难度较大。

差值分析法在变化检测中有广泛应用[15],但简单的差值法难以反映单一种类地物的变化情况且其阈值的设定对检测精度影响较大。鉴于目前的深度学习能够提取并分析从低至高的多层次信息,有利于提高建筑物检测结果的精度,为变化检测提供更好的检测基础。因此,本文提出一种结合深度学习及差值分析的遥感影像建筑物变化检测方法。首先利用全卷积深度学习网络对影像进行建筑物提取,将其优化处理后再利用差值法进行分析。本文的方法可以针对建筑物进行检测,去除阈值对检测精度的影响,提高检测精度。

1 差值法建筑物变化检测原理

1.1 基于深度学习分类验证的建筑物结果提取

1.1.1基于Unet的建筑物分类初提取

本文利用Unet模型对建筑物进行分类提取,它的基本结构是编码与解码,Unet模型如图1所示。先对图像进行卷积、归一化、激活、下采样,然后用卷积核进行反卷积对下层特征图进行上采样,上采样可以弥补网络下采样损失的信息,最终得出一张与输入图像尺寸相同的分割图。Unet是目前应用最广泛的一种图像分割模型,它能在很少的图片中对图片进行端到端的训练,并取得较好的结果[16]。经过深度学习初提取后得到的图像是一幅灰度图且包含很多非建筑物区域,因此我们需要对初提取结果进行优化。图1中数字表示通道数,图例中卷积层数字的单位是像素(pixel)。

图1 Unet模型图

1.1.2建筑物多特征联合验证优化

建筑物初提取后,利用建筑物的几何结构、阴影等特征进行验证,识别出真正的建筑物,去除初提取图像中的虚假目标,再通过特征点的提取与重构、多边形拟合等方法达到建筑物的边界轮廓优化的目的,解决轮廓不整齐等问题。

建筑物特征验证指数如高贤君等[17]提出的相交边界阴影比率η,其定义见公式(1),NESD为区域膨胀边界与偏移建筑物区域相交部分,NESD为EBSD上所有像素个数,NSD为EBSD上阴影个数,建筑物的η值较高而裸地的η值较低,可以通过对η设定合理的限定值来区分建筑物。

(1)

根据道路对象与建筑物在形状上的差异提出用来区分建筑物与道路对象的指数ILF,其定义见公式(2),L为矩形长度,W为矩形宽度,np为该对象像素的总个数。道路的ILF较大,建筑物的ILF较小,通过设置阈值可将道路与建筑物分开[18]。

(2)

此处的后处理优化主要是利用形态学和建筑物验证方法进行处理。以图2(a)所示的原始图像为例,进行基于深度学习优化的建筑物提取,图2(b)为深度学习的特征图,基于此提取初步结果进行优化后的结果如图2(c)所示。可以看出,建筑物基本能被准确地提取出来。

图2 基于深度学习建筑物提取结果

1.2 基于差值原理的多时相建筑物变化检测

变化检测的方法多种多样,差值法是其中应用较为广泛的方法之一,其概念简单直接、易于理解、方便运用、具有很强的实用性[19]。

1.2.1差值法基本原理

差值分析法的基本原理是对多时相图像进行配准后用相对应像元的灰度值做减法,结果即代表了变化部分。差值法的表达公式如式(3)所示。

D(i)=|T1(i)-T2(i)|

(3)

式中i代表像元的坐标(x,y),T1、T2代表前后两个不同时相的图像。建筑物的变化分为增加的建筑物和减少的建筑物两部分,增加的建筑物用式(4)表示,减少的建筑物用式(5)表示。

D(i)=T2(i)-T1(i)

(4)

D(i)=T1(i)-T2(i)

(5)

得到初步结果后,可以根据实际情况设置一个阈值,小于该阈值的视为未变化,大于该阈值的则为变化区域[20]。

1.2.2多时相建筑物结果的差值处理

影响遥感影像的因素很多,且其包含的地物种类多种多样,建筑物只是其中一种,将差值法直接运用到建筑物变化检测中显然会存在很多误差和噪声。

本文的方法流程见图3。利用差值法进行运算前,先对前后两个不同时相的遥感影像进行处理。T1、T2分别为前后两个不同时相的遥感影像,利用深度学习的方法提取出两个不同时相图像的建筑物,然后对得到的提取图像进行优化,包括建筑物验证和边缘处理两部分,得到只包含建筑物的二值图像,1代表建筑物、0代表背景,最后使用差值法对两幅图像做减法,得到的结果仅反映了建筑物部分的变化,不受图片其他地物的影响。

图3 本文方法流程图

1.2.3差值结果的形态学后处理

利用差值法思想,用后时相结果减去前时相结果,可以获取建筑物增加的部分,如图4(a)所示。反之可以获取建筑物减少的部分,如图4(b)所示。但其未经处理的图像有很多噪声,影响了对变化建筑物的判断,因此,进一步利用形态学的腐蚀、膨胀等方法对差值检测的基本结果进行优化处理,以修复问题区域。

图4 差值法形态学优化结果

灰度数学形态学的运算对象为图像函数,设f(s,t)是输入图像,b(x,y)是结构元素,Df和Db表示f和b的定义域,用结构元素b对图像f进行膨胀的运算见公式(6)

(f⊕b)(s,t)=max{f(s-x,t-y)+
b(x,y)|(s-x,t-y)∈Df,(x,y)∈Db}

(6)

用结构元素b对图像f进行膨胀的运算为

(fΘb)(s,t)=min{f(s+x,t+y)+
b(x,y)|(s+x,t+y)∈Df,(x,y)∈Db}[21]

(7)

膨胀可以扩大边界,使图像边界向外扩张,消除单个块边缘预测弱的现象,可以用来填补目标区域中的空洞,起到平滑对象边缘的作用,对图像进行膨胀会使明亮区域的面积扩大[4]。

腐蚀可以平滑对象边缘,弱化或分割图像之间的半岛形连接,是一种可以使图像向内收缩的过程,使用腐蚀处理对于去除小的、孤立的无意义的区域有很好的效果。建筑物提取的结果中,可能会存在前后时相建筑物边界之间有细小的差异的情况,这些细小的差异是没有意义的,它们不代表建筑物的变化,对于这种情况,使用腐蚀的方法可以很好地去除。

但是单独使用腐蚀膨胀算法的效果并不好,并且还会使图像的质量下降,连续的腐蚀和膨胀可以降低对图像面积的影响[22],因此本文采用形态学中的组合运算:开运算与闭运算。开运算就是先腐蚀后膨胀,闭运算是先膨胀后腐蚀。

用b对f进行开运算的定义为

f·b=(fΘb)⊕b

(8)

用b对f进行闭运算的定义为

f·b=(f⊕b)Θb

(9)

开运算可以去掉图像的单个像素点,在纤细处分离物体,使图相边界相对平滑且不明显改变其面积,闭运算主要功能可以填补图像中小的孔洞,本文使用参考点位于中心15 pixel×15 pixel的结构元素,对图像进行开运算。

以图4所示影像的前后时相图像为例,对提取的建筑物进行差值计算后的结果进行优化,最终的结果如图4(e)、(f)所示。可以看出,该方法可以较为准确地检测出变化的建筑物,排除一些细碎杂物的干扰。

2 实验分析

本实验中原始输入影像大小为512 pixel×512 pixel,从而构建特征金字塔。实验的编程语言为python,编程平台为JetBrains PyCharm 2017.1。实验环境为:i7-9700k处理器,32 GB内存,NVIDIA RTX2080Ti 8 G显卡,GPU加速库采用CUDA10.0。DeepLearning框架以Keras作为前端,TensorFlow为后端。

为了更好比较两种方法的实验结果,本文采用式(10)表示的准确率A(Accuracy)、式(11)表示的召回率R(Recall)、式(12)表示的精确率P(Precision)来进行评定,其中ncorrect表示正确的样本个数,ntotal表示总样本个数,TP(True positive)表示将正类正确预测为正类数,FP(False Positive)表示将负类错误预测为正类数,FN(False Negative)表示将正类错误预测为负类数。

(10)

(11)

(12)

为了实验本文提出的方法与直接差值分析法的效果,以图5~7为例进行建筑物变化检测。变换的建筑物已在图像中标注。表1给出了精度对比,由表1中数据可以看出,本文方法的准确率、召回率、精确率皆高于简单差值法。尤其是召回率和精确率得到了大幅度提升。

表1 不同方法变化检测精度比较 单位:%

从图5~7所示的三组影像的结果对比可以看出简单差值法能检测出部分变化信息,但准确度不高,容易受除建筑物外其他地物的影响,如车辆、耕地等。检测结果中对房屋轮廓等边缘信息的检测较为明显,对细节的检测结果较差,且含有大量的伪变化信息。本文提出的检测方法可以准确地检测出变化区域,清晰地体现建筑物的边缘和细节信息。简单差值法是在灰度图的基础上直接进行差值分析,受阴影、天气、阈值等因素影响较大,本文方法先提取建筑物并将灰度图转化为二值图像,避免了道路、植被、耕地等地物的干扰,转化为二值图像后极大地减少了阴影和天气造成的影响。

图5 影像A建筑物变化检测结果

图6 影像B建筑物变化检测结果

图7 影像C建筑物变化检测结果

3 结束语

针对目前人为进行建筑物变化检测存在的效率低、工作量大等问题,结合图像差值法在变化检测中的广泛运用,本文将图像差值法与建筑物变化检测相结合,提出一种先对遥感影像进行建筑物提取、优化,再引入差值法对提取结果进行变化检测的方法。一方面该方法较为简单,便于理解、易于实现,能清楚地反映变化区域,另一方面它极大地减小了普通的差值分析法中阈值的设定对变化检测精度的影响。在腐蚀、膨胀处理后更是可以减少图像噪声,使图像质量更高更完美,清晰地突出变化部分。

该方法能有效地检测变化的建筑物,在实际应用中效果显著,但由于前后时相图像的匹配偏差以及投影偏差,在后处理时选取的开运算的核可能会在一定程度上影响检测精度,这也是后期需要深入研究的地方。

猜你喜欢
差值建筑物像素
像素前线之“幻影”2000
描写建筑物的词语
“像素”仙人掌
爆炸过后
关注
清丰县新旧气象观测站气温资料对比分析
Relationship between mode of sport training and general cognitive performance
高像素不是全部
火柴游戏
阳泉站站址迁移对观测资料的影响分析