利用U-net网络的高分遥感影像建筑提取方法

2020-07-31 03:10张浩然赵江洪张晓光
遥感信息 2020年3期
关键词:高分辨率建筑物像素

张浩然,赵江洪,张晓光

(1.北京建筑大学 测绘与城市空间信息学院,北京 102616;2.现代城市测绘国家测绘地理信息局重点实验室,北京 102616;3.建筑遗产精细重构与健康监测北京市重点实验室,北京 102616)

0 引言

建筑物是人们必不可少的生活和活动场所。运用遥感图像进行建筑物的目标提取作为遥感影像分割的一个分支,一直是被研究的热点[1-2]。

高分辨率光学遥感影像具有地理纹理信息丰富、成像光谱多,重访时间短的特点[3]。在遥感科学中,分辨率对于一张遥感影像来说是一个非常重要的评判指标,它直接关系到影像的使用价值[4]。高分辨率遥感影像的问世为遥感技术在建筑物的提取应用上提供了更好的便利条件[5]。

传统的遥感影像建筑物提取方法对于高分辨率遥感影像的分割,会存在图像质量与算法效果2个方面的难题[6-7]。一方面,由于科技水平的迅速提高,建筑物的设计更加新奇,致使其形状千姿百态,影像中的建筑物轮廓更加趋于不规则,更加复杂。显然,传统遥感影像因其较低的分辨率已经远远不能满足对现代建筑物特征及细节的表达。然而,因高空间分辨率遥感影像的分辨率显著提高,地物的细节信息、几何结构与纹理特征的表达变得更加丰富、显著,使得传统遥感影像细节表达不足的问题迎刃而解。另一方面,分辨率的提升导致了数据量的成倍增加,对于算法的高效性也提出了新的难题。高分辨率遥感影像细节丰富,直接加大了类内混合像元及阴影等因素的影响,同类地物在影像上的形态与特征可能大相径庭;再加上建筑物和各色道路、公园、停车场等设施通常分布紧密,使得高分辨率遥感影像虽然增大了目标地物的类内差异、减小了类间差异,但是“同物异谱,同谱异物”的现象却变得更加普遍、明显。因此,运用传统遥感影像分类技术进行分类常常会导致提取精度过低、边界不完整等问题。

基于像元的分类方法的前提是需要遥感影像拥有极其丰富的光谱信息,并且影像中地物需具有异类地物光谱差异较为明显,而同类地物差异不大的特点才能保证分类的产品满足遥感工作需要。因此基于像元的分类方法并不适用于光谱信息不足(波段较少),且“同物异谱,同谱异物”现象明显的高分辨率遥感影像。若仅靠像元信息进行分类,忽略地物的纹理结构等信息,势必会导致分类精度降低,分类边缘不完整的结果。此外,基于像元的影像分类法运算速度较慢,且极易产生噪声。这进一步证明了基于像元的传统分类方法并不适用于高分辨率遥感影像的分割处理。效果如图1所示。

图1 原始影像与最大似然分类法效果对比

图1(b)为最大似然法对图1(a)高分辨率遥感影像的分割效果,其中红色部分为分割出的建筑物。从图中的分割结果可以看出,建筑物与周边地物混淆现象十分明显。因此,基于像元的分类方法已无法适用于分割高分辨率遥感影像的工作。

