基于混合损失U-Net的SAR图像渤海海冰检测研究

2021-08-10 14:58徐欢任沂斌
海洋学报 2021年6期
关键词:海冰极化损失

徐欢,任沂斌

(1.江苏海洋大学 海洋技术与测绘学院,江苏 连云港 222005;2.中国科学院海洋研究所 海洋环流与波动重点实验室,山东 青岛 266071;3.中国科学院海洋大科学研究中心,山东 青岛 266071)

1 引言

海冰作为5大海洋灾害之一,对全球的水文、洋流、热力循环和生态系统都有重大影响[1−2]。渤海每年都有3个多月不同程度的结冰现象,对我国社会生产活动造成严重影响。渤海海冰不仅堵塞航道、损坏船只,还破坏海上及海岸设施,其融化甚至给海洋养殖带来次生灾害。2009/2010年冬季至2018/2019年冬季,我国受海冰灾害影响经济损失高达75亿元,其中辽宁和山东两省受灾情况较为严重[3]。合成孔径雷达(Synthetic Aperture Radar,SAR)具有不受气象条件限制、全天时、全天候的观测能力,被广泛用于海冰的检测和监测[4–6]。因此,研究基于SAR图像的渤海海冰检测对海冰监测、海冰灾后应急、海洋运输、海洋渔业具有重要意义。

多年来,学者们围绕海冰检测提出了一系列方法,总体可分为两类:传统方法和深度学习方法。传统方法包括阈值法[7]、纹理分析[8–10]、专家知识系统[11]、马尔科夫随机场[12]、支持向量机[13–16]、人工神经网络[17]等。大数据时代的到来,传统方法受限于手动特征提取和建模方式,制约了海冰检测精度的进一步提升[18]。近年来,深度学习迅猛发展[19]。典型的深度学习模型由多层神经网络堆叠而成,可以模拟人类的神经系统,从原始输入数据中逐层抽象特征,实现对目标的检测和识别[20]。深度卷积神经网络(Convolutional Neural Network,CNN)由多个卷积层组成,是一种特殊的深度神经网络。卷积层通过卷积核与上一层卷积层连接,可以提取局部空间特征[21],已在图像分类、目标识别和时空信息挖掘等领域取得了巨大成功[22–26]。近些年,研究人员已将CNN应用到海冰检测与识别中。Li等[27]利用CNN实现了对高分3号影像的海冰检测。Xu和Scott[28]以CNN的经典模型AlexNet为基础,引入迁移学习思想来加速网络参数训练,实现了SAR图像的海冰和海水分类。黄冬梅等[29]将CNN和深度置信网络 (Deep Belief Networks,DBN)相结合,用于SAR图像的冰水分类。Wang等[18]采用Sentinel-1 SAR数据,构建了具有3个CNN层和两个全连接神经网络层的海冰分类模型,实现了白令海附近海冰的多尺度分类。

海冰检测已由传统方法向深度学习方法转变。得益于强大的特征提取能力,基于深度学习模型的海冰检测方法取得了比传统方法更高的检测精度。然而,现有研究仍存在两方面的问题:一方面,现有深度学习检测模型多以早期的CNN架构和自定义CNN架构为主,模型的特征提取和表征能力有限,导致模型对海冰检测的精度有待进一步提升;另一方面,传统SAR海冰检测方法已发现双极化信息相对于单极化信息更有利于海冰和海水的区分[30−31],而现有的研究还没有考虑双极化信息,制约了海冰检测精度的提高。

U-Net是近年来提出的图像分割方法。U-Net以CNN为基本组成单元,可以通过少量的训练样本获得较高的图像分割精度,在医学图像分割方面取得了巨大成功[32−33]。已有研究将U-Net应用到遥感图像的目标分割并取得了较高的分割精度[34−35]。因此,本文将U-Net引入到渤海海冰的检测中,以Sentinel-1 VV和VH双极化SAR图像为数据源,设计混合损失函数优化传统U-Net模型,形成了基于混合损失U-Net的渤海海冰检测模型。通过与传统方法——脉冲耦合神经网络 (Pulse Coupled Neural Network,PCNN)、马尔科夫随机场 (Markov Random Field,MRF)、分水岭算法 (Watershed Algorithm,WA)和基于 CNN 深度学习方法的对比实验,验证了本文方法的有效性。进一步分析了双极化信息和混合损失函数对海冰检测效果的影响。文章的第2节简要介绍了研究区域概况和数据处理步骤,第3节详细介绍了本文提出的混合损失U-Net海冰检测模型,第4节通过对比实验分析了本文模型与已有模型的海冰检测差异,分析了双极化信息和混合损失函数的效果,第5节为总结和研究展望。

