深度学习在多时相大棚提取应用研究
2020-12-26宋廷强张信耶李继旭范海生孙媛媛刘童心
宋廷强,张信耶,李继旭,范海生,孙媛媛,宗 达,刘童心
1.青岛科技大学 信息科学技术学院,山东 青岛266000
2.广州欧比特人工智能研究院,广东 珠海519080
1 引言
蔬菜大棚作为重要的农业设施,可以延长蔬菜供应周期,提高农业产量。早期通过人工的方法获取种植分布以及种植面积,这种方法效率低下,可靠性较低。现代地球观测设备如卫星、无人机每天都会产生大量的遥感数据。如何准确、自动化进行遥感解译(如大棚分布信息),进而辅助政府决策具有重要的研究意义。
遥感影像解译的准确性依赖于图像分类技术[1-2]。在过去研究中,针对单时间观测影像,使用最大似然法(maximum likelihood)、神经网络、支持向量机(SVM)以及面向对象等分类算法完成城市、道路提取等任务[3-8]。然而,植被、蔬菜大棚等地物受时间变化影响,光谱和纹理会发生改变。为解决时相问题,研究学者做了大量研究,其中Whitcraft 和Valero 等人根据物候学知识,构建时序系统用于时间特征的提取[9-10]。Guo借助NDVI(植被指数)构建时间序列进行粮食产量预估[11-12]。虽然这些方法取得不错的结果,受限于传统模式识别方法特征设计繁琐、泛化能力不足[13],如何充分利用时间、空间以及光谱信息提高遥感分类精度仍然面临挑战。
近年来,深度学习快速发展,FCN[14]、CRF-FCN[15]、U-net[16]以及Segnet[17]等语义分割网络在无人驾驶[18]、地理信息系统、医学图像分析[19]、遥感影像地物识别[20-24]等领域得到了广泛应用。特别的,针对小数据集,杨建宇等人选用Segnet 网络在遥感数据集上获得不错的效果[25]。基于U-net网络分割方法同样在遥感图像上有着不错的表现[26-27]。2017 年Chen 等人提出Deeplabv3+网络[28],该模型尝试编解码结构,在PASCAL VOC 2012取得最高准确率,针对遥感影像分类同样具有很高的准确率[29-31]。针对时序问题,具有代表性的RNN、LSTM网络成功应用在语言翻译、天气预测等领域[32-33]。但是到目前为止,使用多时相深度学习模型用于遥感地物提取的研究并不成熟,虽然Rußwurm 等人尝试使用LSTM实现多时相的遥感分类,在公共数据集上取得了不错的效果[34]。但是,遥感影像包含信息丰富,多时相、空间、光谱等信息并没有充分利用,并且公共数据集并不能很好地反映实际应用情况。考虑到地物类型、复杂环境、时间等影响因素,本文提出了一种多时相语义分割网络用于蔬菜大棚提取,除了考虑时间特性,还融合空间信息和光谱信息以提高分类精度。该模型在经过变换后的多时相GF-2 卫星影像数据集上训练,与传统方法以及流行的深度学习分割模型相比,本模型识别精度较高。
图1 GF-2图像融合
2 相关工作
2.1 数据源
数据源选择空间分辨率为0.8 m的GF-2卫星影像,GF-2 影像主要由全色图像和多光谱影像组成,预处理包括辐射校正、大气校正、正射校正以及融合。其中,辐射校正和大气校正将灰度值转换为光谱反射率。正射校正用于纠正偏差引起的几何和环境影响。以上使用ENVI5.3(The Environment for Visualizing Images)软件完成。融合过程采用Pan sharpening算法,通过Python编程实现,融合后为4通道的高分辨率图像(如图1所示)。
2.2 数据集
根据野外调查获取的经纬度信息截取感兴趣区域,数据包含高密市的7组共21张影像(每组包含3张多时相影像,分别为1月份、4月份和11月份拍摄)。每张影像2 000×2 000 像素,背景像素标记为0,蔬菜大棚像素标记为1。
数据扩充提供深度学习所需的不变性和鲁棒性。对影像进行翻转、颜色增强、添加噪声等操作。每张影像裁剪成512×512大小,由于高空间分辨率影像对噪声敏感,下采样到256×256 尺寸模糊噪声,标签也进行相应的变换。扩充后的影像和标签根据序号和拍摄时间保存到相应文件夹中。最终训练数据包含12 039 张影像(256×256),按7∶3的比例划分为训练集和测试集。
3 方法
3.1 LSTM
流行的前馈网络主要由卷积层或者全连接层组成,输入数据为xt,经过前向传播,仿射变换得到h(z),其中h(z)=h(θTxi+b),对于时序数据,这样的结构对于上下文信息的特征表达能力差。许多研究者证明了RNN在处理多时序数据上的有效性[35-36],但是随着网络的不断加深,梯度爆炸和梯度消失问题使得网络记忆的信息越来越少,Hochreiter和Schmidhube等人提出的RNN的变体LSTM网络[37-38],通过‘门’控制记忆的时间,使得整个网络可以长时间记忆信息,其整体结构如图2所示。
图2 LSTM网络结构
图2 显示LSTM 单元网络结构,每个LSTM 单元由输入门、遗忘门、输出门组成。首先,yt-1和xt经过一个Sigmoid函数与内部状态信息Ct-1相乘,当值为0时,表示完全舍弃,当值为1 时,表示完全保留。该网络内部数学关系表示为:
其中,yt-1表示上一个单元的输出,θf表示学习的参数。然后yt-1和xt分别经过tanh 和sigmoid 来决定信息是否需要更新,与内部状态信息Ct-1呈加性关系,其数学表达式为:
Ct表示更新后的内部状态信息。最后,更新后的内部状态信息与yt-1和xt共同计算出LSTM 单元的输出,表示为:
yt和状态信息Ct作为输入传入到下一个LSTM单元中以此不断更新所提取的信息,通过反向传播来更新参数。
3.2 基于Patch-LSTM的时序网络
卷积神经网络通过卷积加和运算可以有效地融合图像的光谱信息(遥感影像由多个光谱叠加而成)。3.1节介绍的LSTM可以通过记忆的方式保留时序信息,但是在压缩图像生成时序向量过程中空间信息被破坏。因此,为解决LSTM无法充分利用图像的空间信息的局限性,本文设计了一种基于补丁的Patch-LSTM 结构(如图3所示)。
图3 Patch-LSTM网络结构
网络的输入是时序图像,分别对应不同拍摄时间。针对每一组时序图像,截取Patch区域(不同时序相同区域),生成时序向量x1、x2、x3。考虑计算量,每个Patch区域的尺寸设为5×5 大小,因此生成时序向量长度为(25,1)。LSTM 采用多对1 的结构,即多个输入1 个输出,时序向量x1,x2,x3分别输入到LSTM 单元,输出向量经过Reshape生成区域特征图。每一块区域特征图信息包含对应时序图像Patch 区域的叠加信息,重复操作直到获得完整的输出特征图。为直观展示时相特征,特征图进行了可视化(如图4所示),第一列是不同时期的时序图像,后面是对应不同阶段的特征图可视化结果(特征图可视化结果通过时序向量Reshape保存输出),可以看出不同时期蔬菜大棚的特征差异明显。通过Patch-LSTM 时序网络可以将不同时相特征进行融合,充分保留各个时相的特征,提升特征表达能力。
图4 特征图可视化
3.3 基于Patch-LSTM的时序的语义分割网络
基于3.2节介绍Patch-LSTM,本文的语义分割模型(MSSN)如图5所示。
图5 MSSN语义分割网络
整体结构分为Patch-LSTM、CNN 和ASSP 组成的编码器以及反卷积和skip-layer组成的解码器。
和全连接层一样,Patch-LSTM 可以看做特征的线性表达,因此信息的表达能力不如CNN。编码阶段,在Patch-LSTM 模块后接CNN 模块以提高网络的特征表达能力。研究证明CNN 的池化层会导致分辨率的下降,不利于特征的保留而且CNN对微小平移和变形的稳定性与池化层无关[39-40]。因此,本文尝试使用stride=2的卷积替代池化层,实现特征图尺寸的减小。
多尺度指的是图像的局部特征在不同尺度上的描述。通过单一尺寸特征图预测,网络对于目标的大小较为敏感。ASPP 模块受到空间金字塔启发,它将不同大小的区域重新采样到任意大小,以解决网络对目标大小的敏感性[41]。结构上,ASSP 由四个不同膨胀率的空洞卷积级联而成,后接全局平均池化层(GAP)融合尺度信息。Yu 等人证明,空洞卷积有效增加神经元的感受野[42]。感受野的计算公式如下:
其中,rk为第k层的感受野大小,si代表步长。假定卷积核为3×3,经过空洞率分别为[1,2,4]的三个空洞卷积操作之后,共获得15×15感受野,而经过3个常规卷积操作只有7×7感受野。因此,使用空洞卷积具有更大的感受野,意味着神经元包含更多的特征信息。
在解码阶段,低分辨率的语义信息可以投影到高分辨率像素上,实现密集分类。通常编码阶段下采样过程会导致信息的丢失,跳连结构可有效融合编解码特征。具体的,ASSP 生成的特征图经过反卷积层(上采样)之后与编码器(相同尺寸)的特征图进行拼接(concatenc),融合后的特征图通道数增加并且同时包含解码的特征以及编码丢失的特征,使得特征图还原更加准确。另外,多次实验发现参数学习的反卷积层相比简单的双线性插值计算更适合高精度的特征图还原。因此,上采样采用反卷积层。
3.4 网络训练
Softmax分类器可将数值转化概率向量[43]。对图像而言,每个像素通过前向传播计算对应数值Softmax 分类器分别对每个像素计算类别概率,生成和类别数量相同的概率特征图。最后选取最大概率输出即为真实预测类别。Softmax函数定义如下:
其中,zi表示网络的输出。公式(5)表明Softmax 函数输出多个类别概率(0~1 之间)并且概率的总和为1,这意味着类别之间有更好的对抗学习能力。损失函数反映网络的误差,像素级的交叉熵损失函数(categorical_crossentropy)广泛应用在分割网络中[44-45]。交叉熵损失函数定义为:
其中,ypre(x(i),θ)是网络的输出,是真实标签。梯度下降算法通过反向传播计算梯度,从而优化损失函数[46-47]。选择目前应用最广泛的自适应的Adam优化算法进行权重更新[48]。进一步探讨交叉熵损失函数利于反向传播过程,对公式(6)求导得到公式(7):
从公式(7)中可以看出,当输出与真实标签有较大差异时,梯度更新较快,反之则较慢。另外,梯度计算非常简单,反向传播更加迅速。其他参数设置如表1所示。
表1 网络参数设置
4 实验讨论
该模型在ubuntu16.04 系统上进行了训练,使用NVIDIA GeForce Titan X图形设备,图形内存为12 GB。该网络由开源框架Keras和Tensorflow实现。为了证明所设计网络的有效性,本文建立了两组实验,一组是和传统遥感分类方法的比较,另一组是和基于深度学习的语义分割模型方法的比较。
目前传统分类算法SVM 广泛应用于遥感分类,该算法通过核函数将数据映射到高维空间从而进行分类。另外,多尺度分割结合阈值分割算法是目前通用的面向对象方法,首先采用多尺度分割算法获得连通区域,再选择像素点、纹理、形状等信息进行阈值分割。以上两种方法在Envi 和易康软件上实现。表2 给出了本文方法(MSSN)、SVM 以及面向对象方法的精度评估对比。
表2 传统遥感分类方法比较
表2列出了不同方法的精度评价。结果表明,本文方法(MSSN)在Precision、F1 以及Kappa 都获得最高的数值。F1 为95%,比面向对象方法提高了8%,比SVM提高了13%。
U-net 和Deeplabv3+是目前流行的语义分割模型,在各种卫星图像数据集上都取得了良好的成绩。深度学习与传统的遥感分割方法有着不同的工作原理。因此,为了从多角度验证所提方法的有效性,将本文方法与U-net(vgg16)和Deeplabv3+(Xception)深度语义分割模型进行比较。为保证测试数据和训练数据不同,测试数据中选取了1 张尺寸为5 000×5 000 的2017 年GF-2影像,裁剪到256尺寸用于网络预测。随机选取三张用于测试,预测结果如图6所示。
图6 深度学习分割网络结果
从图6 可以看出本文方法在信息的完整度和边缘提取效果上都优于U-net 和Deeplabv3+原版,针对分割任务,除了Precision和F1指数之外,还加入前景交并比(IoU)评价模型以及预测时间(256×256)。由表3所示,本文的Precision、F1和IoU最高,分别为0.952 5、0.925 6和0.938 6。与U-net 网络相比,U-net 网络预测用时更快,但本文方法Precision提高了3%,IoU提高了4%。与原始Deeplabv3+网络相比,预测速度相同,由于本文模型充分利用了空间信息、时序信息以及光谱信息,所以Precision、F1和IoU都得到很大的提升。
表3 深度学习模型的对比评价
5 结束语
本文提出了一种改进的多时相语义分割网络(MSSN)用于蔬菜大棚提取。针对季节性对蔬菜大棚的影响以及空间信息丢失问题,本文设计了Patch-LSTM模型,针对单一尺度问题,网络采用ASSP 可以实现不同尺度的特征提取。由于模型充分利用了图像的空间信息、时序信息以及光谱信息,在与传统遥感分割方法以及流行的深度学习方法比较中,该模型在大棚提取任务中具有出色的表现。该模型并不针对大棚这一类地物,可以作为地物提取的基准模型。但是面对更大的范围,例如全国范围的遥感影像的大棚提取,构建样本数据库显得尤为重要。到目前为止很少有公开的遥感数据集,遥感数据集的制作需要实地探测和人工标注,需要耗费大量时间和人力。数据回灌技术即标注一部分数据,通过小型网络训练获得辅助标签,也是一种未来可以尝试的方法。另外,面对巨大的数据量,网络的耗时也是未来考虑的问题。