时频谱图和数据增强的水声信号深度学习目标识别方法∗

2021-09-22 02:37罗再磊沈同圣赵德鑫
应用声学 2021年4期
关键词:水声特征提取频谱

刘 峰 罗再磊 沈同圣 赵德鑫

(军事科学院 国防科技创新研究院 北京 100071)

0 引言

随着海洋的战略地位日益突显,各国都在积极开发利用海洋资源和空间。声波是目前在海洋中唯一能够进行远距离传播的能量形式,水声目标识别对于海洋开发、国防安全有着重大意义,现已成为水声领域的研究热点之一。水下目标自动识别主要包括特征提取与构建分类器两大部分。当前主流的特征提取方法包括时域波形结构分析、频域谱估计以及时频域分析3个方面。时间域的分布可由峰-峰值、过零点分布、波列面积和波长差分布等特征进行描述[1]。频域谱估计可提取信号的频率、功率、包络等特征,以及利用高阶谱分析非高斯信号的特征[2]。这类方法原理简单、易于实现,仅通过采集到的原始水声信号即可获得,但是提取的特征需要一定的先验知识进行信号预处理,在时变的海洋环境下泛化性较弱。时频分析方法提供了时间域与频率域的联合分布信息,可以清楚地描述信号频率随时间变化的关系,是目前应用效果最好、应用最广的特征提取方法,常用的方法包括短时傅里叶变换(Short time Fourier transform,STFT)[3]、梅尔频率倒谱系数(Mel-Frequency cepstral coefficients,MFCC)[4−5]、希尔伯特-黄变换(Hilbert-Huang transform,HHT)等。在特征提取之后再训练隐马尔可夫模型(Hidden Markov model,HMM)、支持向量机、K 近邻、神经网络等分类器以实现水下目标的识别。

近年来,随着计算机硬件技术、信号处理技术的进一步发展,以机器学习(Machine learning,ML)、深度学习(Deep learning,DL)、大数据(Big date)等为代表的人工智能(Artificial intelligence,AI)技术,已经在语声识别、图像理解、机器翻译等多个方面取得了长足的进展[6],这为水声目标识别提供了新的解决思路。借助现代计算机技术、信号处理技术、人工智能技术等,开展基于深度学习和大数据分析的水声信号智能化目标识别技术研究,可有效提高自主识别系统的泛化能力和环境适应性。水声信号在传播过程中受环境影响较大,存在着数据获取困难、样本数据少、噪声干扰强等特点,在实际的应用场景中,很难针对每一种水下目标收集到足量的数据,因此当收集到的数据量不足以支撑深度神经网络的训练需求时,如何利用少量数据实现目标识别是当前研究所面临的难题。

Kamal 等[7]首先将深度置信网络模型应用于水声信号被动目标识别任务中,在40 个类别的目标共1000 个测试样本的测试集上取得了90.23%的分类正确率,验证了深度学习模型的有效性。王强等[8]利用卷积神经网络(Convolutional neural network,CNN)对3 类水下目标噪声数据进行分类识别,并与支持向量机方法进行对比。随着深度学习的发展,目标识别的网络构架逐渐成熟,基于ResNet[9]和DenseNet[10]等方法的网络模型性能显著优于早期的基于VGG[11]、AlexNet[12]等架构,这主要是因为ResNet 很好地解决了训练过程中的梯度消失问题。然而,在水声目标识别任务中,可用数据规模通常较小,训练这样的深层架构会导致训练样本的过度拟合,目前最先进的分类方法仍然主要由VGG架构产生。McDonnell等[13]采用了取自计算机视觉领域的VGG 架构,以声谱图作为网络输入,在声场景分类方面取得了良好的效果。Koutini 等[14]通过调整不同网络层中CNN 的感受野增强模型的泛化能力,实现对不同场景中的声目标信号进行分类,通过对比多种网络模型的性能,基于VGG网络的改进结构取得了最好的分类效果。