2 研究区域及数据

2.1 研究区域概况

渤海是有黄河、辽河、海河等入海的半封闭式内海,由辽东湾、渤海湾、莱州湾、中央浅海盆地和渤海海峡5部分海域组成,也是西太平洋的一部分,面积达 7.49 万 km2,海岸线长达 2 670 km,平均水深约为18 m,如图1所示。渤海每年冬季都有3~4个月不同程度的结冰现象,一般情况下,海冰分布范围可达渤海面积的1/3。本文选取2015年12月至2020年3月5个冬季共10景SAR图像数据进行海冰检测研究,SAR图像详细信息如表1。

表1 SAR图像的详细信息Table 1 Details of SAR images

图1 研究区域地理位置Fig.1 Geographical location of the study area

2.2 数据获取和预处理

本文采用Sentinel-1 A/B卫星的SAR影像作为研究数据。Sentinel-1 A/B 是欧洲航天局(European Space Agency,ESA)于2014年发射的携带SAR传感器的卫星,工作波段为C波段,轨道高度为693 km,重复周期为 12 d。Sentinel-1 A/B 数据产品分为 0、1、2共3个级别,本文采用的是1级产品中的地距影像(Ground Range Detected,GRD)。渤海的 GRD 采用了宽幅干涉模式(Interferometric Wide Swath,IW),该工作模式将获得的3个子条带合成1幅影像,幅宽为250 km,极化方式为VV和VH。

首 先 ,采 用 SNAP(Sentinel Application Platform,SNAP)Desktop[36]对SAR影像数据进行辐射校准、滤波和几何校正。然后,将每张影像裁剪成若干大小为256×256像素的切片,切片之间相邻且无重叠,如图2所示。最后,利用标注软件LabelMe[37]对SAR影像切片进行海冰标注,其中海冰像素标注为1,背景像素标注为0。标注结果见图3。

图2 渤海海冰影像切片Fig.2 Image slices of sea ice in the Bohai Sea

图3 海冰标注结果Fig.3 Labeled slices of sea ice

3 研究方法

3.1 基于混合损失 U-Net的海冰检测模型流程

基于混合损失U-Net的渤海海冰检测模型整体流程如图4所示。对原始SAR影像进行预处理并切片,对切片数据进行海冰标注;将标注后的海冰数据集划分为训练集、测试集和验证集,训练集用于混合损失U-Net海冰检测模型训练,测试集测试训练好的混合损失U-Net海冰检测模型;采用多种度量指标对测试结果进行精度验证,评估模型的海冰检测效果。

图4 基于混合损失 U-Net的海冰检测模型流程图Fig.4 Flow chart of sea ice detection model based on a hybrid loss U-Net model

3.2 基于混合损失 U-Net的海冰检测模型结构

U-Net海冰检测模型的基本组成单元是CNN,CNN中,当前隐藏层神经元通过卷积核与上一隐藏层中与卷积核对应的部分元素建立局部连接,而不是与所有元素建立全局连接[21],如图5所示。CNN输出矩阵中某单元由输入矩阵中与卷积核对应区域的元素与卷积核中权重加权求和得到。U-Net的结构与字母“U”的形状相似,见图6,所以被命名为U-Net[38]。U-Net由输入、编码、解码和输出4部分组成。输入由SAR图像的VV和VH双极化信息组成,图像大小为256×256像素。编码部分用于提取抽象的、缩小的特征图来进行准确的分类;解码部分和编码部分之间存在跳跃连接,解码部分可以融合多尺度特征图,对感兴趣的目标进行更详细、更大信息量的描述。下面从编码器、解码器、输出层和混合损失函数4部分重点介绍混合损失U-Net海冰检测模型的具体结构。

图5 卷积运算示例Fig.5 An example of convolution operation

