激光与光电子学进展, 2019, 56 (10): 102802, 网络出版: 2019-07-04   

结合全卷积神经网络与条件随机场的资源3号遥感影像云检测 下载: 1118次

Cloud Detectionof ZY-3 Remote Sensing Images Based on Fully Convolutional Neural Network and Conditional Random Field
作者单位
辽宁工程技术大学测绘与地理科学学院, 辽宁 阜新 123000
摘要
提出一种结合全卷积神经网络与条件随机场的资源3号卫星遥感影像云检测方法。优化了全卷积神经网络(FCN)模型,对3次上采样后的全卷积神经网络(FCN-8s)进行上采样,采用自适应+动量算法调整参数学习率加速收敛;将全卷积神经网络与条件随机场结合,以全卷积输出影像作为前端一阶势,高斯核函数作为后端二阶势;加入mean-shift区域约束0条件保护影像的局部特征信息,运用平均场算法推断条件随机场模型后验概率。实验结果表明,本研究提出的云检测方法可将影像云区识别准确率提高至97.38%,较FCN-8s算法提高13.42%。
Abstract
A novel method for the cloud detection of ZY-3 satellite remote sensing images is proposed based on the fully convolutional neural network (FCN) combined with the conditional random field. The model of a fully convolutional neural network is optimized and the FCN after three times of upsampling (FCN-8s) is upsampled. The momentum combined adaptive algorithm is used for the acceleration of convergence by adjusting the learning rate of parameters. The fully convolutional neural network is combined with the conditional random field, the fully convolutional output image is taken as the first-order potential of the front end, and the Gaussian kernel function is used as the second-order potential of the back end. The mean-shift regional constraints are added to protect the local feature information of images and the posterior probability of the conditional random field model is inferred by the mean field algorithm. The experimental results show that the proposed cloud detection method can increase the identification accuracy rate of an image cloud region to 97.38%, which is 13.42% higher than that from FCN-8s.

1 引言

遥感影像中常存在云区遮挡问题,直接影响对地观测和地物提取,准确的遥感影像云区检测是保证影像后续分析与利用的重要前提。目前,遥感影像的云区检测方法有多种,但主要是利用可见光或近红外光谱阈值法进行云检测,原理是利用云的高反射率和低温特性而将云层与其他地物进行分离,该方法的优点是计算简单,检测效率高;缺点是当地面覆盖了冰、雪、沙漠,或云为薄卷云、层云、小积云时,由于大部分光谱方法只适用于特定的场景或是识别不同的云[1],很难将云和地面区分开来。随着卷积神经网络[2]方法的提出,陈洋等[3]采用卷积的方法进行遥感影像的云检测,有效地解决了由于资源3号卫星影像波段少、光谱范围受限而导致的阈值法检测效果不佳的问题,但该方法只能获得云检概率图,不能实现像素级的影像输出。2015年,Long等[4]提出了全卷积神经网络(FCN),用于图像的语义分割,将FCN-8s网络模型应用于遥感影像的云检测中,结果表明,该方法可以大致检测云区范围,实验结果精度为83.96%。

近年来,基于图论和概率论的概率图模型[5]被广泛应用于机器学习领域,1984年,马尔可夫随机场(MRF)[6]模型第一次被应用在图像处理工作中,并解决了关于图像分类的一些问题。2001年,Lafferty等[7]在MRF的基础上提出了条件随机场(CRF)模型,该模型可以有效利用观察图像与标签图像的上下文空间信息并直接对类后验概率进行建模[8-9]。早期的CRF模型多用于自然语言处理领域,直到2003年Kumar等[10]将CRF模型扩展到图像分割与分类,并推动了该领域的蓬勃发展。目前,关于FCN与CRF结合的研究在场景标记[11]、估计单目图像深度[12]、人体姿态估计[13]等方面均有所成绩,但在遥感图像检测领域的应用甚少。本文提出一种结合FCN与CRF的资源3号遥感影像的云检测算法,首先优化FCN模型获取前端一阶势,取高斯核模型作为CRF二阶势,充分考虑影像的空间上下文信息。由于传统的CRF模型存在的过平滑现象,严重影响遥感影像的分类与识别,故加入mean-shift区约束条件来优化云区分类结果,划分云区边缘细节,提高了云检测的分类精度。

