APP下载

Faster-RCNN和Level-Set结合的高分遥感影像建筑物提取

2019-05-29左俊皓朱晓龙任洪娥

液晶与显示 2019年4期
关键词:轮廓建筑物卷积

左俊皓,赵 聪,朱晓龙,任洪娥,2*

(1. 东北林业大学 信息与计算机工程学院,黑龙江 哈尔滨150040;2. 黑龙江省林业智能装备工程研究中心,黑龙江 哈尔滨 150040)

1 引 言

近些年来,科学研究从高分辨率遥感影像获取更加精细丰富的影像信息。在遥感影像的各类地物信息中,其中建筑物提取是城市高分辨率遥感影像的主要应用研究之一。建筑物的分布以及对目标建筑物的提取包含许多信息,提取遥感影像中的建筑物是遥感图像解译中的重要研究课题之一。由于建筑物在结构和定位信息上特征明显,适合采用深度学习自动提取其空间特征,所以利用深度学习算法在遥感影像中快速自动地提取建筑物十分具有现实意义,并且可以为城市规划管理提供一定的指导意见,从而推进数字城市的建设。

目前,国内外对于遥感图像建筑物提取进行了很多研究。单一的基于像元的信息提取方法不能充分利用高分遥感影像信息丰富的优势[1],因此存在很大的应用局限。针对高分影像的特点,Baatz M和Schape A提出将图像分割技术应用到遥感影像领域,即为面向对象的影像分析方法[2]。Taejung Kim等通过边缘线段寻找可以建筑物构成的目标线段,从而提取出建筑物,但是该算法存在时间代价和误差较大的问题[3]。Karantzalos[4]提出建筑物形状模型结合建筑物自身几何属性,结合水平集分割算法,取得较好的建筑物提取结果;梁华等[5]利用深度学习技术对航空影像对地面目标进行检测;周筑博等[6]利用深度卷积神经网络对输电线路的可见光图像进行目标检测。

高分辨率遥感影像单类目标识别算法需要具有够快速准确地识别出尽可能多的目标的特点和一定程度的泛化能力。针对在高分辨率遥感影像单类目标识别问题中存在的部分问题,本文提出了一种由粗到精的目标识别算法。首先,使用Faster-RCNN网络下的VGG16模型代替 Level-Set算法中人工确定初始轮廓的步骤,在高分辨率遥感影像上快速提取一定的候选目标区域,可以视作目标的粗略识别过程。然后,利用Level-Set算法对候选目标区域精细的提取,该过程是对粗略识别结果的进一步精细处理,是目标的精细识别过程。

2 研究技术与方法

传统水平集方法存在初始轮廓线必须包含目标物体或完全置于目标的内部(或外部),并且初始轮廓的确定受人为因素影响较大等问题。本文提出Faster-RCNN框架下的VGG16的模型和Level-Set算法结合,来解决Level-Set算法中图像分割结果初始轮廓受人为标记框选的影响较大的问题,利用Faster-RCNN模型确定初始化轮廓,再对初始轮廓进行精细化分割。

2.1 Faster-RCNN

遥感影像包含信息量大、背景环境复杂,而单类目标在影像中所占比例较小。传统的区域生成算法虽然能够粗略提取感兴趣区域,但该感兴趣区域中包含大量冗余的背景信息。与需求提取的目标信息有着一定的出入,这些背景区域对于进一步的分析研究有着很大的干扰。而本文利用Faster-RCNN粗提取目标建筑物的轮廓,只需要简单的特征提取和分类器就能判断出是否包含目标,为之后的精细化分割做准备。

Faster-RCNN是把整张高分影像进行归一化处理后直接传入CNN,并在之后的卷积层输出的feature map上,添加相应的候选框信息,这样使得之前的CNN运算结果得以共享。此种算法的特点之一是对每张图像CNN特征和建议区域都一次性提取完毕,训练数据之接存储在GPU内存中的Loss层,因此候选区域的计算过程中,前几层特征不需要再重复计算而且不再需要在硬盘中存储大量实验数据,这一优点使其非常适用于解决大量样本中的快速分类问题。

Girshick[7]提出主要应用于目标检测的Faster-RCNN模型,该模型特点是将特征提取、分类等问题统一集中在一个网络模型中,由此开辟了候选框选取的新方向,与以往的滑动窗口和金字塔的办法有不同,该方法对窗口采用1∶1,1∶2,2∶1三种比例进行选取候选框,提高检测准确率并加快了检测速度。