图6 基于混合损失 U-Net的海冰检测模型网络架构Fig.6 Network architecture of sea ice detection model based on a hybrid loss U-Net model

3.2.1 编码器

编码器负责提取抽象的、缩小的特征图,常用的编码器包括 ResNet 18、VGG 16、VGG 19 等[39−40],考虑到模型计算和海冰检测复杂度,我们选择ResNet 18作为编码器。本文U-Net模型的编码器由ResNet 18的17个卷积层组成,包括5个编码块。第1个编码块是步长为2的7×7卷积层。经第1编码块计算后,切片大小变为128×128像素。其余4个编码块均由两个编码单元堆叠而成。每个编码单元为1个残差卷积神经网络模块,由两组堆叠的“卷积层和非线性激活层”和短路连接组成[23]。编码单元对输入图像进行特征提取和非线性变换,输出变换后的高级特征。卷积层的卷积核大小为3×3[41],卷积层对特征图进行补全,使得卷积前后特征图的尺寸相同。激活函数为“ReLU”,如果输入小于0,则输出为0,否则输出与输入相等。使用“ReLU”作为激活函数,输出不会随着输入的增加而趋于饱和。在两个编码单元前堆叠一个最大池化层(除第1和第5编码块),池化层的核大小为2×2,经过1次池化后,输出特征图的大小变为输入特征图大小的1/2。

3.2.2 解码器

3.2.3 输出层

本文U-Net模型的输出层由一个卷积层和一个非线性激活层堆叠而成,将特征图Y的像素级特征转换为像素级分类结果,映射到网络的输出层上。卷积层的卷积核大小为1×1,卷积核的数量为1。激活函数为“Sigmoid”,可以把输出值映射到(0,1)区间,大于等于0.5的输出值为海冰,小于0.5的输出值为背景,公式为

3.2.4 混合损失函数

损失函数是深度学习算法进行模型优化的核心。对于一个输入样本,模型的输出值与该样本真实值之间的差异称为损失。损失函数是描述这种差异的函数。对于一个深度学习模型,模型中的神经网络权重通过损失反向传播来完成训练[42]。因此,损失函数决定了深度学习模型的训练效果,至关重要。

在二分类的图像分割问题中,交叉熵损失函数(Binary Cross Entropy Loss,BCEloss)是使用最为广泛的损失函数之一,公式为

本文中,标签样本的值为{0、1},分别表示背景和海冰。公式(4)中,P0表示标签图像下像素为海冰的概率,值为1;P1表示标签图像下像素为背景的概率,值为0。模型在输出时经过“Sigmoid”函数输出一个概率值,当 x=0时,f(x)=0.5;当 x>0时,f(x)≈1;当 x<0时,f(x)≈0。把输出值映射到(0,1)之间的数值概率上。预测输出就是“Sigmoid”函数的输出,表征了输出层为海冰像素和背景像素的概率,即和。概率间的关系为和

采用BCEloss优化U-Net模型,能够稳定地回传不同类别所对应的梯度,有效地解决模型在反向传播中梯度消失的问题。但由于BCEloss在回传梯度时,对图像上每个类别都进行平等地估计,所以对于图像上类别不平衡的问题,最常见的类别更容易改变模型的优化方向,进而影响最终的分割结果。

此外,另一种用于图像分割问题的损失函数是Dice 损失函数 (Dice Loss,Diceloss),公式为

Diceloss由Dice系数发展而来。如公式(5)所示,Dice系数度量两个集合的相似程度,取值范围为0~1。当Dice系数为1时,表示两个集合完全重合,分类效果最好;当Dice为0时,表示两个集合不存在重合,即没有正确的分类结果。因此,Diceloss能够引导模型持续学习,最大化Dice系数,使预测结果逐渐逼近真实结果,最终实现预测结果与真实结果完全重合的目标。但如果预测结果中有部分像素预测错误,就会导致预测目标梯度的剧烈变化,从而增加模型训练的难度。

为发挥BCEloss和Diceloss各自的优点,本文设计了BCEloss和Diceloss结合的损失函数BCEDloss,将BCEDloss用于U-Net海冰检测模型的训练。BCEDloss的定义如下:

式中,w为权重因子,反映了两个损失函数分别占的权重。一般情况下,w的取值大于0.5,具体的取值结果见4.4节。

4 模型验证与应用

