APP下载

基于迁移学习的水声目标识别①

2020-11-13潘安迪刘姗琪

计算机系统应用 2020年10期
关键词:水声特征提取准确率

邓 晋,潘安迪,肖 川,刘姗琪

1(复旦大学 计算机科学技术学院,上海 201203)

2(中国电子科技集团公司第二十三研究所,上海 200437)

水声目标识别技术是一种利用声呐接收的被动目标辐射噪声、主动目标回波以及其他传感器信息提取目标特征并判别目标类型或舰型的信息处理技术[1].水声目标识别包括声呐技术、环境感知计算、监听技术[2]等.在水声领域,目标分类与识别是国际公认的难题,目前尚无有效的方法实现水声目标的准确识别.海水是声音在水下传播的介质,但海水的分层特性、时变特性以及区域不均匀性,使声音在船舶过程中受信道畸变、混响和杂波的影响,导致信号强度衰减,特征被掩盖,进而给水声目标特征识别和分类带来很大的挑战.远航、风、波、洋湍流提高了海洋环境中噪声水平,重要信号被遮蔽,使目标信号的探测和识别性能严重下降[3].因此,如何有效探测和估计长距离低信噪比下的目标、以及从船舶辐射噪声信号中提取特征[4],是水下定位、识别和跟踪的迫切问题,实际上,水声目标识别一直是国际公认的难题.

本文的组织结构如下:第1 节介绍基于传统声学特征水声目标识别概况;第2 节介绍基于迁移学习的水声目标识别背景及方法;第3 节实验结果及分析;第4 节文章总结及未来工作展望.

1 基于传统声学特征的水声目标识别

水中目标辐射噪声组成复杂,主要声源包括:机械噪声、螺旋桨噪声和水动力噪声[5].一般的水声目标识别都是基于人工特征的,通常包括:时频特征[2,6,7]、线谱[4,8–11]、DEMON 谱[5]等等.在人工提取特征后使用统计学模型、模式分类或专家系统等方法进行分类识别.算法1 为基于传统声学特征的水声目标识别算法.

算法1.基于传统声学特征的水声目标识别算法1)预处理,将水听器阵列采集到的声呐信号通过信号增强,提高信噪比.2)特征提取,提取帧级别的时域或频域信息,诸如:线谱分布、连续谱能量谱分布、特定频段线谱数量、LOFAR 谱和DEMON 等.3)分类识别,基于水声目标特征的分类识别方法主要有统计分类、模型匹配、神经网络和专家系统等方法.

在过去的20年中,通过发展先进的水声信号处理技术,对舰船辐射噪声的特征提取方式进行了广泛多样的探索[12].这些方法里面比较经典的有,利用振荡性质,Duffing 振子[10]和随机共振理论[11]检测船舶辐射噪声的线谱.由于音频信号的非平稳特性,时频分析技术更适合于非平稳信号,这种方法的优点是能结合时域中的非平稳信息和频域信息,例如短时傅立叶变换(STFT)[6,7],小波变换(WT)[6,13,14]和Hilbert-Huang 变换(HHT)[15,16].考虑到船舶辐射噪声的非线性特性,许多方法被用来提取非线性特征,包括相空间重构[17,18],基于信号调制的DEMON 谱分析[5],基于序贯检测思想的LOFAR 分析[19],基于分形的方法[20,21],和复杂性度量[22]等.

2 基于迁移学习的水下声源识别

在机器学习领域,迁移学习[20]被定义为针对一个有标记的源域和目标域这两个领域的数据分布P(xs)和P(xt)不同,即P(xs)≠P(xt),迁移学习的目的就是要借助Ds的知识,来学习目标域Dt的知识(标签).通常有算法2 所示的4 种方法实现迁移学习.