面向对象分类方法中的关键是影像分割。较为广泛使用的分割方法有区域分割法、多尺度分割法和基于纹理的分割法等。影像分割质量的优劣与分割方法及分割参数的选择密不可分,这也直接决定了分割对象的形状、数量等指标,进而对后续的分类结果产生影响。然而,目前并没有一套通用的方法来确定分割参数。若将研究重点放在影像对象的特征表达上,越充分的特征表达就越需要人工的参与,如此一来就增加了分类的复杂程度。影像分类是利用分类器对提取的特征进行分类的步骤。较为有效的机器学习算法的分类过程中,只有有限的线性组合或非线性变换组合,不能充分学习特征向量的复杂结构信息,用于复杂、数据量大的样本时会直接导致分类精度不高的问题。虽然也有如基于归一化切割法(normalized cut,N-Cut)演变而来的Grab Cut算法仍被现代图像处理工作使用,其作为一种迭代式语义分割算法,利用图像中的纹理及颜色信息和边界反差信息,运用少量的人机交互操作,即可得到前后背景分割效果。但该算法仍是根据图像像素自身的低阶视觉信息进行的图像分割,没有训练过程,会导致在对较复杂的影像进行分割时,产生地物提取边界不完整的问题[8],效果如图2所示。

图2 原始影像与Grab Cut法效果对比

图2(b)为Grab Cut法对图1(a)高分辨率遥感影像的分割效果,其中,彩色区域为被分割出的建筑物。Grab Cut法虽然可以仅介入少量的人工干预,利用图像中的像元间差异提取建筑物,但从分割效果可以看出,其依然没能摆脱周围地物对分割效果的影响,分割效果仍不理想;且仅仅可以分割单一对象,虽可以通过编程解决多个对象的分割需求,但多个对象的分割就意味着更多人工的介入。因此可以得出结论,传统的面向对象的分类方法也已经无法适用于高分辨率遥感影像的地物分割工作。

上述传统建筑物目标提取方法中存在的问题充分说明,对于高分辨率光学遥感影像这种波段较少,分辨率高,地物类间、类内差距均易产生混淆的数据,处理的关键在于如何高效地表达、学习地物特征。因此,高分辨率遥感影像有必要采取更加高效、准确的方法进行分类。

深度学习是机器学习中一种基于数据表征的学习方法,数据可以使用多种方式来表示,如图像中每个像素强度值的向量,或者成一系列边、特定形状的区域等可用更抽象的方式来表示[9]。深度学习的优势是运用半监督式的特征学习和分层特征进行提取,用高效的算法来替代手工获取的过程,节省了人力和时间,使得遥感高分辨率影像的处理变得更加高效。

深度学习中的卷积神经网络(convolutional neural networks,CNN)[10]与全卷积网络(fully convolutional networks,FCN)[11]分别存在会丢失像素位置信息,只能输入固定图像尺寸[12],跳跃层结构存在较少分割结果模糊、训练耗时较长的问题。

U-net神经网络是由FCN演变而来的一个语义分割网络。其既考虑到了图像的全局信息,又考虑到了图片的细节信息,这使得建筑物分割工作的精度大大提升,通过将编码器的每层结果拼接到译码器中以得到更好的分割结果。但由于U-net神经网络采样操作涉及反卷积层,虽可以将特征图原始恢复,但影像中的建筑物特征也因此损失,造成了建筑物边缘模糊的问题。

因此,本文引入了基于全连接条件随机场(fully connected conditional random fields,CRFs)对U-net分割影像结果进行后处理。全连接CRFs模型以像元间关系作为参考,进一步优化分类结果,并消除摄影倾角导致的倾斜墙面影响。本文的技术路线如图3所示。

图3 本文技术路线

本文的重点研究内容在于:如何根据影像数据实现U-net神经网络分割图像及全连接CRFs处理模型进行分割后处理,并根据实验通过更改输入数据及调试参数等操作尝试优化分割效果。

1 利用U-net神经网络的高分辨率光学遥感影像建筑物提取

深度学习采用多个层次对来构成神经网络。组成包括输入层、隐含层、输出层的多层网络系统,具有优异的特征学习能力[13]。此外,基于深度学习的处理方法在模型结构上往往有多层隐层节点,相比传统的分类方法更注重于模型结构的深度;在分类思路上,深度学习更是把特征表示存储到一个新的空间,通过逐层变换特征使得分类更加容易实现。

1.1 实现U-net神经网络