4.1 实验设置

实验将SAR图像切片和对应的标签数据划分为训练集、验证集和测试集,包含的切片数量分别为1 829、323和479。模型训练在Linux操作系统下完成,使用的设备配置有1个NVIDIA TESLA V100 32 GB GPU。本文模型基于TensorFlow-Keras框架搭建,代码采用Python 3.6编写。本文混合损失U-Net模型采用适应性矩估计[43](Adaptive Moment Estimation,Adam)优化算法来对模型中的参数进行优化。Adam通过计算梯度的一阶矩估计和二阶矩估计为不同参数设计独立的自适应性学习率,能够快速的收敛,更高效的学习。

4.2 评价指标

在海冰检测的过程中,我们需要对U-Net网络进行训练和测试。因此,我们使用以下几项指标来评价模型的训练和测试结果:

重叠度 (Intersection over Union,IoU)用于计算模型预测的海冰区域与真实海冰区域的重叠比例,IoU值越大,预测结果越好,其公式为

式中,P为模型预测的海冰区域;G为真实的海冰区域;P ∩G 为P和G重叠的海冰像素;P ∪G为P和G并集的海冰像素。

精确度(Precision)指的是正确预测的正样本数占所有预测为正样本数量的比值,也就是所有预测为正样本的样本中真正的正样本数,只考虑预测为正样本的部分,其公式为

式中,tp为正确检测的海冰像素;fp为错误检测的海冰像素。

召回率(Recall)指的是正确预测的正样本数占真实正样本总数的比值,也就是测试样本中能够正确预测出的正样本数,其公式为

式中,fn为错误检测的背景像素。

F1分数(F1_Score)是精确度和召回率的一种调和平均,通常作为衡量二分类模型精度的一种指标,其公式为

4.3 对比实验

为验证本文模型的有效性,本文进行了3组对比实验。首先将本文混合损失U-Net模型与已有的传统方法和深度学习方法进行对比,见表2。传统方法包括分水岭算法、MRF[12]和PCNN[17]3种经典方法。深度学习方法为基于CNN的海冰检测模型[27]。然后针对本文U-Net模型的损失函数,进行了混合损失函数与非混合损失函数的对比实验,见表3。混合损失函数是BCEloss和Diceloss权重之和。BCEDloss的权重w设置为0.7,w的取值由实验得到,见4.4节。非混合损失函数模型分别以BCEloss和Diceloss为损失函数。最后根据VH、VV、VV+VH不同极化信息的输入进行模型预测结果的对比实验,见表4。实验结果的评价指标为F1_Score、Precision、Recall和IoU。所有测试模型的数据集划分方式一致。本文的U-Net模型(w=0.7)和CNN模型均进行了超参数的调节,取最优的测试效果为最终结果。

表2 不同模型的度量结果Table 2 Measurement results of different models

表3 不同损失函数的度量结果Table 3 Measurement results of different loss functions

表4 不同极化方式的度量结果Table 4 Measurement results of different polarization information

4.3.1 不同模型检测结果对比

由表2可知,与传统的图像检测方法和深度学习方法相比,本文基于混合损失U-Net的海冰检测模型在 F1_Score、Precision、Recall和 IoU 4项指标上均为最优。传统方法中,Recall均高于其他度量指标,说明传统方法在检测过程中对海冰像素的敏感度高于背景像素;深度学习方法的Recall偏高,也说明其在检测过程中对海冰像素的敏感度高。基于混合损失U-Net的海冰检测模型在F1_Score、Precision和Recall上均较高,说明其能较好地分辨海冰像素和背景像素。在IoU上,本文模型的优势更加明显,说明本文U-Net模型检测的海冰区域与真实的海冰区域重叠度比例较高。

