APP下载

基于多特征融合与ResNet的海面溢油区识别研究

2021-07-28张晓晓毛健平安居白

计算机工程与应用 2021年14期
关键词:乳化油溢油油膜

张晓晓,牛 福,毛健平,安居白,郭 浩

1.大连海事大学 信息科学技术学院,辽宁 大连116026

2.山东交通学院 汽车工程学院,济南250357

随着海洋石油资源开发的不断增加,溢油事故发生较为频繁,对海洋和沿海地区造成了严重的环境和经济影响,为了防止溢油灾害,必须检测溢油的位置。SAR以其广域、全天候的监视能力,被认为是最适合漏油监测的传感器之一[1]。然而在全极化SAR 图像中经常出现“类油膜”(如生物油膜、低风速区、乳化油膜、大气重力波等)现象,在全极化SAR图像上类油膜与油膜均呈现为暗色区域,两者的后向散射系数和灰度值很相似,在识别时易对两者产生混淆,对利用SAR 图像进行海面溢油区检测产生了严重影响。所以对全极化SAR图像上的类油膜和油膜现象进行高效的分类对降低海面溢油监测的虚警率尤为重要。

近几年随着在图像分类和模式识别方面深度学习不断取得巨大成就。多位学者和专家将深度学习应用到了上述问题当中。Singha等人[2]通过人工神经网络算法(ANN)正确识别出了91.6%的溢油数据和98.3%的类油膜数据。但是ANN 隐藏层的学习过程无法观察到,对于得到的结果很难解释。Li等人[3]在训练数据样本数量有限的情况下,提出将SAE 和DBN 深度学习算法结合进行分类,结果表明其分类性能比SVM和ANN略胜一筹。Song 等人[4]将多个全极化SAR 图像数据结合优化后的小波神经网络分类器(WNN),开发出一种新的识别溢油的方法。Guo等人[5]提出将三种极化特征结合CNN分类油膜和类油膜,提高了识别准确性,分类精度达到91.33%。Orfanidis 等人[6]提出了将深度神经网络(DCNN)与SAR图像相结合的方法,提供了一个全自动的溢油识别系统。Xiong 等人[7]提出了一种基于DenseNet卷积神经网络的密集连接网络模型,通过提取SAR 图像的多尺度特征,提高了分类和识别的准确性。以上研究方法使用的均是浅层网络,数据表达能力较弱,分类准确度不高,不能有效地进行推广应用,而且较少有学者对多种分类方法进行对比分析[8]。基于以上问题,本文提出使用多特征融合与深度残差网络(Residual Network,ResNet)相结合的方式对溢油和类油膜进行分类,同时将分类结果与AlexNet、VGG 网络进行比较分析。结果表明,在区分油膜和类油膜方面,深度残差网络分类准确性优于其他网络。

1 数据集及预处理

1.1 数据集介绍

本文中的实验数据来自以下3幅全极化SAR图像,如图1和图2所示。其中NO.1拍摄于2010年墨西哥湾溢油事件,如图1所示,(a)中的黑色区域为原油膜,(b)为漏油的地理坐标。NO.2、NO.3来源于2011年欧洲北海溢油实验,分别将生物油膜、乳化油膜和原油洒在北海上,图2 为溢油数据,(a)中包含生物油膜和乳化油膜;(b)包含生物油膜、乳化油膜和原油膜。

图1 2010年墨西哥湾溢油数据(NO.1)

图2 2011年欧洲北海溢油数据(NO.2、NO.3)

1.2 数据预处理

噪声对雷达图像会产生一定的干扰,因此使用正交条件下的Pauli分解[9],在一定程度上可以降低噪声对雷达图像的影响,对检测暗区有帮助。具体的步骤如下所述:

(1)先将原始的实验数据进行Pauli分解;

(2)再对Pauli分解后的图像进行Boxcar滤波处理。

1.2.1 Pauli分解

在相干分解中[10],用于目标分解的四个Pauli基矩阵分别为。四个Pauli基对应于不同的实际散射机制,其中P1表示平面一次散射,P2和P3分别表示0°和45°相对取向的二面角反射器的二次散射,P4表示反对称分量。

对于任意2×2 维度的复数矩阵S,其Pauli 分解式为:

式中,ki表示S在Pauli基Pi上的投影。

对矩阵所求的迹用Tr 表示,则ki可表示为:

对于大多数雷达目标,其理论后向散射矩阵均满足互异性定理,因此理论后向散射矩阵在Pauli基P4上的投影均为0。故对于大多数雷达目标的理论后向散射矩阵,Pauli分解的正交基为P1、P2、P3。将目标理论相对散射矩阵Sj在正交条件下的投影向量记为:

式中,T 代表向量的转置。

然而在实际测量中,由于雷达天线极化隔离度不理想和变极化作用引入的交叉极化串扰和极化增益失衡,需进一步通过外部定标体来校准雷达系统。在实际的雷达系统中,极化测量可以更准确地描述为:

其中,G是2×2的极化雷达接收通道增益矩阵;⊙表示Hadamard 点积运算;R和T是2×2 发送和接收失真矩阵;S是2×2目标极化散射矩阵;I是包括杂波、噪声和干扰等不良信号的误差矩阵;Sm表示实际测量的目标极化散射矩阵。

目标实际测量的相对散射矩阵不一定满足互异性定理,因此需要在四个Pauli 基上进行分解。目标实际测量的相对散射矩阵在四个Pauli 基上的投影向量记为:

若三个目标的投影向量线性无关,则这三个目标满足正交条件,均可选作定标体。记矩阵K=[k1,k2,k3],,其中kj表示第j个定标体的理论相对散射矩阵Sj在正交基上的投影向量,因此K是3×3的矩阵,表示定标体实际测量的相对散射矩阵在四个Pauli 基上的投影向量,所以Km是4×3 的矩阵,K与Km满足以下关系:

式中,4×3 的误差矩阵C包含失真矩阵R、T和增益矩阵G的全部信息。如果三个定标体满足正交条件,则K可逆,于是

由于任何矩阵右乘可逆矩阵后矩阵的秩不变,列满秩矩阵Km与K-1的乘积C也是列满秩矩阵,从而矩阵C的左伪逆矩阵Lc存在。

记待校准目标的实际测量相对散射矩阵为在四个Pauli基上的投影向量为:

则校准后的投影向量为:

根据公式(9)和散射矩阵与投影向量的关系式(2),从而目标校准后的相对散射矩阵为[11]:

1.2.2 Boxcar滤波

Boxcar 滤波是一种在滑动窗口内取平均像素值的滤波方法[12]。对于单极化SAR 图像,滤波后的像素值与滑动窗口内的像素值的关系如下:

Y为SAR图像中第(i,j)个像素的强度值,N为滤波窗口的大小,i和j分别为图像中被滤波的像素所在的行号和列号。

对于全极化SAR 数据可用Sinclair 散射矩阵S表达,数据通常以4个通道的文件Shh、Shv、Svh、Svv的形式给出。在进行滤波前,极化SAR 数据一般要处理成协方差矩阵C或相干矩阵T的形式:

其中,KP和KL分别是散射矩阵S的lexicographic 矢量展开和Paul矢量展开,式中右上角标*表示共轭转置,右上角标T表示转置。

在互易的情况下,Shv=Svh,KL和KP简化为三维向量:

Boxcar滤波对相干矩阵T或协方差矩阵C的各个元素分别进行滤波。对于对角线的元素,由于是实数,所以对于对角线元素生成的图像可以直接进行滤波;非对角线元素由于是复数,则实部和虚部分别进行窗口滤波。由于T或C矩阵是共轭对称的,故总共需要过滤3+3×2=9 个通道的图像。每个通道滤波后的像素值与滑动窗口内的像素值的关系如下:

式中,Y为SAR 图像中第(n,m)个像素的强度值,nm代表矩阵T或C的第n行,第m列元素。

在本文实验中给全极化SAR图像数据进行了Boxcar 滤波,滤波窗口的大小对后续的分类精度会产生一定的影响。通过实验发现数据的对比度越强对暗斑的检测精度越高,而滤波窗口的大小又会对图像对比度产生影响(对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,即指一幅图像灰度反差的大小。差异范围越大代表对比越大,差异范围越小代表对比越小)。为了选择一个合适的滤波窗口大小,进行了一个参数分析实验,分别将滤波滑动窗口设置为3×3、5×5 和7×7,当窗口大小设置为1 时认为是不进行滤波。表1 展现的是对同一SAR 数据进行不同大小滤波窗口后的对比度值,由表可以得出窗口大小为3×3 时有较高的对比度,所以实验中选择3×3 大小的滤波窗口。

表1 不同滑动窗口大小下的对比度值