U-net是一个没有全连接层的全卷积神经网络,其输入和输出均为图像[14]。U-net神经网络是一种编码器-译码器结构,只需一次训练就可以达到很好的分割效果,且因其延用了FCN的“浅层定位,深层分割”的特点,可以保证像素位置信息不丢失。U-net共有23 个卷积层,包括3像素×3像素特征提取卷积、上采样2像素×2像素卷积,及最终的映射1像素×1像素卷积,其处理流程如图4所示。

图4 U-net处理流程

本文采用的U-net模型沿用了与原作相同的结构、核函数尺寸和激活函数的卷积层。程序中所涉及的keras库是基于Thrano和TensorFlow演变而来的深度学习库,具有高度模块化和可扩充性等特点,不仅支持简易和快速的程序设计,而且支持CNN及其衍生网络的实现,且keras库可以实现CPU与GPU的无缝切换。运用GPU的高速图像运算能力,进一步提升U-net神经网络的运行速度。

1.2 样本集大小对分割效果的影响

采用keras库中的fit_generator函数来进行数据增强。本文尝试了不同的训练样本增强参数,通过生成不同数量的增强训练样本,来测试样本集的大小对U-net神经网络分割效果的影响。

摘取几组测试效果,如表1所示(效果图中的红色边框为原始影像中实际建筑物分布情况)。从图中可以发现,当生成的增强图像过少时,分割效果由于过拟合的影响,受阴影和地面影响较大,导致建筑物的分割边界不明显;但当生成的增强图像过多时,又导致过度分割,造成实际建筑物以外的地物也被分割成建筑物,降低了分割精准度。可以发现,当生成1 000×2张增强图像(实际生成1 011×2张)并输入至U-net神经网络时,可以较为精准地分割出建筑物,且可以得到清晰的建筑物边缘,如表1所示。

表1 对于不同增强样本量U-net网络分割效果

1.3 实现全连接CRFs后处理模型

全连接CRFs模型通过结合所有像素之间的关系,将相邻像元之间进行全连接建模,引入像元颜色信息作为参考依据,并根据U-net分割的结果计算像元归类概率。将计算概率分布图作为一元势能,即对每一个像素进行分类评估,并计算归类概率。与此同时,输入原始影像提供位置信息及色彩信息作为二元势能,最终使得预测类的类别能量缩小至最小值,以达到最终的优化结果。其处理流程如图5所示。

图5 全连接CRFs模型处理过程

1.4 推理次数对全连接 CRFs模型的影响

全连接 CRFs模型中最重要的一步就是运用inference函数进行推理运算得到能量函数的数值,每增加一次推算都会将能量缩小,使分割结果更加贴近真实地物的色彩信息。然而,建筑物的色彩信息虽然可以提升建筑物的边缘分割效果,但推算过度也很有可能导致分割结果因色彩信息干扰变大,从而造成过度分类的情况发生。

本文分别实现了从0 次推算到7 次推算的实验,以板式居民楼的分割优化情况为例,效果如图6、图7所示。

图6 原图、推算0~1次优化效果对比

图7 推算2~4次优化效果对比

至此,可以发现经过4 次推算已经可以达到较好的后处理效果,除U形楼的色彩信息较为复杂,南侧分割效果较差以外,已经根据一定量的色彩信息优化了边界的分割,较好地完成了分割后处理操作。

图8为经过5~7 次推算的优化效果。可以发现,图像受到了较多色彩信息影响而产生了过度分割的效果。

图8 推算5~7次优化效果对比

因此,本文采用4 次推算的全连接CRFs模型对U-net神经网络进行优化,以取得最佳后处理效果。

2 实验及分析

综上所述,本文采用基于U-net神经网络的高分辨率光学遥感影像建筑物提取方法对建筑物进行分割。其总数据库为121张512像素×512像素的高分辨率遥感影像,按照3∶1的比率将其分为训练集和测试集,并在输入U-net前进行数据增强,通过进行图像扭曲,将数据集(包括图像数据及标记数据)扩充至1 011×2张。本文的实验结果证实了本方法,实现了建筑物的精确分割。