Faster-RCNN是一种深度卷积神经网络的目标检测算法,结构如图1所示。Faster-RCNN主要分为RPN(Region Proposal Network和Fast-RCNN)两大模块。其中RPN模块主要用于预测输入的遥感影像中可能包含目标的候选区域,也就是区分是目标还是背景;而Fast- RCNN用划分候选区域,并修正候选区域的边界框即为检测模块。两个模块使用共享的卷积神经网络来提取感兴趣目标区域。

图1 Faster-RCNN网络结构Fig.1 Faster-RCNN network structure

将待检测的图像输入卷积层,通过卷积层计算之后得到该图像对应的feature maps,将原始图片输入RPN(并不是feature maps),ROI池化层的作用是提取卷积层输出的feature maps和RPN输出的候选框特征块,将上一步的结果输入全连接层,全连接层将会进行分类和回归输出结果。

卷积层由卷积函数、relu函数和池化层3部分构成。其中卷积层的主要功能是提取输入遥感影像的特征块[8]。卷积核大小设定为3×3,进行卷积运算之前需要对目标影像进行0值填充。假设输入图片大小是M×N,经过填充之后大小变为(M+2)×(N+2),之后进行卷积运算卷积操作后图片大小变为M×N。

(1)

第一步将RPN输出的候选特征块平移,平移使特征块和目标块二者的中心点重合,即:平移只改变特征块的中心点坐标px和py,公式如下:

(2)

(3)

然后将RPN输出的候选框特征块缩放,使得输入原始的初始轮廓经过缩放得到一个跟目标块更接近特征块,缩放改变特征块的宽pw和高ph,公式如下:

(4)

(5)

最后通过对RPN输出的候选特征块进行平移和缩放操作,从而回归最接近标定(Gx,Gy,Gw,Gh)是回归的主要任务。

2.2 Level Set水平集方法

前一阶段的Faster-RCNN对目标轮廓的粗识别阶段剔除了大量不包含目标的背景区域,提取少量感兴趣区域。但这些感兴趣区域通常包含部分或者完整的待识别目标,必须对粗识别结果进行精细分割,才能对更复杂的特征加以区分。因此,在对高分遥感的提取目标精细识别阶段,对目标粗识别的结果使用Level-Set算法精细分割,最终收敛到目标建筑物边界轮廓。该算法在抗噪性、鲁棒性和分割精度3个指标上都较传统的图像分割方法有优势。

传统的Level-Set算法虽然已经成为了一种重要的图像分割方法,但仍然存在一些缺点: 例如确定初始轮廓受人为因素影响较大继而影响实验精度,迭代次数和权系数γ的值等不具有自适应性[9]。

水平集方法(Level Set Method)由Osher和Sethain于1988年最早提出,早先用于计算火苗的外形变化过程[10]。火苗外形是动态变化的并且其拓扑结构也在不断变化,利用水平集方法解决[11]。

Level-Set的基本思想是将变换的曲线作为零水平集然后嵌入进高一维的函数中,由高维曲面演化过程就可以推演出零水平界面的点的位置,就可以得到函数的演化方程。

(6)

(7)

在计算曲线变化方程中水平集函数的一阶导数和二阶导数时,利用水平集函数的有限差分进行计算。如定义6个有限差分算子:

(8)

将式(7)改成满足“熵守恒”条件的有限差分迭代格式为:

(9)

(10)

(11)

这种差分方法就称为迎风有限差分法(Upwind finite differential method)[13]。

当利用水平集方法分割图像时,需要设置速度函数,用以确保零水平集曲线演化到图像边界时能够恰好停止。通常,可将式(6)中的速度函数F写成如下形式:

F=Fprop+Fcurv+Fodv,

(12)

其中,Fcurv=-εk表示曲率演化速度,Fprop=Vo为常量演化速度,Fodv=U·N表示水平对流速度,U=(u(x,y,t),v(x,y,t))。因此,式(11)可改写为:

(13)

通过解算上述差分方程式,利用迭代时刻更新水平集函数,更新完成之后再利用轮廓检测方法获得最新的零水平集,最终得到了的闭合轮廓线[14]。

2.3 数据集及预处理