本文以Mel功率谱(Mel spectrum)作为水声信号的特征提取方法,提出了一套适用于小样本水声信号的目标识别方法,利用多种数据增广技术并结合深度学习网络进行仿真验证。结果表明,在数据样本匮乏和样本分布不平衡情况下的水声目标识别方面,本文方法具有明显优势。

1 本文方法

本文方法如图1所示,处理流程主要分为3 个步骤:(1)将原始信号提取Mel功率谱作为特征;(2)采用数据增强方法,分别从时域信号和时频谱图两个方面进行扩展;(3)利用改进的VGG网络对时扩展后的频谱图进行特征学习和训练,实现目标分类。

图1 本文方法的网络结构示意图Fig.1 Schematic diagram of the method in this paper

1.1 Mel功率谱特征提取

在声频信号处理中,构建特征向量和设计分类器通常被视为两个独立的问题。MFCC特征受到人类听觉系统和语声感知生理学的启发,被用作声频分析任务的主要声学特征之一,由于其滤除的信息较多,Mel 频谱作为一种特征提取方式在使用神经网络作为分类器时被广泛使用。

Mel 频谱的提取过程如图2所示,首先经过分帧加窗等预处理确定待处理的信号范围,再利用快速傅里叶变换(Fast Fourier Transform,FFT)把水声信号由时域变换到时频域,用一组Mel 尺度的三角形滤波器组进行带通滤波,再利用对数变换将这些幅值谱投影到一组缩小的频带上,然后用离散余弦变换(Discrete Cosine transform,DCT)进行近似的白化和压缩,生成MFCC特征。由于DCT变换删除了较多的信息,破坏了谱图的空间关系,而省略DCT变换得到的Mel频谱,在深度学习模型中通常能得到更好的分类效果。

图2 Mel 频谱特征提取过程Fig.2 The process of Mel-spectrogram feature extraction

在依赖频谱图作为深度学习的输入特征时,谱图的分辨率严重影响最终的目标分类结果,然而,时间分辨率和频率分辨率是相互矛盾的。在处理过程中,宽窗具有良好的频率分辨率,但时间分辨率会受到影响,窄窗则相反。到目前为止,这个问题并没有得到统一的共识,根据不同的实际问题,研究者们选择了不同的频带范围,较为普遍的趋势是将Mel 频带的数目限制在[60,200]范围内。

1.2 数据增强

数据增强是深度学习中常用的技术之一,主要用于增加训练数据集,使数据集尽可能多样化,使训练模型具有较强的泛化能力。由于水声信号本身就面临着严重的数据样匮乏、样本完备性不足等问题,数据增强方法有助于改善目标分类结果。

本文分别从原始信号和频谱图两方面进行数据的增强。在时域信号上,采用时域拉伸和音调变换进行数据增强,然后将变换后的信号转换成Mel频谱作为深度神经网络的输入。在频谱图上,借鉴SpecAugment[15]方法进行数据增强,该方法将声信号的增强问题转化为视觉问题进行处理,通过时空干扰和随机掩蔽技术对频谱图实现增强,该方法能较好地应对时间方向上的变形和频率信息的部分损失,具有较强的鲁棒性和泛化性,这里忽略了时间扭曲变换,只采用时间掩蔽和频率掩蔽进行变换。具体变换方法如下:

时域拉伸:放慢或加快声频样本(同时保持音调不变)。每个样本用两个参数进行时间拉伸:{0.8,1.2};

音调变换:提高或降低声频样本的音高(同时保持持续时间不变),每段声频样本的音调变换比例为{−2,2};

时间掩蔽:在频谱图中使t个连续时间步长[t0,t0+t)被图像均值掩蔽,其中t为掩蔽时长,其取值从0 到时间掩码参数T的均匀分布中随机选择,t0为起始时间,从[0,τ −t)中选择,τ为信号帧长,T取值范围与帧长呈正相关;

