朱 明,杨如军,蒋宇雯
广西自然资源信息中心,广西 南宁 530029
甘蔗是广西重要农产品之一,20 世纪90 年代以来广西的甘蔗种植面积一直居于全国首位,种植甘蔗对经济发展与农民增收具有重要作用。及时获取甘蔗种植区域的相关数据对于糖业宏观调控、生产管理与政策制定具有重要意义[1],但长期以来广西甘蔗的种植区域主要依靠抽样调查统计,缺乏快速、准确、全面的获取手段。近年来,高分辨率卫星影像的光谱分辨率、空间分辨率与时间分辨率不断提高[2],为遥感提取甘蔗种植区域的相关数据提供了坚实的基础。
传统利用遥感手段提取甘蔗种植区域的方法主要是综合利用影像的光谱、纹理等特征,使用人工设计的特征参数进行分类[3-5]。这些方法主要是利用若干有限维度的浅层特征,按一定的算法与解译规则来提取地面作物。现实中地物在影像特征上存在区域差异性及表现的不确定性,同物异谱、同谱异物的情况较为常见[6];而且广西甘蔗的种植区域地形复杂,地块破碎、部分区域存在作物套种等[7]。这些不利因素增加了甘蔗种植区域提取的难度,制约了甘蔗种植面积的自动化提取精度与效率。近年来,深度学习(Deep Learning)技术[8]为大数据时代甘蔗种植区域提取提供了新的理论方法,解决了甘蔗影像特征提取、解译等规则智能化的问题,为自动提取提供了新的解决方法与思路。
实验区域位于广西南宁市扶绥县,北纬22°17′~ 23°57′、东经107°31′~108°06′,总面积2 841 km2,是广西甘蔗主产区之一,甘蔗种植范围大,具有较高的实验价值。
SE-CNN 的训练需要制作大量的训练样本,训练样本的数据源主要包括高分辨率卫星影像数据与甘蔗种植图斑两大类数据。实验数据采用2000 国家大地坐标系和1985 国家高程基准。实验区域的高分辨率卫星影像数据选取的是2018 年融合后的“高分二号”与“北京二号”卫星影像数据,包含红、绿、蓝及近红外等4 个波段。所有的卫星影像数据均制作为正射影像数据,影像融合后分辨率为0.8 m,平面中误差控制在5 个像素以内,所有影像数据均未进行匀光、匀色处理(见图1)。地理国情监测数据选取的为2018 年数据成果中的甘蔗分类数据,数据生产完成时间略晚于高分辨率卫星影像数据拍摄时间。国情监测数据比例尺为1 ∶1 万,已通过质检验收,数据精度满足样本制作要求。
研究小组在实验区对训练样本中标注的甘蔗区域进行了外业核查,核实内业采集的甘蔗地块与实际情况是否一致。同时,在工作底图上注明外业核查发现的采集错误并进行实地补测,之后通过内业整理获得最终样本数据。
数据采集完成后,研究小组将所有甘蔗地块的矢量数据转换为图斑栅格数据,并标注栅格数据的每个像素为甘蔗分类,标注后的图斑栅格数据与高分辨率卫星影像叠加并裁切为训练样本切片,切片规格为512×512 像素。
实验区内甘蔗地块的尺度差异性较大,部分甘蔗地块与周边作物的边缘较为模糊。为了使SE-CNN 能够精确地提取甘蔗种植区域,模型必须具有良好的甘蔗影像特征提取能力以及平移、旋转不变性等特点,并且能够解决多次下采样与卷积导致的特征图分辨率过低、丢失语义空间信息等问题。SE-CNN 采用了编码—解码结构,其中编码模块主要用于提取甘蔗影像特征,最终形成高维影像特征图;解码模块可以在高维甘蔗特征图的基础上,依据特征图及低层信息逐步重建甘蔗地块的空间分辨率,最终按像素输出甘蔗种植地块。整个模型中所有的训练参数主要与卷积核相关,因此,在完成构建后,SE-CNN 可以处理任意大小的高分辨率卫星影像。
图1 实验区域影像样例图
1.2.1 编码模块设计
编码模块主要通过Inception 块与ResNet来提取甘蔗的影像特征。在Inception 块中使用4 种扩张率的卷积扩大SE-CNN 对影像的感知范围,同时有效捕捉不同尺度的甘蔗影像特征。研究小组在Inception 块中设置了1×1 卷积融合4种不同扩张率的卷积特征,实现了多尺度特征的融合,同时在Inception 块之后串联了154 层残差网络,残差网络中反复使用了1×1、3×3 与1×1 卷积模块。这些结构在残差网络中反复串联、搭配,形成101 层的深度神经网络,完成对影像中甘蔗种植区域特征的深度提取。
1.2.2 解码模块设计
解码模块部分负责重建整景影像的空间分辨率,并输出甘蔗种植区域的预测图斑。使用卷积提取的甘蔗影像特征是高维特征,损失了甘蔗种植区域的细节信息与空间分辨率,研究小组为了在上采样过程中恢复甘蔗种植区域的空间分辨率,通过上采样插值来弥补卷积后丢失的空间信息,以及在上采样后不断融入编码阶段低层级的特征细节,扩充有效特征的信息量,补充缺失的真实特征信息。最终通过分类器将解码后的数据输出为预测结果。
深度神经网络的训练目的是通过误差反向传播算法尽可能实现与目标函数的拟合,本质是求解损失函数的极小值。SE-CNN 的损失函数是以交叉熵损失函数为基础设计的,甘蔗种植区域提取是二分问题,因此,研究小组在损失函数中加入了强化二分的损失函数。具体的损失函数计算公式为:
公式(1)中,L为SE-CNN 的损失函数;Lc为交叉熵损失函数;5ℓ 为hinge 损失函数。
Lc的计算公式为:
公式(1)中,5ℓ 为hinge 损失函数;计算公式为:
研究小组发现,通过运用损失函数,可以在训练过程中促使SE-CNN 侧重于学习,有利于提取甘蔗种植区域的影像特征,在反复的迭代训练后,可以让神经网络的输出结果尽可能拟合参考真值。
此次实验环境为Centos 7.3 操作系统,使用 Python 3.6.5 及TensorFlow 1.12 实 现SECNN,GPU 并行计算架构为Cuda 10.0。实验设备使用1 台图形工作站,CPU 为I7-9700 K、采用4 路并联NVIDIA GeForce RTX 2080TI 显卡,64 GB 内存。实验数据为15 000 张512×512像素切片,其中以80%切片作为训练集,20%切片作为验证集,用于检测提取精度的数据为5 000×5 000 像素的北京二号0.8 m 高分辨率卫星影像数据,训练过程中进行了320 次迭代训练。
实验中将影像划分为甘蔗与非甘蔗2 种不同区域。为了分析对比SE-CNN 的提取精度,研究小组在实验中采用了常用的U-Net 模型作为对比方法。从实验区的甘蔗种植区域提取效果图(见图2)可以看出,SE-CNN 的提取结果更精细,能够区分较小的田间道路,在田块的提取上更精准。
为了更精确地分析实验区甘蔗种植区域的提取精度,研究小组采用了总体精度、召回率、交并比以及Kappa 系数等4 种精度指标进行衡量。总体精度为正确提取像素的比重,召回率为模型的正样本提取能力,交并比为正确提取甘蔗部分与参考真值间并集的比例,Kappa 系数为甘蔗种植区域提取的相似程度。
SE-CNN 的甘蔗种植区域提取总体精度达到93.91%,能准确地从卫星影像中提取各种形状的甘蔗种植地块(见表1)。研究小组通过横向对比发现,SE-CNN 的提取精度优于常规语义分割神经网络模型,与U-Net 相比,精度、IOU 等指标提升了3%以上。这说明SE-CNN 能够从样本中学习与提取更多的甘蔗影像特征,并且能够利用这些特征提高提取精度。实验结果表明,SE-CNN 针对高分辨率遥感影像设计的结构达到了预期目的,在同样条件下具备较高的提取精度。
表1 实验区2 种提取甘蔗种植区域的方法的精度对比表
遥感甘蔗区域提取本质是对影像数据的语义分割,提高影像语义分割精度,有助于进一步提升提取精度[9]。提高基于深度学习的高分辨率卫星影像提取的精度的关键在于准备数量充足、特征丰富的影像分类训练样本[10],并在此基础上设计面向影像分类特征提取的深度神经网络结构[11]。此次研究中,研究小组准备了1.5 万张训练样本,确保SE-CNN 能够自主学习大量的训练样本,以提取甘蔗种植区域的影像特征。在神经网络设计阶段,研究小组结合高分辨率卫星影像数据与甘蔗种植范围提取任务特点,通过编码模块中不同扩张率的卷积组合,对不同尺度的特征进行捕捉,实现多尺度语义特征提取。在解码模块中,SECNN 提取的语义信息经过解码后转化为像素级的甘蔗种植区域,并输出最终的统计结果。
研究结果表明,SE-CNN 能够准确地从高分辨率卫星影像中提取甘蔗的种植区域,总体精度达到93.91%。但此次实验中SE-CNN 也出现了部分提取错误的情况,这主要反映在甘蔗种植区域的边缘(见图3),主要是由地物压盖造成的。因为甘蔗生长茂盛,压盖了部分田间道路,导致道路的特征与甘蔗的特征非常接近,所以SECNN 误将道路提取为甘蔗种植区域。这种情况在甘蔗长势旺盛、植被复杂的区域更为明显。
图2 SE-CNN 方法与U-Net 方法提取甘蔗种植区域效果对比图
图3 甘蔗地块边缘提取错误示例图
SE-CNN 能够使用GPU 进行计算,明显提升了处理效率,经过人工检核,深度学习方法基本可以满足自动化生产需要。
此次的研究还存在一些不足:需要投入较多的人力采集加工训练样本,往后还需从提高作业效率、降低提取成本的角度考虑小样本、高精度的样本集与神经网络构建方法。此次研究主要针对的是可见光及近红外波段,如果在现有基础上融入高光谱特征,可以进一步增加特征维度,提高甘蔗种植区域的提取精度。
研究小组在研究基于深度学习的高分辨率卫星影像甘蔗种植区域提取方法的基础上。根据影像数据特点与甘蔗种植范围提取任务要求,研究并设计了编码与解码模块,建立了具有编码—解码结构的SE-CNN 深度学习模型。实验证明,将深度学习用于高分辨率卫星影像以提取甘蔗种植区域,能够有效提高提取的精度与效率,为自动提取甘蔗种植区域提供了新的解决方法与技术路线。