深度残差神经网络高分辨率遥感图像建筑物分割
Building Segmentation in High Resolution Remote Sensing Imageby Deep ResNet
通讯作者:
收稿日期: 2018-04-25 修回日期: 2019-06-15 网络出版日期: 2019-09-19
基金资助: |
|
Received: 2018-04-25 Revised: 2019-06-15 Online: 2019-09-19
作者简介 About authors
王宇(1978-),女,河南焦作人,讲师,主要从事遥感图像处理和土地利用规划方面的研究E⁃mail:
关键词:
Keywords:
本文引用格式
王宇, 杨艺, 王宝山, 王田, 卜旭辉, 王传云.
Wang Yu, Yang Yi, Wang Baoshan, Wang Tian, Bu Xuhui, Wang Chuanyun.
1 引 言
遥感图像是获取建筑物信息的重要渠道之一。实现遥感图像中建筑物的识别、分割及面积统计,对于国土资源管理、土地利用规划、灾害监控、军事侦察及导航等领域具有及其重要的意义。随着分辨率的逐步提高,遥感图像提供的地物信息更加丰富,这为建筑物的精确分割奠定了重要的信息基础,使得建筑物的自动识别、高精度分割及面积统计成为可能。
遥感图像建筑物分割的实质是:在遥感图像域内,通过有效的图像特征,构建遥感图像与建筑物之间的映射模型。因此特征空间的确立和映射模型的构建是实现建筑物高精度分割的关键。
在传统的遥感图像分割方法中(如分水岭算法[1]、主动轮廓模型[2]、统计区域融合[3]等),往往通过实验、归纳和总结,首先建立一个低秩的特征空间,并在此基础上应用数学工具建立分割模型,该模型一般具有显性的代数表达形式。如在分水岭算法中,集水盆函数是建立在区域内像素灰度基础之上的[1];在主动轮廓模型进化过程中,能量泛函是基于区域灰度或信息熵[2];统计区域融合模型的基础则是图像的区域同质性信息[3]。由于遥感图像到建筑物之间的映射关系往往呈现高维非线性,甚至难以用简单的代数关系描述。为此,神经网络[4]、支持向量机[5]等机器学习方法被用来代替人工建模过程,但由于网络层数少、计算量大等问题导致分割精度不高。
近几年,由于深度学习[6]能够自动提取所需的有效特征,并通过深层神经网络结构建立高维强非线性模型,使得图像处理的研究及应用发生了巨大飞跃[7,8,9]。在图像分割领域,2015年Evan Shelhamer等[10,11]首次提出全卷积神经网络(Fully Convolutional Networks-FCN),将VGG(Visual Geometry Group)深度神经网络[12]的全连接层改造为1×1×N的全卷积层,并成功应用于图像的语义分割,实现了目标特征的自动提取。为了减少网络结构中池化(Pool)操作降低特征图尺寸的影响,Badrinarayana[13]改变了FCN中全卷积层中1×1×N的卷积核结构,采用编码—解码(Encoder-decoder)架构完成分割目标特征的自动获取和分割图像的复原。为了提高FCN的分割精度,Fisher等[14]引入空洞卷积,通过特征图的感受野(Receptive Field)来提升输出特征的稠密度,从而使目标分割更加精准。基于相似原理并结合条件随机场原理,Chen等[15]提出DeepLab V1[16]图像分割算法,目前已经发展到了DeepLabV3,使得目标分割的精度得到了进一步提高。
基于深度学习的巨大优势,遥感图像处理领域正逐步引进深度学习方法。Vakalopoulou等[17]采用深度神经网络提取4 096维特征向量,在此基础上采用支持向量机实现像素的分类,并结合条件随机场完成建筑物的分割。Huang等[18]将遥感图像的RGB和NRG信息分开,构建两个10层的卷积神经网络提取各自的特征,通过最小化特征融合RGB和NRG的特征输出,并采用反卷积实现建筑物分割和输出复原。Saito等[19]建立一种由3个卷积层和2个全连接层组成的深度神经网络,用于遥感图像中建筑物和道路的分割。Yuan等[20]构建了一种多个特征图融合的深度神经网络,并在样本标签中引入建筑物的轮廓信息、区域信息和建筑物区域内至边缘的距离信息,提高了建筑物的分割精度。Bittner等[21]采用FCN神经网络和条件随机场相结合,实现遥感图像中建筑物的分割,其中FCN的输出作为条件随机场的一元势函数的输入值,而成对势函数的建立则是基于位置和色彩信息。Bischke等[22]采用VGG16网络构建了Encoder-Decoder的深度神经网络结构,在训练过程中使用了建筑物边缘的距离信息,并据此构建了多任务能量损失函数,加快了神经网络的训练速度,实现了建筑物的有效分割。Wang等[23]将FCN应用于高分3号极化雷达图像和H-A-α极化分解,对水域、植被和建筑物进行分类识别。Alshehhi等[24]提出一种Single Patch-based卷积神经网络结构,用于提取遥感图像中道路和建筑物的特征。Lin等[25]将FCN应用于遥感图像中近海岸线的舰船检测,其卷积层被分为浅卷积层和深卷积层两种,浅卷积层初步实现目标检测,深卷积层提取特征,再结合FCN实现近海岸线舰船检测与分割。Jiao等[26]针对高光谱遥感图像的分割问题,提出基于FCN的一种深度多尺度空间-频谱特征提取方法,实现了高光谱遥感图像中目标特征的提取和分割。
综上基于深度神经网络的遥感图像分割方法可知,特征空间的构建过程就是深度神经网络提取遥感图像特征的过程,其准确度是由深度神经网络的结构决定的,也必将影响建筑物分割的精度。同时,为进一步逼近分割模型的强非线性,神经网络的深度一般会设置得较深。这常常导致网络训练过程中的误差反向传播出现梯度弥散或梯度爆炸[27],使得深度神经网络难以训练。因此,实现建筑物端对端的高精度分割的关键在于构建合理的深度学习的框架和易于训练的深度神经网络的结构。
2 高分辨率遥感图像建筑物分割的挑战性问题
设遥感图像为I,像素点为gh×gw=g,gh表示I的高度、gw表示I的宽度,信息通道个数为c;若将图像拉直,则有I={x1,x2,…,xg}⊂Rg×c;遥感图像建筑物分割结果为Is={y1,y2,…,yg}⊂Rg×2。其分割流程如图1所示。
图1
建筑物分割的实质是建立一个从遥感图像I到分割结果Is之间的端对端的(End-to-End)映射关系f(·)。由于输入图像I的维度高、背景复杂且建筑物外形结构复杂多变,一般情况下f(·)是一个高维非线性模型,难以一次性建立Is=f(I)的映射关系,f:g×c→g×2。因此,将该过程分为两个步骤:首先提取特征,建立特征空间;然后在特征空间的基础上构建合理的分割映射模型fH(·),完成建筑物的分割。
设建立分割模型的特征空间为H=h1,h2,…,hn⊂Rn×m,则从I到H之间同样存在一个映射关系
随着遥感图像分辨率的不断提高,建立图像特征空间与建筑物之间的映射模型存在两个挑战性问题:
(1) 特征空间的维度大幅提升。对于同一建筑物而言,遥感图像分辨率的提高意味着表示该目标的像素必然增加。若I⊂Rg×c仅表示建筑物,则g一定随分辨率提高而增大。这必然使得遥感图像到分割结果之间的映射关系Is=f(I)呈现高维特性。
同时,分辨率的提升,使得遥感图像的结构、纹理、光谱等信息更加丰富,可被用于有效表征建筑物的特征数量必然增多,即遥感图像特征空间H的维度大幅增加。这必然使得人工构建
(2) 映射模型的非线性关系更加复杂。在低分辨率遥感图像中,一个建筑物可能只有几个或者几十个像素点表征,可通过特定的光谱信息(或灰度信息)直接建立简单的分割模型
3 本文算法架构及实施技术
3.1 算法总体框架
深度学习是通过大量样本的训练,使被训深度神经网络逼近真实模型Is=f(I),无需中间过程,从而可实现从输入图像到分割结果间端对端的任务模式。本文提出的高分辨率遥感图像建筑物分割深度学习框架如图2所示。
图2
图2
遥感图像建筑物分割深度学习框架
Fig.2
Deep learning framework of building segmentation in remote sensing image
每个批次输入样本包含遥感图像和建筑物标签两个部分。遥感图像经过深度残差神经网络得到特征图(由此扩张成特征空间H),实现建筑物特征的编码功能(Encoder)。然后采用反卷积构成解码器,通过对特征图的上采样完成建筑物分割,并将输出尺寸还原至遥感图像的原始尺寸。该过程实现解码的功能(Decoder)。解码结果与建筑物标签一起送到优化器,采用随机梯度下降法对残差神经网络和反卷积网络中的权值进行优化训练。当训练结束后,固定神经网络中的权值不变,此时的输出结果即为建筑物的分割结果。
图3
3.2 基于残差深度神经网络构建的Encoder结构
单层残差神经网络的实施框架如图3(c)所示。前端卷积层之后为激活层,最后一个卷积层输出与前馈信号叠加后激活输出。在前馈通道闭环中,可以包含多个卷积层和激活层,本文采用典型的2层卷积形式。
图4
图5
图6
图6
前馈闭环及通道扩容替换方法
Fig. 6
Substitute structure of feed-forward loop with expanded channel
3.3 反卷积构建的Decoder结构
遥感图像通过深度残差神经网络提取得到特征图,实现了编码的功能。在3×3的图像上采用1个2×2的卷积核,步幅S=1的卷积过程如图7所示。
图7
输入图像为向量
深度神经网络中,反卷积的过程是卷积的逆过程[32]。因此,式(1)的反卷积可看作是从Y到X的传播过程。设输出损失函数为Q,根据BP(Back Propagation)算法求卷积的反向传播,有:
根据式(1)有:
其中:
根据式(4)可知,反卷积实质是对输入左乘CT,因此反卷积也被称为转置卷积[32]。
采用反卷积实现Decoder功能。Decoder不仅需要通过提取的特征实现建筑物的分割,同时也需要将分割结果复原为输入图像的原始大小。因此,反卷积的信息来源不能仅限于Encoder的特征输出。在确保分割精度的基础上,为了降低计算量,经过大量实验,将Decoder的信息来源确定为Encoder的输出特征图和Conv4_4的输出结果,并将两个反卷积融合,实现建筑物的分割。反卷积实现Decoder功能的实施方案如图8所示。
图8
首先对Encoder的输出特征图进行反卷积,设输出通道为2(对应于2个分割种类);输出的尺寸对应于Conv4_4卷积层的特征输出尺寸。在融合Conv4_4特征输出之前,引入一个卷积核K=1,S=1,C=2的卷积操作,将特征图的通道都变为2。在融合这两个特征信息之后再次进行反卷积,设置输出通道为2,输出尺寸为遥感图像原始尺寸。此时输出的规格为[gh gw 2],即两个与输入图像尺寸相同的矩阵,若在此基础上引入softmax操作,两个矩阵分别表示每个像素点属于建筑物和背景的概率。当训练结束后,对输出结果的2个通道进行Argmax运算,得到建筑物的分割结果。
3.4 批量规范化
深度神经网络训练的过程是通过误差反向传播,采用随机梯度下降法等优化方法使权值收敛到最优值。随着神经网络层数的不断增加,可能引发梯度弥散或爆炸、过拟合以及权值震荡等问题,从而导致神经网络的训练更加困难。1.3节中所采用的残差神经网络不仅能更加精确地逼近真实模型,而且在一定程度上能抑制梯度弥散或爆炸。针对训练模型的过拟合问题,通常是采用Dropout技术,在每次训练过程中随机挑选一定比例的权值不参与此次训练,从而降低过拟合。针对权值震荡问题,主要是通过weight decay技术,使梯度下降过程中的步长逐渐衰减,以精确逼近权重的最优值。
在训练神经网络的过程中,数据流逐层传递,低层网络权值的变化必然引起输出数据的分布发生变化,这也是引发深度神经网络训练困难的原因之一。在每个卷积操作输入前,引入批量规范化(Batch Normalization)[27]技术对数据进行规范化处理,替代了Dropout、weight decay等技术,降低了神经网络的训练难度。
设所有样本为
其中:E(·)表示均值,Var(·)表示方差。则每一个卷积操作过程中,所有的训练样本都服从同一分布。然而,对于深度神经网络庞大的训练样本而言,求取所有样本的均值和方差计算量十分巨大。因此,采用批量规范化操作代替全局均值和方差。即计算每个训练批次样本的均值和方差,再对所有均值和方差取平均值,并以此替代全局均值和方差。设每次训练样本的数量为m,批量规范化的实现过程如算法1所示(表1)。
表1 批量规范化
Table 1
步骤 | 操作 |
---|---|
输入 | 获取当前批次训练样本: |
1 | 计算均值: |
2 | 计算方差: |
3 | 样本规范化: |
4 | 尺度变换: |
5 | 规范化输出: |
算法1的第4步是对规范化的信号进行重构,其中
4 实验及结果分析
4.1 数据资源及实验平台
以IAILD(Inria Aerial Image Labeling Dataset)遥感图像数据库[29]为对象,展开验证实验研究。IAILD遥感图像数据库提供地表面积为810 km²,分辨率为0.3 m的遥感图像,其中405 km²已经对建筑物做过精确标记,可作为训练样本。每个样本像素为5 000×5 000,共计180个。由于受GPU存储单元的限制,将每个样本裁剪成1 000×1 000像素大小,则共有样本4 500个,其中4 480个作为训练样本,20个作为测试样本。样本中的遥感图像为RGB 3通道图像,张量表示形式为[N, 1 000, 1 000, 3]; 标记图像为灰度图像,张量表示形式为[N, 1 000, 1 000],N为批处理时样本的个数。
实验平台搭载Intel-i7-7700K四核CPU处理器、32G内存、ASUS STRIX-GTX1080TI-11G显卡(GPU处理单元),深度学习框架采用Google公司的TensorFlow。
4.2 数据预处理及结果评价指标
在训练神经网络之前,对样本数据进行预处理:
(1)求取所有遥感图像的RGB(Red-Green-Blue)3个通道均值;
(2)每一幅遥感图像的RGB通道减去上述均值;
(3)将标记图像转换成2通道张量,[N,1 000,1 000,2],其中第1通道中建筑物位置为1,其余位置为0,第2通道数值相反。
为了量化评价分割结果,采用召回率(Recall Rate)、精确率(Precision Rate)和F值(F-measure)来评价分割结果,其计算方式如下所示。
其中:
召回率表示被分割为建筑物的像素点与真实建筑物像素点的比率。表征在不考虑遥感图像背景的情况下,建筑物分割的准确度。精确率表示被正确分割为建筑物的像素点与所有分割为建筑物的像素点的比率。精确率高表示能够将建筑物提取出来。F值是综合召回率和精确率这两项指标的评估指标,是用于综合反映整体的指标。
综合Vakalopoulou等[17,18,19,20,21,22]采用的深度学习框架,具有典型代表意义的是VGG全卷积神经网络、VGG与全连接条件随机场相结合的网络结构两种。为了验证本文提出算法的对遥感图像建筑物分割的有效性,在IAILD数据库上开展了与VGG全卷积神经网络(VGG)、VGG条件随机场网络(VGGCRF)的对比实验。为了表述简单,本文提出的算法采用ResNet表示。实验中,VGG采用文献[33]所示的结构,并且前13层神经网络的卷积核参数调用已经训练好的数值,全连接层F6、F7、F8的卷积核分别设置为[16, 16, 512, 1 024]、[1,1,1 024,2 048]、[1,1,2 048,2],最后融合多层反卷积结果实现建筑物分割结果输出。VGGCRF是在VGG的最后引入全连接条件随机场,具体结构见文献[22]。
4.3 对比实验及结果分析
深度神经网络的训练过程是通过对样本数据的学习,使得深度神经网络权值收敛的过程。3种网络结构均采用交叉熵作为训练的损失函数,训练过程如图9所示。由于残差神经网络的特殊结构和批量规范化技术使得神经网络权值更加容易训练,权重的收敛性能也更好。
图9
需要注意的是,即使在使用了批量规范化技术的情况下,VGGCRF的训练仍然较为困难。经过反复试验,笔者认为VGGCRF可采用两个步骤进行训练,可使网络的权值收敛。首先直接采用VGG网络训练,待建筑物出现分割迹象后,再引入全连接条件随机场一起参与训练,直到满足训练结束条件。三种网络的训练耗时如表2所示。
表2 深度神经网络训练耗时对比
Table 2
时间 | VGG | VGGCRF | ResNet |
---|---|---|---|
网络调用时间/s | 25.26 | 31.23 | 137.33 |
单个样本时间/s | 0.69 | 5.11 | 0.23 |
样本集一次训练时间/s | 3 328.94 | 23 222.35 | 1 418.86 |
由于ResNet网络结构比VGG、VGGCRF复杂,因此网络调用时间最长,但是单个样本的训练时间最短,则对应于样本集一次训练时间最短。VGGCRF中引入了全连接条件随机场,需要迭代计算所有像素对之间的成对势函数的值,因此训练耗时最长。
4.4 对比实验及结果分析
4.4.1 建筑物分割对比实验
实验选择包含复杂道路影响的建筑物、单体复杂建筑物和规律性分布建筑物等三种典型的遥感图像建筑物,采用上述深度神经网络框架进行分割实验,并对实验结果对比分析。其中,图10所示的遥感图像中包含较为复杂的道路。
图10
分析三种深度神经网络分割结果可知,三种网络均能分割建筑物,其中VGG能大致将建筑物确定在一定的范围内,但建筑物边缘信息准确性不高。VGGCRF对建筑物边缘的提取较VGG有所提升。ResNet能较好地提取建筑物的块状信息和边缘特征。同时三种网络对立交桥和阴影都出现一定程度的误分。其中VGG以图像轮廓信息为主导,误分结果表现为条状信息;VGGCRF在VGG基础上缓解了误分的发生;而ResNet提取的立交桥的片状信息。
分割性能评价指标如图11所示,可见ResNet能较大幅度提高这类遥感图像中建筑的召回率、精确率和F值。
图11
图11
包含复杂道路的建筑物分割性能指标
Fig.11
Performance index of building segmentation with intricate road
图12
图13
图14遥感图像中为单体建筑物,建筑物顶层有错层结构和大面积的阴影。此外,部分建筑物的色彩信息与其上方的道路近似,因此道路的影响更加明显。由分割结果可知,3种网络结构分割结果都出现了较大面积的误分。然而ResNet成功避开了左上角立交桥的影响,且对建筑物的边缘检测更为准确。但是相对于VGG而言ResNet对阴影干扰的鲁棒性不强,将大面的错层阴影误分为了背景,从而导致分割精确率较低,且F值不高。
图14
图15
图15
单体复杂建筑物分割性能指标
Fig. 15
Performance index of complicated single building segmentation
上述3种网络对建筑物的分割细节如图16所示。对比3种不同网络的分割结果可知,VGG能大致指示建筑物的范围,同时也能较好的提取受干扰较小的建筑物边缘;VGGCRF对直线型且无干扰的建筑物边缘提取十分准确,但是对于其他类型边缘存在明显的散点式误分。ResNet对建筑物的边缘提取较为准确,且分割结果成块状形态,相对于VGG和VGGCRF而言,对建筑物的分割更为精确。
图16
4.4.2 多分辨率遥感图像建筑物分割实验
图17
图17
多分辨率感图像建筑物分割细节
Fig.17
Building segmentation in remote sensing image with multi-resolution
图18
图18
多尺度遥感图像建筑物分割性能指标
Fig. 18
Performance index of building segmentation in remote sensing image with multi scale
对遥感图像进行压缩使得表示建筑物的像素点减少,必然导致获取的建筑物的信息减小。当压缩比例低至0.5时,本文算法仍然能对建筑物实现准确分割,召回率、精确度和F值均较高。但当压缩比例达到0.2时,本文提出分割算法对建筑物的分割精准度严重降低。
5 结 语
本文针对高分辨率遥感图像中建筑物的自动精确分割问题提出以残差深度神经网络为基础,构造Encoder-Decoder特征提取与分割复原输出的框架,并运用批量规范化技术手段,在IAILD遥感数据库上开展实验验证。实验结果表明,本文提出的算法计算量较小,对单一样本训练时间为0.23 s,样本集一次训练时间为1 418.862 s;在对邻近复杂道路的建筑物、规律性建筑物、单体复杂建筑物等3种典型建筑的分割实验结果中,分割精度分别达到了0.837、0.892和0.630;F值分别为:0.851、0.879和0.730。与VGG全卷积网络和VGG全连接条件随机场网络相比,本文提出的算法能有效避免复杂道路的影响,对建筑物的块状特征和边缘信息的提取更为准确,能获取更加精准的建筑物分割结果。此外,在多分辨率遥感图像分割中,对分辨率压缩比为0.2、0.5和0.8的3种不同分辨率的遥感图像分割精度能达到0.873、0.822和0.846;F值能分别达到0.911、0.881和0.896,表明本文算法对一定范围内的多分辨率遥感图像具有较好的泛化能力。
然而,对于楼顶结构存在错层和大面积阴影等干扰的复杂建筑物,本文提出的算法仍然存在边缘检测错误、分割精度不高的问题。在后续工作中,将重点研究如何消除复杂建筑物中错层及阴影的干扰,进一步提高建筑物的分割精准度。
参考文献
Object-oriented Classification of High Resolution Imagery based on Watershed Transform and Sptial Clustering
[J].
基于分水岭变换与空间聚类的高分辨率遥感影像面向对象分类
[J]. ,
Image Entropy Active Contour Models towards Water Area Segmentation in Remote Sensing Image
[J].
面向遥感图像水域分割的图像熵主动轮廓模型
[J]. ,
Speckle Reduction of Ultrasound Images with Anisotropic Diffusion based on Homogeneous Region Automatic Selection
[J].
基于同质区域自动选取的各向异性扩散超声图像去噪
[J]. ,
The Study on Oceanic Vector Wind Field Retrieve Technique based on Neural Networks of Microwave Scatterometer
[J].
微波散射计反演海面风场的神经网络方法研究
[J]. ,
Region-based Multiscale Segmentation of Panchromatic Remote Sensing Image
[J].
基于区域的多尺度全色遥感图像分割
[J]. ,
Reducing the Dimensionality of Data with Neural Networks
[J].,
Facial Expression Recognition via Learning Deep Sparse Autoencoders
[J]. ,
Motion Blur Kernel Estimation via Deep Learning
[J]. ,
Rolling Bearing Fault Feature Learning Using Improved Convolutional Deep Belief Network with Compressed Sensing
[J]. ,
Fully Convolutional Networks for Semantic Segmentation
[C],
Fully Convolutional Networks for Semantic Segmentation
[J]. ,
SegNet: A Deep Convolutional Encoder-decoder Architecture for Scene Segmentation
[J]. ,
Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs
[C],
Building Detection in very High Resolution Multispectral Data with Deep Learning Features
[C],
Building Extraction from Multi-source Remote Sensing Images via Deep Deconvolution Neural Networks
[C],
Building and Road Detection from Large Aerial Imagery
[C] ,
Learning Building Extraction in Aerial Scenes with Convolutional Networks
[J]. ,
Building Extraction from Remote Sensing Data Using Fully Convolutional Networks
[C],
Multi-Task Learning for Segmentation of Building Footprints with Deep Neural Networks
[EB/OL]..
Integrating H-A-α with Fully Convolutional Networks for Fully PolSAR Classification
[C],
Simultaneous Extraction of Roads and Buildings in Remote Sensing Imagery with Convolutional Neural Networks
[J]. ,
Fully Convolutional Network With Task Partitioning for Inshore Ship Detection in Optical Remote Sensing Images
[J]. ,
Deep Fully Convolutional Network-based Spatial Distribution Prediction for Hyperspectral Image Classification
[J]. ,
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
[EB/OL].
Deep Residual Learning for Image Recognition
[J].
Can Semantic Labeling Methods Generalize to Any City? The Inria Aerial Image Labeling Benchmark
[C],
ImageNet Classification with Deep Convolutional Neural Networks
[C],
A Guide to Convolution Arithmetic for Deep Learning
[EB/OL].
Fully Convolutional Networks for Semantic Segmentation
[J]. ,
/
〈 | 〉 |