2 特征提取

全极化SAR图像的特征提取是进行油膜和类油膜分类的核心步骤。先提取特征再对提取的特征进行分析,最终筛选出最佳的特征组合成最优特征子集作为网络的输入,本实验中选取了极化散射熵,极化散射角和SERD 三种极化特征[13]作为最优特征子集作为网络的输入。

极化SAR数据包含极化信息,如极化特征矩阵、极化散射向量等。与单极化SAR 图像相比,全极化SAR图像包含更多的物理特性,从而可以更全面地表达目标区域的特征。

本文中的三种极化特征(Entropy,Alpha,SERD)是由大小为3×3的相干矩阵T3求出的。

通过计算相干矩阵的特征矢量,可以将相干矩阵分解为3种相互正交的散射机制贡献之和,特征值对应散射机制的权重系数。

式中,λi表示特征值,μi表示λi对应的特征向量。

本文中所提取的三种极化特征定义[14]分别如下:

(1)极化散射熵(Entropy):

其中,Entropy∈[0,1],当洁净的海面被雷达波束照射时,Entropy值比较小,因为只会发生一种散射机制并且其值不会超过0.4;如果海面被油膜覆盖,此时会发生多种散射机制,此时Entropy值在0.8以上。

(2)极化散射角(Alpha):

公式(24)中ei(1)表示[T3]极化相干矩阵的特征向量的首个元素,Alpha 的取值为0°~90°,Alpha 可以区分海面目标的不同散射机制。有油膜覆盖的海水区域的Alpha值大于干净的海水区域,其值大于42.5°。

(3)SERD特征:

式中,λinos表示[T3]相干矩阵的特征值,可根据λ1nos和λ2nos求出αi,αi表示散射角。若,则λs=λ1nos;若,则λs=λ2nos。SERD 对粗糙度非常敏感,而油膜的存在导致海水表面不同的粗糙程度,进而影响散射机制。在没有油膜的海面区域,SERD值较大因为只有单次散射,而有油膜覆盖的区域,散射机制比较复杂,单次散射机制所占比例较小,所以SERD值也较小。因此SERD 值的大小可以被用来区分全极化SAR图像上的油膜和类油膜。

3 基于ResNet的溢油分类

3.1 ResNet简介

本文采用ResNet50 作为训练本文实验模型的基本网络。ResNet加入了残差学习框架,这种残差结构不仅易于优化并且计算量很小。设计残差结构是为了解决随着层数的加深网络退化和梯度消失问题,进而可以在增加深度的同时提高网络的性能[15]。ResNet 网络不仅可以极大地加深卷积神经网络的层数,而且可以有效地解决由于层叠加而导致训练误差增加的问题。

残差模块结构如图3 所示,在ResNet 结构中,输入为x,输出为F(x)+x,拟合目标为H(x)-x,训练目标为F(x)=H(x)-x即所谓的残差。为了不断改变浅层网络,需要训练使F(x)=x,即目标变成了让F(x)+x=x,这也就相当于使F(x)=0。这比最初的训练目标要简单得多,因为网络每一层的参数初始化通常偏向于0。与更新网络层的参数来学习H(x)=x相比,更新冗余层的参数来学习F(x)=0 更快。

图3 残差模块结构示意图

残差结构如图3所示,定义为:

其中,x和y是网络层的输入和输出向量,函数F(x,{Wi})表示要学习的残差映射。

对于图3 中两层网络的示例,函数F(x,{Wi})可以表示多个卷积层。为了简化符号,省略了relu激活函数(Rectified Linear Unit,线性整流函数)和偏差。F(x)+x操作通过快捷连接和逐个通道执行逐元素加法实现。假设这个两层神经网络,在l层进行激活,得到xl+1,则可简单地写成如下形式:

通过不断堆叠网络层数,可以得到任意深层单元L特征的表达:

假定ε为损失函数,由反向传播的链式法则可得下式:

本文用于油膜和类油膜分类的ResNet50 的结构如图4所示。

图4 ResNet50结构示意图

3.2 数据集制作