本文选用IAILD数据集作为研究数据集。其中每幅遥感影像是覆盖地理面积为405平方公里,空间分辨率为0.3 m的航空正射高分辨率遥感影像 。这些高分遥感影像覆盖了不同的城市居民点,从人口稠密地区到郊区乡村人口密度较小的地区。IAILD数据集具有180张5 000×5 000像素高分遥感影像,并提供了相应的掩码图片,如图2所示。

图2 芝加哥地区部分遥感影像Fig. 2 Partially remotely sensed images of the Chicago area

由于原始图片尺寸过大,直接使用进行目标建筑提取会造成内存溢出等一系列的问题。因此,我们对每幅遥感影像进行分割,调整成为500×500像素大小的影像。最终,将图片以2∶1∶1的比例分成3个数据集,得到了训练集(2 500张)、验证集(1 250张)、测试集(1 250张)。

3 实验步骤

3.1 利用Faster-RCNN网络模型的测试结果确定初始轮廓

在目标建筑的粗提取阶段,采用Faster-RCNN网络下的VGG16模型对目标区域进行提取,过程如图3所示。

图3 Faster-RCNN网络模型Fig.3 Faster-RCNN network model

(1)RPN网络训练。

该网络使用ImageNet预训练的模型进行初始化,然后利用训练数据进行训练,训练中,利用零均值标准差为0.01的高斯分布随机初始化所有新的图层,训练为模型M1。下一步使用M1生成建议区域P1。

(2)Fast-RCNN 检测网络训练。

Fast-RCNN检测网络利用ImageNet预训练的网络初始化Fast-RCNN模型,使用第一步RPN生成的建议区域P1得到训练模型M2。

(3)联合调优

RPN和Fast-RCNN两者都需要一个原始特征提取网络[15]。利用上一步的网络训练得到的检测网络初始化区域的生成网络。用M2初始化RPN训练的得到模型M3,并生成建议区域P2。接下利用M3以及P2训练Fast-RCNN得到最终模型M4,不同的是这一阶段的训练固定了共享的卷积层的参数,只微调区域生成网络的全连接层。由以上训练可知,RPN和Fast-RCNN最终可共用同一个卷积神经网络,结果使得整个提取识别过程转换为既定的卷积运算,即可完成检识提取过程,构生成一个统一的网络,彻底解决了以前存在的时间长开销大的瓶颈问题。每一阶段的迭代次数如表1所示。

表1 Faster-RCNN各阶段迭代次数

Tab.1 Number of iterations of each phase of Faster-RCNN

训练阶段网络迭代次数1RPN40 0001Fast-RCNN20 0002RPN40 0002Fast-RCNN20 000

3.2 改进的距离保持水平集算法

3.2.1 确定初始轮廓曲线

因为在水平集算法中,活动轮廓只能根据符号进行单向演变,而初始化曲线必须全包围目标区域或者位于目标区域外部[16]。本文采用了Faster-RCNN网络模型测试出来的结果来确定建筑物的初始轮廓曲线,在这一步骤中提高了Level-Set算法的精度。

3.2.2 自适应控制水平集演化

由于距离保持水平集的中值是固定值,这将导致零水平集在捕捉目标轮廓和不发生边界泄漏两方面无法兼顾。自适应控制演化停止距离保持水平集方法的迭代次数是固定值,如果设定的迭代次数偏少时,图像将出现还没有分割完成但是迭代就已经停止,不能达到对目标的合理分割效果; 当设定的迭代次数较多时,对目标的分割已经完成,但是零水平集却还在进行冗余的演化,等于增加了程序运行的时间成本。本文提出的解决方法是检测相邻 10 个的初始轮廓曲线对应的系数值,假设这 10个值的方差小于某一设定的阈值,则迭代停止。

3.2.3 结合Level-Set算法实现图像精细化分割

从图4可以看出,利用Faster-RCNN分割出的建筑物还有一些小的瑕疵,过拟合、识别率低、无法精确到轮廓、有一小块区域建筑物部分,在分割的时候漏掉了。因此,本文结合Level-Set法,对前文利用Faster-RCNN分割出的建筑物轮廓再次进行精细分割。具体步骤如下:

(1)选取适量的轮廓进行测试,确定收敛所需要的迭代次数以及能量参数。

(2)将初试区域信息保存到表格中,按行分类,方便批量读取。