2.1 准备实验

本文所使用的原始影像图幅像素尺寸为3 072像素×3 072像素。考虑到计算机实际状况,若将该图像直接输入模型中进行训练会导致内存溢出。根据U-net网络分割状况以及实验计算机的实际情况,采用像素尺寸为512像素×512像素的滑窗及相应步长,以保证滑窗之间在有重叠部分为前提下遍历整幅影像,充分利用图像中的特征信息。用上述思路将图像裁剪输出,从中选出含有建筑物的图幅当做训练样本,并运用python中提供的labelme模块标注样本库。

标注的过程中,由于摄影角度及遮挡等问题,建筑的底边轮廓无法作为准确的识别特征。因此,本文以建筑物的屋顶作为采样真值进行标注。

数据格式转换也是非常重要的一步。由于原高分辨率遥感影像为标签图像文件格式(tag image file format,TIFF),支持24~256 色位图像,但其文件过大,影响程序运行速度。无损压缩的位图图形格式(portable network graphics,PNG)可以以很小的文件体积保存很多图像细节,因此本文将TIF图像文件格式转换为PNG文件,在保证数据量的同时降低空间使用,以更高的效率进行数据分割。

由于在采集原始遥感影像数据时会存在来自传感器、地形及大气等影响,导致图像像素明暗不均,容易影响结果输出效果,所以需对训练样本库进行辐射校正,包括辐射定标、大气校正等操作,使得整张图像更加清晰,明暗分布更加符合实际情况。

labelme建立的样本库文件的存储格式json文件为列表以及字典格式数据,无法直接当作图像文件输入到U-net分割中。将json文件转化为图像文件的基本思路为:读取json文件,提取json文件中点坐标信息;根据所属图幅、所属多边形进行存储,建立与原始样本等大的空白图像文件;依据点坐标信息分图幅、分图形依次画出掩膜,将掩膜以相应格式保存。其转换流程如图9所示。

图9 json文件数据集转换流程

2.2 运用数据增强扩充训练数据集

由于数据集的数量与质量会直接影响到U-net神经网络的分割效果,数量过少会导致网络训练过拟合,数量过多又会增加人工劳动成本,因此,将数据输入U-net神经网络之前,需要将训练样本集中的数据放入python的Image Data Generator函数中进行图像增强。在增强的过程中,以每次运行2张的速率及256像素×256像素的图像大小不断产生基于原始影像及标注影像扭曲增强后的数据,防止过拟合及训练过程过于耗时费力的问题。在此过程中,通过图像扭曲将数据集图像数量(包括图像数据及标记数据)增强至1 011×2张,其中,包括图像数据增强1 011张,标注数据增强1 011张。扭曲效果如图10所示。

图10 样本扭曲效果

图10展示了数据增强的方法,包括旋转、缩小、放大及拉伸。

2.3 运用U-net神经网络进行影像分割处理

将训练好的1 011×2张训练集输入至U-net神经网络中,经上采样及下采样10 层卷积,完成特征提取工作。将30张测试集数据输入网络中进行分割,输出相应的30张分割后影像。效果如图11~图14所示。可以发现,对建筑物分割效果仍存在分割边界模糊的问题。

图11 原始影像与U-net分割效果

图12 板式居民楼分割效果

图13 塔式居民楼分割效果

图14 厂房分割效果

2.4 运用全连接CRFs模型进行影像分割结果后处理

针对U-net分割效果的不足,引入全连接CRFs模型进行分割结果优化后处理操作。全连接CRFs模型的输入图像格式应为:一张24 位的RGB彩色图像,及一张24 位的掩膜图像(通常可以为彩色,一个颜色代表一个类别。本文只对建筑物进行分割,因此只有一类掩膜代表建筑物)。

