刘腾腾, 曹川川, 韩 勇❋❋, 陈 戈
(1. 中国海洋大学信息科学与工程学院, 山东 青岛 266100; 2. 青岛海洋科学与技术试点国家实验室 区域海洋与数值模拟实验室, 山东 青岛 266237)
海浪是海洋中表层海水的波动现象,其观测过程经历了经验性的目测与局地性的浮标观测,而近几十年,随着卫星观测精度与反演方法的不断革新,使得遥感观测成为海浪研究中利用率最高、覆盖度最广、周期性最长的实测数据,其中,合成孔径雷达(SAR)可提供高分辨率的二维海浪谱信息,且不受云、雨的限制和具有全天候工作的优势,是海浪观测中应用最为广泛的传感器[1]。
自1978年Seasat发射升空,证实SAR能对海浪成像,拉开了遥感观测海浪的序幕[2]。其后,欧洲航空局(ESA)陆续发射了ERS-1/2卫星(1991和1995年)、Envisat卫星(2002年)以及最新的Sentinel-1A/B卫星(2014和2016年),其主载荷均是SAR传感器,显著地推动了海浪研究的进程。根据SAR成像理论,其回波机制是海面微尺度波的Bragg散射,更长尺度的波浪通过调制这些微尺度波而在SAR图像上成像[3]。Hasselmann等[4-5]将这种调制作用概括为真实孔径雷达调制和合成孔径雷达调制,前者包含倾斜调制和流体动力调制,通常认为是线性的,它们影响着后向散射回波的强度;而后者指速度聚束调制,具有很强的非线性,其引发的多普勒频移效应会改变目标在SAR图像中的位置,导致SAR成像模糊。Schulz-Stellenfleth等[6]提出CWAVE反演算法,不依赖于任何辅助数据而实现独立的海浪参数反演,使得SAR反演方法更关注图像本身。该反演算法也被推广应用于Envisat和Sentinel-1数据的海浪参数反演。前人针对海浪SAR图像自身特点的研究较少,其中Schulz-Stellenfleth等[7]根据目视分类建立了SAR图像成像均匀性的分类方法,用于剔除海浪视场中由于海冰、陆地、油污等影响而成像不良的数据,后被ESA应用于基础数据预处理。基于Envisat卫星搭载的先进合成孔径雷达(ASAR)获取的一级和二级数据,曹川川等[8]发现SAR图像中海浪条纹清晰度与反演参数的精度直接相关,条纹清晰的SAR图像反演主波波长和周期的误差更小,而条纹不清晰SAR图像反演有效波高和风速的误差更小,并指出在反演海浪参数的修正过程中,仅依靠风速“一刀切”的参数修正方式是不合理的,结合条纹清晰度对图像进行分类修正,将有助于提升SAR反演海浪参数的精度。
目视分类是最基本的图像分类方法,其他分类方法也需依此来建立高精度的样本库,但应用于海量的SAR图像分类时,其主观性和效率低等缺点将不容忽视。近年来,深度学习在图像识别领域的蓬勃发展,为图像分类研究提供了灵活、高效和可重复性的方法。它与遥感图像相结合,被广泛应用于海洋现象的识别与预测研究。Estanislau Lima等[9]较早的将卷积神经网络应用到海洋锋识别任务上,与其它传统方法(如梯度算法、熵算法)相比,其方法取得了更高的识别准确率。Yang等[10]将全连接长短期记忆(Fully Connected Long Short Term Memory,FC-LSTM) 网络与卷积神经网络(Convolutional Neural Networks,CNN)相结合进行海温预测,提高了海温预测的精度。Duo等[11]基于目标检测网络构建了中尺度涡旋自动识别定位网络OEDNet,该网络针对海洋中尺度涡旋中的小样本和复杂区域进行了优化,不仅具有更高的识别性能,而且在不同海域的表现上具有良好的泛化能力。Zhang等[12]基于机器学习结合气候学海洋温度-盐度剖面与从MODIS和VIIRS卫星图像中提取的内波波峰曲线建立了内波预测模型,实现了对苏禄海和西里伯斯海中内波的传播预测。
本文基于深度学习方法,以Inception-ResNet-V2网络模型为基本网络结构,在其残差模块(Residual)后加入CBAM (Convolutional Block Attention Module) 注意力模块,实现对海浪SAR图像分类。针对SAR图像海浪条纹特征的特殊性,在利用模型识别图像时采用分块识别的方式,对各块分类概率结果进行累加后取概率最大的类别,进一步提高了识别准确率。该研究不仅检验了利用深度学习进行海浪SAR图像分类的可靠性,为进一步研究海浪参数特征与反演参数修正奠定了基础,同时也可为计算机技术与海洋学之间的跨学科研究做出贡献。
Envisat卫星搭载的ASAR传感器具备5种测量模式:图像模式(IM)、可变极化模式(AP)、宽刈幅模式(WS)、全球观测模式(GM)和波模式(WV),其中波模式下沿着卫星飞行路径每隔100 km可成像一次,图幅大小在(5×5)~(10×5) km范围,空间分辨率沿着卫星飞行方向(方位向)为6 m,垂直于飞行方向为9 m。由于该模式下分辨率高、功耗低、数据量丰富被广泛应用于海浪研究。
海洋视场下,传感器所接收到的回波因受海浪的调制作用,在SAR图像中显示为明暗相间的灰度条纹。利用官方预处理的数据标记对其进行质量控制,只选取成像均匀的图像,即不包含海冰、陆地、油污和海气相互作用等影响而成像不良的影像。本研究主要将图像分为三组:清晰组、不清晰组和中间组。清晰组的图像中可发现清晰的海浪条纹,尺度均一、方向明确;而不清晰组的图像则是灰度均匀,无法通过目视识别出任何海浪特征;中间组介于前两者之间,作为容差的过度组而存在,图幅中包含模糊的海浪特征,但方向不明确或纹理不均匀(见图1)。通过目视较为容易区分这三种图像的差异,但对计算机识别而言,从灰度图像中区分条纹差异十分具有挑战性。为了得到更好的分类效果,本文按照三种海浪条纹清晰度,对ASAR图像进行目视监督分类,各选出4 000幅图像作为分类样本库。
((a)表示清晰组图像;(b)表示中间组图像;(c)表示不清晰组图像。(a)Represents the clear group image;(b)Represents the middle group image;(c)Represents the unclear group image.)
本文选用当下在ILSVRC(ImageNet Large Scale Visual Recognition Challenge)图像分类基准测试中成绩较好的Inception-ResNet-V2[13]网络作为本次研究的基础网络结构,以实现海浪SAR图像分类。Inception-ResNet-V2是由深度卷积网络Inception[14-15]和残差网络结构ResNet[16-17]组合而成,其在InceptionV4的基础上引入了残差网络结构,在加深网络的同时有效避免了网络过深所造成的网络退化(过拟合)、梯度爆炸和梯度弥散等问题,网络总体结构如图2所示。
图2 Inception-ResNet-V2总体结构Fig.2 The overall structure of Inception-ResNet-V2
上图中的三个卷积残差模块是该网络的特征提取模块(见图3),以Inception-ResNet-A为例,中间各层得到的特征图经线性整流函数(Rectified Linear Unit, ReLU)激活进入右通路做组合卷积运算,各路卷积结果进行张量连接后进行1×1卷积运算,1×1卷积的主要作用是提升或降低特征的维度,即通道数,在不改变图片宽高的前提下减少训练参数,以大大降低计算量。最后的操作是对1×1卷积结果做残差处理后采用线性整流函数进行非线性激活。与Inceprion-ResNet-A不同之处在于Inceprion-ResNet-B和 Inceprion-ResNet-C都是只有两个通路做组合卷积,并且网络结构中都使用了非对称卷积核,即将7×7和3×3卷积核拆解成7×1、1×7和3×1、1×3的非对称卷积核,这样不仅加深了网络深度,也增强了网络的非线性。
图3 Inceprion-ResNet-A网络结构Fig.3 The network structure of Inceprion-ResNet-A
注意力机制借鉴了人类视觉的选择性注意力机制,人类通过有限的注意力资源可以从大量信息中快速找到目标特征区域,进而筛选出关键信息,极大提高了视觉信息处理的效率和准确性。注意力机制最先大多应用于自然语言处理领域,旨在提高文本翻译任务的性能[18]。近年来,随着研究的深入,注意力机制在图像识别领域发展迅速并引起广泛关注。2017年Hu等[19]提出了SEnet(Squeeze and Excitation networks)模型并一举赢得了ImageNet分类竞赛冠军,其创新之处在于通过通道间的不同权重对不同通道特征进行重要性选择,使得模型能够重点关注信息量最大的通道特征而抑制其它不重要的通道特征。2018年Woo等[20]提出了CBAM(Convolutional Block Attention Module)卷积注意力模块,此设计兼顾通道和空间两个维度的注意力权重并表明了不仅在通道间,在空间上也可以强调特征信息。CBAM是一个轻量级的通用注意力模块,由通道注意力模块(Channel Attention Module,CAM)和空间注意力模块(Spatial Attention Module,SAM)组成,它们可以作为两个独立的部分也可以以并行或顺序的方式进行组合,这使其可以无缝集成到任何卷积神经网络结构中,并使模型性能都有一定提升,具有广泛的可应用性。本文通过对Inception-ResNet-V2模型进行简化,并将CAM与SAM以顺序的方式加入到其残差模块之后,使得模型的学习速率和准确率都有一定提升。
2.2.1 通道注意力模块 如图4,CAM首先对输入的特征分别进行一个空间的全局平均池化和全局最大池化,然后将得到的两个空间描述分别送入一个两层的共享神经网络进行压缩和线性整流函数激活,压缩的目的是为了减少网络参数量,避免内存溢出,同时可以提高运算效率。最后将激活后的结果相加并用Sigmoid函数再次激活以得到通道权重,将权重与原始输入特征相乘便可得到缩放后的新特征。CAM计算过程如式(1)所示:
图4 通道注意力模型Fig.4 Channel attention model
(1)
式中:CA表示通道注意力权重;σ表示Sigmoid激活函数;W0表示第一层全连接和ReLU激活操作;W1表示第二层全连接和ReLU激活操作。
2.2.2 空间注意力模块 如图5,与CAM不同,SAM首先对输入的特征分别进行一个通道维度的平均池化和最大池化以得到两个通道描述,然后将这两个描述按照通道维度进行拼接,再经过一层卷积后用Sigmoid函数激活以得到空间权重,卷积层通常采用7×7的卷积核,在本文的研究中发现3×3的卷积核对SAR图像海浪条纹的特征学习更为有效,训练损失收敛更快。SAM计算过程如式(2)所示:
图5 空间注意力模型Fig.5 Spatial attention model
(2)
式中:SA表示空间注意力权重;σ表示Sigmoid激活函数;f3×3表示3×3的卷积操作;⊕代表二维向量的拼接。
SAR图像大小固定,大小为900×1 200,基于人工目视分类,根据不同清晰度的海浪条纹在2万张SAR图像中选取了清晰组、不清晰组和中间组各4 000张作为本次研究的数据集。将数据集随机分为训练集、验证集和测试集,其中训练集9 600张(80%),验证集和测试集都是1 200张(10%),并且验证集和测试集中的每类图像都是按相同比例(10%)从原始数据集该类图像中随机选取的,以保证数据分布的均匀性。
实验发现直接用训练集进行学习训练效果并不好,一是因为训练样本过少,二是图像尺寸过大,影响特征提取,识别准确率只有75.6%,并且以随机裁剪和旋转的方式扩充数据也并未取得较好的训练结果。在原始图像大小都为900×1 200前提下,为丰富训练集,减小图像尺寸,特将图像分别以四个顶点为起始点进行裁剪,尺寸大小为600×800,将训练集扩充了4倍,数量达到了38 400张,并且为保证图像尺度一致,对验证数据也进行了相同的裁剪。考虑到SAR图像海浪条纹区域特征并不明显,经去均值、Gabor滤波等图像增强手段进行图像预处理后对训练结果没有明显提升,所以为保持原有图像特征,本文只进行了简单的归一化处理。并且为保证验证集图像尺寸与训练集一致,也对验证集数据进行了上述方式的裁剪,保证训练过程中结果验证的有效性。
如图6,本文采用TensorFlow和Keras架构实现Inception-ResNet-V2网络模型搭建并对模型进行了相应调整,去除了中间部分的残差模块及其缩减层,并在每个残差后面加入了CBAM注意力模块。整个模型共有108层结构,一次训练所选取的样本数为16,损失函数选择用于多分类任务的交叉熵损失函数categorical_crossentropy[21],采用Adam[22]优化器加速模型收敛,学习率以0.05为起始,并采用指数衰减的方式降低训练过程中的学习率,衰减指数为0.96,每100个批次进行一次衰减。
图6 改进的Inception-ResNet-V2模型结构Fig.6 The model structure of improved Inception-ResNet-V2
本文首先采用原始Inception-ResNet-V2模型进行多次实验训练,在提升运算效率和识别准确率的原则下对网络模型做出了相应的调整,主要删减了原始模型的Inception-ResNet-B残差模块及其缩减层,并将Inception-ResNet-A和Inception-ResNet-C的残差层数调整为2层和3层。然后在模型的残差层后面分别加入了TAM、CAM以及TAM与CAM按顺序串联组合而成的CBAM注意力模块并进行了对比实验,以识别准确率最高的模型结构。
在模型测试方面,本文训练数据图像大小为600×800,而原始图像大小为900×1 200,实验发现利用训练后的模型直接对原始图像进行分类效果并不理想,尺寸的差异对分类结果影响较大。基于实验数据的特殊性,为使训练图像与测试图像尺寸一致,本文提出两种测试方法,一是将测试图像以数据扩充时的裁剪方案进行裁剪,然后对每一块进行分类测试,称之为单块测试;二是以同样的裁剪方案将一张原始图像分成4块,然后把每一块的分类概率值进行累加,取概率值最大的一类作为最终分类结果,称之为分块测试。单块测试适用于模型训练过程中,用来验证每个批次训练结果的有效性,分块测试则适用于模型训练后的评估环节,作为模型准确率的最终计算方案。由于测试数据集中的图像是已经分类好的数据,用训练好的模型对其进行分类,取概率值最大的类别作为目标图像的分类结果,最后将分类正确的图像在测试集中的占比作为模型的识别准确率。
针对海浪SAR图像分类问题,原始的Inception-ResNet-V2模型网络层数过深,运算耗时,分块准确率只有82.3%。相比原始的Inception-ResNet-V2模型,结合CAM和SAM的改进模型准确率分别提升了3.9个百分点和4.1个百分点,而将二者结合的CBAM更是将准确率提升了7.3个百分点。同时,与单块识别相比,采用分块识别方案准确率能够提升0.7~1.8个百分点。实验结果如表1所示。
表1 不同注意力机制下的识别结果比较Table 1 Comparison of recognition results under different attention mechanisms %
除了分类准确率,训练损失也是评价模型的一个重要指标。训练损失用来度量预测的概率分布与真实分布之间的差异,本文采用交叉熵损失函数计算损失值,公式如下:
(3)
式中:E表示交叉熵损失;T表示类别总数;Pj表示预测概率向量P的第j个值;yj表示真实分类向量y的第j个值。
通过对比4组实验的训练损失折线图,加入CBAM的改进模型训练损失不仅有显著降低,而且收敛更快,表明该模型图像特征提取效果较好,学习效率更高。训练损失折线如图7所示。
图7 训练损失折线Fig.7 Line chart of training loss
图8为三组SAR图像经注意力模块卷积后的特征图结果,输入图像经尺度归一化后在神经网络模型中层层卷积和激活,对图像特征进行多次提取(图中较亮区域),为最后的分类判别提供依据。传统图像分类是针对图像中的某一目标或部分区域进行特征提取并加以分类,而本文中用到的SAR图像海浪纹理分布在整幅图像,卷积神经网络和注意力模型在多次卷积和激活后会将目标锁定在图像中的某一区域,由于SAR图像中海浪纹理特征不够明显,且中间组图像介于清晰组和不清晰组之间,海浪纹理特征存在交叉,为图像分类造成巨大干扰。
图8 注意力特征图可视化Fig.8 Attention feature map visualization
随着卫星遥感技术的发展,实现了对全球海洋的高精度的快速覆盖观测,同时,其获取的大量遥感数据,也对科研人员的数据特征提取与分析能力提出了巨大挑战。基于海浪SAR图像特征混杂、数量巨大、人工目视分类困难的问题,本文利用简化的Inception-ResNet-V2模型与注意力机制相结合的方法,在减少网络层数、加快运算效率的同时,大幅度提升了计算机对SAR图像中海浪条纹清晰度的识别准确率;针对图像尺寸对识别效果有着显著影响的问题,本文提出了分块测试方法,进一步提高了识别准确率。最终本文结合12 000幅分类样本,利用深度学习实现了5万幅ASAR图像的分类研究,得到清晰组11 069幅、中间组16 560幅和不清晰组22 371幅分类图像,为进一步研究海浪参数特征与反演参数修正奠定了基础。
在未来的工作中,我们将在图像预处理和模型改进两个方面继续寻找突破点,寻求一种适合于SAR图像海浪条纹特征增强的图像处理方法,并尝试将注意力机制与其它优秀的模型相结合,为提高模型识别准确率做进一步研究。
致谢:感谢中国海洋大学孙建老师为本论文研究提供的Envisat-ASAR波模式数据与图像。