为了进一步验证基于混合损失U-Net海冰检测模型的精度,我们从测试集中选取了部分SAR图像切片,来具体对比各个模型的预测结果,如图7所示(白色为海冰,黑色为背景)。图7中共有7列数据,每一行按顺序分别是单张切片的原始SAR图像、对应标签数据和5种对比方法的预测结果。总体来看,相比本文U-Net模型,另外4种方法的预测结果都有所不足。对比图7b和图7d两组数据,MRF只能模糊地预测出海冰范围,对于海冰密集度较低的地方,MRF方法无法检测。从图7第4行的预测结果来看,对于不同灰度级别的海冰,PCNN较其他方法的检测效果不明显,但从图7e组其他的预测结果来看,PCNN对冰水沿线的海冰检测效果较其他传统方法显著。对比图7b和图7e两组数据,PCNN预测会误把海冰像素检测成背景像素,导致海冰的不完整呈现,CNN方法预测的结果也出现类似的情况。对比图7b和图7f两组数据,分水岭算法的预测结果存在无法完整检测海冰范围的问题。对比深度学习(本文U-Net和CNN)和传统方法(MRF、PCNN和分水岭算法)预测的结果,深度学习方法检测海冰的效果更好,说明基于深度学习方法在区分海冰和背景特征方面具有优势。对比图7b、图7c和图7g 3组数据,本文混合损失UNet模型检测海冰的效果更接近真值,特别是对冰水沿线、冰间水道、冰间隙等细节的检测效果更好。

图7 不同模型对海冰测试集的预测结果Fig.7 Prediction results of different models for sea ice test sets

4.3.2 不同损失函数结果对比

为验证本文BCEDloss的效果,将混合损失U-Net模型和非混合损失U-Net模型进行对比。非混合损失U-Net模型包括两个:以BCEloss为损失函数的UNet模型(U-NetBCE);以 Diceloss为损失函数的 U-Net模型(U-NetDice)。U-NetBCED为本文混合损失 U-Net模型(w=0.7)。实验环境和实验数据保持不变。利用测试集对3种模型进行预测和精度评定,结果如表3所示。

由表3可知,与非混合损失函数模型U-NetBCE和U-NetDice相比,本文混合损失函数模型U-NetBCED在F1_Score、Precision、Recall和 IoU 4项指标上均有明显提升。进一步,选取2020年2月19日的1景渤海海冰图像,对比不同损失函数U-Net模型的预测结果。为清晰地对比三者的不同,本文选取了近岸和离岸的两个典型区域(图8a中绿色方框所示),放大对比3个模型的海冰检测结果,如图8b至图8e所示。从图8b至图8e可知,非混合损失函数U-NetBCE和UNetDice模型对海冰细节检测效果存在缺陷,特别是红圈标注的区域,而U-NetBCED的检测结果弥补了非混合损失函数模型检测结果的不足。所以,本文设计的BCEDloss能综合BCEloss和Diceloss的优势,更好地实现U-Net模型的训练,减小模型预测结果与真值之间的差距,提高模型的海冰检测能力。

图8 不同损失函数的海冰检测结果对比Fig.8 Comparisons of sea ice detection results with different loss functions

4.3.3 不同极化信息结果对比

为验证双极化信息在海冰检测方面的优势,将VH、VV和VV+VH 3种不同极化信息输入到本文混合损失U-Net模型(w=0.7)中,保持实验环境不变,进行模型训练,并利用测试集对3种模型训练结果进行预测和精度评定,结果如表4所示。

由表4可知,与VH或VV单极化输入信息相比,VV和VH双极化输入信息在F1_Score、Precision、Recall和IoU 4项指标上均最优,且明显优于VH单极化输入信息。同样,选取了2020年2月19日的1景渤海海冰图像,对比不同输入信息U-Net模型的预测结果。为清晰地对比三者不同,也选取了近岸和离岸的两个典型区域(图9a中绿色方框所示),放大对比3个模型的海冰检测结果,如图9b至图9e所示。从图9b至图9e可知,VV和VH双极化输入信息的U-Net模型对海冰检测能力明显强于VH单极化输入。VV单极化输入信息的U-Net模型与其相比,也存在红圈标注的检测误区,图9e圈1处较明显。而在VH单极化输入的结果中,上述在VV极化中被错误检测的区域得到改正,如图9d所示。综合VV+VH双极化输入,VV单极化输入出现的错误检测得到改正,如图9c所示。所以,VV+VH双极化图像能为混合损失U-Net模型提供更完整的海冰像素信息,提高模型的海冰检测能力。

图9 不同极化信息海冰检测结果对比Fig.9 Comparisons of sea ice detection results with different polarization information

