Application of convolutional neural networks in satellite remote sensing sea ice image classification: A case study of sea ice in the Bohai Sea
-
摘要: 本文以TensorFlow为框架搭建卷积神经网络,基于迁移学习的思想,以经典的手写数字识别作为引入,对不同代价函数和激活函数组合对卷积神经网络模型分类结果影响进行了评价分析。以HJ-1A/B渤海海冰图像为实验数据源,分析了不同函数组合对遥感海冰图像分类的影响,优选出交叉熵代价函数与ReLU激活函数为最佳的组合,证明了卷积神经网络在遥感海冰分类中的应用可行性。对渤海海冰图像分类结果进行验证,其中带标签样本验证精度为98.4%。使用该模型对无标签的测试样本进行识别,讨论了样本的窗口尺寸对海冰分类结果的影响,发现在400×400小范围分类实验中最佳窗口尺寸为2×2;最后对整个渤海海域进行识别验证,效果较好。
-
关键词:
- 卷积神经网络 /
- 海冰分类 /
- 代价函数 /
- 激活函数 /
- TensorBoard
Abstract: This paper constructs a convolutional neural network based on TensorFlow. According to the idea of migration learning, the classical handwritten digit recognition is introduced as an introduction. The influence of different cost functions and activation function combinations on the classification results of convolutional neural network models is evaluated. Taking HJ-1A/B sea ice images as experimental data source, we analysis the influence of different function combinations on remote sensing sea ice image classification. It turns out that the cross-entropy cost function and the ReLU activation function are optimally combined. The feasibility of CNN in remote sensing sea ice classification is proved, and the classification results of the sea ice images in the Bohai Sea are verified. The calibration accuracy of the labeled samples is 98.4%. The model is then used to identify the unlabeled test samples. The influence of the window size on the sea ice classification results is discussed, and the optimal window size is 2×2 in the 400×400 small-scale classification experiment. Finally, the identification and verification of the entire Bohai Sea area is carried out, and the effect is good.-
Key words:
- CNN /
- sea ice classification /
- cost function /
- activation function /
- TensorBoard
-
1. 引言
目前用于海冰分类识别和监测的研究,无论是基于光学海冰图像还是合成孔径雷达(SAR)海冰图像,多是通过传统的监督和非监督算法,应用最多的如灰度共生矩阵(GLCM)和支持向量机(SVM)。Wang等[1]根据GLCM和小波纹理特征将特征空间域和频率域融合对海冰图像进行分类研究;Ressel和Singha[2]首先进行特征提取,再输入到神经网络分类器中,并通过互信息分析了相关性和冗余度,进行海冰分类;Liu等[3]基于SVM算法,将后向散射系数、GLCM和海冰密集度三者结合对海冰图像进行分类;Zakhvatkina等[4]使用纹理特征结合SVM区分海冰和开阔水域;Tan等[5]通过随机森林特征选择方法确定优选特征进行海冰图像解译研究;张明等[6]采用灰度共生矩阵提取特征值,优选特征组合,结合支持向量机开展海冰类型的分类研究;任莎莎和郎文辉[7]通过高斯滤波后提取海冰图像灰度值,提出K-GMM算法进行海冰分类;郑敏薇等[8]利用灰度共生矩阵计算并获取图像纹理,结合SVM算法达到冰水分离的目的;逯跃锋等[9]运用灰度共生矩阵提取纹理特征中能量、对比度、相关性和同质性的特征值,结合最小距离分类算法进行海冰分类;朱立先等[10]通过灰度共生矩阵获得影像的纹理特征,利用LibSVM分类方法对一年冰和多年冰进行训练和分类。以上的研究工作虽然都在原有的工作基础上做了改进并达到了一定的分类效果,但都需要先对遥感海冰图像进行大量且复杂的特征提取工作。面对大数据时代的今天,处理海量冗杂的海冰数据,并快速准确的提供决策支持,以上的基于传统算法的海冰识别检测方法有些捉襟见肘。
深度学习思想的本质就是通过在多层神经网络上运用各种算法来训练学习图像特征,其框架下包含多种机器学习算法,其中卷积神经网络(CNN)是目前该框架研究最深入、应用最广泛的算法。CNN作为一个深度学习架构被提出的最初诉求,是降低对图像数据预处理的要求,避免复杂的特征工程。它可以直接使用图像的原始像素作为输入,而不必先使用算法提取特征。它的特征提取和分类训练同时进行,使得训练时就自动提取了最有效的特征,这就减轻了使用传统算法(如SVM)时必须要做的大量重复而烦琐的数据预处理工作。
目前,CNN在图像识别、语音交互、自然语言处理等领域取得的突破和进展有目共睹。CNN应用到卫星遥感海冰分类中的研究虽然较少,但也取得一定进展。如Wang等[11]首次将卷积神经网络应用于海冰密集度评测中,其精度与海冰分析员手绘图相比,绝对平均误差不超过10%;Chen等[12]使用全卷积神经网络(A-ConvNets)对海冰图像进行分类,其平均准确率高达99%,而所采用的全卷积神经网络只包含卷积层,图像经多次卷积之后尺寸越来越小,分辨率越来越低,需要通过反卷积的方式来恢复原图,过程较为复杂且部分细节仍旧无法恢复;Wang等[13]进一步的研究发现,CNN模型具有识别地物特征之间细微差别的能力,能够更准确地识别出新冰,然而该网络的输入要求数据经标准化处理,其处理结果直接影响后期模型的表现;黄冬梅等[14]将CNN模型应用于海冰密集度评估和海冰分类实验中,其模型的总体分类准确率达到93%以上,Kappa系数为0.8以上,实验需要研究区域对应的海冰解译图作为参考标准,另外,需要先制作标签,再将样本和标签构建为one-hot格式作为模型的输入。
本文以构建更加简洁有效的网络、简化数据集标签制作过程的原则,探索更具有适用性并可用于业务化研究的CNN模型。以渤海海冰遥感监测为例,采用HJ-1A/B卫星数据源,开展基于CNN的渤海海冰遥感分类研究。渤海海冰灾害严重影响了海上运输,破坏了区域内基础设施,阻碍了油气等资源的开发与利用,加强海冰灾害监测非常必要。
2. 卷积神经网络
2.1 网络结构
卷积神经网络[15]是一种前馈神经网络,是由多个模块组成的可训练结构体,网络结构整体呈现出倒三角的形态,缓解了反向传播算法中容易出现的“梯度消失”现象。其每一个模块由3个连续操作单元组成:卷积核、非线性转换层和池化层。一个CNN模型通常包含多个用于提取图像特征的学习模块和若干全连接层。在卷积过程中,首先输入一个样本矩阵X(
$ {S}_{x}\times {S}_{y}\times {S}_{z} $ ),经K个大小为$ {C}_{x}\times {C}_{y}\times {S}_{z} $ 的卷积核$ {C}^{k} $ ,其中k=1, ···, K。每一个卷积核都会以步长P为间隔遍历矩阵,最后会得到K幅特征图,公式如下[13]:$$ {h}^{k}=\left({C}^{k}\times x\right)+b,\quad k=1,\cdots ,K, $$ (1) $$ {M}_{x}=\frac{{S}_{x}-{C}_{x}}{P}+1, $$ (2) $$ {M}_{y}=\frac{{S}_{y}-{C}_{y}}{P}+1, $$ (3) 式中,
$ {h}^{k} $ 表示经第$ k $ 个卷积核卷积后得到的输出结果;$ {M}_{x}, \,{M}_{y} $ 分别为卷积操作之后输出的特征图的维度。图1为本研究搭建的CNN网络主要结构,包含4个卷积层(COV1−COV4),4个池化层(POOL1−POOL4),3个全连接层(FC1−FC3)。参数设置如图1所示,所用的输入图像为
$ 100\times 100\times 3 $ (其中$ 100\times 100 $ 表示图像横向和纵向尺寸,3表示图像通道数),前两个卷积层的过滤器(filter)尺寸为$ 5\times 5 $ ,后两个卷积层的过滤器尺寸为$ 3\times 3 $ ,所有卷积层的滑动横向和竖向步长都为1,边缘填充(padding)都设置为“SAME”。池化层采用最大值池化,池化层的过滤器尺寸全为$ 2\times 2 $ ,滑动横向和竖向步长为2,边缘填充设置为“VALID”。卷积、池化后的图像尺寸如图1所示,由下式得出:$$ N=\frac{W-F+2P}{S}+1, $$ (4) $$ N=\frac{W}{S}, $$ (5) 式中,N表示输出图像尺寸;W表示输入图像尺寸;F表示过滤器的尺寸;S表示步长;P表示边缘填充的参数选择,当边缘填充设置为“VALID”,输出图像尺寸用公式(4)计算,当边缘填充设置为“SAME”,输出图像尺寸用公式(5)计算。
另外,在卷积层和池化层之间都加入了激励层,通过激活函数对卷积层输出的每一个特征单元进行非线性处理,实现CNN非线性目标可分类;全连接层放在网络的最后,与传统的全连接神经网络很相似,接收神经元要与输入层的每一个神经元连接,由此利用模型所提取到的所有特征去训练分类模型,其中第一层全连接层以卷积操作后的特征层(
$ {h}^{k} $ )作为输入,将特征映射表示为一个向量,并通过权矩阵W和偏置b变换到输出空间,计算公式为$$ h=f\left({{W}}\times x\right)+b, $$ (6) 式中,
$ f $ 为激活函数;$ h $ 为网络学习后的输出结果。卷积神经网络模型训练和学习的本质就是利用输入数据的特征量调整、更新网络参数。代价函数和激活函数的选择是网络学习、参数更新、模型优化的重要环节。2.2 二次代价函数
卷积神经网络模型训练和学习的本质就是利用输入数据的特征量调整、更新网络参数。代价函数和激活函数的选择是网络学习、参数更新、模型优化的重要环节。
神经网络为优化模型,通常采用代价函数,寻求神经网络代价函数全局最小值是一个重要而基本的问题。传统的二次代价函数[16]工作原理如下式[17]所示:
$$ C\left(W,b\right)=\frac{1}{2n}\sum _{n}{\left[y\left(x\right)-{y}'\left(x\right)\right]}^{2}, $$ (7) 式中,
$ C\left(W,b\right) $ 表示网络的代价函数,也称损失函数;$ W $ 、b分别表示神经网络的权值和偏置,网络训练就是通过就是不断更新权值和偏置参数来最终达到学习的目的;$ y\left(x\right) $ 表示样本x的真值;$ y'\left(x\right) $ 表示样本x的网络预测结果;n表示样本数量,神经网络模型的优化就是不断降低预测结果和真值的误差,使得误差最小化。结合公式(6)可看出,网络的预测值不仅和W、b有关,还与激活函数$ f\left({z}\right) $ 有关。在网络训练中,我们以常见的梯度下降法[18-19]来调整权值和偏置。假设有1个样本,则$ W $ 、b的推导公式为$$ \frac{\partial C}{\partial W}=\left(y-{y}'\right){f}'\left(z\right)x, $$ (8) $$ \frac{\partial C}{\partial b}=\left(y-{y}'\right){f}'\left(z\right). $$ (9) 可见
$ W $ 和b的梯度与激活函数的梯度$ f'\left(z\right) $ 呈正比关系,当使用梯度下降法对权值参数进行调整时,随着在网络中逐层传播,残差值会变得越来越小,$ {f}'\left(z\right) $ 的变化不仅会影响网络收敛速度,还可能引发“梯度消失”现象,致使底层网络难以进行有效训练。2.3 交叉熵代价函数
为了消除激活函数梯度对网络权值和偏置值更新的影响,引入改进的交叉熵代价函数替换二次代价函数。交叉熵最早出自信息论中的信息熵,然后被用到很多地方,包括通信、纠错码、博弈论、机器学习等。交叉熵代价函数为
$$ C\left(W,b\right)=-\frac{1}{n}\sum _{x}y{\rm{l}}{\rm{n}}x+\left(1-y\right){\rm{ln}}\left(1-h\right), $$ (10) 式中,
$ C\left(W,b\right) $ 表示网络的代价函数;$ W $ 、b分别表示神经网络的权值和偏置;y表示样本x的真值;$ h $ 为公式(6)中样本x的网络输出结果;n表示样本数量。对公式(10)求偏导得到权值$ W $ 和偏置b的计算公式为$$ \frac{\partial C}{\partial W}=\frac{1}{n}\sum _{x}x[f\left({z}\right)-y], $$ (11) $$ \frac{\partial C}{\partial b}=\frac{1}{n}\sum _{x}[f\left({z}\right)-y]. $$ (12) 可见,交叉熵代价函数中,
$ W $ 、b的梯度与激活函数的梯度$ f'\left(z\right) $ 没有关系,只与$ f\left({z}\right)-y $ 的差值,即网络输出值和真值的误差成正比,误差越大,梯度越大,参数$ W $ 和b的调整就越快,网络的收敛速度也就越快,有效避免了$ f'\left(z\right) $ 参与参数更新、影响更新效率的问题。2.4 Sigmoid激活函数和RELU激活函数
神经网络训练的最终目的就是获取代价函数最小时的权值和偏置参数,而求取代价函数最小化过程中,激活函数的选择也起着至关重要的作用。卷积神经网络中,假设不采用激活函数,那么每一层的输出与上层的输入都是线性函数关系,不管搭建多少层神经网络,输出都是输入的线性组合,这样就局限了卷积神经网络的应用范围。因此在CNN每个卷积层和池化层之间通常加入激励层,即通过非线性激活函数对卷积层输出的特征进行非线性映射处理,使得神经网络可以任意逼近任何非线性函数,非线性因素的引入,拓展了CNN模型应用到更多非线性分类任务中的空间。目前常用的激活函数为Sigmoid函数,也就是我们常称的“S”型函数,其导函数为Deriv. Sigmoid,如图2所示。
由2.2节和2.3节可知,代价函数的收敛和网络参数的调整与激活函数及其导数有关,由图2可以看出,Sigmoid函数取值区间为(0,1),收敛速度慢,且容易出现软饱和,即当输入较大的正数和负数的时候,梯度都为0,致使神经元参数无法更新;导函数取值从0开始很快又趋近于0,所以网络在训练过程中容易引发“梯度消失”问题,影响网络的正常训练。
为提高网络训练效率和准确率,文中引入改进的激活函数ReLU函数,如图3所示,当输入为负数的时候,函数强行置0,为网络加入稀疏因素,有效降低了参数的空间相关性和依存性;当输入为正数时,函数不饱和,且梯度为1,避免了“梯度消失”现象的发生,同时网络收敛速度快,计算简单。
3. 实验验证
3.1 实验数据
实验选取HJ-1A和HJ-1B卫星搭载的CCD相机获取的渤海海域2018年1月下旬至2月上旬共8幅影像为数据源。该传感器共载荷4个波段,具体参数如表1所示。
表 1 CCD载荷参数Table 1. CCD parameters有效载荷 波段号 光谱范围/μm 空间分辨率/m 幅宽/km CCD相机 B01 0.43~0.52 30 360(单台) B02 0.52~0.60 30 360(单台) B03 0.63~0.69 30 700(两台) B04 0.76~0.90 30 700(两台) 本文选择B03、B02、B01 3个波段,经预处理后,通过公式(13)将像元DN值转换为具有物理意义的辐射亮度值,然后组合成真彩色RGB图像。
$$ {L}_{\lambda }={\rm{G}}\rm{a}\rm{i}\rm{n}\cdot\rm{D}\rm{N}+\rm{O}\rm{f}\rm{f}\rm{s}\rm{e}\rm{t}, $$ (13) 式中,
$ {L}_{\lambda } $ 表示像元辐射亮度值,它包括了物体反射的辐射能量、临近地物的贡献值,以及云层的影响;$ \rm{O}\rm{f}\rm{f}\rm{s}\rm{e}\rm{t} $ 和$ \rm{G}\rm{a}\rm{i}\rm{n} $ 分别表示偏移和增益参数。通过目视解译确定冰、水区域,借助MATLAB和IDL二次开发工具,裁剪、制作冰水样本集并加上标签,数据集共1 812个样本,分别包含812个海冰,1 000个海水的影像样本,以8∶2的比例分为训练集和验证集用于网络的训练和验证。模型测试部分包括覆盖渤海区域的大规模识别和随机截取一小块区域的小范围识别。大规模识别部分分别在HJ-1B卫星2018年1月29日图像上选取了尺寸为7 824×5 205的样本(图4),在HJ-1A卫星2018年2月3日的图像上选取了尺寸为8 020×5 328的样本(图5),并以10×10、20×20、40×40和80×80等不同的尺寸制作测试集进行测试;小范围测试则是在图4中随机截取一块400×400的冰水区域作为数据源,也分别以10×10、8×8、5×5和2×2等4种不同尺寸的窗口制作测试集test_10、test_8、test_5和test_2,用于模型和参数测试。
图 8 模型测试样本400×400数据源(a)和2×2(b)、5×5(c)、10×10(d)窗口大小模型识别结果a中亮色为海冰,暗色为海水;b−d中紫色代表海冰,黄色代表海水Figure 8. Test sample 400×400 (a), and 2×2 (b)、5×5 (c)、10×10 (d) model recognition resultsThe bright represents sea ice, and the dark represents sea water in a;the purple represents sea ice, and the yellow represents sea water in b-d3.2 代价函数和激活函数组合分析
本实验所用的神经网络搭建在TensorFlow框架上,以Anaconda3 5.1的Jupyter Notebook为运行环境。首先以CNN模型应用的经典案例—手写数字识别作为引入分析不同函数组合对识别结果的影响。试验分为二次代价函数与Sigmoid激活函数、二次代价函数与ReLU激活函数、交叉熵代价函数与Sigmoid激活函数、交叉熵代价函数与ReLU激活函数共4个组合,每个组合分别进行8 000、10 000、20 000次迭代,其实验结果如表2所示。
表 2 交叉熵代价函数与ReLU激活函数组合Table 2. Combination of cross-entropy cost function and ReLU activation function迭代次数 训练精度/% 验证精度/% 8 000 92.0 91.4 10 000 98.0 93.0 20 000 98.0 96.8 对比表2至表5可看出,相对于二次代价函数,相同迭代次数和激活函数组合时交叉熵代价函数的训练精度和验证精度都更高,更准确;相同迭代次数和代价函数组合时ReLU激活函数比Sigmoid激活函数的分类精度更高,网络收敛速度更快;整体上看,对于CNN模型在手写数字识别案例中,交叉熵代价函数与ReLU激活函数组合训练的模型性能最好,所取得的分类精度最高,网络收敛最快。
表 5 二次代价函数与Sigmoid激活函数组合Table 5. Combination of quadratic cost function and Sigmoid activation function迭代次数 训练精度/% 验证精度/% 8 000 30.0 27.0 10 000 44.0 38.4 20 000 74.0 65.3 表 3 二次代价函数与ReLU激活函数组合Table 3. Combination of quadratic cost function and ReLU activation function迭代次数 训练精度/% 验证精度/% 8 000 70.0 76.5 10 000 74.0 84.6 20 000 84.0 91.9 表 4 交叉熵代价函数与Sigmoid激活函数组合Table 4. Combination of cross-entropy cost function and Sigmoid activation function迭代次数 训练精度/% 验证精度/% 8 000 58.0 45.1 10 000 52.0 51.7 20 000 74.0 83.9 3.3 代价函数和激活函数组合验证
由3.2节手写数字识别案例中的结果,可看出交叉熵代价函数优于二次代价函数,ReLU激活函数优于Sigmoid激活函数。下面在卫星遥感海冰影像的分类识别中,进一步验证CNN模型的最佳函数组合。首先把制作好的带标签海冰数据集以8∶2的比例随机分为训练集和验证集,每个训练批次设置为64个样本,迭代训练,每次迭代都会更新调整网络参数,迭代50次后,网络权值和偏置参数基本稳定,故设置网络迭代次数为50次。同样,将试验分为二次代价函数与Sigmoid激活函数、二次代价函数与ReLU激活函数、交叉熵代价函数与Sigmoid激活函数、交叉熵代价函数与ReLU激活函数共4个组合。实验中发现,由于二次代价函数的权值和偏置与激活函数的梯度成正比,网络训练时,随着网络加深,残差值越来越小,导致网络无法得到有效训练,无法有效进行冰、水分离。故而,下文主要展示交叉熵代价函数与两种激活函数的组合结果。
由表6可看出,在未对其他网络参数进行优化的情况下,交叉熵代价函数与ReLU激活函数组合,一次性输入样本1 812个,网络迭代50次,训练精度就达到了99.6%,验证精度达到98.4%;而对比交叉熵代价函数与Sigmoid激活函数组合的模型,其验证精度就高出17.6%。可见,交叉熵代价函数与ReLU激活函数组合在渤海海冰图像分类任务中精度更高、效果更好、具有更好的适应性。
表 6 不同代价函数和激活函数组合的海冰图像分类结果Table 6. Sea ice image classification results with different cost function and activation function combinations函数组合 迭代次数 训练精度/% 验证精度/% 交叉熵代价函数与ReLU激活函数组合 50 99.6 98.4 交叉熵代价函数与Sigmoid激活函数组合 50 89.8 80.8 图6和图7为通过TensorFlow框架下的可视化工具TensorBoard直观地展示的交叉熵代价函数和ReLU激活函数组合进行渤海海冰图像分类实验过程中网络训练精度和误差损失变化情况。由图可以看出,随着网络训练次数增加,网络训练误差趋近于0,分类精度趋近于1,说明交叉熵代价函数和ReLU激活函数组合训练的CNN网络收敛速度快,分类效果好。将该训练好的网络模型和参数保存,分别利用test_10、test_8、test_5和test_2样本集进行测试,调用模型和参数得到的识别结果中,鉴于
$ 8\times 8 $ 窗口制作的样本,其分类结果与$ 10\times 10 $ 窗口制作的样本分类结果较为相似,区分度不高,故本文只展示了10×10、5×5、2×2 3种尺寸窗口的分类结果,如图8所示。图8b至图8d可看出在一定范围内随着样本窗口减小,模型识别结果更加准确,且在细节上表现更加精准,所以
$ 2\times 2 $ 窗口制作的样本分类测试结果最佳;对比图8a和图8b,可以看出红色框出区域肉眼较难察别的部分海冰,被该CNN模型清晰准确的区分出来,黄色框出区域表示在冰水混合的状况下,模型较好的区分海冰和海水,并将冰间水分离出来。可见CNN模型具有识别地物特征之间细微差别的能力,在卫星遥感图像冰水解译中也适用,且表现较好。3.4 CNN模型对整个渤海海域的海冰识别结果分析
3.3节通过对较小区域冰水识别结果的展示和分析,证明了CNN网络模型在卫星遥感海冰图像分类中具有较好的适用性和可操作性。为了能够将CNN模型更广泛、切实地应用到卫星遥感海冰影像分类任务中,本文尝试将整个渤海海域作为输入数据集,希望实现大范围海域的海冰识别,能够为海域监测、航道监测和航线设计提供一些帮助。
对图4数据源以
$ 10\times 10 $ 窗口制作样本406 640个,$ 20\times 20 $ 窗口制作样本101 660个,$ 40\times 40 $ 窗口制作样本25 350个,$ 80\times 80 $ 窗口制作样本6 305个。分析发现窗口$ 10\times 10 $ 和$ 20\times 20 $ 所得结果没有明显差异,而数据量相差巨大,工作量巨大,故舍弃。本文主要展示其他3个窗口尺寸的结果(图9)。为了进一步验证模型的有效性和适用性,将图5作为数据源做同样的操作,其中以$ 20\times 20 $ 窗口尺寸获得106 666个样本,$ 40\times 40 $ 窗口获得26 600个样本,$ 80\times 80 $ 窗口获得6 600个样本,模型识别的结果如图10。由图可见,随着窗口尺寸的增大,图像分辨率越来越低,识别结果越来越粗糙,但整体上3种窗口的识别分离效果都较好,与目视结果基本一致。并且在图9a和图10a中黄色框所示的小范围区域,模型可较为准确地区分冰间水和水间冰,再次验证了CNN模型在识别地物特征细微差别的能力。在实际的应用中,可根据不同的任务需求和研究区域规模,调整样本采集的窗口尺寸。如研究海冰分布特征,需要研究日尺度海冰面积和覆盖度变化,则需要较高准确率的海冰识别结果,再如进行关于航道规划的研究,需要把握冰情和航线安全状况,希望得到分辨率较高的信息,这些情景下都可根据需要选择
$ 20\times 20 $ 及以下的窗口;如果研究长时间序列海冰演变和海冰外缘线变化,选择$ 40\times 40 $ 大小的窗口就可以很好的拟合海冰分界线,提供较为准确的信息;然而,当只需要把握整体海域的结冰状况时,可考虑选择$ 80\times 80 $ 左右的窗口,工作量小,操作简单,可快速提供大范围冰情信息。4. 结论
本文将CNN模型应用于海冰图像进行冰、水分类的初步探索,验证了该网络模型在处理卫星遥感海冰图像的可行性,可作为之后将深度学习网络模型应用于海冰研究、海域监测、航道监测等的理论参考。
本文首先通过CNN模型进行手写数字识别实验讨论了代价函数与激活函数组合对分类结果的影响。基于迁移学习的思想,甄选交叉熵代价函数作为目标函数通过分别与Sigmoid激活函数和ReLU激活函数组合对渤海海冰图像进行分类识别,对比得出交叉熵代价函数和ReLU激活函数组合分类效果更好,精度更高,对遥感海冰图像分类具有更高的适应性。从测试样本集的识别结果发现,当分类模型确定时,样本采集窗口的尺寸也是影响模型识别结果的重要因素,在
$ 400\times 400 $ 小范围识别实验中最佳窗口尺寸为$ 2\times 2 $ ,冰水分离效果较好;在整个渤海海域的识别实验中,展示了3种不同窗口尺寸的识别结果,整体上都较好,与目视解译基本一致。最后又对不同尺寸在实际操作中的应用进行了讨论,可根据任务需要,研究区域尺度、遥感图像分辨率等,相应调整样本采集的窗口尺寸,以达到预期目的。CNN网络模型特征学习能力较强,学习速度快,且具有较好的可移植性,其无需提前进行特征提取,直接进行图像输入的特性,避免了大量且复杂的特征提取工作,为之后大规模进行多种冰型分类和不同冰型混合的复杂分类任务,以及海冰要素反演等研究工作提供一个新思路。
-
图 8 模型测试样本400×400数据源(a)和2×2(b)、5×5(c)、10×10(d)窗口大小模型识别结果
a中亮色为海冰,暗色为海水;b−d中紫色代表海冰,黄色代表海水
Fig. 8 Test sample 400×400 (a), and 2×2 (b)、5×5 (c)、10×10 (d) model recognition results
The bright represents sea ice, and the dark represents sea water in a;the purple represents sea ice, and the yellow represents sea water in b-d
表 1 CCD载荷参数
Tab. 1 CCD parameters
有效载荷 波段号 光谱范围/μm 空间分辨率/m 幅宽/km CCD相机 B01 0.43~0.52 30 360(单台) B02 0.52~0.60 30 360(单台) B03 0.63~0.69 30 700(两台) B04 0.76~0.90 30 700(两台) 表 2 交叉熵代价函数与ReLU激活函数组合
Tab. 2 Combination of cross-entropy cost function and ReLU activation function
迭代次数 训练精度/% 验证精度/% 8 000 92.0 91.4 10 000 98.0 93.0 20 000 98.0 96.8 表 5 二次代价函数与Sigmoid激活函数组合
Tab. 5 Combination of quadratic cost function and Sigmoid activation function
迭代次数 训练精度/% 验证精度/% 8 000 30.0 27.0 10 000 44.0 38.4 20 000 74.0 65.3 表 3 二次代价函数与ReLU激活函数组合
Tab. 3 Combination of quadratic cost function and ReLU activation function
迭代次数 训练精度/% 验证精度/% 8 000 70.0 76.5 10 000 74.0 84.6 20 000 84.0 91.9 表 4 交叉熵代价函数与Sigmoid激活函数组合
Tab. 4 Combination of cross-entropy cost function and Sigmoid activation function
迭代次数 训练精度/% 验证精度/% 8 000 58.0 45.1 10 000 52.0 51.7 20 000 74.0 83.9 表 6 不同代价函数和激活函数组合的海冰图像分类结果
Tab. 6 Sea ice image classification results with different cost function and activation function combinations
函数组合 迭代次数 训练精度/% 验证精度/% 交叉熵代价函数与ReLU激活函数组合 50 99.6 98.4 交叉熵代价函数与Sigmoid激活函数组合 50 89.8 80.8 -
[1] Wang Wenbo, Wen Yusong, Dong Xue, et al. Sea ice classification of SAR image based on wavelet transform and gray level co-occurrence matrix[C]//Proceedings of the Fifth International Conference on Instrumentation and Measurement, Computer, Communication and Control (IMCCC). Qinhuangdao: IEEE, 2015. [2] Ressel R, Singha S. Comparing near coincident space borne C and X band fully polarimetric SAR data for Arctic sea ice classification[J]. Remote Sensing, 2016, 8(3): 198. doi: 10.3390/rs8030198 [3] Liu Huiying, Guo Huadong, Zhang Lu. SVM-based sea ice classification using textural features and concentration from RADARSAT-2 dual-pol ScanSAR data[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2015, 8(4): 1601−1613. doi: 10.1109/JSTARS.2014.2365215 [4] Zakhvatkina N, Korosov A, Muckenhuber S, et al. Operational algorithm for ice-water classification on dual-polarized RADARSAT-2 images[J]. The Cryosphere, 2017, 11(1): 33−46. doi: 10.5194/tc-11-33-2017 [5] Tan Weikai, Li J, Xu Linlin, et al. Semiautomated segmentation of sentinel-1 SAR imagery for mapping sea ice in Labrador coast[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2018, 11(5): 1419−1432. doi: 10.1109/JSTARS.2018.2806640 [6] 张明, 吕晓琪, 张晓峰, 等. 结合纹理特征的SVM海冰分类方法研究[J]. 海洋学报, 2018, 40(11): 149−156.Zhang Ming, Lü Xiaoqi, Zhang Xiaofeng, et al. Research on SVM sea ice classification based on texture features[J]. Haiyang Xuebao, 2018, 40(11): 149−156. [7] 任莎莎, 郎文辉. 基于K-GMM算法的SAR海冰图像分类[J]. 地理与地理信息科学, 2018, 34(5): 42−48. doi: 10.3969/j.issn.1672-0504.2018.05.008Ren Shasha, Lang Wenhui. SAR sea ice image classification based on the K-GMM algorithm[J]. Geography and Geo-Information Science, 2018, 34(5): 42−48. doi: 10.3969/j.issn.1672-0504.2018.05.008 [8] 郑敏薇, 李晓明, 任永政. 高分3号星载合成孔径雷达极地海冰自动检测方法研究[J]. 海洋学报, 2018, 40(9): 113−124.Zheng Minwei, Li Xiaoming, Ren Yongzheng. The method study on automatic sea ice detection with GaoFen-3 synthetic aperture radar data in polar regions[J]. Haiyang Xuebao, 2018, 40(9): 113−124. [9] 逯跃锋, 和鑫, 陆黎娟, 等. 基于纹理分析的SAR海冰图像分类方法[J]. 山东理工大学学报:自然科学版, 2019, 33(1): 51−55.Lu Yuefeng, He Xin, Lu Lijuan, et al. Research on classification method of the SAR sea ice image based on texture analysis[J]. Journal of Shandong University of Technology: Natural Science Edition, 2019, 33(1): 51−55. [10] 朱立先, 惠凤鸣, 张智伦, 等. 基于Sentinel-1A/B SAR数据的西北航道海冰分类研究[J]. 北京师范大学学报: 自然科学版, 2019, 55(1): 66−76.Zhu Lixian, Hui Fengming, Zhang Zhilun, et al. Sea ice classification in Northwest Passage based on Sentinel-1A/B SAR data[J]. Journal of Beijing Normal University: Natural Science, 2019, 55(1): 66−76. [11] Wang Lei, Wong A, Scott K A, et al. Sea ice concentration estimation from satellite SAR imagery using convolutional neural network and stochastic fully connected conditional random field[EB/OL].[2018-12-20]. http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=6090D494FAC52D7E708A655DBDC70F05?doi=10.1.1.700.1082&rep=rep1&type=pdf, 2015. [12] Chen Sizhe, Wang Haipeng, Xu Feng, et al. Target classification using the deep convolutional networks for SAR images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 54(8): 4806−4817. doi: 10.1109/TGRS.2016.2551720 [13] Wang Lei, Scott K A, Clausi D A. Sea ice concentration estimation during freeze-up from SAR imagery using a convolutional neural network[J]. Remote Sensing, 2017, 9(5): 408. doi: 10.3390/rs9050408 [14] 黄冬梅, 李明慧, 宋巍, 等. 卷积神经网络和深度置信网络在SAR影像冰水分类的性能评估[J]. 中国图象图形学报, 2018, 23(11): 1720−1732. doi: 10.11834/jig.180226Huang Dongmei, Li Minghui, Song Wei, et al. Performance of convolutional neural network and deep belief network in sea ice-water classification using SAR imagery[J]. Journal of Image and Graphics, 2018, 23(11): 1720−1732. doi: 10.11834/jig.180226 [15] 李彦冬, 郝宗波, 雷航. 卷积神经网络研究综述[J]. 计算机应用, 2016, 36(9): 2508−2515. doi: 10.11772/j.issn.1001-9081.2016.09.2508Li Yandong, Hao Zongbo, Lei Hang. Survey of convolutional neural network[J]. Journal of Computer Applications, 2016, 36(9): 2508−2515. doi: 10.11772/j.issn.1001-9081.2016.09.2508 [16] 徐先峰, 冯大政. 一种充分利用变量结构的解卷积混合盲源分离新方法[J]. 电子学报, 2009, 37(1): 112−117, 131. doi: 10.3321/j.issn:0372-2112.2009.01.020Xu Xianfeng, Feng Dazheng. A new method based on the full utilizations of concerning variables’ structures for blind source separation of convolutive mixtures[J]. Acta Electronica Sinica, 2009, 37(1): 112−117, 131. doi: 10.3321/j.issn:0372-2112.2009.01.020 [17] 赵宏, 郭万鹏. 深度神经网络代价函数选择与性能评测研究[J]. 软件, 2018, 39(1): 14−20. doi: 10.3969/j.issn.1003-6970.2018.01.004Zhao Hong, Guo Wanpeng. Selection and evaluation of cost function in deep neural network[J]. Computer Engineering & Software, 2018, 39(1): 14−20. doi: 10.3969/j.issn.1003-6970.2018.01.004 [18] Yarotsky D. Error bounds for approximations with deep ReLU networks[J]. Neural Networks, 2017, 94: 103−114. doi: 10.1016/j.neunet.2017.07.002 [19] 袁文翠, 孔雪. 基于TensorFlow深度学习框架的卷积神经网络研究[J]. 微型电脑应用, 2018, 34(2): 29−32. doi: 10.3969/j.issn.1007-757X.2018.02.009Yuan Wencui, Kong Xue. The study of convolution neural network based on TensorFlow deep learning framework[J]. Microcomputer Applications, 2018, 34(2): 29−32. doi: 10.3969/j.issn.1007-757X.2018.02.009 [20] 张萧, 黄晞, 仲伟汉, 等. Sigmoid函数及其导函数的FPGA实现[J]. 福建师范大学学报:自然科学版, 2011, 27(2): 62−65.Zhang Xiao, Huang Xi, Zhong Weihan, et al. Implementation of Sigmoid function and its derivative on FPGA[J]. Journal of Fujian Normal University: Natural Science Edition, 2011, 27(2): 62−65. 期刊类型引用(9)
1. 卫志军, 杨浩, 孔雨秋, 魏彬航, 王安良. 基于残差网络和边缘检测的辽东湾海冰识别研究. 海洋通报. 2025(04) 百度学术
2. 孙士昌,王志勇,李振今,张保敬,田康,赵相禹. 基于改进DeepLabV3+模型的海冰提取方法——以北极格陵兰海为例. 海洋学报. 2024(08): 131-142 . 本站查看
3. 崔宾阁,杨光,方喜,刘荣杰. 基于深度学习的GF-1卫星WFV影像赤潮探测方法. 海洋学报. 2023(07): 147-157 . 本站查看
4. 黄岩,任沂斌. 基于双极化SAR图像的U-Net海冰多分类模型. 海洋与湖沼. 2023(06): 1551-1563 . 百度学术
5. 李涛,王凌云,王磊,任勇军. 一种基于FY-4A遥感数据的渤海海冰反演算法. 电子设计工程. 2022(01): 1-6 . 百度学术
6. 陈璐,胡凯龙,刘明博. 环境减灾二号A/B卫星在辽东湾海冰监测中的应用. 航天器工程. 2022(03): 147-152 . 百度学术
7. 范有度,徐欢,吝静,余永安,王振刚. 一种基于MODIS遥感数据的渤海海冰分割算法. 科技视界. 2022(33): 93-97 . 百度学术
8. 张天蛟,廖章泽,宋博,袁红春,宋利明,张闪闪. 基于深度卷积嵌入式聚类(DCEC)的海洋环境特征提取对渔情预报模型的改进研究——以西南印度洋大眼金枪鱼为例. 海洋学报. 2021(08): 105-117 . 本站查看
9. 刘伟博,白鲲. 基于神经网络的运动视频图像分类和识别研究. 现代电子技术. 2021(20): 163-167 . 百度学术
其他类型引用(14)
-