2 基本原理

为了有效利用空间域信息和先验知识,结合全卷积神经网络和条件随机场两种算法完成检测,全卷积神经网络利用标签图像的先验知识作为监督以训练网络模型,输出结果作为前端一阶势,条件随机场则对全卷积神经网络的粗分割图像与空间域上下文信息进行优化,取高斯核模型作为后端二阶势,图1为所提算法流程图,图中MyFCN为改进的FCN-8s。

图 1. 所提算法流程图

Fig. 1. Flow chart of proposed algorithm

下载图片 查看所有图片

2.1 全卷积神经网络基本原理

卷积神经网络因其局部连接和权值共享的优点被广泛应用于遥感影像的分割与分类任务中,其中卷积层和池化层是实现影像特征提取任务的核心组成结构,卷积层滤波矩阵作用于整个感受野范围内对输入影像作内积,形成输入影像的特征图从而提取出影像的目标特征,计算公式为

xjl=FiMjxi(l-1)·kijl+bjl,(1)

式中:l为对应卷积层的层数;k为该层卷积核尺寸;b为该层的偏置项;Mj为上层卷积结果的输入特征图;F(·)为对应的激活函数。激活函数的作用是对上层卷积层提取的简单低维特征进行非线性映射以组合出更复杂的高维特征[14]。故采用ReLU激活函数,此函数具有收敛速度快、泛化性能好、运算量小等特点。

池化层的作用是进行非线性降采样,在两个相邻的卷积层之间插入池化层对卷积特征进行降维。常用的池化操作有最大池化和平均池化两种。本研究采用最大池化方法,减小了上层隐藏层的计算复杂度,增强了对输入影像平移缩放等操作的稳健性,计算公式为

xi,jl=maxm>0,s>n[xi·s+m,j·s+n(l-1)],(2)

式中:s为池化的模板尺寸;mn分别为相应方向的步长。

在参数优化方面,采用自适应动量算法,利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,有效解决传统参数优化算法仅适用于小批量网络训练,下降速度慢且在非最优点持续震荡等问题,加快了模型收敛。

为了实现端到端的像素级检测能力,全卷积神经网络FCN-8s将牛津大学计算机视觉组和Google DeepMind公司的研究员一起研发的16层深的卷积神经网络VGG-16[15]网络的后3层全连接层全部转化为1×1大小的卷积核所对应的等同向量长度的多通道卷积层,利用上采样操作结合VGG-16的池化层输出结果,一方面增加了输出结果的分辨率,另一方面保留了网络收缩过程中产生的影像特征,获得精确度为8 pixel的输出结果,原理如图2所示。

图 2. 全卷积神经网络原理示意图

Fig. 2. Principle diagram of fully convolutional network

下载图片 查看所有图片

由于FCN-8s的训练过程需要移植FCN-32s和FCN-16s的训练结果,训练耗时超过40 h,训练过程复杂且训练时间漫长。MyFCN的网络结构如表1所示,该模型由编码层结构和解码层结构组成,编码层为传统卷积神经网络结构,即2层卷积层接1层池化层重复至Conv5_2,其中卷积层中卷积核尺寸均为(3×3) pixel,池化层下采样因子均为(2×2) pixel的max pooling,激活函数为ReLU,每进行一次下采样操作后将特征通道数量加倍。解码层结构中首先利用反卷积将特征通道数量减半,与此同时特征图的大小增大1倍,将反卷积后的结果与编码结构中对应的卷积后特征图相结合,并对结合后的特征图再进行两次卷积核尺寸为(3×3) pixel的卷积操作。网络的最后一层的卷积核尺寸定为(1×1) pixel,由于该云区检测研究为二分类问题,因此最后一层卷积层连接sigmoid正则项和二进制交叉熵损失函数,当云区样本数据集开始训练时,交叉熵损失函数可以快速收敛且更加稳定。

