基于深度残差全卷积网络的Landsat 8遥感影像云检测方法 下载: 1477次
1 引言
在光学遥感中,云作为一种广泛存在的物体是影响地物分析及遥感影像特征提取精度的重要因素。在Landsat 5和Landsat 7的图像中云覆盖率可达40%[1],较高的云覆盖率会显著降低遥感数据的准确性和应用价值,因此提高云检测精度对遥感影像的应用具有重要的现实意义。
目前的云检测方法可分为基于规则和基于机器学习两类。光谱分析法是最早且应用最广泛的基于规则的云检测方法,其主要特点是利用云在可见、短波红外、热红外等不同波段的辐射特性、反射特性进行云检测[2]。刘心燕等[3]基于云与地表的光谱特征,采用光谱差异分析技术完成了高分四号卫星数据的云检测,正确率可达82%以上。光谱分析法虽能够在特定传感器上取得相对不错的云检测效果,但这类算法只适用于某一特定数据集,因而普适性较差[4]。为了弥补光谱法的缺陷,机器学习算法被引入云检测研究,用于图像特征的分类[5-6]。Li等[7]应用支持向量机对反射率和灰度共生矩阵分类,对小型数据集的云检测精度超过90%。支持向量机等算法能够更好地运用云层的纹理信息,提高云检测的效果,比光谱法更具有普适性,但需要人为选取特征。
自2016年起,深度学习开始被应用于云检测的研究[8-9]。经典的卷积神经网络由卷积层、池化层和全连接层等组合而成,需要对大量标注过的数据进行训练,属于监督机器学习算法。陈洋等[10]以主成分分析作为预处理手段,使用支持向量机对卷积神经网络提取到的特征进行分类,完成对资源三号卫星图像的云检测,但该方法步骤较多,且神经网络较浅,在较大数据集上容易过拟合。高琳等[11]应用基于膨胀卷积的神经网络完成对资源三号遥感影像的端到端云识别,但文中所用数据集较小,该算法在大型数据集的表现有待验证。Zi等[12]应用卷积神经网络的变种网络(PCANet)与支持向量机,将光谱阈值法与机器学习中的简单线性聚类算法相结合,完成对Landsat 8 图像的云检测,准确率达到93%,其主要缺点是推断过程需分步进行,无法完成端到端的处理。
本文针对传统方法普适性较差、需要人工选取特征及无法端到端检测的问题,提出了一种基于残差网络ResNet34[13]的改进型U-Net[14]网络。通过引入残差模块提高U-Net的网络表达能力与泛化能力,在Landsat 8 云覆盖评价(L8 CCA)数据集[15]上较原版U-Net和传统云检测算法在检测精度上有较大提高。
2 理论方法
2.1 基于残差网络的U-Net网络
本文所采用的网络是结合残差网络与U-Net模型的基于编码-解码架构的全卷积网络,如
U-Net[14]最初被应用于生物医学影像的分割,因其轻量级、易训练、更适合小数据集等特点,在医学诊断、遥感等领域也有广泛的应用。U-Net的主体由四次编码过程和四次解码过程组成,四次编码、解码之间有对应的跨层连接。编码器包括两层3×3卷积层、一层非线性函数ReLU及用于下采样的2×2的最大池化层。解码器包括两层3×3卷积层、一层ReLU及用于上采样的2×2反卷积。编码器与解码器间的跨层连接使U-Net能够同时提取到图像的高层及低层语义,提高分割效果[16]。
随着深度学习网络的不断加深,研究者们发现过深的神经网络会在训练中产生梯度消失问题,从而导致模型正确率下降[13]。为了解决这个问题,He等[13]在2016年提出了深度残差网络,即ResNet。ResNet的核心是残差模块,
式中:x和y代表残差模块的输入和输出;F(x)为待学习的残差函数。
图 3. ResNet34残差模块图。(a)特征提取残差模块;(b)下采样残差模块图
Fig. 3. ResNet34 residual block diagram. (a) Residual block for feature extraction; (b) residual block for down-sampling
为了提高U-Net的云检测精度,增强网络的鲁棒性和泛化能力,受U-Net中的跨层连接和残差网络中的短连接的相似设计的启发,本文将两种网络结合提出一种基于残差网络的U-Net模型。将残差模块应用于语义分割的编码器,代替原版U-Net中双卷积与最大池化的编码器设计,并将改进后的网络用于遥感图像的云检测。
本文将ResNet34的四次下采样的结果连接至解码器的上采样,设计出了基于残差网络改进的U-Net。改进后的网络仍为编码-解码架构,其中编码器以ResNet34的组合卷积模块代替原版U-Net中的双卷积编码模块。每个编码器中所包含的残差模块具体数量见
表 1. ResNet34结构参数
Table 1. Structural parameters of ResNet34
|
表 2. 基于残差网络的U-Net结构参数
Table 2. Parameters of ResNet-based U-Net
|
2.2 评价指标
本文选择像素精度(PA)、平均像素精度(mAP)及平均交并比(mIoU)作为评价指标[18]。像素精度即分类正确的像素点数和所有的像素点数的比例,平均像素精度即所有类别分类正确的像素点数和该类的所有像素点数的比例的均值,平均交并比即所有类别的IoU的均值,IoU为交并比,即一个类别与预测结果与真值交集和并集之比。计算公式分别为
式中:k均为类别;pii为真正即被正确分为正的像素;pij为假正;pji为假负。
3 实验与分析
3.1 数据与参数设置
使用L8 CCA数据集中分辨率为30 m的可见光波段数据,并将波段4、3、2依次作为RGB通道合成真彩色图像。由于L8 CCA中的图像大小不一,本文将图像及真值统一剪裁为4480×4480大小。为了有效地进行训练,本文将图像再次剪裁为224×224大小的小块图像,即patch。最终选择84张图像,生成30800张小块图像,其中28000张作为训练集,2800张作为验证集,另有7张4480×4480大小的图像作为测试集。训练集经过包括旋转、放缩、翻转、Gamma变换、亮度变换等数据增强操作后输入模型。
硬件环境为型号E5-2620 v4英特尔至强系列CPU,32 GB内存,显存大小为11 GB的英伟达GeForce 1080 Ti显卡;操作系统为乌班图。所有方法均使用Python 3.6进行代码编写,并使用1.3.1版本的PyTorch[18]深度学习框架进行训练及推断。使用Dice损失[19]与二分类交叉熵[20]的平均值作为损失函数,公式分别为
式中:P为网络预测结果;T为真值。
本文使用经数据增强处理的28000张小块图像进行了70个周期的训练。批大小设置为16,学习率的初值被设置为0.001,并应用Adam[21]优化器进行优化,使学习率以0.5的下降系数每10个周期更新一次。
3.2 结果与分析
图 4. 训练过程。(a)损失随周期变化曲线;(b)评价指标随周期变化曲线
Fig. 4. Training procedure. (a) Loss change curves versus the number of epochs; (b) metrics change curves versus the number of epochs
图 5. 云检测示例。(a)输入图像;(b)云层的真值图像;(c)本文方法结果;(d) U-Net结果;(e) Otsu法结果
Fig. 5. Examples of cloud detection. (a) Input images; (b) ground truth cloud mask; (c) results of proposed method; (d) results of U-Net; (e) results of Otsu method
为进一步量化该方法的有效性,本文将测试集图像应用于该网络,其中推断时间为检测一张4480×4480大小的测试集图像的平均时间,最终测试的平均结果及其与原版U-Net、传统Otsu算法的结果对比如
表 3. 不同云检测方法的结果对比
Table 3. Results comparison of different cloud detection methods
|
表 4. 测试集详细结果
Table 4. Detail results of test set
|
经过定性与定量的评价,实验结果显示本文方法优于传统云检测方法,同时能够弥补原版U-Net的缺点,在保持同量级运行时间的情况下,提升了检测的精度,实现端到端的云检测。
4 结论
本文将基于深度学习的语义分割技术应用于云检测,提出了一种基于深度残差网络改进的U-Net,并将网络在Landsat 8遥感图像上进行了验证。本文方法的像素精度达到93.33%,平均像素精度达到93.43%,平均交并比提升至83.88%,相较U-Net及传统云检测方法Otsu算法有较大提升。实验结果显示,本文方法具有检测精度高、误检少的优势,并且在存在薄云及碎云的场景有着优于原版U-Net和传统方法的表现,证明了本文方法的有效性。
基于语义分割技术的云检测还有很大的潜力,本文方法还存在不足,如训练及推断时间较长,模型较大。后续研究将引入剪枝、量化、知识蒸馏等方法进行模型压缩,进而提高网络推断速度,减少模型所需计算资源。
[1] Ju J C, Roy D P. The availability of cloud-free Landsat ETM+ data over the conterminous United States and globally[J]. Remote Sensing of Environment, 2008, 112(3): 1196-1211.
[2] Oishi Y, Ishida H, Nakamura R. A new Landsat 8 cloud discrimination algorithm using thresholding tests[J]. International Journal of Remote Sensing, 2018, 39(23): 9113-9133.
[3] 刘心燕, 孙林, 杨以坤, 等. 高分四号卫星数据云和云阴影检测算法[J]. 光学学报, 2019, 39(1): 0128001.
[4] Li Z W, Shen H F, Cheng Q, et al. Deep learning based cloud detection for medium and high resolution remote sensing images of different sensors[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2019, 150: 197-212.
[5] Ghasemian N, Akhoondzadeh M. Introducing two Random Forest based methods for cloud detection in remote sensing images[J]. Advances in Space Research, 2018, 62(2): 288-303.
[6] Christodoulou C I, Michaelides S C, Pattichis C S. Multifeature texture analysis for the classification of clouds in satellite imagery[J]. IEEE Transactions on Geoscience and Remote Sensing, 2003, 41(11): 2662-2668.
[7] Li P F, Dong L M, Xiao H C, et al. A cloud image detection method based on SVM vector machine[J]. Neurocomputing, 2015, 169: 34-42.
[8] Chen Y, Fan R S, Bilal M, et al. Multilevel cloud detection for high-resolution remote sensing imagery using multiple convolutional neural networks[J]. ISPRS International Journal of Geo-Information, 2018, 7(5): 181.
[9] Mateo-GarciaG, Gomez-ChovaL, Camps-VallsG. Convolutional neural networks for multispectral image cloud masking[C]∥2017 IEEE International Geoscience and Remote Sensing Symposium (IGARSS), July 23-28, 2017. Fort Worth, TX. IEEE, 2017: 2255- 2258.
[10] 陈洋, 范荣双, 王竞雪, 等. 基于深度学习的资源三号卫星遥感影像云检测方法[J]. 光学学报, 2018, 38(1): 0128005.
[11] 高琳, 宋伟东, 谭海, 等. 多尺度膨胀卷积神经网络资源三号卫星影像云识别[J]. 光学学报, 2019, 39(1): 0104002.
[12] Zi Y, Xie F Y, Jiang Z G. A cloud detection method for Landsat 8 images based on PCANet[J]. Remote Sensing, 2018, 10(6): 877.
[13] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016. Las Vegas, NV, USA. IEEE, 2016: 770- 778.
[14] RonnebergerO, FischerP, BroxT. U-net: convolutional networks for biomedical image segmentation[M] ∥Lecture Notes in Computer Science. Cham: Springer International Publishing, 2015: 234- 241.
[15] Foga S, Scaramuzza P L, Guo S, et al. Cloud detection algorithm comparison and validation for operational Landsat data products[J]. Remote Sensing of Environment, 2017, 194: 379-390.
[16] LongJ, ShelhamerE, DarrellT. Fully convolutional networks for semantic segmentation[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015. Boston, MA, USA. IEEE, 2015: 3431- 3440.
[17] Garcia-Garcia A, Orts-Escolano S, Oprea S, et al. A survey on deep learning techniques for image and video semantic segmentation[J]. Applied Soft Computing, 2018, 70: 41-65.
[18] PaszkeA, GrossS, ChintalaS, et al. Automatic differentiation in pytorch[EB/OL]. [2020-02-17].https: ∥openreview. net/forum?id=BJJsrmfCZ.
[19] MilletariF, NavabN, Ahmadi SA. V-net: fully convolutional neural networks for volumetric medical image segmentation[C]∥2016 Fourth International Conference on 3D Vision (3DV), October 25-28, 2016. Stanford, CA, USA. IEEE, 2016: 565- 571.
[20] Zhang ZL, Sabuncu MR. Generalized cross entropy loss for training deep neural networks with noisy labels[C]∥Advances in neural information processing systems, Montréal, Quebec, CANADA, Dec 2-8, 2018. Trier: dblp:2018: 8778- 8788.
[21] Kingma D P, Ba J. Adam: a method for stochastic optimization[J]. Computer Science, 2014.
[22] Otsu N. A threshold selection method from gray-levelhistograms[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1979, 9(1): 62-66.
张家强, 李潇雁, 李丽圆, 孙鹏程, 苏晓峰, 胡亭亮, 陈凡胜. 基于深度残差全卷积网络的Landsat 8遥感影像云检测方法[J]. 激光与光电子学进展, 2020, 57(10): 102801. Jiaqiang Zhang, Xiaoyan Li, Liyuan Li, Pengcheng Sun, Xiaofeng Su, Tingliang Hu, Fansheng Chen. Landsat 8 Remote Sensing Image Based on Deep Residual Fully Convolutional Network[J]. Laser & Optoelectronics Progress, 2020, 57(10): 102801.