因为ResNet 属于CNN 模型,因此图像可以直接作为网络的输入,在本文所有作为网络输入的样本都是基于像素的。图5 展示的是实验所用的三幅全极化SAR数据对应的三种极化特征图。在一幅数据上选取一个感兴趣区域即可在其对应的三种极化特征图的对应位置上得到三个感兴趣区域,由于所用SAR 数据上海水占大多数面积,因此需要将大部分海水区域去除,选择出包含油膜和类油膜的区域即可。因此先用ENVI软件在前三幅数据对应的特征图上选取暗斑区域,然后对上一步选取的暗斑区域用MATLAB 软件进行滑块操作,滑块的步长设置为20×20,最终实验中共选取了12 600个实验样本,并从中随机挑选10 800 个组成训练集,其余1 800 个组成测试集。训练集由3 600 个原油样本、3 600个生物油样本和3 600个乳化油样本组合而成(其中Entropy 样本、Alpha 样本和SERD 样本各3 600 个)。测试集的样本分布与训练集相同。其中特征融合指训练网络模型所用的训练集和测试网络模型所用的测试集是由三种特征的样本共同组成的而不是单一的一种样本。实验中每一个样本大小为50×50(参数大小确定过程详见表2)。

表2 不同像素值的分类精确度和Kappa系数

图5 三幅数据的三种极化特征图

3.3 输入图像大小确定

样本的大小也会对分类结果产生影响。若输入图像太小,则网络不能充分捕捉图像上下文信息从而导致网络学习到的图像特征不够充分。但是输入图像太大又会增加网络负担,导致花费太多的时间在训练模型上,所以必须选择合适的输入图像大小。

在本实验中,根据输入图像大小对分类精度的影响确定输入图像的大小。实验中将ResNet的其他参数固定,测试不同大小样本得到的分类精度,结果如表2 所示。结果表明,分类的精度会随着输入图像大小的增大而增大。这是因为当图像过小时网络提取到的上下文信息不够充分导致的。但是随着图像的增大当输入图像大小为50×50时精度开始趋于稳定,继续增大图像精度开始下降,因此实验中最终将输入图像大小确定为50×50。

4 实验结果与分析

本实验分别在Entropy、Alpha、SERD三种极化特征对应的特征图上选取多个感兴趣区域作为网络的训练集和测试集。其中训练集由3 600个原油样本、3 600个生物油样本和3 600个乳化油样本(共计10 800个)组合而成。测试集由600 个原油样本、600 个生物油样本和600 个乳化油样本(共计1 800 个)组合而成,最终得到97.56%的分类精度。

4.1 分类结果比较与分析

将相同的训练集和测试集应用于AlexNet 和VGG模型中,最后将分类结果与ResNet50进行比较,结果如表3所示。

表3 本文所提算法与AlexNet、VGG的比较

在ResNet50 网络模型分类结果中8 个原油样本被分类为生物油样本,6个原油样本被分类为乳化油样本,20 个生物油样本被分为乳化油样本,10 个乳化油样本被分为生物油膜样本;在AlexNet 网络分类结果中6 个原油样本被分类为乳化油样本,12个生物油样本被分类为原油样本,12个生物油样本被分为乳化油样本,29个乳化油样本被分类为原油样本,7个乳化油样本被分类为生物油样本。在VGG网络模型分类结果中4个原油样本被分类为生物油样本,20个原油样本被分类为乳化油样本,41个生物油样本被分类为原油样本,11个生物油样本被分为乳化油样本,10个乳化油样本被分类为原油样本,22个乳化油样本被分类为生物油样本。

表3 中的时间是指训练10 800 个样本迭代一次所用时间,在模型训练过程中将迭代次数设置为300,将Batch_size 设置为15。接着将1 800 个测试样本输入网络模型对模型进行测试。从实验结果可以看出,在分类油膜和类油膜方面,由于深度残差网络具有较深的层数,因此在运行时间上多于其他两种深度学习算法,但正是因为残差网络特有的残差结构使得网络可以在增加网络深度提高分类精度的同时又能保证网络模型不退化,因此在分类精度上明显优于AlexNet和VGG。尤其在大规模数据集上会有更好的适用性。其分类的有效性从kappa系数和ROC曲线图(图5)也可以看出。

4.2 ROC曲线评价

由于本文研究的是一个图像二分类问题,即识别区分SAR 图像上的油膜和类油膜现象,所以可以借助ROC 曲线[16]来评估和比较本文所提算法与AlexNet、VGG的分类效果。