表1为全卷积神经网络编码过程与解码过程的python代码,其中3×3k,k代表卷积核尺寸,3×3代表卷积核尺寸;64n,128n,256n,512n代表随着卷积层数的增加,卷积核数量成倍增长,n表示通道数。

表 1. 改进的全卷积神经网络算法结构代码对应表

Table 1. Structural code mapping in improved fully convolutional neural network algorithm

From top to bottomFrom bottom to top
Conv1_1-64n-3×3k-‘relu’
Conv1_2-64n-3×3k-‘relu’
Pool1-2×2 max poolingDeconv9-64n-3×3k-‘relu’
Conv2_1-128n-3×3k-‘relu’Conv8_1-128n-3×3k-‘relu’
Conv2_2-128n-3×3k-‘relu’Conv8_2-128n-3×3k-‘relu’
Pool2-2×2 max poolingMerge8 (conv2_2, Deconv8)
Conv3_1-256n-3×3k-‘relu’Deconv8-128n-3×3k-‘relu’
Conv3_2-256n-3×3k-‘relu’Conv7_2-256n-3×3k-‘relu’
Pool3-2×2 max poolingConv7_1-256n-3×3k-‘relu’
Conv4_1-512n-3×3k-‘relu’Merge7 (conv3_2, Deconv7)
Conv4_2-512n-3×3k-‘relu’Conv7-256n-3×3k-‘relu’
Drop4-dropout (0.5)Conv6_2-512n-3×3k-‘relu’
Pool4-2×2 max poolingConv6_1-512n-3×3k-‘relu’
Conv5_1-1024n-3×3k-‘relu’Merge6 (drop4, Deconv6)
Conv5_2-1024n-3×3k-‘relu’Deconv6-512n-3×3k-‘relu’

查看所有表

2.2 结合条件随机场模型的精细化云区检测

条件随机场是一种经典的判别型概率图模型,将CRF模型引入到遥感影像的云区检测中,不仅考虑了空间的上下文信息,而且反映了观测变量之间的相互依赖关系,细化了全卷积神经网络的分割边缘,剔除较小的误分割区域。定义隐变量Yi为像素点i的分类标签,它的取值范围就是要分类的语义标签集合L={L1,L2,…,LK}中的一个标签变量,K为标签数,本研究中K=2,即背景和云区。假定随机场X由一系列随机变量{X1,X2,…,XN}组成,表示给定的云区遥感影像,N为随机变量数目,Xi代表影像像素点i的光谱向量,随机场Y由一系列随机变量{Y1,Y2,…,YN}组成,Yi为像素i的标签。 则条件随机场(X,Y)可以通过一个吉布斯分布表示为

P(Y|X)=1Z(X)exp-cCϕc(YcX,(3)

式中:Z(X)为归一化项,即

Z(X)=Yexp-cC(YcX,(4)

式中:C为基团的集合,每个基团c都将产生一个势函数ϕc(Yc|X)。标签值yLK对应的吉布斯能量为

E(y|X)=-ln[P(y|X)]-ln[Z(X)]=cCϕc(yc|X),(5)

因此,云区检测问题的目标是找到一个标签y* ,使得后验概率P(y|X)最大,吉布斯能量E(y|X)最小[8]。条件随机场模型的本质是在不同的基团上定义不同的势函数,根据基团变量的个数,势函数分为一阶势、二阶势,以及高阶势。在本文实验中,运用一阶势和二阶势,相应的吉布斯能量为

E(y|X)=iNϕi(yi|X)+iN,jδiϕi(yi,yj|X)(6)

为了简化,用ψc(yc)代替ϕc(yc|X),则(6)式转化为

E(y)=iNψi(yi)+iN,jδiψij(yi,yj),(7)

式中:ψi(yi)为一阶势函数,表示像素对应的类别,即全卷积神经网络对云区的检测结果;ψij(yi,yj)为二阶势函数,表示像素类别的一致性程度;δi为像素i的邻域集合。

一阶势函数需要判别像素点的类成员概率,本文使用全卷积神经网络的分类结果定义一阶势函数,其公式表示为

ψi(yi)=-ln[P(yi)],(8)

式中:P(yi)为利用全卷积神经网络进行云检时,像素i取得标签为云的概率。

相比于传统仅利用4连接或8连接邻域的CRF模型,建立一种全连接的CRF模型,表达式为

ψij(yi,yj)=μ(yi,yj)m=1Kωmkm(fi,fj),(9)

式中: ω(m)为高斯核对应的权重;k(m)为高斯核;fifj为像素i和像素j的特征向量。

然而上述CRF模型的云区分类结果依旧存在过平滑现象,云区边缘细节依旧难以划分,加入mean-shift区域约束算法来修正像素点的分类结果,即

P(yt|X)=Py(t-1)|X)+ωpr(y(t-1)|X)]/(1+ωp),(10)