频率掩蔽:使f个连续的Mel频谱通道[f0,f0+f)被掩蔽,其中f为掩蔽频段,其取值从0 到频率掩码参数F的均匀分布中随机选择,f0为起始频率,从[0,υ −f]中选择,υ是Mel 频谱的总频带数,F取值与Mel频带数呈正相关。

根据上述参数设置,时域拉伸和音调变换可扩展数量为4,时间掩蔽和频率掩蔽产生的数据增强可以表示在同一频谱图中,这里选择扩展的倍数为5。因此,通过上述处理方法,结合原始信号共产生了10倍的数据增强。部分增强结果如图3所示。

图3 数据增强示意图Fig.3 The schematic of data augmentation

1.3 网络构建

本文参考VGG 网络作为基础模型,通过修改其网络层中的部分参数以适应水声信号的分类任务。网络由8 个卷积层组成,每个卷积层通过一组滤波器对前一个卷积层的输出进行卷积,用以捕获特征图中的局部信息,激活函数选择ReLU,滤波器大小为3×3[12]。在每个卷积层之后应用批处理归一化(Batch normalization)和2×2 的最大值池化,达到降低特征图维度并避免过拟合的目的。对最后一个卷积层[16]的特征图应用全局最大池化操作,将特征图生成为一维向量,最后通过全连接层和softmax 分类器输出不同目标类别的概率,实现分类。深度神经网络通过多层结构自动提取声谱图中的特征信息,通过有监督的线性与非线性的组合获取数据的高层统计特征,达到减少人工参与、实现数据驱动的目的。由于声信号的采样率通常较高,且时域信号包含的信息有限,通常以人工提取的频谱图作为网络的输入数据,本文将人工特征提取和深度网络模型相结合实现水声信号的识别,网络结构和参数如表1所示。

表1 本文采用的基于VGG 模型改进的网络构架Table 1 The network architecture based on improved VGG

2 仿真实验

2.1 实验数据

为了评估本文的方法,使用ShipsEar 数据集[17]进行仿真验证,该数据集中共包含90 段声频记录,4 类不同的船只目标和1 类环境噪声,数据是利用自容式水听器对码头上往来的船只噪声信号进行记录,以采集不同船速下的噪声以及与进坞或离坞时的空化噪声。由于数据是在真实开放水域中采集的,部分信号中混杂了人说话声、自然背景噪声,偶尔也会记录到海洋哺乳动物的声音。最后,该数据集由5 类wav格式的90条记录组成。每个类别包含一个或多个目标,每个声频片段的持续时间从15 s 到10 min 不等。经初步处理后,消除了背景噪声干扰强烈和模糊不清的信号。对数据进行预处理,去除空白信号,并将原始信号按照5 s 时长进行分帧和标注,共生成1956 个标注样本。将所有样本按照7:1.5:1.5的比例进行随机分割,得到训练集、验证集和测试集数据样本分别为1370 个、293 个和293个。

详细信息如表2所示,第一列是声信号目标类别,第二列是每类对应的细分船只,第三列是每类目标的帧数。

表2 待测试数据集中的目标类别及帧数Table 2 Target category and number of frames in the data set to be tested

结合本文所述方法和网络模型,采用Tensorflow2.1 和Librosa[16]模块对声频信号进行处理,具体参数如下:

特征提取:将输入数据下采样到22050 Hz,STFT 采样窗口为2048,步长移动率为25%,然后在加权谱图上利用Mel 滤波器组,生成128 bin 和43 帧/s的Mel频谱;

数据增强:时域拉伸的尺度选择为rate = {0.8,1.2},音调变换中音高pitch ={−2,2},在时频谱图掩蔽中,时间掩蔽的最大值为T= 30,时间掩蔽数m_T= 2,频率掩蔽最大值为F= 13,频率掩蔽数m_F= 2,输入信号通过数据增强变换后,共产生10倍的数据增强;

网络训练:将输入数据归一化为零均值和单位方差,采用Adam 进行优化,损失函数为交叉熵(Cross entropy),在卷积层中,采用基于高斯分布的方法进行随机初始化,以ReLU作为激活函数,使用softmax 函数来获得每个目标类别的概率。训练中,共采用100 个Epoch,batch_size = 256,初始学习速率为1×10−4,50~100迭代周期时线性衰减,最小达到5×10−6。