为了确保油膜和类油膜是等概率的,本文随机选取4 200个训练样本组成训练集(包括2 100个油膜样本和2 100个类油膜样本)和700个测试样本组成测试集(包括350 个油膜样本和350 个类油膜样本)用于ROC 实验。结果本文所提算法和AlexNet、VGG的ROC曲线如图6所示。从图中可知,本文所提算法ResNet50的敏感度明显更高,AlexNet 其次,VGG 的敏感度相对最低。由此可见,本文所采取的识别方法具有较高的敏感性。可以更好地对全极化SAR数据上的油膜和类油膜进行区分。

图6 ResNet50与AlexNet、VGG的ROC曲线图

4.3 过拟合分析

为防止因数据不足导致的过度拟合现象,又做了另外两组实验。在这两组分析过度拟合的实验中,油膜样本和类油膜样本具有相同的概率。第一种网络模型是由3 600 个原油样本、3 600 个生物油样本和3 600 个乳化油样本(共10 800个样本)训练得到的,训练样本来自于前三幅数据。而第二种网络模型是由2 000个原油样本、2 000个生物油样本和2 000个乳化油样本(共6 000个样本)训练得到的,训练样本只基于第三幅数据。所有测试样本都选自于第三幅数据,由200 个原油样本、200 个生物油样本和200 个乳化油样本(共600 个样本)组成。用同一测试集对这两种网络模型分别进行测试,结果三种油膜经过这两种模型测试得到的分类精度如表4所示。通过分类结果可以分析得出,第二种网络模型无论对哪种油膜的分类精度都比第一种网络模型的分类精度高。通过实验结果可以得出,若训练样本不够充足,三种深度学习算法训练得到的网络模型都会发生过拟合。为了避免发生过拟合现象,在以后的研究中非常有必要扩充训练样本数据。

表4 基于两种模型的分类精度 %

4.4 K 交叉验证

在深度学习中,网络模型训练之前会进行采样,然后将总体样本划分为训练集和测试集,然而训练集和测试集的样本数量比例会一定程度上影响网络模型的训练和测试效果,如果两者的比例太大,有可能使模型发生过度学习现象,并且网络训练的时间会增长,增加网络训练的负担,但是若比例过小,又会导致训练出的网络模型与实际模型相差较大,进而使测试精度降低。因此为了找到合适的样本比例。本文进行了K-CV实验,即将制作的数据集样本均分为K份,然后任取一份作为网络模型的测试数据集,其余的K-1 份用来训练网络模型。K为整数并且K值通常大于3。

组内实验所用数据集样本均来自前三景数据,实验中本文的数据集共包含12 600 个样本,在K-交叉验证实验中,分别将K值设置为3、5、7、9,然后通过实验得出了每一个K值对应的暗斑分类精度的均值和方差,结果表明随着K值的增大分类结果的稳定性逐步得到提升,当K值增大到7以后,分类结果的变化趋于平缓,考虑到网络训练的成本,将K值确定为7,即测试集和训练集的样本比例为1∶6。具体验证结果如表5所示。

表5 不同K 值对应的分类精度的均值和方差

5 结论

本文主要采用多特征融合(即数据集由三种特征的样本组成)和ResNet 相结合的方法区分SAR 图像上的油膜和类油膜现象。所用数据集包含10 800 个训练样本和1 800 个测试样本,最后得到的分类精确度为97.56%。同时将分类结果与AlexNet、VGG的分类结果进行对比。结果表明,虽然Resnet在耗时上多于其他深度学习方法,但是其在准确率方面明显优于其他算法,在大规模数据集上有更好的适用性,在以后的研究中,将进一步扩充数据集,增加类油膜的种类,并提取更多的特征,选出更好的特征子集,改进ResNet 模型,将其与更多的模型算法进行对比分析,使其可以有更高的分类精确度和更好的时间性能,可以更好地应用于不同SAR图像上油膜和类油膜的分类。

猜你喜欢

乳化油溢油油膜
基于CFD软件探究喷油策略对乳化油燃烧性能影响
耐高温堵水疏气乳化油体系的制备及性能评价
采油厂联合站乳化油处理技术研究与应用
长城油膜轴承油在高速棒材生产线的应用
近岸溢油漂移扩散预测方法研究——以胶州湾溢油事件为例
基于GF-1卫星的海上溢油定量监测——以青岛溢油事故为例
膨胀石墨/活性炭复合吸附剂对乳化油吸附行为的研究
大型数控立式磨床静压转台油膜热特性仿真及其实验分析
冷轧轧机油膜轴承系统故障分析与对策
对白茆沙水域溢油事故后修复治理的思考