利用频谱变换的水声信号分类框架

2021-11-20 01:57张逸杰袁佳伟赵亚培宋庆增
计算机工程与设计 2021年11期
关键词:音频频谱卷积

张逸杰,袁佳伟,赵亚培,王 通,宋庆增

(天津工业大学 计算机科学与技术学院,天津 300387)

0 引 言

水下目标分类和识别对海洋探索发挥着至关重要的作用。水下信号多为声纳探测获取到的音频数据,然而从音频数据中直接进行目标分类,存在很多技术难点。传统的方法把音频信号通过频谱变换生成频谱图,再由技术员进行目标识别[1],因此非常依赖操作人工操作。

近年来,深度学习[2]在目标自动分类和识别领域表现非常突出。一些研究人员尝试使用深度学习方法对水声信号进行分类,取得了一定的效果。Li等[3]通过卷积神经网络(CNN[4])提升了鱼类目标的识别率。Jäger等[5]通过CNN方法提高鱼类跟踪的准确性。Matias[6]将CNN用于声纳图像的目标识别并取得了良好的效果。然而由于保密等原因,数据的获取困难,所能获取到的水声信号样本不足,会导致深度学习模型在这些数据样本上过拟合,在一定程度上限制了深度学习方法的应用场景。

近年来,(generative adversarial net,GAN)框架[7]已被证明可以有效地解决样本短缺问题,并得到广泛的应用。但在小样本水下信号的应用中,由于海洋噪音的多样性,简单应用GAN生成样本,会导致GAN的生成器无法抓住目标的关键特征信息,因此无法帮助生成有效样本。

为解决上述问题,本文提出一种水声信号分类框架,可以在样本不足的情况下,利用频谱变换及GAN网络扩充样本,再通过改进分类网络,提高目标分类准确率。

1 本文所提框架概述

面对水声信号的分类,传统方法的分类准确率较低。而深度学习方法面临样本不足导致的过拟合以及简单使用GAN生成的样本基本无法满足需求的情况,本文提出一种水声信号分类框架,可以在样本不足的情况下,提高目标分类准确率。①本文的框架首先把音频通过频谱变换转换为频谱图,从而保留并强化小样本中的关键特征。在选择频谱变换时,本文同时考虑了几种被广泛使用的频谱变化:音频、图像直方图、DEMON[8]与LOFAR频谱[9]。通过这几种频谱图在CNN分类器中的预测试分类准确率,最终选择了LOFAR频谱对数据样本进行频谱变换。②为应对样本不足的情况,本文的框架利用一个GAN网络来生成高质量的扩充样本。同时,对生成的样本,利用CNN分类器检测生成样本的质量,并根据检测结果对GAN进行了修改。通过这些工作,本文的框架已经可以得到具备足够多且有效的样本。③最后框架通过比对一些现有的最新分类模型,选出一个精确度最高的分类器,作为可以使用在实际应用中的模型。这些分类器包括了现有的一些分类网络,本文还提出新的分类模型。本文的实验结果表明,所生成灰度图在很大程度上保留了原有声音信号的频率特征,并可以生成丰富的样本类型,所以可以用于水下应用中的分类任务。对于样本不足,或者通过音频频谱变换无法得到较好性能的情况,本文所提出的框架可以成为一个很好的工具。

2 相关工作

本文框架选择的现有的分类网络,包括Lenet-5[4]、ALEXNET[4]、VGG16[4]、Mark.S的MobileNetV2[10]和基于Lenet-5修改后的网络。这些源自CNN的网络最初并未用于水下信号分类情况。其中,Lenet-5由两个卷积层,两个池化层和两个全连接层组成。卷积核的大小为5×5,卷积步长为1。ALEXNET通过卷积层来抽取图像中的抽象信息,池化层来进一步提高特征的维度信息,以及最后的全连接层来整理特征信息并分类最后的结果。模型在使用了11×11的大卷积滤波器。VGG有很多的版本,本文使用VGG16进行比较。VGG16是一个大型网络,具有13个卷积层、5个池化层和2个全连接层。