2.2 实验结果

本文分别验证数据增强和改进的VGG 网络模型对于水声信号的分类识别结果,如图4所示,图4(a)为训练周期中的训练损失曲线,图4(b)为识别率曲线,其中,虚线表示训练集的测试结果,实线表示测试集结果。本文共对比了5种方法,分别为

图4 不同方法的目标分类性能对比Fig.4 Comparison of target classification performance of different methods

(1)红色曲线表示3 层的CNN 网络, 记为3_CNN;

(2)蓝色曲线为数据增强条件下的3层CNN网络,记为3_CNN_Aug;

(3)黑色曲线为利用ResNet 网络进行迁移学习的测试结果,该网络以ImageNet 训练权重进行初始化,通过添加全连接层进行目标分类,利用本文的数据集对后30层网络进行微调实现迁移学习,记为ResNet;

(4)黄色曲线为采用改进的VGG 网络进行的测试,该网络共包括8个卷基层,记为8_VGGish;

(5)绿色曲线为本文方法,采用数据增强和改进VGG网络的测试结果,记为8_VGGish_Aug。

从图4中分析可知,分别对比3_CNN、8_VGGish方法和3_CNN_Aug、8_VGGish_Aug 方法,在相同的网络参数下,在一定范围内更深层的网络结构可以取得更好的分类性能,8_VGGish、8_VGGish_Aug 方法以VGG 模型为基础,选取8 层网络进行测试,取得了较好的效果。对比ResNet 和8_VGGish 方法,ResNet 方法为目前流行的ResNet-50 网络,但是由于水声信号谱图中的纹理、梯度等特征不明显,细节信息较少,过深的网络容易造成梯度消失,ResNet 网络的性能相比于VGGish 较差。最后分别对比3_CNN、ResNet 和3_CNN_Aug、8_VGGish_Aug 方法,在相同网络结构下,数据增强后的分类性能均有了一定的提高。综上所述,网络结构的改进和数据增强均有助于分类性能的提高,本文所提的方法取得了最好的分类性能。表3列出了不同分类方法的对比,通过数据增强和网络模型的构建后,最终取得了95.2%的分类准确率。

表3 不同方法的分类准确率Table 3 The classification accuracy of different methods

图5为本文方法识别结果的混淆矩阵(Confusion matrix),可用来呈现算法性能的可视化效果,每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目;每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。如第二行的Moto boat,共有测试样本68 个,正确分类结果为54 个,误分类为Passanger、Ocean boat 和Nature Noise 的个数分别为2 个、11个和1 个,通过混淆矩阵能够很快地分析每个类别的误分类情况。

图5 5 类目标分类的混淆矩阵Fig.5 Confusion matrices for five types of targets

3 结论

本文以典型的船舶类水下辐射噪声信号为研究对象,以水声信号的分类识别为目的,研究了深度学习方法在水声信号分类识别领域的应用能力。提取Mel 功率谱图作为特征,构建基于VGG 网络的分类模型框架,验证了在数据增强条件下的分类性能,最终的分类性能达到95%。但是本文采用的试验数据较少且训练集、测试集中的数据属于同一次试验采集,在实际情况下的水声信号种类更多,环境噪声也更复杂。因此,深度学习方法在更加复杂环境下的识别应用还有待进一步进行研究。

猜你喜欢
水声特征提取频谱
一种用于深空探测的Chirp变换频谱分析仪设计与实现
一种基于稀疏度估计的自适应压缩频谱感知算法
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
认知水声通信系统中OFDM技术的应用
新型多功能水声应答器电子系统设计
FRFT在水声信道时延频移联合估计中的应用
基于MED和循环域解调的多故障特征提取
基于压缩感知的水声数据压缩与重构技术
一种基于功率限制下的认知无线电的频谱感知模型