算法2.迁移学习的4 种基本方法1)基于样本迁移,根据一定的权重生成规则,对数据样本进行重用.2)基于特征迁移,通过特征变幻的方法相互迁移,来减少源域和目标域之间的差距;或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统机器学习方法进行识别.3)基于关系迁移,关注源域和目标域的样本之间的关系,挖掘不同领域之间的相似性.4)基于模型迁移,从源域和目标域中找到他们之间共享的参数,以实现知识的迁移.

迁移学习的常见动机是目标任务中缺少足够的训练数据,当使用神经网络时,通过共享预训练网络的权重参数,可以显著减少目标任务模型中需要训练参数的数量,从而以较小的数据集实现有效的学习[23].一个流行的例子是在计算机视觉中迁移学习用于图像语义的分割,该网络可以利用在图像分类[24]任务中学习到的诸如图像基本形状等丰富的信息并进一步用于图像分割任务.

针对图像任务,Visual Geometry Group (VGG)[25]模型是由Google 开发和维护的图像分类模型,VGG16是最好的图像分类模型之一,它经过1000 种物体的训练,因此可以识别1000 种物体.

针对音频任务,数据集AudioSet[26]是基于人们上传到YouTube 的大量数据及所提供的标签.其包含567 个不同类型的音频数据,总时长约567 小时.Google已经发布了基于该数据集训练的模型VGGish[27],它在网络的较低层处理频谱图,并在较高层时使用多个卷积层和完全连接层获取深层表征用于后续分类.

深度学习技术可以从原始数据中学习特征,在提取信号样本的固有特征方面具有优势,特别是在复杂环境下,这种特征提取上面的优势相比传统特征提取方法更为突出.迁移学习可以将在学习一项任务时获得相应的知识用来解决相关的任务,通常可以将源任务的部分参数用于目标任务.受此启发,基于频谱与图片的二维相似性,我们提出了两类迁移学习方案,一是分别利用基于ImageNet[28]及AudioSet 分别预训练的模型作为特征提取器,将学习到深度特征进一步用于分类;二是对上述模型进行微调.

图1是基于迁移学习的水下声源识别算法的整体流程,主要分为3 个部分:(1)信号预处理,对输入信号进行分段规整及傅里叶变换;(2)进行深层特征提取并选取相应分类器进行分类;(3)对相应预训练网络进行微调.

图1 算法整体流程

2.1 预处理

如图2(a)所示,舰船辐射噪声能量主要集中分布于8000 Hz 以下的低频部分[29],基于这种能量分布规律,为了更好地刻画低频成分的分布规律,我们借鉴了语音识别中的梅尔频谱.其中,目标音频信号采样率为52 734 Hz,使用具有50%重叠的90 ms 汉明窗加窗函数,输出的梅尔频谱存储为3×224×224 的图片格式,以便后续操作后续用于VGG16 网络的输入.此外,VGGish预训练网络的输入采样频率为16 000 Hz,我们对实验音频数据进行了下采样.窗口长度(STFTlength)为25 ms,重叠长度(Hopsize)为10 ms,输出频谱为96×64,嵌入(Embedding)编码大小为128.如图2所示,图2(a)表示音频信号的功率谱,图2(b)表示音频信号的经傅里叶变换后的线性功率谱,图2(c)表示音频信号的梅尔频谱.

图2 VGG 网络预处理及谱示意图

2.2 使用预训练网络提取深度特征用于分类

如图3为使用预训练网络特征提取器的迁移学习框架.本文分别使用基于音频预训练的VGGish,以及基于图像预训练的VGG16 网络分别作为特征提取器.分别将网络输出层的输出作为特征向量,其特征向量长度分别为128 和4096.

图3 使用预训练网络作为特征提取器

本文使用scikit-learn[30]的SVM 和kNN 的算法实现,以及开源ELM 的算法实现,分别进行实验并对比VGGish 和VGG16 抽取的深度特征向量在不同分类器(SVM,kNN 和ELM)中的识别性能.

(1)SVM

