基于深度学习的卫星影像自动数字化技术
2023-03-05梁碧仪黄梓煌聂佩林
梁碧仪,陈 颖,黄梓煌,聂佩林
(1.华南师范大学地理科学学院,广东 广州 510631;2.佛山科学技术学院环境与化学工程学院,广东 佛山 528000)
0 引 言
随着遥感数据的空间分辨率、时间分辨率、光谱分辨率和辐射分辨率的提高以及数据类型的不断增加[1],传统的遥感图像分类(非监督分类和监督分类)在复杂的地表环境下难以满足分类精度的需求,需要花费大量的时间与人力,已不适合当前的遥感识别需要。而基于智能算法的非参数分类器成了遥感影像分类与识别研究的热点,尤其是基于神经网络的深度学习。大量研究表明,深度学习与遥感影像技术结合在数据降维方面尤为突出,可高精度提取遥感影像的特征,改善遥感影像工作分类难、精度低的现状。
当前主流的图像自动识别算法采用Faster R-CNN技术选取候选方框,并对候选方框的目标进行分类,从而达到目标的检测识别[2]。但Faster R-CNN只能实现分类和回归,分割还要另外处理。
Mask R-CNN是可以实现“分类、回归和分割”并行的目标检测方法。2017年HE K M等人提出了基于区域的掩膜卷积网络(Mask R-CNN)实例目标分割[3]。Mask R-CNN是一个小巧、灵活的通用对象实例分割框架,其技术延伸了Fast R-CNN技术,不仅可对图像中的目标进行检测,还可以对每一个目标给出一个高质量的分割结果。目前Mask R-CNN技术在人脸检测、车辆检测、行人检测等领域应用较为广泛,但在遥感图像识别领域的应用尚未成熟。本文主要简述了深度学习模型结构在遥感图像分类识别中的应用。
1 研究内容
本实验基于深度卷积神经网络,运用Mask R-CNN算法技术,对卫星影像进行自动识别。获取卫星影像数据后,把卫星影像分成水系、绿地、一般道路、高速公路、工业区、居住区、其他地区这7类进行标注,完成数据预处理;接着通过Mask R-CNN技术对卫星影像进行目标检测,同时把每个类别的目标像素分割出来,实现“分类、回归和分割”并行。数据处理后,导出图片,用700张经过标注的图片进行大量的训练学习,从而生成深度学习网络。最后用300张没有经过标注的图片进行测试,以检测该训练网络的准确性。具体流程如图1所示。
图1 流程图
2 技术方法
(1)地图下载器中获取卫星影像数据,用标注软件对卫星影像的地物进行7个类别的分类标注,完成数据预处理。
(2)通过Mask R-CNN技术,对卫星影像进行目标检测,同时把每个类别的目标像素分割出来,实现“分类、回归和分割”并行。具体来说,利用该技术中的ROI分类来进行类别预测;再分别对卫星影像中的每个类别设置二进制掩膜。分离掩膜的好处就是不需要在类别间进行竞争,用FCN对每个像素分类,以像素到像素的方式预测遥感图像[4]。
Mask R-CNN算法技术的基本构成如下:
A. Faster R-CNN部分:输入预处理过的卫星影像到神经网络中,获得对应的特征图Feature Map,对特征图中的点设定ROI,将这些ROI输入到RPN网络进行分类,过滤筛选出一部分ROI。
B. ROIAlign部分:对上一步处理完的ROI进行ROIAlign,基于双线性插值方法,利用Feature Map上距离采样点最近的四个像素得到像素值。
C. FCN部分:对每一个ROI进行FCN操作,生成Mask掩膜[5]。
Mask R-CNN算法技术的基本构成如图2所示。
图2 Mask R-CNN算法技术构成图
(3)完成数据处理后导出图片,对700张图片进行训练学习,进而生成人工智能训练网络,再对300张图片进行测试,以检验训练网络的准确性。
3 实验设计
3.1 实验环境
本实验在具备Windows10(64bit)操作系统、Intel(R)Corel(TM)i7CPU、GTX1660TiGPU和16GRAM的计算机进行,使用Microsoft Visual Studio Code搭建 Python3.7开发环境,程序后端为Tensorflow,编码框架为Keras,IDE为Pycharm[6]。
3.2 实验数据
数据范围包括禅城区、南海区和顺德区。以禅城区地图为主,外加顺德区和南海区中毗邻禅城区的一部分区域。下载的地图数据为天地图,级别19级,采用WGS 84坐标系,最大分辨率高达0.6 m。地图数据由10 165个瓦片组成,导出时每张图片格式为3×3瓦片,即9个瓦片,故折算起来总共下载了1 152张地图。图片每36张分为一组,每组前35张分辨率为768×768,第36张分辨率为768×512。本次实验训练图片的数量为1 000张,测试图片数量约为300张。
3.3 实验过程
3.3.1 数据预处理
导入1 152张卫星遥感影像到标注软件Via-1.0.4中,对各地物的轮廓进行描绘并添加标注,这一步骤需要人工判断,且命名规范要一致。对描绘形成的区域分为7类:水系(River System)、绿地(Green Space)、一般道路(Ordinary Road)、高速公路(Highway)、工业区(Industrial Zone)、居住区(Residence Zone)、其他功能区(Other Regions)。标注后将结果导出为JSON格式,便于后续导入生成人工智能训练网络。标注过程如图3所示。
图3 标注过程
3.3.2 训练网络
本实验采用的Mask R-CNN技术是Faster R-CNN技术的扩展形式,在有效检测图像目标的同时,能够输出高质量的实例分割掩码。在预处理过的卫星遥感影像中,选1 000张放到卷积神经网络(CNN)中,获得对应的特征图(Feature Map)。基于先前的标注,卷积神经网络对1 000张地图提取感兴趣的区域(ROI)。在每个感兴趣区域(ROI)上添加用于预测分割编码的分支,与用于分类和边界框回归的现有分支并行,使其训练更加简单且更容易推广到其他任务中。
本技术采用交叉验证的方式。随着训练样本的增加,误差变低。将1 000张样本分为训练集和验证集。其中,训练集占700张。经过大量的训练、学习,最终生成人工智能训练网络,训练过程中如表1所示,总误差L= 0.002 6+0.002 5+0.044 2+0.012 8+0.056 5=0.118 6,以此创建训练模型。用训练模型对300张图片进行检测,并创建检测模型(表2),检测结果的参数如表3所示。
表1 训练误差
表2 创建验证模型
表3 检测结果
3.3.3 基于ENVI的遥感图像分类
采用传统监督分类方法中的“最大似然法”,在ENVI上对相同数据集中的50张图片进行遥感图像分类。目前的遥感影像自动分类方法主要是利用地物(或对象)在遥感影像上反映出来的光谱特征来进行识别与分类[7]。最大似然分类方法对于光谱特性呈正态分布的遥感影像能提供较高的分类精度;而对于光谱特性呈非正态分布或偏离正态分布总体的遥感影像,实际分类效果并不理想[8]。总体上看,因为水域和绿地的光谱特性最接近正态分布,所以分类误差低,精度较高,分类效果较好,但也有小部分区域划分为其他类别的用地,类别之间没有完全区分开。而其他类别,如道路、工业区等分类精度低,主要原因是光谱特征非常相近,分类过程中容易出现噪点较多、相互错分等问题。
3.3.4 网络测试与结果分析
生成人工智能训练网络后,对未经训练的近300张卫星遥感影像进行测试。利用Mask R-CNN对不同类别的地块进行分类,不同的颜色即RPN经过训练学习之后得到的分类结果。以两张训练原图为例(图4-图5),图6和图7分别是图4和图5基于ENVI最大似然法的遥感图像分类,图8和图9分别是图4和图5基于Mask R-CNN的遥感图像分类。总体来说,基于Mask R-CNN的图像分类结果准确率能达到80%以上,如图10所示。其中,识别率最高的是道路、水系、绿地,准确率达到85%,原因在于这些地块的轮廓清晰、特征明显、面积较大。识别率较低的是居住区、商业区和部分工业区,只达到65%的准确率。其原因为:① 这些场景的相似度较高;② 数据集的数量较少;③ 尺寸过大的目标在候选框选取过程中,容易将小目标包括进去,造成在特征提取和目标识别结果分析中,出现小目标漏检的情况;④ 缺乏对目标的轮廓描述和像素描述,导致很多具有局部特征的非目标地物被检测为目标,为精细化识别带来困难。
图4 训练原图A
图5 训练原图B
图6 ENVI遥感分类图A
图7 ENVI遥感分类图B
图8 Mask R-CNN分类图A
图9 Mask R-CNN分类图B
基于ENVI最大似然法的遥感图像分类,虽计算的时间较短,但需要手动选取特征,且由于遥感图像本身的空间分辨率的限制以及同物异谱、异物同谱现象的存在,往往出现较多的错分、漏分现象,噪点较多,导致分类精度不高,这种分类方法更适合中低分辨率、数据量较少的遥感图像分类工作;而基于Mask R-CNN的遥感图像分类,对卫星影像进行目标检测的同时,把每个类别的目标像素分割出来,实现“分类、回归和分割”并行,虽计算时间较长,但只要标注样本,就无须对所有图像手工选取特征,通过网络模型自主训练,精度较高、不存在噪点,类别之间划分清晰,更适合分辨率高、数据量大的遥感图像分类工作。
4 结 语
针对传统的地物识别方法效率低、检测速度慢、误检率和漏检率高的问题[9],本文提出了一种基于Mask R-CNN技术的卫星影像自动数字化技术。通过利用Mask R-CNN算法技术对遥感图像进行识别,对经过数据处理后的卫星影像进行训练,并提取其几何特征。最后能够对影像的重要对象特征进行识别。总体上,全部图像分类的结果准确率达到80%以上,可实现卫星影像的自动数字化。不足的是,训练数据的分辨率较低,导致个别类别识别不全。该项技术的目标识别准确率还有待提高,需加强对目标的轮廓描述和像素描述。同时还需加强样本多样化,提高样本库的数量和质量,引入数据增广算法,从数据方面增强学习的准确性和泛化性;网络结构需针对大场景、多尺度的密集目标进行改进,提出更加符合遥感目标特性的神经网络结构[10]。
随着未来商业卫星的数量增多,该项技术有利于商用卫星进行数据分析。基于深度学习的卫星影像自动数字化技术在未来市场应用中具有非常好的前景。