基于深度学习的直升机旋翼声信号检测与识别一体化算法
2023-12-06林啸宇陈正武
郭 磊,林啸宇,王 勇,陈正武,常 伟*
(1.电子科技大学计算机科学与工程学院 成都 611731;2.电子科技大学信息与软件工程学院 成都 610054;3.中国空气动力研究与发展中心 四川 绵阳 621010)
直升机在军事突防中发挥着重要作用,因此关于直升机的探测和识别也成了一个重要的研究问题[1]。目前该领域已成功发展了红外、雷达等多种先进防空探测手段,但受地形、地面附近杂波等环境影响,雷达探测在低空仍存在盲区,无法有效探测到低空目标[2];红外等光学探测设备受大气环境和自然环境影响较大,无法针对低空目标进行全天候监测[3]。因此,低空飞行目标的检测和识别成为目前探测技术发展的重点和难点。直升机飞行时辐射的旋翼声信号作为飞行过程中的重要物理特征,具有传播距离远、衰减速度慢等特性,基于旋翼噪声信号进行直升机检测与识别的方法可行性高,具有重要研究价值。
目前,针对直升机声目标开展的研究主要划分为检测、识别两个相对独立的研究模块。在音频检测方面的研究大多集中于传统信号处理领域,如基于声类比理论的FW-H 方法[4]、基于Kirchhoff 和CFD的混合法[5]等,这些方法需要对完整的音频信号进行时频特性分析,在实际外场探测时的实时性难以保证;在直升机声目标识别方面,主要基于谐波特征提取、小波特征提取、人耳听觉感知特征提取[6]等方法提取直升机声信号的特征并利用KNN、SVM[7]等传统分类器进行声目标识别。随着深度学习在声音领域的发展,也有相关研究采用CNN、LSTM 等网络模型以实现直升机声目标的深度特征提取和识别[7]。直升机声目标识别方法研究的数据是基于仿真或特定的实验环境,难以排除实际外场的噪声干扰,导致了连续识别正确率低、鲁棒性差的问题。并且在实际外场直升机目标监测时,需要将检测和识别方法结合。
由此,本文提出一种在实际环境中对直升机旋翼声信号进行一体化检测与识别的算法。该算法将声目标检测与声目标识别两个独立的研究方向进行一体化,检测结果能够为声目标识别剔除噪声段,以增加声目标识别的精度和效率,而声目标识别的结果又可以作为声探测结果的验证,进一步提高检测精度。通过外场实验采集的两类直升机信号和开源的noise92 噪声数据集构建了实验数据,设计实验并验证了该算法的可行性。
1 理论研究
1.1 复杂环境中的直升机信号分析
实际的外场环境中,通常混叠各种声源产生的声音信号,这些不同的声源都会影响其检测识别的效果。图1 和图2 分别是一段纯净直升机声音信号的频谱图像和实际外场声信号的频谱图像。对比两图可知:纯净的直升机具有较为明显的谐波特性,在其频谱图像中很容易找到直升机的基频和它的倍频谱线。而复杂的外场环境中,受各个声源信号的混叠、抵消等影响,外场信号的频谱图杂乱无章,难以直接对直升机信号进行检测和识别。因此需要考虑抑制这些杂音的干扰,进而提升检测和识别效果。
图1 纯净直升机的频谱图像
图2 复杂外场噪声的频谱图像
1.2 声目标特征提取
外场采集的音频信号中混杂着直升机旋翼声信号及各种环境噪声,通过声目标特征提取方法可有效放大直升机旋翼声信号的某些特征,进而达到杂音抑制和信号增强的效果。本文采用基于谱质心、谱对比度及MFCC(mel frequency cepstrum coefficient)特征提取融合的特征提取方法。
谱质心是在一定频率范围内通过能量与频率乘积的加权平均,它包含了声音信号的频率分布和能量分布的重要信息[8]。谱质心的计算公式为:
式中,f为信号频率;E(n)是连续的时域信号x(t)经短时傅里叶变化后对应频率的谱能量。
谱对比度是音频经时频变换形成的频谱图的像素对比度[9]。谱对比度的计算公式为:
式中,r(i,j)=|i-j|即相邻像素间的灰度;p(i,j)为相邻像素灰度差为r的像素分布概率。高对比度值通常对应清晰的窄带信号,而低对比度值则对应宽带噪声。
MFCC 是语音识别领域最常用的语音特征[10]。MFCC 特征提取的流程如图3 所示。输入的原始数字信号经预加重、分帧、加窗、FFT、Mel 滤波、DFT 等操作后,最终变为能够表征频域特征的特征向量,该向量作为分类器的输入,进行分类识别处理。
图3 MFCC 特征提取流程
1.3 深度神经网络设计
在完成了直升机的声目标特征提取后,需要将提取的特征系数作为输入,由分类模型进行检测和分类处理。考虑到实际外场信号的复杂性,使用浅层分类器直接进行分类识别的正确率较低,故本文使用基于深度学习训练的神经网络模型进行深层特征提取和分类识别。搭建的深度神经网络模型如图4 所示。网络模型架构由2 层卷积层、2 层池化层、2 层全连接层和1 个Softmax 分类器拼接组成。前4 层用于深度特征提取,最后2 层全连接层用于聚合特征,最后由Softmax 分类器进行分类识别和输出结果。
2 直升机声目标检测与识别
2.1 算法流程
本文研究中,待测信号是一段长时间的音频信号,且大部分时间段是环境噪声,少部分时间段是直升机声信号与环境噪声的混叠。为了模拟实时采集的外场音频,将待测信号进行切片,获得短时的音频段,并判断每个短时的音频段中是否潜在直升机的音频信号,如果含有直升机音频信号,那么需要将该音频段进行后续识别处理。基于上述流程,提出如下检测识别算法,如图5 所示。
图5 直升机声目标检测识别整体流程
由图5 所示,该算法流程在总体上可分为基于 融合特征的直升机声目标检测和基于深度学习的潜在声目标识别两个流程。目标检测部分通过切片、带通滤波、特征提取和目标检测4 个阶段,将原始的待测信号划分为纯噪声段和直升机目标段。进一步对直升机目标进行分类识别处理,通过维纳滤波、特征提取和分类识别3 个阶段,再进行具体型号分类,从而实现完整的声目标检测识别流程。目标检测部分能够作为识别部分的前处理,初步剔除纯噪声段以减少识别部分的噪声干扰,提高识别效率和正确率;而识别部分对潜在目标段进行细分类,又能识别出检测时误判的音频段,进而提升检测的正确率,实现声目标检测和识别的一体化处理。
2.2 基于融合特征的直升机声目标检测
基于融合特征的直升机声目标检测流程如下。首先,将待测信号进行切片,划分为短时的音频段。然后,鉴于直升机旋翼声信号集中于0~500 Hz频段[11],将音频段通过带通滤波器进行滤波处理,初步滤除目标频段以外的其他信号,达到抑制杂音的目的。再使用时频变换方法,获得该音频段的梅尔频谱图,提取频谱图中的色度特征以及谱质心特征[12]。由于检测部分需要较高的实时性要求,因此本文采用了轻量化的分类器模型——SVM。首先通过纯噪声段和包含直升机的环境噪声两类信号对SVM 进行训练,一次完成检测部分的二分类处理,用于作为检测部分的分类器模型。最后,将提取的融合特征通过SVM 分类器进行潜在目标段和噪声段的二分类,从而实现直升机声目标检测。
检测部分流程总结如下:
1)将原始信号进行切片处理,划分为1 s 时长的音频段共n段;
2)对每一个切片的样本做带通滤波,得到0~500 Hz 的带通滤波音频;
3)将音频样本做MFCC 特征提取得到MFCC特征系数;
4)计算音频样本中每帧的频谱质心和谱对比度,并将二者与MFCC 特征系数叠加作为融合特征向量;
5)选取k个样本的特征向量组成特征向量矩阵Mk作为训练支撑向量机的输入矩阵;
6)使用另外n-k个样本的特征向量组成的特征向量矩阵Mn-k对支撑向量机进行测试;
7)将训练、测试后的SVM 应用于实际信号检测,并评估该方法的检测率。
2.3 基于深度学习的潜在音频段分类识别
对于直升机目标段,需要通过相应方法对其进行识别,判断其直升机型号。
由于检测信号段中除了目标直升机外,还存在其他噪声的干扰(环境噪声及其他声源发出的杂音等),为了提高识别的正确率,首先采用维纳滤波进行信号增强。然后,通过MFCC 特征提取浅层特征,提取的特征系数作为分类器的输入由网络模型进行深层特征提取和分类识别,最终得到直升机的具体型号。
本文使用深度学习的方法构建网络模型并进行网络训练和测试。在训练完成后将网络模型冻结,用于后续实际分类识别使用。分类识别流程总结如下:
1)通过训练集对构建的识别网络进行训练,获得训练后的网络参数模型;
2)对于直升机目标段,首先通过维纳滤波进行信号增强;
3)再将信号增强后的音频段提取MFCC 特征系数,作为识别的特征向量;
4)将该特征向量输入训练好的网络,由其进行深层特征提取和分类识别,最终得到识别结果。
3 实验及结果分析
3.1 模拟信号实验与分析
由于缺少开源的实验数据,本文利用开源的noise92 噪声数据集和实际外场实验采集的R22 和R44 两类民用直升机的声信号数据进行人工合成,构建实验数据集进行实验和算法效果分析。
3.1.1 数据集介绍
Noise-92 噪声数据集是由英国荷兰感知-TNO研究所语音研究单位(SRU)在项目编号2589-SAM 下在现场测量的不同噪声数据。所有文件的持续时间均为235 s,由采样率为18.98 kHz,具有16 位的模数转换器、抗混叠滤波器和不带预加重级的采集设备来获取的[13]。选用其中的8 类噪声作为噪声数据,分别是白噪声、粉红噪声、室内人声、电焊设备工作声、汽车生产车间噪声、车辆行驶噪声、冲击噪声及无线电波噪声。由于用于测试的目标信号为5 kHz,所以又对noise92 数据集进行了5 kHz 的重采样。
而目标直升机数据,通过外场飞行实验,以5 kHz 的采样率采集了R22 和R44 两类直升机在直飞状态下的数据。选取了其中信噪比较高的,距采集设备2 km 以内的音频段,切分作为两类直升机目标数据,图6 和图7 分别展示了一段噪声信号和直升机声信号的波形示例。
图7 R22 直升机波形
3.1.2 模拟信号检测与识别实验
将两类直升机信号分割为1 s 长的音频段,分别按照不同的时间戳随机插入到8 类噪声信号中并记录各个目标段的开始时间和结束时间,共两类声目标信号,分别随机插入各类环境噪声中100 次,构成1 600(2×8×100)段待测数据,每段数据中含有1 s 长的直升机声目标。为了模拟更为复杂的噪声环境,在上述8 种噪声中的两种以上进行随机叠加,构成复合的噪声环境;再将两类声目标信号插入复合噪声并记录起止时间,构成200(2×100)段复合信号;单一噪声和复合噪声信号共计1 800 段。
然后使用训练好的SVM 模型,按照2.1 节中的检测流程分别对1 800 段数据集进行切片、滤波、特征提取和检测,并将检测到目标的音频时间戳与记录的时间戳进行对比,计算各种声目标环境下的检测率(检测率=检测正确段数/总段数×100%),结果见表1。
表1 算法对9 类噪声环境下的潜在目标段检测正确率统计表 %
由表1 可见,基于SVM 的待测目标的平均检测率为93.6%,其中该方法对白噪声、粉红噪声、室内人声、电焊设备工作声、冲击噪声及无线电波噪声这6 类的检测效果较好。而对于生产车间噪声和车辆行驶噪声这两类的检测效果相对较差,但仍在90%以上。对于由多种噪声环境构成的复合噪声环境的检测率为86%,相比单一的噪声环境有了一定程度的下降,在后续的识别实验中可以重点考虑识别算法对复合噪声环境误判的目标信号是否存在抑制作用。
对于用于分类识别的神经网络模型的训练,将R22 和R44 两类直升机信号各提取100 段1 s 长的音频段作为训练集,训练本文的神经网络模型。并且以同样的方法训练SVM 和RNN 两种分类器,从而对比本文算法的识别效果。
分类识别算法效果实验的数据集,按照上述记录的时间戳将直升机目标段分割出来,构成1 800段,R22 和R44 在9 类环境中各100 段的分类识别测试集。使用3 种分类模型进行分类,得到的识别效果如表2 所示。
表2 3 种算法对9 类噪声环境中潜在目标段的识别率统计表 %
由表2 可以得出,与其他两种分类器模型对比,本文使用的神经网络模型在9 种不同的噪声环境中都具有更高的识别率。为了验证该算法在其他数据集中是否具有较好的鲁棒性,使用了英国BBC 提供的直升机数据与noise92 数据集进行混合。原始数据是由BBC 提供的brant、bristo、fairey、sikors 和wessex 这5 种悬停的直升机演示视频[14],从中截取了音频文件并划分为一秒长的音频段,按照上述的噪声叠加方法叠加形成了9 种环境下的5 类直升机信号。然后,分别训练了SVM、LSTM和本文使用的CNN 网络,并分别进行测试,3 种 算法对该数据集的识别率如表3 所示。
表3 3 种分类器对9 类噪声环境中直升机目标的识别率统计表 %
由表可见,3 类网络模型对5 类直升机的识别率都有所下降,不过本文算法仍旧保持最高的识别率,在一定程度上验证了本文算法的鲁棒性。由于本次实验提供的直升机数据中没有包含详细的参数说明,因此无法准确地获取它的时频特征信息,从而使信号增强和特征提取方法受到了影响,同时由于原始音频数据是由视频数据截取而来,造成了一定程度的失真,这两个因素都对识别效果产生了较大的影响。
3.2 实际信号实验与分析
为了验证在实时系统中该算法的可行性,同样对外场实验中采集的真实数据进行了算法测试和分析。在某民用机场进行了直升机外场飞行实验,得到了罗宾逊R44 和R22 两类直升机的飞行音频数据[15]。直升机声目标测量设备包括阵列架、传声器和采集器等。实验现场如图8 所示。
图8 直升机声目标探测实验现场
当直升机离传声器较近时,信噪较高,而随着直升机与传声器距离的变大,由于直升机声信号在空气中传播时的衰减,信噪比逐渐降低。进行外场飞行试验时,直升机先是从近距离出发,逐渐飞远,然后飞回。由于两次飞行试验的飞行距离和飞行轨迹的区别,选取了两次实验中直升机由6 km左右的距离飞向采集点、再飞离采集点直至6 km左右的两条实验音频数据。按照3.1 节中的算法步骤对完整的飞行事件进行了检测和识别处理。检测和识别结果见图9 与图10。
图9 R22 型直升机飞行试验检测与识别率
图10 R44 型直升机飞行试验检测与识别率
由实验结果可见,总体上,直升机在测点附近时,由于信噪比较高,平均识别正确率总体相对较高。随着目标与测点的距离增大,信噪比变低,平均识别正确率随之下降,直到无法有效识别。对于本文提出的算法而言,在5 km 左右的距离,检测算法对两次飞行试验的检测率都基本能检测出潜在目标,而识别算法对于4 km 以内的数据也具有较好的识别效果。
4 结 束 语
本文提出了一种实际环境中的直升机声目标的检测与识别一体化算法。该算法首先通过SVM 对外场声信号提取的融合特征进行潜在声目标的检测,再利用基于深度学习的分类模型对直升机声目标段进行深层特征提取和分类识别。通过模拟生成的复杂环境数据集与真实外场飞行实验对算法效果进行了实验分析,实验证明了算法检测率达93.6%,识别率达93.9%。与现有方法相比,该方法明显提升了对直升机完整飞行事件连续识别的鲁棒性,同时提高了整体识别的正确率。