GAN框架近来已经成为一种新的生产样本的方法,GAN在生成样本,例如图像、语音、文本[18]等已经广为应用。GAN由模型D和模型G两部分组成,模型G用于生成样本,模型D用于区分模型G生成样本的是否真实。随着GAN框架的不断发展,产生了许多基于GAN的派生模型。其中,DCGAN[7](深度卷积GAN)将卷积神经网络应用于GAN,以提高GAN的稳定性和收敛速度。WGAN wasserstein GAN[7]使用Earth-Mover代替Jensen-Shannon divergence作为解决梯度消失问题的训练准则。BEGAN(boundary equilibrium GAN[7])提出了一种生成器评估标准,该标准通过估计数据分布误差的差异来衡量生成数据的效果,而不是直接估计真实和伪造数据分布之间的差异。如果生成器和判别器都以某些额外信息为条件,则可以将CGAN[7]扩展为条件模型。CGAN是以GAN为基础进一步改造而成的可应用条件的生成模型,ACGAN[7]、InfoGAN[7]与CGAN类似,它们都是针对不同的任务生成,ACGAN可以帮助分类任务,在对抗训练时,判别器对输入的类别提供上对应的概率。InfoGAN调整了GAN本身的输入和输出之间的量化关系。

3 本文的工作

3.1 结 构

图1(a)是*.wav格式的原始样本。图1(b)通过频谱进行数据处理,并利用CNN模型选择最佳频谱。图1(c)利用GAN的数据集扩展,再用一个CNN模型确保质量。图1(d)对一些分类网络模型进行评估,并选择其中最佳的模型。图1显示了文中所提出的框架的整体结构,其过程可以抽象如下

图1 针对水声信号不足情况提出的分类框架

(1)

算法1: 框架运行的过程

输入: 采集到的音频信号

输出: 对不同类型信号的分类结果

步骤1 频谱变换

Nsample为样本的数量,S是初始的样本集合,Nspectrum是频谱数, Pre是将音频样本处理成为频谱图的方法,i=(1,Nspectrum)

Fori=1

Repeat

S(i)=Pre(i)(S)

i=i+1

untili=Nspectrum

得到处理过后的样本集如下

其中L是S的标签集, M是CNN模型。 再进行以下处理:

For i=1

Repeat

j=(1,…,Ntrain)

J=(Ntrain+1,Nsample)

Train(S(i)train,L(i)train)

P(i)=Rate(M(S(i)test),L(i)test)

untili=Nspectrum

下一步可以通过Pre(x)=argmaxP(i)得到最好的频谱变换方式,以及相对应的样本集S(x)

步骤2 使用GAN扩充样本

Fori=1

Repeat

untili=Ngenerate

步骤3 确保生成样本的质量

Nfinal是样本集S*的数量,

i=(Nsample*0.8+1,Nsample),P*=Rate(Mg(Stest),Ltest)

M*是CNN模型,M*由Strian,Ltrain训练得到,得到M*基于Stest的正确率。

IfP*

重新进入步骤2,调节GAN网络结构或参数得到新的GAN模型。

步骤4 训练分类网络

Mk是相应的CNN网络模型,Nmodel是选取的CNN网络的数量。

Mk训练基于Strian,Ltrain

Fork=1

Repeat

train(Mk)

k=k+1

untilk=Nmodel

k=(1,Nmodel)

步骤5 选择最好的分类网络

Stest={Si},Ltest={Li},i=(Nsample×0.8+1,Nsample)

P(k)=Rate(Mg(Stest),Ltest)

P(k)是不同的Mk在Stest上的准确率

3.2 数据处理