(3)编写批处理程序,每次循环读取表格中一个框区域,并根据参数进行收敛,收敛完毕后记录区域。

(4)完成全部收敛后进行区域合并。

图4 使用Faster-RCNN网络模型训练后的测试结果Fig.4 Test results after training using the Faster-RCNN network model

4 实验结果与算法评价

本文方法在高分遥感影像上进行了多组实验以验证其分割效果。

实验 1 中, 待分割影像是包含部分缺损的建筑物影像,建筑部分被遮挡且图像受高斯噪声干扰。 图5(a)SVM方法由于仅考虑遥感影像自身的像素信息,无法将目标检测为建筑;图5(b) K-Means方法对噪声较敏感,提取了无意义的建筑物边缘;图5(c) 方法利用了Faster-RCNN框架下的VGG16模型进行对建筑物的初步识别与提取,图5(d) 使得轮廓曲线在向目标边缘运动的同时再利用Level-Set精细分割, 故Faster-RCNN框架与Level-Set算法结合可将被遮盖的建筑物正确提取出来。实验1表明: 由于利用Faster-RCNN提取建筑物的初始轮廓,使得本文方法可以更有效分割被遮盖的目标建筑物,并对噪声鲁棒。

图5 实验1:带有噪声的遥感部分建筑物缺损影像的分割结果Fig.5 Experiment 1:Segmentation result of building defect image of remote sensing part with noise

实验 2 中,待分割影像为受树木阴影遮挡的建筑物。 受背景中部分与目标相近的深色像素影响,图6(a)SVM方法提取了一些无意义的边缘; 由于目标被遮挡,图5(b) K-Means方法仅考虑图像的本身的像素信息,故无法正确分割出完整的目标建筑物;图6(c,d)方法集成了由粗到精的遥感影像单类目标识别方法的优点,并且利用Level-Set使得曲线的当前形状与建筑物轮廓尽量地靠近。故Faster-RCNN网络模型与Level-Set算法结合可以将建筑物被遮盖的部分正确分割。实验 2表明: 本文方法能够正确分割遥感影像中被树木阴影遮挡的建筑物。

图6 实验2:对受树木阴影遮挡的建筑物影像提取过程与结果Fig.6 Experiment 2:Image extraction process and results of buildings obscured by trees

实验3中,待分割图像建筑物因为光照而产生阴影遮挡,导致建筑物与背景更加难以区分。 图7(a)SVM方法受到周边建筑的干扰,无法准确识别每一个建筑;图7(b)方法也将建筑物的阴影当作目标建筑物的边缘错误地分割;图7(c,d)方法通过Faster-RCNN识别提取建筑物轮廓,Level-Set再进行精细分割准确的提取目标建筑实验 3 表明: 本方法能够有效地分割遥感影像中被遮挡的目标建筑物,受到背景中与目标灰度值近似的像素的影响较小。

图7 实验3:待分割目标的建筑物之间紧密连接影像提取过程与结果Fig.7 Experiment 3: The process and results of image extraction with close connection between buildings to be segmented

5 结 论

本文通过对图像分割中的Level-Set算法以及Faster-RCNN框架下的VGG16的模型进行研究,并给出了这两者结合之后的建筑物提取模型。利用这两者算法的结合对高分遥感影像进行了建筑物提取实验,并与传统的遥感影像提取方法作比较,结果显示本文所提出的结合Faster-RCNN框架下的VGG16的模型的Level-Set算法对于高分遥感影像的建筑物提取效果较好,解决了Level-Set算法中图像分割结果初始轮廓受人为标记框选的影响较大以及Faster-RCNN框架无法精确提取目标轮廓的问题。实验表明在提取被遮盖目标建筑物和与背景灰度值相近的取建筑物时,该方法能够更好地完成对目标的提取分割。能够实现只需将高分遥感影像数据集输入到训练好的网络模型中,即可提取建筑物的轮廓,具有高效以及精准的特点。

猜你喜欢

轮廓建筑物卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
邻近既有建筑物全套管回转钻机拔桩技术
现代中小河流常用有坝壅水建筑物型式探讨
OPENCV轮廓识别研究与实践
卷积神经网络的分析与设计
基于实时轮廓误差估算的数控系统轮廓控制
描写建筑物的词语
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
高速公路主动发光轮廓标应用方案设计探讨