2. 福建师范大学 医学光电科学与技术教育部重点实验室, 福州 350007;
3. 福建师范大学 福建省光子技术重点实验室, 福州 350007
2. Key Laboratory of Optoelectronic Science and Technology for Medicine (Ministry of Education), Fujian Normal University, Fuzhou 350007, China;
3. Fujian Provincial Key Laboratory of Photonics Technology, Fuzhou 350007, China
基于遥感影像建筑物提取的基础理论研究始于20世纪80年代, 随着遥感卫星技术的进步, 高分辨率遥感影像在地面目标地自动提取中得到了广泛应用. 高分辨率遥感影像具有更加精细丰富的信息, 建筑物是其中最普遍且最复杂的地物信息之一. 建筑物提取是城市遥感影像的主要研究方向, 一方面, 建筑物的精确提取有利于遥感影像在城市规划[1]、智慧城市建设等领域的深入应用和扩展, 对遥感影像制图、城市变化监测、三维建模、地理信息系统的数据获取、城市空间数据库的更新和建设“数字化城市”具有重要的应用价值; 另一方面, 遥感影像中纹理和特征丰富, 建筑物的检测和分割提取方法种类繁多, 过程具有很大相似性和通用性, 可以为其他图像的目标检测和语义分割提供借鉴, 因此建筑物提取方法的研究具有重要的科学意义.
然而, 遥感影像含有丰富的地物信息, 建筑物在遥感影像中多以面目标的形式存在, 城区和乡村绿化区域较多[2], 绿色植被对于建筑物的覆盖和干扰严重, 且建筑物类型和形态等复杂多样, 这些均对建筑物提取带来了极大的挑战.
近年来, 研究者尝试使用多种方法来实现遥感影像中建筑物的自动提取, 遥感影像的大规模使用, 对遥感信息和地物信息的处理与分析提出了更多的要求和挑战. 传统基于手动提取特征的方法在需要人工动态调整各种参数和阈值, 方法的鲁棒性和泛化能力较差. 利用深度卷积神经网络可以从大量数据中自动学习特征, 具有高效的特征表达能力. 然而基于深度卷积神经网络的方法, 也存在着计算效率低, 提取结果的准确率低、边界不完整等问题.
传统 Mask-RCNN网络基于TensorFlow作为后端的Keras深度学习框架搭建而成, 由于框架的制约, 网络的性能不能够很好地发挥出来. 基于PyTorch框架搭建网络, 其体现出的优势不仅仅是PyTorch相比于以TensorFlow作为后端的Keras框架的优势, 更表现为Mask-RCNN网络在全新的框架下性能的提升. 计算机显存资源利用效率更高, 计算的速度和精确度也得到了显著提升. 而且新的框架不仅便于调试, 高度模块化, 搭建模型十分方便, 数据参数在CPU与GPU之间迁移十分灵活.
针对遥感影像提取建筑物现有相关的研究成果的缺陷和不足, 本文提出了一种采用全新开源的PyTorch深度学习框架和基于Mask-RCNN改进的网络结构模型的实例分割算法, 更加高效与鲁棒地实现了建筑物的自动精确分割和提取.
2 算法原理与网络调整 2.1 网络结构本文采用的深度学习分割算法基于由He KM于2017年提出Mask-RCNN实例分割算法. 算法网络来源于Faster-RCN和全卷积网络(Fully-Convolutional Network, FCN), 作者在此基础上新增了改进措施. 在Faster-RCNN网络的基础上新增了一个任务分支完成目标物体的像素实例分割任务, 网络输出最终包含了3个任务分支, 分别是目标的分类、目标框的坐标及目标区域的二值掩码实例分割, 算法结构流程图如图1所示.
图1中分类和回归部分都是由基于区域的目标检测网络Faster-RCNN[3]完成, 目标区域的像素分割由FCN[4]完成. 从图1可以看出, 对于输入的图片, 首先进行的是将图片输入到残差网络(ResNet)中进行特征提取, 得到的主干特征图(Feature Map)通过区域生成网络(Region Proposal Network, RPN)提取可能存在的目标区域(Region Of Interest, ROI). 这些ROI经过ROIAlign层被映射成固定维数的特征向量, 其中两个分支经过全连接层进行分类和目标框的回归[5], 另一个分支经过全卷积运算进行上采样得到了分割区域的图片.
算法网络训练采用的多任务损失函数, 通过学习减小损失函数的值, 直到获得全局最优解. 损失函数包含分类误差、目标框回归误差和掩码误差.
2.2 Mask-RCNN的调整和优化传统的Mask-RCNN网络功能强大, 网络的主要模块RPN存在着运算量大, 效率不高的问题, FPN网络特征图中的最高层级特征和较低层级特征之间的路径太长, 不利于信息的有效融合; Mask预测仅在单个视野上执行, 无法获得更加多样化的信息, 针对于特殊目标的检测和分割效果欠佳. 本文在继承Mask-RCNN优点的同时, 根据遥感影像中建筑物的特殊性, 对网络做了以下改进.
2.2.1 RPN网络的改进RPN网络采用9种面积尺寸各异的目标框来估算原始目标在每个滑动窗口上位置上的大小, 本文考虑训练集遥感影像尺寸大小, 分别修改为64×64、128×128、256×256, 长宽比皆为1:1. 调整后能够提高小目标的检测和分割效果, 提高目标框的检出率.
针对RPN网络采用3×3的固定滑动窗口扫描特征图提取候选框带来重复的估计目标和计算的问题, 本文提出了一种改进的RPN网络, 结构如图2所示. 将固定的滑动窗口修改为固定尺寸分割, 分割后每一个窗口同样经过不同尺寸的候选框提取出ROI, 之后的处理和原RPN网络相同. 由于采用固定尺寸分割, 改进后的RPN大大减少了估计目标区域, 多种分割方法相当于构建了多种尺度的RPN, 计算的效率更高, 使用更少的内存空间.
2.2.2 FPN网络的改进
特征金字塔网络(Feature Pyramid Networks, FPN)的提出是为了更好地实现顶层和底层特征图的融合和各个阶段的特征有效利用, Mask-RCNN中使用自顶向下的方式将高层级的特征与低层级的特征混合, 从而提高FPN中所有具有合理分类能力的特征.
本文使用自底而上的思想进一步融合特征[6], 使得高层级特征获得低层级特征的路径变短, 如图3(a)到图3(b)的虚线所示, 创建自底向上的增强路径, 用于缩短信息路径, 改进的FPN网络利用自底向上特征中存储的精确定位信号, 提升特征金字塔架构.
2.2.3 新增微全连接层支路和掩模mask的改进
在建筑物提取试验中, 对于小型的建筑物, Mask –RCNN网络的提取结果较好; 而在提取大建筑物时, 大建筑物由于缩放比例过高而损失了大量细节信息, 掩膜mask的边界存在不太完整和精确之处. 本文将原始网络中mask大小14×14像素与28×28像素分别修改为40×40与80×80像素.
Mask-RCNN网络中负责预测mask的组件是一个轻量级、易实现的分支, mask分支的输入是每个候选区域融合后的池化特征网格, 如图4所示, 主分支(传统的FCN支路)是4个连续的卷积层和一个反卷积层. 其中每个卷积层核大小为3×3通道为256个, 后面再接一个上采样2倍的反卷积层, 用于预测每个类别mask的二进制像素值.
本文使用一条支路从conv3连接到全连接层, 中间过两个3×3大小卷积层conv4_fc, conv5_fc. Conv5_fc卷积层通道数减半以减少计算量, mask大小设置为40×40和80×80. 全连接层产生的向量再重塑成和FCN预测的mask同样的空间尺寸. 最终与FCN的输出相加得到最终预测. 全连接层用于预测类不可知的背景或前景 mask, 不仅效率高, 而且允许更多样本训练全连接层的参数, 泛化能力更强.
为了捕捉每个提议的不同视图, 用微小的全连接层来增加掩模预测, 全连接层与最初使用的FCN具有互补的特性, 通过融合这两种观点的预测, 信息的多样性会增加, 产生质量更好的掩模效果.
2.3 基于全新的PyTorch框架搭建网络PyTorch 是由Facebook于2017 年初首次推出开源的神经网络框架, Mask-RCNN Benchmark是一个完全由PyTorch 1.0写成, 快速、模块化的Faster R-CNN和Mask-RCNN组件. 该组件旨在让用户更容易地创建一种模型, 实现对图片中目标的识别与分割. 利用Mask-RCNN Benchmark开源项目, 结合经过预处理的IAILD数据集, 通过监督学习和迁移学习的方式, 结合网络的预训练权重训练网络, 保存最终的训练权重, 利用预测函数预测和分割遥感影像中建筑物, 实现遥感影像中的建筑物提取.
3 建筑物自动提取流程 3.1 总体流程本文的建筑物提取流程如图5所示, 具体步骤为: (1)获取遥感影像; (2)对遥感影像进行预处理; (3)对预处理后遥感影像进行拓展、裁剪, 得到大小为512×512的3通道子图像; (4)裁剪得到的遥感影像训练集和验证集随机分成4个子数据集; (5)利用标注工具labelme标注训练集和验证集中的遥感影像; (6)设置网络参数、调整网络配置, 如初始化学习率, Epoch数目等; (7)载入预训练权重开始训练网络, 保存训练得到的权重结果; (8)载入训练得到的结果权重, 读取测试集图片得到二值掩模图片; (9)将二值掩模图片和建筑物标记二值图像进行像素的颜色处理; (10)对处理结果进行性能评估和对比.
3.2 遥感影像中建筑物自动提取的两个阶段
Mask-RCNN是一种多任务的深度神经网络, 提取建筑物的过程分为两个阶段: 第1阶段, Mask -RCNN主干网络(即ResNet101和FPN)提取遥感影像的特征图, 随后使用RPN生成目标的候选框, 并对候选框筛选得到感兴趣区域. 第2阶段, 对每个感兴趣区域做类别的分类和预测、目标框的回归和目标建筑物的二值掩膜分割.
3.3 Mask-RCNN算法步骤(1)网络读取一幅经过预处理后的图片; 将其输入到一个预训练好的主干网络(即ResNet101 和FPN)中, 获得对应的图像特征图的集合. (2)对特征图集中的每一点设定预定数量的ROI, 最后获得多个最佳的候选ROI. (3)将候选的ROI送入RPN网络进行前景或背景的二值分类和边框回归, 过滤一部分候选的ROI. (4)对剩余ROI进行ROIAlign操作, 即先将原图和特征图的像素对应起来, 随后将特征图和固定的特征对应起来. (5)最后, 对ROI进行N类别的分类、位置的预测, 目标框回归. 通过改进的分割网络进行mask的预测和语义的分割, 得到二值的掩模图像. 具体步骤如图6.
4 数据集的制作及预处理 4.1 数据源与数据集
本文实验采用的遥感影像数据源为法国国家信息与自动化研究所提供的Inria航空影像标签公开数据集(Inria Aerial Image Labeling Dataset, IAILD数据集). 该数据集包含180张5000×5000像素, 空间分辨率为0.3米的航空正射彩色图像, 数据集中每张图片的覆盖面积大约是405平方公里. 这些遥感影像覆盖了五个不同的城市居民点, 从人口稠密地区(如美国旧金山的金融区)到高山城镇(如美国利恩茨和奥地利蒂罗尔小镇).
在神经网络训练的过程中, 往往对输入图像的大小需要进行调整, 首先是为了满足拥有固定节点数的全连接层的神经网络的输入要求, 其次是对于不同规则大的图片, 为了使输入的图片不进行压缩, 减轻过高的缩放比例带来的信息损失; 而且如果图片尺寸太大, 直接使用会造成计算速度缓慢甚至显卡内存溢出等问题.
本文把数据集随机划分为3部分: 训练集(150张)、验证集(5张)、测试集(25张). 为了契合神经网络的需要、遥感影像信息和计算机内存资源的有效利用, 统一数据集中遥感影像的大小, 将5000×5000像素影像使用黑色像素在四周边缘填充60像素, 填充后遥感影像样本如图7所示, 影像大小拓展为5120×5120. 随后利用大小为512×512、步长为512的滑动窗口, 将影像裁剪为10行10列, 得到100张512×512大小的3通道遥感影像. 将数据集中的所有影像填充后裁剪, 最终, 得到了训练集(15000张)、验证集(500张)、测试集(2500张), 裁剪后的训练集和测试集中包含不同传感器不同城市, 不同风格、用途、尺度的遥感影像建筑物样本, 样本的增加既增强了分割模型的学习泛化能力, 也缓解了数据样本的重复学习产生的过拟合问题. 样本示例如图8、图9所示.
为了更好地进行网络的训练和效果的调试, 将训练集和测试集影像分为4个子数据集, 各个数据集的影像均为处理后的512×512大小的3通道遥感影像, 其训练集、验证集影像数量如表1所示. 实验过程中可以选择4个不同量级的数据集, 既可用于评估模型的准确率, 还可验证本文方法的鲁棒性和泛化能力.
4.2 遥感影像预处理
由于卫星的飞行速度、轨道高度、传感器的瞬时视角等原因[7], 在将数据进行建模前, 必须先对其进行影像的预处理.
4.2.1 高斯滤波遥感影像噪声的来源主要有两个方面, 在采集过程中, 图像传感器CMOS在采集图像中受传感器材料属性、电子器件的结构和工作环境的影响引入的各种噪声[8]; 另外在传输过程中也会受到多种噪声污染. 本文采用空间域滤波中的高斯滤波, 可以平衡对图像的噪声的抑制和对图像的模糊.
4.2.2 直方图均衡化本文采用了限制对比度的自适应直方图均衡化技术, 该技术将图像分割为小的区域后进行直方图均衡化, 并对局部对比度进行了限幅, 这个特性也应用到全局直方图均衡化中. 该技术克服了自适应直方图均衡化噪声过度放大的问题, 使得图像细节更加清晰.
4.2.3 影像增强本文采用的影像增强技术包括邻域增强和主成分分析等算法, 邻域增强能够用于去噪、图像平滑、锐化等相关操作. 主成分分析可用于消除特征中向量中各个特征之间的相关性, 进行特征的选择, 还可用来进行高光谱图像数据的压缩和信息融合, 训练影像的增强, 缓解了模型的过拟合风险[9].
5 实验与算法评价 5.1 实验过程本文实验使用开源的PyTorch学习框架, 使用Python语言编程实现算法网络, 硬件环境为联想Think Station P900工作站, 配备有NVIDIA GeForce GTX TITAN X显卡(12GB)、64位Ubuntu16.04操作系统.
本文采用迁移学习方法, 将COCO2014数据集训练得到的权重模型作为本文建筑物自动提取算法模型的预训练模型, 在此预训练模型的基础上训练遥感数据集[8]. 迁移学习不仅减少了训练数据且提升了训练效率, 迁移学习的模型泛化能力更好, 有效提升检测模型的整体检测精度和模型性能.
本文选取数据集1进行学习训练, 将epoch数值设置为5, batch size值设置为8, 每个epoch设置步数为10000, 利用Adam算法进行网络优化, 学习率设置为0.00001, 所有参数根据正太分布进行初始化. 整个过程在训练大概20小时后损失函数不再下降, 停留在1.070左右.
5.2 评价指标为了定量评价遥感影像提取算法的综合性能, 本文分别采用式(1)~式(4)的平均查全率(mRecall)、平均查准率(mPrecision)、平均准确率(mAP)和F1[10]分数对测试集影像进行评价. k为随机选取的k组测试影像, Pij为测试的准确率, Pii为正确提取的准确率.
${{mRecall = }}\frac{1}{{k + 1}}\sum\limits_{i = 0}^k {} \left( {\frac{{{{TP}}}}{{{{TP + FP}}}}} \right) \times 100\% $ | (1) |
${{mPrecision = }}\frac{1}{{k + 1}}\sum\limits_{i = 0}^k {} \left( {\frac{{{{TP}}}}{{{{TP + FN}}}}} \right) \times 100\% $ | (22) |
${{mAP = }}\frac{1}{{k + 1}}\sum\limits_{i = 0}^k {} \frac{{{P_{ii}}}}{{\displaystyle \sum\limits_{j = 0}^k {{P_{ij}}} }} \times 100\% $ | (3) |
${{F1 = }}\frac{{2 \times {{mP}}recison \times {{mRecall}}}}{{{{P}}recison + {{Recall}}}} \times 100\% $ | (4) |
TP (True Positive)代表本文算法和人工标注法均提取到建筑物. FN (False Negative)代表本文算法未提取到建筑物而人工标注法能提取到建筑物. FP (False Positive)代表本文算法能提取到建筑物而人工标记法未提取到建筑物.
为了验证本文方法与主流提取算法有着较大的优势, 使用基于SVM[11]、FCN[12]、U-net[13]、Mask-RCNN[14]等建筑物提取方法对IAILD数据集进行了测试. 本文也测试了几个开源的数据集以验证本文方法在不同开源数据集中的泛化能力和鲁棒性.
由表2可知, 相比于SVM、FCN、U-net和Mask-RCNN算法, 本文算法的是个评价指标在数值上均有5%以上的提高, 表明本文方法的总体效果更佳, 性能优异, 有效性、准确性和鲁棒性明显提高.
与本文的数据集相比, Massachusetts数据集的质量和分辨率要低很多, 而且存在着很多错误标签, 其中的平均查全率和平均查准率比本文数据集相差甚远, 这对神经网络在精确分割提取建筑物产生了负面影响. WHU和DOTA是两个大场景、高分辨率的遥感建筑物数据集, 数据集中包含不同用途、不同色彩、不同大小的建筑物, 这为神经网络的训练提供了丰富的数据来源. 综合对比来看(表3 ), 4个评价指标的高分数说明本文方法的性能优异, 精确性、鲁棒性和网络的泛化性能均有不俗的表现.
5.3 实验结果分析
图10随机展示了5组利用本文方法对IAILD数据集中奥斯汀和芝加哥地区建筑物的提取结果, 其中图10中第1、2、4为奥斯汀地区遥感影像, 第3和5为芝加哥地区遥感影像. (a)为原始影像, (b)为对应的建筑物标记, (c)为建筑物提取结果掩模覆盖图, (d)为本文建筑物提取结果, (e)为(b)和(d)的对比结果, 可以发现各个类型的建筑物均大部分可以很好地提取出来. 其中使用深蓝色表示TP(True Positive), 即预测结果为建筑物, 实际样本也为建筑物; 使用红色表示FP( False Positive), 即实际样本为非建筑物, 但预测结果为建筑物; 用绿色表示FN(False Negative), 即实际样本为建筑物, 预测结果为非建筑物; 最终将所有建筑物的预测结果用分类图来表示.
本文测试所用的IAILD测试集试验区中建筑物有五种, 随机选取奥斯汀地区和芝加哥地区建筑物试验, 两个地区选择的背景是基于奥斯汀郊区和芝加哥城区, 从两个不同地区的不同建筑物大小分析对比本文方法的有效性和精确性.
以图10奥斯汀地区为例, 数据集中的奥斯汀地区主要以郊区为主, 郊区植被茂盛建筑物与周围环境信息混淆, 建筑物分散且以中小型建筑物为主, 植被覆盖对于建筑物的影响较大, 从图10(b)(d)(e)对比可知, 本文方法对中型建筑物提取较好, 对于小型建筑物也能很好地提取出来, 但对被植被覆盖的建筑物提取效果欠佳. 芝加哥城区建筑物覆盖密集且相对集中, 主要以大型建筑物为主, 植被覆盖影响较小, 对比发现可知, 本文方法对密集型大型建筑物均能很好的提取出来. 为了更加直观地观察提取结果对比, 如图11所示, 特选取1张尺寸为1024×1024的对比效果图.
综合图10和图11及所有测试集图片结果分析, 本文方法具有较好的网络的泛化性能和鲁棒性, 对IAILD数据集中的不同地区、不同地域、不同类型的建筑物均能取得很好的提取效果; 但对于数据集中大型建筑物和植被覆盖的建筑物提取时也存在着空洞现象, 边缘毛糙, 漏检问题依然存在. 分析主要原因为数据集影像数量的不足、迭代次数设置影响、网络模型的缺陷和数据集标记的误差等, 在以后的研究中要着力解决这些问题.
6 总结
本文将遥感影像中建筑物提取与深度学习相结合, 提出了一种基于PyTorch框架改进的Mask-RCNN网络提取方法, 为建筑物提取提供了一种有效的新方案. 研究结果表明, 本文提出的方法对于复杂类型的建筑物不仅能高效准确快捷地提取, 而且提取结果的mAP等评价指标均有较高的得分; 和其它算法的提取结果进行对比, 本文方法的精确性、鲁棒性和泛化能力均优于对比算法. 实现本文方法参数的最佳设置、训练影像标记的规范化以增强边缘提取效果、使其适应较大地理区域内中大型建筑物的提取、支持城市规划等相关业务是后续的研究目标.
[1] |
付发, 未建英, 张丽娜. 基于卷积网络的遥感图像建筑物提取技术研究. 软件工程, 2018, 21(6): 4-7. |
[2] |
邵鹏. 基于多尺度分割的高分遥感影像主要地物信息提取技术研究[硕士学位论文]. 长春: 吉林大学, 2015.
|
[3] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, NV, USA. 2015. 1512–1516.
|
[4] |
Long J, Shelhamer E, Darrell T, et al. Fully convolutional networks for semantic segmentation. Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Boston, MA, USA. 2015. 1411–1445.
|
[5] |
欧攀, 路奎, 张正, 等. 基于Mask RCNN的目标识别与空间定位. 计算机测量与控制, 2019, 27(6): 172-176. |
[6] |
Liu S, Qi L, Qin HF, et al. Path aggregation network for instance segmentation. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 8759–8768.
|
[7] |
万里红, 杨武年, 李天华, 等. 浅谈QuickBird遥感卫星影像几何精校正. 测绘与空间地理信息, 2007, 30(2): 12-15, 19. DOI:10.3969/j.issn.1672-5867.2007.02.004 |
[8] |
李大军, 何维龙, 郭丙轩, 等. 基于Mask-RCNN的建筑物目标检测算法. 测绘科学, 2019, 44(10): 172-180. |
[9] |
唐文博. 基于卷积神经网络的高分辨率多光谱遥感图像上的城区建筑物变化检测技术[硕士学位论文]. 杭州: 浙江大学, 2019.
|
[10] |
Ok AO. Automated detection of buildings from single VHR multispectral images using shadow information and graph cuts. ISPRS Journal of Photogrammetry and Remote Sensing, 2013, 86: 21-40. DOI:10.1016/j.isprsjprs.2013.09.004 |
[11] |
赵春晖, 李思聪. 基于多特征融合的SVM高分辨率遥感影像建筑物提取方法. 沈阳大学学报(自然科学版), 2017, 29(4): 311-316. |
[12] |
刘文涛, 李世华, 覃驭楚. 基于全卷积神经网络的建筑物屋顶自动提取. 地球信息科学学报, 2018, 20(11): 1562-1570. DOI:10.12082/dqxxkx.2018.180159 |
[13] |
苏健民, 杨岚心, 景维鹏. 基于U-Net的高分辨率遥感图像语义分割方法. 计算机工程与应用, 2019, 55(7): 207-213. DOI:10.3778/j.issn.1002-8331.1806-0024 |
[14] |
季顺平, 魏世清. 遥感影像建筑物提取的卷积神经元网络与开源数据集方法. 测绘学报, 2019, 48(4): 448-459. DOI:10.11947/j.AGCS.2019.20180206 |