本文所使用的原始数据集是wav格式的音频。在实际应用中,雷达操作员不仅基于水下声音,还基于机器上显示的音频信号的频谱图对目标做出判断。因此,可以通过将原始音频转换为频谱的形式,将音频识别任务转换为图像分类任务,再通过深度学习方法进行分类,可以达到协助工作人员对水下目标分类识别的目的。为了找到可供CNN网络训练的频谱,本文选择了最为普遍采用的频谱:音频频谱、图像直方图、DEMON和LOFAR。其中,LOFAR频谱是信号的连续时域采样,通常应用于目标识别。在水下声音信号处理领域,操作员通过识别LOFAR频谱图像的线特征来完成跟踪目标的任务。LOFAR频谱采用短时傅立叶变换(STFT)[11],获得时变信息,并对信号的连续时域采样。在水下声音信号处理领域,很多操作员通过识别LOFAR频谱图像的线特征来完成跟踪目标的任务。

将原始的水声信号转换为频谱样本后,本文的框架通过Lenet-5对其进行评估,以选择最佳频谱。本文的框架在每个频谱样本集上独立训练该模型。最终分类的准确性表明,LOFAR可以达到最高的准确性,此结果将在第4.2节的实验中详细说明。然后,本文的框架将选定的频谱样本用作GAN模型的输入,以生成更多的样本,再由独立的分类网络模型评估生成样本的质量。

3.3 GAN的网络结构

本文采用的GAN模型基于CGAN,并对其进行了修改,其原理如式(2)所示。本文的GAN包含两个部分:生成模型G和判别模型D、G学习特征分布,同时D计算样本来自训练数据而不是G的概率。通过动态博弈,最终达到某个稳定状态,即G的特征分布尽可能接近真实样本的分布。不同的是,生成器和判别器都取决于一些额外的信息y。在本文中y是类别标签,将其作为附加输入输入到判别器和生成器中。

图2展示了GAN模型的抽象结构:Conv1、Conv2和Conv3表示卷积层;FC1和FC2表示全连接层;Upconv1、Upconv2和Upconv3表示反卷积层。GAN过程的抽象描述如下

图2 修改后的CGAN的总体结构

(2)

其中,生成器通过建立从先验噪声z及其分布pz(z) 到数据空间的映射函数G(z|y) 来学习数据D(x|y) 的分布。判别器G(z|y) 输出一个单一标量,表示x来自生成数据的概率。通过调整G和D的参数以使Log(1-D(G(z|y)))、 LogD(x|y) 最小化。

GAN模型中的判别器的架构和详细参数见表1,生成器的内容见表2。判别器的主要部分由CNN构成,包括1个输入层、3个卷积层和2个全连接层。池化层由于特殊的结构,在放大或者平均像素之间的表示能力时,会导致特征的输出在整体结果产生一定程度上的损失,所以本文并未在模型中添加池化层。尤其是当频谱变换已经损失部分特征时。输入数据拥有16个通道,由训练数据和原始数据拼接在一起。模型在第一层中设置了64个卷积核、第二个卷积层有128个滤波器、第三个卷积有256个滤波器,每个滤波器的滑动步长都是2。经过3层卷积后,数据变到二维,作为全连接层输入,第一维对应于批处理数,第二维对应于图像的计算结果。模型的输入数据包含4个维度,分别是图像的数量、高度、宽度以及图像本身的通道数与类别的总和。模型对最后3层的输出使用了Relu[4]和BN处理。并且使用sigmiod函数对最后一层的输出结果做激活处理,将最后的结果映射在0到1之间,这样可以更好量化每个类型之间的预测偏向程度。

表1 GAN模型中的判别器的设计

表2 GAN模型中的生成器的设计

生成器与判别器大致相似,但是生成器的方向相反,它包括一个输入层,2个全连接层和3个从前到后的反卷积层。随机噪声向量是由输入层数据选择的,长度为77,并且将类别数加为5。第一个反卷积层有256个滤波器,第二个反卷积层有128个滤波器,第三个有64个滤波器,每次卷积计算时,跨度设置为2,与反卷积相连的全连接层的输出需要经过特殊的维度处理,将二维的数据转换为四维的数据,这样可以通过反卷积处理将数据还原到原始图像的尺度。生成器才能够输出所要的目标灰度图。如表2所示,输入层是一个二维数组,第一维对应于批处理的大小,第二维对应于随机噪声矢量长度和标签数的总和,条件标签实际上是长度为n的一维数组,其值是float,其中每个值都是-1到1之间的随机样本。并在全连接层和反卷积层之间执行ReLU和批量归一化操作。