支持向量机(Suport Vector Machine,SVM)[31]是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法.原始数据是在有限维空间中分布的,但一般区分的集合在该空间中往往线性不可分.为此,SVM将原有限维空间映射到维数高更高的空间中,并在高维或无限维空间中构造超平面或超平面集合用以划分不同的集合.为了保持计算负荷合理,人们选择适合该问题的核函数k(x,y)来定义SVM 方案使用的映射,以确保用原始空间中的变量可以很容易计算点积.在本文中,我们分别采用线性核函数(LinearSVM)和高斯核函数作为支持向量机的核函数,高斯核函数表示如式(1),其中 σ是带宽.

(2)kNN

k 最近邻(k-Nearest Neighbor,kNN)[32]分类算法是是一种用于分类和回归的非参数统计方法.在这两种情况下,输入包含特征空间(Feature Space)中的k个最接近的训练样本.在kNN 分类中,输出是一个分类族群.一个对象的分类由其邻居的“多数表决”确定,k个最近邻居(k为正整数,通常较小)中最常见的分类决定了赋予该对象的类别.若k=1,则该对象的类别直接由最近的一个节点赋予.kNN 是基于实例(Instancebased)的学习方法,kNN 算法没有训练的步骤,因为数据集就是模型本身,在有新样本输入时,将测量样本与训练集中每个点的距离,选择k个最接近的点作为k最近邻,新样本的类别即为k个点中数量最多的类别,可以描述为以下公式:

其中,Ci为K 近邻点中类别为i的点的个数,k和点之间的距离度量方式是可选的参数,经过实验,本选取欧式距离作为度量,k取值为5.

(3)ELM

极限学习机(Extreme Learning Machine,ELM)[33]实际上也属于前馈神经网络,极限学习机的出现主要是为了解决神经网络训练训练速度慢的问题.传统的前馈神经网络(如BP 神经网络)需要人为设置大量的网络训练参数,此算法却只需要设定网络的结构,而不需设置其他参数,因此具有简单易用的特点.其输入层到隐藏层的权值是一次随机确定的,算法执行过程中不需要再调整,而隐藏层到输出层的权值只需解一个线性方程组来确定,因此可以提升计算速度.

极限学习机原理如下:其中W1是输入向量到隐藏节点层的权重矩阵,σ是激活函数,W2是隐藏节点层到输出向量的权重矩阵.

ELM 对超参数敏感,我们对其进行了参数搜索,并使用ReLU 作为非线性激活函数.其中,ELM 的主要超参数是隐藏的单元数:100、250、500、1200、1800、2500.本文使用开源ELM 实现,该代码可从https://github.com/zygmuntz/Python-ELM 获取.

2.3 微调

如图4所示,实验选择了基于VGG 与训练的VGG16网络进行微调,其中VGG16 网络的输入为[3,224,224],VGGISH 的输入为[96,64],本文使用Python 的librosa扩展包计算音频的梅尔频谱图作为网络的输入.考虑到实验所用数据集音频时长,我们无法微调整个网络,因此在实验中只微调了嵌入层(Embeddinglayers),并使用一些正则化技术训练一个简单的多层感知机(MLP,Multiayer Perceptron),使用ReLU 激活函数,Batch Norm 正则化和Dropout 的前连接隐藏层,最终输出为5 类.

图4 使用音频频谱对VGG16 预训练网络进行微调

图5 A~E 五类音频波形及梅尔频谱

3 实验及结果分析

3.1 数据集

本文使用的船只噪声数据来自2012年至2013年间在西班牙海岸不同地区录制的ShipsEar[29]数据集.该数据集共有在15 s 到10 分钟以内的11 种舰船类型共计90 条记录,按照数据集原文的标注,根据舰船种类的可以将它们合并为A、B、C、D 各4 个大类,以及E 类1 个背景噪声,如图5所示为选取5 个类的音频波形及其梅尔频谱实例,其中,横轴为时间,纵轴分别为振幅和梅尔频率.详细划分如表1所示.

表1 ShipsEar 数据集详情