综上所述,相对于已有的传统和深度学习方法,本文提出的基于VV和VH双极化信息输入的混合损失U-Net模型对渤海海冰具有更高的检测精度,能够对海冰、背景进行有效区分,对冰水沿线、冰间水道、冰间隙等细节特征的检测效果更好。

4.4 混合损失函数权重比分析

为了获得本文U-Net模型损失函数的最优权重比,本文对损失函数中的权重因子w进行了探究,将w分别设置为 0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8和0.9,并对测试集进行预测,预测结果的度量指标值如图10所示。

图10展示了损失函数在不同权重比的情况下对本文U-Net模型性能的影响。从图中可以看出,w不同取值下,模型的各项指标存在波动。整体来看,当w大于等于0.5时,模型各项指标的变化趋于稳定。当w取 0.7时,F1_Score、Precision、Recall和IoU指标最优,模型的性能最佳。因此,在模型应用中,建议w值设置为0.7,以BCEloss为主要损失,Diceloss为辅助损失,得到最优效果。

图10 混合损失函数不同权重比实验结果Fig.10 Experimental results of hybrid loss functions with different weight ratios

4.5 模型应用

为了更好地验证本文混合损失U-Net海冰检测模型的应用性,将训练好的模型用于渤海区域整幅SAR影像的海冰检测。此处,选取2020年1月2日((图11)辽东湾的SAR影像,对影像进行预处理,并输入到混合损失U-Net模型中进行海冰检测。可以看出,本文模型对SAR影像中的海冰、背景能进行较好地分类,对海冰及其细节能较好地检测。因此,本文提出的U-Net模型可以应用于渤海区域整幅SAR图像的海冰检测,可为海冰监测、海冰变化分析、海冰预报提供技术支撑。

图11 整幅 SAR 图像海冰检测结果Fig.11 The sea ice detection results of the whole SAR image

5 结论与展望

本研究针对渤海区域SAR影像的海冰检测问题,以Sentinel-1 VV和VH双极化方式的SAR影像为数据源,引入深度学习框架U-Net,用ResNet 18编码器,设计了BCEloss和Diceloss结合的混合损失函数优化U-Net模型,形成了基于混合损失U-Net的渤海海冰检测模型,并与传统的海冰检测方法和已有的深度学习方法进行了对比,研究了混合损失函数和双极化输入信息对海冰检测结果的影响,同时分析了混合损失函数的权重比,得出了如下结论:

(1)本文提出的U-Net模型在测试集上的重叠度为97.567%,F1分数为98.769%,精确度为98.767%,召回率为98.771%,远远优于PCNN、MRF、分水岭算法和基于CNN的深度学习方法4种对比方法。

(2)本文设计的混合损失函数相对于非混合损失函数能够提高模型对海冰信息的检测能力。

(3)从不同极化信息输入结果可知,较单极化SAR图像,模型能够从双极化图像中学习更完整的海冰信息。

(4)从测试集的检测结果来看,本文混合损失UNet模型不仅可以实现海冰、背景的分类,对冰水沿线、冰间水道、冰间隙等细节特征的检测效果较好。

(5)本文混合损失U-Net模型可以应用于渤海区域整幅SAR图像的海冰检测,可为海冰监测、海冰变化分析、海冰预报提供技术支撑。

本实验中U-Net虽然在渤海海冰SAR影像数据集上获得了较好的结果,但仍有拓展的空间。一方面,本文采用的SAR数据为VH和VV极化,下一步将研究融合多源SAR影像,拓宽海冰信息,提高模型检测精度和适用范围。另一方面,将以本文的海冰检测模型为基础,开展渤海海冰变化监测方面的相关研究。

致谢:感谢欧洲航天局提供Sentinel-1数据和SNAP Desktop软件;感谢标注软件LabelMe和Anaconda平台;感谢李晓峰研究员对本文提出的修改意见。

猜你喜欢
海冰极化损失
认知能力、技术进步与就业极化
极化雷达导引头干扰技术研究
基于干扰重构和盲源分离的混合极化抗SMSP干扰
近三十年以来热带大西洋增温对南极西部冬季海冰变化的影响
胖胖损失了多少元
南极海冰融化致帝企鹅减少
非理想极化敏感阵列测向性能分析
玉米抽穗前倒伏怎么办?怎么减少损失?
基于SIFT-SVM的北冰洋海冰识别研究
海冰,来年再见啦!