为U-net输出的16 位分割图像建立32位整数颜色矩阵映射,并计算出图中类数(本文中为2类:背景及建筑物)。将映射矩阵作为一元势能输入,即图像中的像元归类概率。将原图的坐标及颜色特征(x,y,r,g,b)作为二元势能输入,之后进行4 次推理,并找出每个像素最可能的类。效果如图15~图17所示。

图15 板式居民楼分割效果

图16 塔式居民楼分割效果

图17 厂房分割效果

表2以板式居民楼、塔式居民楼以及厂房为例,展示了原始影像、传统方法(以最大似然分类法为例)的分割效果、U-net神经网络的分割效果与本文方法(U-net+全连接CRFs)的分割效果对比。

表2 原始影像与3种提取方法分割效果对比

2.5 分析精度

本文采用总体精度(overall accuracy,OA)对表2所示的结果进行分析。

表3展示了分别将2种方法与相应测试集中地物分布的对比分析结果。表中最大似然法的分割精度为直接与实际地物分布情况进行比对得出;本文方法的分割精度为分别对30张图像的分割结果进行精度分析后,将每张图的分割精度取平均得出。

表3 本文方法与最大似然法精度对比

本文的测试集为30张图像(图号从0~29),测试集的分割精度分布情况如图18所示。

图18 30张训练样本精度分布情况

通过分析数据结果可以得出,相比于传统分割方法,本文的分割方法在高分辨率遥感影像的建筑物提取方面得到了极大的精度提升。充分表明了利用深度学习U-net神经网络与全连接CRFs后处理模型的建筑物提取方法在高分辨率光学遥感影像建筑物语义分割方面的优势。

3 结束语

对于传统遥感影像的不足,本文从深度学习找到了突破口和解决方案,提出了基于深度学习的U-net神经网络,通过调试图像增强函数的参数找到了一种能使得本文数据达到最好分割效果的样本增强量;并针对U-net神经网络分割效果的不足,提出了基于全连接CRFs模型的优化方案,通过调试全连接CRFs模型的推算流程参数,以实现高效且精准的建筑物提取功能。

本文列出了相关的主要操作步骤,这些操作均有相应的程序及理论依据支持。本文的测试集均得到了很好的分割效果,平均总体精度达到了87.64%。

本文所涉及的地物为建筑物,其在城市规划中是首要被考虑的因素。相对于运用传统方法进行分割的效果和仅仅运用U-net神经网络进行分割的效果,本文所提出的基于U-net神经网络与全连接CRFs模型的语义分割方法虽然在耗时上均多于前2种方法,但其在分割精度上有了极大的提升,分割边缘也更加清晰。

基于本文所运用到的核心方法以及实验效果,提出2点展望。第一,本文虽运用了U-net神经网络进对高分辨率遥感影像行了分割,但并没有对原网络的结构进行修改。高分辨率遥感影像若仅仅通过U-net神经网络进行分割,会存在建筑物分割边界模糊的问题。如何进一步优化U-net的模型结构,从而使之能更好地反映地物特征,并测试其是否能达到更好的分割精度将作为下一步研究的方向。第二,对于全连接CRFs模型推算次数较少会导致边界分割效果较差,推算次数过多会受到图像色彩信息影响的问题,可以继续拓展思路。尝试优化并运用其他后处理方法,如模糊聚类算法(fuzzy clustering methods,FCM)、马尔科夫随机场模型(Markov random field,MRF)等,或寻找一种可以识别边界并基于边界进行分割后处理的方法,以达到更精准的分割效果。

猜你喜欢
高分辨率建筑物像素
像素前线之“幻影”2000
邻近既有建筑物全套管回转钻机拔桩技术
现代中小河流常用有坝壅水建筑物型式探讨
高分辨率合成孔径雷达图像解译系统
描写建筑物的词语
“像素”仙人掌
ÉVOLUTIONDIGAE Style de vie tactile
高像素不是全部
火柴游戏
高分辨率对地观测系统