式中:P(y(t)|X)为第t次迭代时的后验概率;r( yi(t-1)|X)为第t-1次迭代的后验概率均值;ωp控制区域约束的程度。

整个模型的后验概率的求解是一个NP-Hard问题,且所提CRF模型为全连接模型,传统算法的推断速度过慢,故采用平均场算法[16]。该方法提出了一种可以替代CRF原始分布P(y)的简单近似分布Q(y),且Y在这个分布内相互独立,具体为最小化KL距离(Kullback-Leibler Divergence,也叫相对熵),并利用近似分布代替原始分布,将近似分布分散为相对独立的一系列有效子分布,最后使用迭代更新的算法计算每个子分布,公式为

Q(y)=iQi(yi),(11)

由此可得迭代更新公式

Qi(ξ)=1Ziexp-ψi(yi)-l'Lijψij(yi,yj)Qj(ξ'),(12)

式中:[ξ ξ']为类别矩阵[16]

整个推断过程,以全卷积神经网络的最终预测图像为输入,以迭代结束后的y作为全连接CRF的输出。

3 实验与分析

为了验证所提方法的优越性,本实验从数十景米级分辨率的资源3号遥感影像上截取了数千个(256×256) pixel大小的数据样本,通过目视解译从中挑选200个样本制作训练集和测试集,使用Photoshop对样本中的云区进行勾画提取,得到黑白的标签图片,如图3所示。将样本集扩充为1000张进行训练,样本集划分为训练集和验证集。训练集的作用是确认拟合曲线参数;验证集的作用是对模型进行最终优化及确定,辅助模型构建。由于实验数据量较少,参考相关文献,采用适宜小数据量样本的划分方法,训练集与验证集划分比例为4∶1,即800张样本用于训练网络模型,200张样本用于验证测试。实验使用主频为3.40 GHz的英特尔i7处理器和英伟达GTX1080Ti的通用计算图形处理器,在linux系统下基于第三方开源的深度学习框架Keras,使用Keras的Python接口进行深度学习模型的搭建,在训练过程中为了提高实验精度,防止过拟合,对训练集和验证集进行正则化处理。

将实验结果与传统云区检测方法中效果较好的模糊C均值聚类(FCM)+支持向量机(SVM) 法[17]作对比,FCM方法通过最小化目标函数完成样本的迭代聚类,利用SVM聚类法进行类属判别,由于实验中应用了先验知识,因此分类准确性较高。图4为不同实验算法下云区检测结果对比。

图 3. 输入影像与标签图片。(a)输入影像1;(b)标签图片1;(c)输入影像2;(d)标签图片2

Fig. 3. Input images and label pictures. (a) Input image 1; (b) label picture 1; (c) input image 2; (d) label picture 2

下载图片 查看所有图片

图 4. 不同方法云检测结果对比。(a)输入影像;(b)标签影像;(c) FCN+CRF;(d) MyFCN;(e) FCN-8s;(f) FCM+SVM

Fig. 4. Comparison of cloud detection results with different methods. (a) Input image; (b) label picture; (c) FCN+CRF; (d) MyFCN; (e) FCN-8s; (f) FCM+SVM

下载图片 查看所有图片

图4可以看出,FCM+SVM的检测结果最差,只能检测出明显的厚云区域;FCN-8s算法可粗略识别云区的大致位置,但由于该算法仅进行了3次上采样操作,无法全面学习到影像的深层次特征;本文提到的改进的全卷积网络算法MyFCN,将编码层与解码层相对应,其结构比FCN-8s的检测结构更优,但是此方法也仅能识别云区的大致范围,无法进行精细化检测;将FCN与CRF模型算法结合的云检方法检测效果最佳,不但能检测出细小的云区边缘,而且能有效检测出较难识别的薄云区域。

为了客观定量地评价所提算法的优越性,采用了4个评价指标:准确率、精确度、召回率和F1-综合评价指标。云区检测识别结果可以分为4种情况:正确云区检测范围(TP),正确非云区检测范围(TN),错误云区检测范围(FN),错误非云区检测范围(FP)。准确率、精确度、召回率和F1-综合评价指标的表达式分别为

Raccuracy=(TP+YN)(TP+FP+FN+TN),(13)Rprecision=TP/(TP+FP),(14)Rrecall=TP/(TP+FN),(15)RF1measure=2RprecisionRrecall/(Rprecision+Rrecall)(16)

其中F1综合了精确度和召回率的结果,F1-综合指标越高说明实验方法越有效。表2为不同算法的检测精度与检测时间的比较。

表 2. 不同方法的云检测精度与检测时间比较

Table 2. Comparison of accuracy and detection time of cloud area detection by different methods

ItemFCN+CRFMyFCNFCN-8sFCM+SVM
Raccuracy /%97.3890.1183.9683.72
Rprecision /%99.7096.9294.1584.89
Rrecall /%96.7790.3685.3584.61
RF1measure /%98.2293.5389.5384.75
Detection time /s-0.462.24>60

查看所有表

表2可以看出,本文方法精确度更高,并且无论是在准确率、精确度、召回率,还是F1-综合评价指标方面均有明显优势,准确率可达到97.38%,精确度达到99.70%,召回率达到96.77%,F1-综合评价指标达到98.22%,各方面均明显高于其他云检方法。实验效率方面,本文算法可实现批量的云区检测工作,单张图像检测时间平均为0.46 s,远低于FCN-8s和传统阈值云检算法。因此,本文方法具有优化作用。

4 结论

针对资源3号卫星遥感影像提出了一种结合全卷积神经网络与条件随机场的云区检测算法,该算法可接受任意尺寸大小的输入影像,达到像素级的检测效果。对全卷积神经网络FCN-8s进行改进,有效解决了其训练过程繁、收敛效果差、训练时间长且云检结果精度低等问题。将高斯核作为条件随机场二阶势,充分考虑输入影像的空间上下文信息,通过加入mean-shift区域约束条件,解决了模型输出影像存在过平滑的问题,精细化处理了云区边缘范围,将检测准确率提高至97.38%。实验结果表明,改进的全卷积神经网络与条件随机场结合的检测算法无论是在图像检测效果还是定量分析上都具有明显优势。

然而,本文算法还存在诸多不足,例如,薄雾本属于气溶胶,不属于云的范畴,而本文方法易将薄雾识别为云,存在误判。另外,对于具有相同光谱和纹理特性的云、雪的识别亦存在困难,随着深度学习理论的不断深入,下一步将致力于解决以上问题。

参考文献

[1] 刘大伟, 韩玲, 韩晓勇. 基于深度学习的高分辨率遥感影像分类研究[J]. 光学学报, 2016, 36(4): 0428001.

    Liu D W, Han L, Han X Y. High spatial resolution remote sensing image classification based on deep learning[J]. Acta Optica Sinica, 2016, 36(4): 0428001.

[2] KrizhevskyA, SutskeverI, Hinton G E. ImageNet classification with deep convolutional neural network[C/OL]//Advances in Neural Information Processing Systems, 2012: 1097-1105. [2018-08-28].https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf.

[3] 陈洋, 范荣双, 王竞雪, 等. 基于深度学习的资源三号卫星遥感影像云检测方法[J]. 光学学报, 2018, 38(1): 0128005.

    Chen Y, Fan R S, Wang J X, et al. Cloud detection of ZY-3 satellite remote sensing images based on deep learning[J]. Acta Optica Sinica, 2018, 38(1): 0128005.

[4] LongJ, ShelhamerE, DarrellT. Fully convolutional networks for semantic segmentation[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition, June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 3431- 3440.

[5] KollerD, FriedmanN. Probabilistic graphical models principles and techniques[M]. Cambridge: MIT Press, 2009.

[6] Geman S, Geman D. Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1984, 6(6): 721-741.

[7] Lafferty J,McCallum A, Pereira F. Conditional random fields: probabilistic models for segmenting and labeling sequence data[C/OL]//18th International Conference on Machine Learning, June 28-July 01, 2001, San Francisco, CA, USA. Burlington, MA: Morgan Kaufmann Publishers, 2001: 282-289. [ 2018- 07- 20]. . http://portal.acm.org/citation.cfm?id=655813

[8] 夏梦, 曹国, 汪光亚, 等. 结合深度学习与条件随机场的遥感图像分类[J]. 中国图象图形学报, 2017, 22(9): 1289-1301.

    Xia M, Cao G, Wang G Y, et al. Remote sensing image classification based on deep learning and conditional random fields[J]. Journal of Image and Graphics, 2017, 22(9): 1289-1301.

[9] 李竺强, 朱瑞飞, 高放, 等. 三维卷积神经网络模型联合条件随机场优化的高光谱遥感影像分类[J]. 光学学报, 2018, 38(8): 0828001.

    Li Z Q, Zhu R F, Gao F, et al. Hyperspectral remote sensing image classification based on three-dimensional convolution neural network combined with conditional random field optimization[J]. Acta Optica Sinica, 2018, 38(8): 0828001.

[10] KumarS, HebertM. Discriminative random fields: a discriminative framework for contextual interaction in classification[C]//Proceedings Ninth IEEE International Conference on Computer Vision, October 13-16, 2003, Nice, France. New York: IEEE, 2003: 1150- 1157.

[11] Farabet C, Couprie C, Najman L. et al. Learning hierarchical features for scene labeling[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(8): 1915-1929.

[12] TompsonJ, JainA, LecunY, et al. Joint training of a convolutional network and a graphical model for human pose estimation [EB/OL]. ( 2014-09-17)[2018-07-20]. https://arxiv.org/abs/1406.2984v2.

[13] Liu F, Shen C, Lin G, et al. Learning depth from single monocular images using deep convolutional neural fields[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(10): 2024-2039.

[14] 刘笑, 王光辉, 杨化超, 等. 全卷积神经网络遥感影像道路提取方法[J]. 遥感信息, 2018, 33(1): 69-75.

    Liu X, Wang G H, Yang H C, et al. Road extraction from remote sensing image based on fully convolutional networks[J]. Remote Sensing Information, 2018, 33(1): 69-75.

[15] SimonyanK, ZisseR, Man A. Very deep convolutional networks for large-scale image recognition [EB/OL]. ( 2015-04-10)[2018-01-25]. https://arxiv.org/abs/1409.1556v6.

[16] KrähenbühlP, KoltunV. Efficient inference in fully connected CRFs with Gaussian edge potentials[J]. Advances in Neural Information Processing Systems, 2011( 24): 109- 117.

[17] 赵晓. 高分辨率卫星遥感图像云检测方法研究[D]. 哈尔滨: 哈尔滨工业大学, 2013: 40- 47.

    ZhaoX. Study on cloud detection method for high resolution satellite remote sensing images[D]. Harbin: Harbin Institute of Technology, 2013: 40- 47.

裴亮, 刘阳, 高琳. 结合全卷积神经网络与条件随机场的资源3号遥感影像云检测[J]. 激光与光电子学进展, 2019, 56(10): 102802. Liang Pei, Yang Liu, Lin Gao. Cloud Detectionof ZY-3 Remote Sensing Images Based on Fully Convolutional Neural Network and Conditional Random Field[J]. Laser & Optoelectronics Progress, 2019, 56(10): 102802.

本文已被 2 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!