阳凡林,朱正任,李家彪,冯成凯,邢 喆,吴自银
1. 山东科技大学测绘科学与工程学院,山东 青岛 266590; 2. 自然资源部海洋测绘重点实验室,山东 青岛 266590; 3. 自然资源部第二海洋研究所,浙江 杭州 310012; 4. 国家海洋信息中心,天津 300171
海底底质是海洋环境的重要指标,底质类型的分类和识别在海洋资源的开发利用、海洋工程、环境科学和海洋渔业等诸多领域具有重要意义。传统的海底底质探测主要通过拖曳式采样器、表层采样器、柱状采样器、重力活塞采样器、海底照相等,这些方法存在机械笨重、费时费力及深水区域采样困难等缺点,因此,利用声学遥感进行海底底质分类得到了广泛关注[1-3]。多波束测深系统(multibeam echo sounder,MBES)可同时采集测深和反向散射强度数据(backscatter strength,BS),具有覆盖面积广、分辨率高等优点,可以快速、准确地获取调查区域内底质的分布情况[4-5]。
国内外学者对多波束海底底质分类进行了广泛研究。文献[6]提取反向散射图像分形维数、光谱长度等特征作为K-means聚类参数进行分类;文献[7]通过反向散射图像的纹理和振幅特征,使用贝叶斯分类器进行分类;文献[8]通过提取反向散射图像的均值、标准差等特征,构建单元特征向量,利用遗传小波神经网络进行海底底质分类。由于多波束反向散射图像具有强噪声特点,很难将图像处理到比较理想的水平,特别是影响显著的入射角效应。为了避开此影响,文献[9]利用角度响应(angle response,AR)曲线进行无监督聚类,实现了海底底质的划分;文献[10]通过提取角度响应曲线特征,结合反向散射图像纹理使用随机森林算法进行分类;文献[11]通过提取角度响应曲线的一阶导数、二阶导数和曲率等特征进行分类;文献[12]利用角度响应曲线构建其三维概率密度进行分类。上述方法主要利用多波束反向散射强度形成的图像及其提取的角度响应曲线进行分类,分类数据类型单一,反向散射强度数据质量直接决定了分类的精度。除反向散射强度外,多波束测深数据具有较高的精度,研究表明,海底地形变化与海底底质的空间分布存在密切关系[13-14]。因此,本文在反向散射强度的基础上加入了地形数据辅助进行分类,改善了分类数据类型单一的问题,提高了分类精度。
决定多波束底质分类精度和效果有两方面因素,除需要有效特征外,还取决于优秀的分类器。文献[15—18]提出深度学习的概念,阐述了深层神经网络特征学习的优越性并提出了“逐层预训练”的方法,从此掀起了深度学习的热潮。卷积神经网络(convolutional neural networks,CNN)是深层神经网络的一种,因其具有权值共享,适用性强等优点,广泛应用于手写数字识别、地震波波形检测与分类、影像匹配和高光谱遥感图像分类等领域[19-22]。目前,关于人工神经网络应用于海底底质分类已有相关研究[14,23],但利用CNN进行多波束底质分类的研究较少,文献[24—25]将反向散射图像分割后利用CNN进行分类,取得了较高的分类精度,但分类结果图的空间分辨率降低。为此,本文将以像元为单元,将一维特征向量转换为二维波形图作为CNN的输入层,在保证全特征、高空间分辨率的同时,实现对海底底质的快速、高精度识别。
特征提取是进行训练和分类的重要前提,海底底质分类特征按其数据类型划分主要包括:反向散射强度特征和海底地形特征。
反向散射强度是海底底质分类的主要数据类型,本文提取反向散射图像(灰度、角二阶矩、能量、对比度及相关性)5个及AR曲线(均值、斜率、峰度、偏度)4个,共9个特征用于底质分类。
1.1.1 反向散射图像特征
反向散射图像除灰度这个基本统计特征外,还蕴含丰富的纹理信息。纹理信息反映了图像表面信息及其与周围环境的关系,更好地兼顾了图像的宏观结构和微观结构[26-27]。灰度共生矩阵(gray level co-occurrence matrix,GLCM)是描述和分析图像纹理的一种有效手段,本文利用灰度共生矩阵法,选取了最具有代表性的4个纹理特征参数:角二阶矩(angular second moment,ASM)、能量(energy,E)、对比度(contrast,CON)、相关性(correlation,COR)。具体计算方法参见文献[28—29]。
1.1.2 角度响应曲线特征
角度响应(AR)曲线是反向散射强度随入射角变化的曲线,与底质的属性有关,提取AR特征能实现海底底质分类。
如图1所示,在常见底质下,入射角θ在0°~15°时,换能器受镜面反射的影响,接收的反向散射强度较大,称为D1区,即中央异常区;入射角θ在15°~65°时,换能器主要接收散射模式中的后向散射部分,成为D2区,即漫反射区;入射角θ超过65°时,称为D3区,即高入射区[30-31]。基于上述AR曲线的分段理论,提取数据质量较好的D2区,将其斜率绝对值|K2|及均值Mean2作为AR曲线的特征参数,其中取绝对值的目的是为了左舷和右舷斜率符号统一。
图1 AR曲线分区Fig.1 Schematic depiction of AR curve division
在同一底质类型下,多波束每ping(一个发射接收周期)数据对应的AR曲线(图2),其整体变化趋势也可应用于海底底质分类。峰度(kurtosis)和偏度(skewness)是统计学中常用的统计量,可以描述和分析数据的分布形态,选取峰度和偏度作为AR曲线的特征参数,具体计算方法见文献[32—33]。
图2 1 ping测量数据对应的AR曲线Fig.2 Schematic depiction of AR curve of one ping data
AR曲线特征提取具体步骤如下。
(1) 以ping为单位,分别提取AR曲线左舷和右舷D2区的数据,计算均值Mean2和斜率绝对值|K2|,将其作为左舷和右舷所有采样点的AR特征值。
(2) 重复步骤(1),直至测区所有条带的采样点都获取其对应的AR特征值。
(3) 在地理坐标约束下,将测区内所有采样点的AR特征值进行重采样(格网化),得到AR曲线均值和斜率绝对值特征图。
(4) 以ping为单位,计算整体AR曲线的峰度和偏度,将其作为该ping内所有采样点的AR特征值。
(5) 重复步骤(4),直至测区所有条带的采样点都获取其对应的AR特征值。
(6) 在地理坐标约束下,将测区内所有采样点的AR特征值进行重采样(格网化),得到AR曲线峰度和偏度特征图。
多波束系统以测深为主,能获取高质量的海底地形,而海底地形信息往往与底质的空间分布息息相关。本文利用测深数据,提取了水深均值(mean)、坡度(slope)、地表曲率(curvature)和粗糙度(roughness)4个地形特征应用于海底底质分类。具体计算方法参见文献[34]。
卷积神经网络(CNN)多波束海底底质分类流程如图3所示。首先,将原始数据进行数据解析及各项预处理;然后,进行特征提取构建特征向量,将特征向量转换为波形图;最后,建立CNN模型进行迭代训练,直至满足期望误差,输出分类结果,完成精度评价。其中,特征向量到波形图的转换是利用CNN模型进行高空间分辨率海底底质分类的关键。
图3 CNN底质分类流程Fig.3 Process for seafloor classification using CNN
随着大数据时代的到来,深度学习得到快速发展,CNN是一种基于深度学习的神经网络,因其具有局部连接、权值共享及池化操作等特性,可以有效降低网络复杂度,减少训练参数,且易于优化和训练,已成为当前图像分类与识别领域的研究热点[35-36]。
CNN结构一般由输入输出层、卷积层(S)、池化层(C)和全连接层(F)等组成。卷积层包含若干组可以学习的卷积核,这些参数是CNN训练的核心。当前层的卷积核对上一层的特征图做卷积运算,然后通过一个激活函数(activation function)得到新的特征图
(1)
(2)
池化层常与卷积层交替出现,池化层的主要作用是降采样,减少数据量。常见的池化模式包含“最大池化(max poling)”和“平均池化(mean poling)”两种。经过卷积层和池化层交替操作后,全连接层将得到的二维特征图拼接成一维特征,对其进行训练和分类。
CNN对参数的学习训练是通过梯度反向传播算法实现的,其主要优化参数包括卷积核k,全连接层网络权重w和各层偏置b。网络训练过程中,输入样本标记和实际输出样本标记会有一定误差,误差在梯度下降算法中逐层传播,逐层更新网络参数。为保证代价函数尽可能小,需要不断反向误差传播,更新每一层的参数。CNN基本算法原理参见文献[18,20]。
以像元为单位构成的特征向量是海底底质分类的基本单元。如图4所示,将提取的特征按层结构存储,本文共有13层,包含反向散射强度特征9层、海底地形特征4层。逐层进行归一化,提取每层相同位置的特征数据,构成特征向量。其中,归一化的目的是防止特征向量中元素值差别过大,导致特征向量向特征曲线图转换过程中信息被忽略。
图4 特征向量Fig.4 Schematic depiction of feature vector
针对CNN网络输入层的特点,本文将数据分类与图像分类相结合,以特征序号为横坐标,特征值大小为纵坐标,绘制特征向量的波形图,将其输入CNN模型中进行训练和分类(图5)。该方法将单个样本点所包含的全部特征信息(特征向量)及其空间信息(各特征变量之间的相对位置关系)通过波形变化的形式展现出来,即每张波形图代表某像元的特征信息+空间信息,通过CNN模型对波形图的深度学习来实现海底底质分类。
海底底质分类模型的精度评价是在分类结束后,根据海底底质的真实类别标记,统计分类结果,以评估所采用分类算法的准确性。本文将CNN模型分类结果与海底底质的真实类别标记进行对比得到分类混淆矩阵(confusion matrix,CM),据此计算得到总分类精度(overall accuracy,OA)、使用者精度(user accuracy,UA)、生产者精度(producer accuracy,PA)和Kappa系数(Kappa coefficient)4个指标,对其进行精度评价,具体计算方法见文献[37]。
图5 特征向量到波形图的转换Fig.5 Schematic depiction of conversion from feature vector to waveform
本文数据来源于2012年的浅水调查会议资料,该测量数据满足国际海道测量规范(IHO SP-44 Ed 5)特级精度要求。试验数据采集于2011年3月8日,在新西兰首都惠灵顿附近海域使用Kongsberg-EM2040多波束测深系统测得的部分数据作为研究对象(图6(a))。该次试验多波束测深系统(已检校)的工作频率为300 kHz,波束宽度为1°×1°,测区水深14~25 m,测线布设为西北和东北方向共16条测线。首先,将原始数据进行解析、预处理(处理软件:CARIS HIPS&SIPS10.0),由于测区条带重叠区域较多,测量点密度达到70~90 points/m2,在地理坐标下进行重采样(分辨率为0.5 m),最后,进行灰度量化,形成多波束反向散射图像(图6(b))。
调查区域在惠灵顿港口附近,根据现有资料[38],码头及其周围海域海底底质类型主要为基岩和砂,港口外的南部海岸主要为砂和裸露的珊瑚礁。结合本次试验区域26个现场底质取样资料及水下摄像机提供的高清影像资料,研究区域底质分为3类,即基岩、砂及泥。另外,调查区域还有一艘军舰残骸,该舰为HMNZS Wellington,所处位置为(41°21′10.8″S,174°46′48″E)。为验证算法的有效性、适用性,及后续海底目标自动检测与识别工作的进行,本次试验将沉舰也纳为分类对象。试验提取采样点及其附近相对应的1150组数据,其中沉舰240组、基岩270组、砂340组、泥300组。(随机选取800组数据作为训练样本,剩余350组数据为测试样本)。
为便于说明,选取调查区域的一部分作为试验区域(图6(b)中虚线方框)进行本文算法介绍。利用测区内的反向散射强度和测深数据进行特征提取,包含反向散射图像纹理特征(角二阶矩、能量、对比度和相关性)、角度响应曲线特征(均值、斜率、峰度和偏度)及海底地形特征(水深均值、坡度、地表曲率和粗糙度)。为便于后续特征向量的提取,格网大小均为0.5 m×0.5 m,提取结果如图7、图8和图9所示。
图6 惠灵顿调查区域多波束反向散射图像及底质采样Fig.6 Schematic depiction of multibeam backscatter image and seafloor sampling in Wellington survey area
图7 多波束反向散射图像纹理特征Fig.7 Texture features of multibeam backscatter image
图8 角度响应曲线特征Fig.8 Features of angular response curve
将3.2节中得到的特征进行逐层归一化,提取特征向量转换为波形图,如图10所示,分别展示了沉舰、基岩、砂和泥的4种波形图(特征组合:反向散射图像特征+AR特征+海底地形特征),本次试验波形图大小为28×28像素。与传统的CNN输入层相比,本文的波形图包含了不同特征之间的空间信息(相对位置关系),更加直观、清晰地展示了不同类别之间的差异,更易于模型的分类与识别;波形图以像元为单位,在分类结果图的空间分辨率上更占优势。
建立深层CNN模型,输入训练样本800组,输出目标向量为T,表示3种自然底质类型和1种人工目标(沉舰),C1卷积层包含6个卷积核,卷积核大小为3×3;S1池化层选取最大池化模式,池化窗口为2×2;C2卷积层包含12个卷积核,卷积核大小为3×3;S2池化层选取最大池化模式,池化窗口为2×2;全连接层数为1,学习率为0.01;每次批处理特征图5张,所有特征图循环迭代5次,共800次(具体CNN参数的选择和性能对比可参考文献[18])。反向散射图像的纹理特征是在原始反向散射图像(灰度)上提取的,海底坡度、曲率、粗糙度等特征是在水深均值(海底DEM)基础上提取的,上述非原始特征受提取精度和方法的影响,与原始特征(原始反向散射图像+水深均值+AR特征)的分类效果可能不同,需要定量评估。另外,也需要分析CNN模型本身对原始信息的特征提取能力以及加入海底地形特征对分类结果的影响,因此,试验选取了5种不同的特征组合进行分类,分别是:①反向散射图像特征;②AR特征;③反向散射图像特征+AR特征;④原始反向散射图像+水深均值+AR特征;⑤反向散射图像特征+AR特征+海底地形特征。通过上述5种不同的组合模式可以验证本文所提取的不同特征以及加入非原始特征辅助分类的有效性,分类结果如图11所示,分类精度见表1。
图9 多波束海底地形特征Fig.9 Seabed terrain features from multibeam bathymetric data
图10 沉舰及各自然底质波形Fig.10 The waveform map of wreck and seafloor types
图11 不同特征组合的海底底质分类结果Fig.11 Result maps of seafloor classification by different feature combination models
结合图11和表1,可以看出,只利用反向散射图像特征进行分类,不同底质边缘轮廓清晰,但整体连续性较差,总分类精度和Kappa系数分别只有66.86%和0.54;只利用AR特征进行分类,底质连续性较好,但存在“条纹”现象,总分类精度和Kappa系数分别为82.29%和0.76;利用反向散射图像和AR组合特征进行分类有效结合了两者的优势,在保证底质连续的情况下,消除了“条纹”现象,取得较好的分类结果(总分类精度88.86%,Kappa系数为0.82);在此基础上加入海底地形特征后,使得与地形变化相关的类别,如沉舰错分为其他底质的情况减少,分类精度由88.57%提升到93.75%,总分类精度和Kappa系数也分别由88.86%、0.82提升到94.86%、0.93,验证了加入地形特征辅助分类的有效性。为了分析非原始特征对分类结果的影响,利用原始反向散射图像、水深均值及AR特征组合进行分类,如图11(d)所示,取得了较好的分类结果(总分类精度90.00%,Kappa系数为0.86),但整体低于本文模型算法的分类效果(总分类精度94.86%,Kappa系数为0.93)。
表1 不同特征组合模型分类精度
为验证本文CNN模型的优越性,利用BP网络、支持向量机(support vector machine,SVM)、K近邻(K-nearest neighbor,KNN)、随机森林(random forest,RF)4种经典分类器基于同样的特征组合(反向散射图像特征+AR特征+海底地形特征)对同样的数据进行分类。BP神经网络分类时,输入层设置为13,隐含层设置为15,输出层设置为4,学习率设置为0.1;SVM分类时,核函数为径向基函数(radial basis function,RBF),网格搜索法寻找最优参数(惩罚因子c:0.7;核函数参数g:4);KNN分类时,k设置为5;RF分类时,树最大深度取100,分类结果见图12和表2。BP神经网络作为传统的神经网络分类器,其网形结构复杂,训练参数较多,但总体分类精度不高(总体分类精度为85.14%,Kappa系数为0.80);SVM作为常用的监督分类方法,算法简单、稳健性较好,但其泛化能力较弱,不适合大样本的数据训练,易出现过拟合现象,总体分类精度为88.85%,Kappa系数为0.85;KNN作为一种懒惰学习算法,模型简单,易于理解,但其依赖于训练样本质量及参数k的选取,总体分类精度只有84.57%,Kappa系数为0.79;RF作为一种决策树的集成算法,泛化能力较强,分类精度较高(总体分类精度为90.00%,Kappa系数为0.87),但整体仍低于本文CNN模型得到的结果(总体分类精度94.86%,Kappa系数为0.93),体现了深度学习算法在海底底质分类中的优势。
表2 不同分类器分类精度
续表2
图13为CNN与BP网络训练集迭代次数与误差精度的关系(试验采用的处理器:Intel Core i5 4210H,内存:4 GB)。可以看出,CNN在收敛速度和性能上均优于BP网络,当CNN训练迭代到603步时,收敛到期望误差0.1;而BP网络计算至1593步时才达到期望误差,耗时2 min 28 s,这是由于传统人工神经网络(如BP网络)输入层的每个神经元都要连接到隐含层,对全局进行感知,计算和收敛速度较慢且容易陷入局部极值。除此之外,SVM作为二分类器,算法简单,运行效率高,但当执行多分类任务时,需要训练多个分类器,增加计算量,试验耗时1 min 46 s;KNN结构简单,运算较快,试验耗时58 s,但其整体分类精度较低;RF作为集成学习算法,可以并行训练,提高运行效率,试验耗时1 min 12 s;本文CNN模型算法可以实现局部感知、权值共享,试验耗时1 min 25 s,分类效率高于BP网络和SVM,略低于KNN和RF,但整体精度大于上述4种分类器。
利用反向散射与海底地形特征组合采用CNN模型对整个调查区域进行分类,结果如图14所示。
可以看出,不同底质之间界限清晰,过渡自然,结合测区已有海底底质资料[38](图6(b)),分类结果符合真实的海底底质变化情况,验证了本文模型算法对多波束海底底质分类的适用性。
图13 CNN与BP网络训练集迭代次数与训练误差的关系Fig.13 The relationship between iteration times and training error of CNN and BP network training sets
图14 整个测区海底底质分类结果Fig.14 Result maps of seafloor classification in the whole survey area
多波束海底底质分类是近几十年来一直延续的研究热点。针对常规分类手段中数据类型单一,分类器的分类精度和效率较低等问题,本文在传统多波束分类数据类型(反向散射强度数据)的基础上加入了测深数据进行辅助分类,并通过将特征向量转换成波形图的方式,利用CNN网络进行训练和分类,最终以94.86%的整体分类精度区分出基岩、砂和泥等不同自然底质,且准确划分出沉舰目标的轮廓和位置。试验结果表明,根据测深数据所提取的海底地形特征与底质的空间分布具有很强的相关性,在反向散射强度信息的基础上,组合测深信息进行分类,可有效提高分类精度。基于深度学习的CNN网络,能够对不同底质和目标的波形图(特征信息+空间信息)进行局部感知,充分发挥其权值共享的优势,兼顾分类精度的同时,提高了分类效率。利用深层卷积神经网络,组合多波束测深和反向散射特征进行海底底质分类,具有特征提取和分类模型的优势,提高了分类精度和效率,对多波束海底底质分类具有参考意义。