3.4 分类网络的结构

本文提出的分类网络以Lenet-5为基础修改,目的是为了更加适应频谱变换后的样本。Lenet-5包括一个输入层、两个卷积层、两个最大池化层和两个全连接层。Lenet-5的体系结构见表3。

表3 Lenet-5的参数

修改后的网络架构参数配置见表4。训练样本在输入模型后,会经过包含5个卷积核的第一层网络,通过4×4的特征抽取范围对样本提取特征,这一层不设置降采样与样本填充操作。第二个卷积层采用了与第一个卷积层相同的卷积核数量,但是设置了降采样,同样没有填充。在紧跟着的池化层中,通过2×2的特征抽取范围来尽可能地减小特征的损失,同时以2作为步长来降采样。通过缩小样本的尺度来取得更大程度上的特征感受。使用最大池化而不是平均池化可以保留最强烈的特征。

表4 修改后的Lenet-5的参数

如图3所示,修改后的模型通过将卷积和池化层分为5组。每组都改变了卷积核的尺寸和数量,能更好保留特征并提升分类准确度。由于图像彼此之间存在一定的差异,因此对模型的开始输入执行标准化处理,并且按式(3)进行缩放和移位。α和β是矢量,其工作方式如下

图3 改进后的Lenet-5的体系结构

(3)

其中,x和y由式(2)定义。网络有4个全连接层,将激活函数RELU应用于第一个全连接层。通常,每层的输出都是输入的线性函数,因此,没有隐藏层。引入非线性函数作为激励函数后,它就不再是输入的线性组合。选择RELU是因为它不会同时激活所有神经元。如果输入值小于零,则RELU将输出0,并且不会激活神经元,起到加速模型收敛的效果。最后一层用作分类器,它通过对输入计算,以捕获整个图像的特征并对图像进行分类。最后,通过Softmax[4]运算对输出进行处理,该运算会生成一个表示标签概率的向量。

4 实 验

4.1 数据集的准备

框架需要对原始音频数据集做频谱变换,原始音频由实际应用程序获得,并基于移动和固定目标识别的数据集(称为MSTAR)将其标记为5种类型。在许多基于特征的调查系统中,都使用了MSTAR数据集。它是美国空军的传感器和数据管理系统的公共数据集。为了确保分类数据集的差异,本文从另一个公共数据集[12]和网上收集每个标签的音频数据来扩展它。标签的详细信息和数据集的结构如图4所示。根据收集的样本种类和数量,本文组织并选择了最多的5类数据,以避免某种数据过少而引起样本不平衡。每个样本被分成相同的时间长度(2 s,每0.5 s滑动一次)。最后在每个标签中选择1000个样本。

图4 数据集的标签

4.2 对频谱的评估

本文选择原始音频格式样本并将其转换为对应的频谱样本,将每个数据集分为80%用于训练和20%用于测试。本文采用Lenet-5作为频谱样本的评估网络。如表5所示,神经网络在LOFAR频谱样本上可以实现更高的性能(70.7%),优于其它样本(最好为59.9%)。因此,最终选择LOFAR频谱作为框架中的频谱变换方法。

表5 频谱的分类结果

4.3 对生成样本的评估

本文将LOFAR转换后的样本送入到GAN网络,通过对GAN模型的调整来生成高质量的样本。图5显示了一些原始样本和生成的样本。其中图5(a)选取多样性比较高的1分类的4个代表性样本,及其生成后的样本图5(b)。图5(c)选取剩下4分类,每个分类选两张代表性样本,及其生成相应的样本图5(d),如图5所示,通过上文的整体生成框架,可以发现最后生成的样本与原始样本之间具有高度相似的频率特征,并且可以更直观发现生成样本受到更少的噪声干扰,在频谱图中拥有相对于原始样本而言更鲜明的特征频率。