3.2 评价指标

我们将模型预测值与真实标签进行比较,获取测试中所有样例的真正例(TP),假正例(FP),真负例(TN)和假负例(FN)个数.并针对每一个实验结果分别计算准确率、召回率及F1 函数,用以全面而准确地度量来实验结果.其中,准确率是所有正确被检索的结果(TP)占所有实际被检索到的(TP+FP)的比例;召回率是所有正确被检索的结果(TP)占所有应该检索到的结果(TP+FN)的比例;F1 是准确率和召回率的调和平均数.这些指标可以用以下公式表示:

3.3 实验结果和分析

本文选取当前在ShipEar 数据上使用神经网络取得的最好分类结果的论文:基于深度玻尔兹曼机的水声目标识别[3]作为对照文章.该方法是一种可通过输入数据集学习概率分布的随机生成神经网络.

(1)基于预训练网络特征提取的识别效果

如表2所示,将VGGish 及VGG16 分别直接作为特征提取器,得到的特征向量分别作为不同分类器的输入.在使用VGG16 的特征向量与最近邻分类算法kNN 组合时,取得了最好的分类结果,平均最优准确率为90.26%,与当前最好的结果DBM[3]只差了不到0.5 个百分点.此外,VGGish 特征向量在与支持向量机SVM组合时也取得了准确率为87.78%比较理想的分类结果.

表2 不同训练网络特征向量与不同分类器的性能指标

(2)基于微调预训练网络的识别效果

本文将基于音频数据集预训练的VGGish 及基于图片数据集预训练的VGG16 分别去掉原始Softmax层之后,加入不同的全连接层和新的Softmax 输出层,如表3所示,在VGGish 上取得的最优准确率为89.22%,在VGG16 上最优准确率为92.48%.相对当前最优的DBM 网络的90.70%,本文提出的算法有比较明显的性能提升.

表3 微调VGGISH、VGG16 及DBM 网络性能指标

如图6所示,对于添加一个神经元个数为1024 隐层的VGG16 网络,当使用对数损失函数时,损失函数随训练次数的变化,在大约200 次迭代后即收敛,相比DBM[3]的收敛速度大约提升了5 倍.

图6 VGG16 在训练集上的错误率

如图7所示,横轴为真实值,纵轴为预测值,可以看出,针对类别E,即环境噪声的平均预测准确率为98%左右,且不存在漏判,即没有识别出将舰船噪声并当做环境音;算法对于针对A、B、C、D 四类舰船噪声的识别准确率分别为90%、83%、92%、93%.其中,针对B 类相对较低的准确率,仅为83%,通过对ShipsEar 数据集的分析,我们认为是B 类数据的量相对于A、C、D 类原始数据的相对不均衡,这个问题可以通过进一步扩充数据集得到避免.总的来说,我们提出的基于迁移学习的水声目标识别算法,多次试验平均最优准确率为92.48%,取得了当前最好的分类效果,在算法训练和数据处理上也有比较明显的优势.

4 结论与展望

在水声目标识别受限于海洋环境的复杂性,而难以提取有效的目标特征并进行分类的背景下,本文首次采用基于迁移学习的水声目标识别方法,分别采用预训练网络特征提取和微调两种迁移学习方法,并应用ShipsEar 数据集,进行了算法验证.结果表明,与当前最好的DBM 分类算法相比,我们取得了92.48%的最好平均准确率.总的来说,通过实验我们验证了迁移学习应用于水声目标分类中的可行性,并且迁移学习可以解决在音频领域的数据稀疏问题.此外,这种思路也许可以被用于很多不同的音频任务,具有广阔的应用前景.

图7 5 个类的分类混淆矩阵

猜你喜欢

水声特征提取准确率
同步定位与建图特征提取和匹配算法研究
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
基于最小二乘法的超短基线水声定位系统校准方法
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
空间目标的ISAR成像及轮廓特征提取
有些水声,像乡音
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取