图5 原始样本和生成样本展示注:(a)和(b)是1类样本;(c)和(d)是4类样本。

本文的框架通过利用GAN网络生成了大量的样本。其中每个类别都生成了3000个样本,然后采用Lenet-5作为其质量检测模型。测试的时候,将原始样本中的80%与生成样本混合作为一个整体训练数据集,将原始样本中的20%取出当作测试集。实验结果表明在扩充的数据集中训练的模型,在测试数据集中实现了较高的分类精度(80.8%),高于仅在原始数据集进行训练的模型的精度(70.7%),或直接在音频频谱上进行训练的模型的精度(59.9%)。实验结果表明确实本文提出的GAN框架可以生成据高质量的样本,因此可以将它们用于随后的分类网络。

4.4 训练方法的评估

在本节中,对于本文提出的网络,进行不同训练方法的评估。即考察如何按不同比例混合生成样本和原始样本进行训练,从而提高模型精度。表6显示了不同样本选取比例下的模型精度。

表6 不同训练集的分类结果

如表6所示,分类精度受所使用的原始样本与生成样本的比例影响。随着训练过程中使用的原始样本和生成的样本数增加,可以实现更高的分类精度。

4.5 对分类网络的对比

实验所用到的分类网络包括Lenet-5、ALEXNET、VGG16、Mark.S的MobileNetV2以及基于Lenet-5的改进网络。表7显示了这些模型的精度对比结果。本文的实验将原始数据集的80%和全部生成样本,融合为一个整体训练集,原始样本的20%作为测试集。实验结果表明,改进的Lenet-5(命名为Our)的性能最佳,为97.2%,验证了本文提出框架可以大大提高水下目标分类精度。

表7 最终网络分类结果

4.6 对于同样采用LOFAR频谱的框架的对比

本文还和如下采用频谱方法的框架进行了对比:Wang等[13]、Li等[14]、岳皓[15]。Wang等的工作是提出具有自适应权重卷积神经网络的深度学习模型对水下声信号进行分类,Li等的工作是提出基于时延神经网络的分类器对水下声信号频谱图分类,岳皓是通过深度学习分类器的改进进而提高水声LOFAR频谱图的分类结果。表8显示了最终对比结果。通过框架间的评估对比,可以明显看出使用本文提出的框架对于处理水声分类的特定场景有很好的表现。

表8 最终框架分类结果

5 结束语

本文介绍了一个框架,该框架利用LOFAR频谱进行数据变换以进行水下目标分类和识别,并在水声信号处理中将神经网络应用于样本的扩展和水下目标的分类。虽然音频频谱或其它频谱可以提供更多信息,但其中也包含了对水下信号分类无用的噪声,因此经验丰富的操作员通常使用LOFAR频谱进行手动分类水下目标。因为深度学习网络需要足够的样本来提取对象的关键特征,针对样本不足的情况,本文提出的框架利用LOFAR频谱过滤噪声并保留关键特征,再利用GAN生成高质量的LOFAR频谱样本。本文介绍了如何在小样本水声信号应用中,使用GAN和LOFAR频谱生成大量有效样本的方法。本文提出的框架最终分类准确率达到97.2%,基本上可以用于实际应用。

在未来的工作中,将计划研究如何有效利用频谱,并设计更有针对性的网络,从而进一步提高分类精度。

猜你喜欢
音频频谱卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种用于深空探测的Chirp变换频谱分析仪设计与实现
从滤波器理解卷积
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
一种基于稀疏度估计的自适应压缩频谱感知算法
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
音频分析仪中低失真音频信号的发生方法
Pro Tools音频剪辑及修正
一种基于卷积神经网络的性别识别方法