HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种基于对抗神经网络的枪声数据增广与检测方法与流程

2021-01-28 13:01:15|270|起点商标网
一种基于对抗神经网络的枪声数据增广与检测方法与流程

本发明属于人工智能声学检测领域,具体涉及一种基于对抗神经网络的枪声数据增广与检测方法



背景技术:

枪声事件检测是声学信号处理的一个应用,在安全监控、场景分析、危机处理、法律取证等领域由广阔的应用前景。常见的声学事件检测包括波形检测、模板匹配等基于一维时域的波形分析方法,混合高斯模型、支持向量机、随机森林等基于声学特征与机器学习的方法,以及近年涌现的基于梅尔频谱与深度神经网络的深度学习方法等。

专利文献1(公开号:cn105424170a)公开了一种基于时域分析的枪声检测方法。(发明名称:一种枪声探测计数方法及系统)。该方法主要通过短时幅度上升沿检测来实现枪声识别,在枪声-背景信噪比低的情况下枪声信号可能会被淹没而导致漏检;专利文献2(公开号:cn104916289a)公开了一种基于支持向量机的声学事件检测方法(发明名称:行车噪声环境下快速声学事件的检测方法)。该方法使用梅尔频率倒谱系数作为特征,使用支持向量机作为分类器,并用噪声模型进行去噪。该方法中没有对数据集进行数据增强和规模扩充,数据多样性以及分类器的泛化性能受到限制;专利文献3(公开号:cn110808033a)公开了一种音频数据增强方法(发明名称:一种基于双重数据增强策略的音频分类方法)。该方法使用了旋转、调音、变调、加噪四种增强方法以及转化为语谱图再通过随机替换均值进行二次数据增强的方法,但该方法对原始数据的多样性扩充仍比较有限。

近年来出现了基于梅尔频谱与深度神经网络的声学事件检测方法,这种方法需要利用大规模的数据集进行数据驱动模型训练,并在大规模声学事件检测中获得了较好的效果。但是由于枪击的特殊性,枪声数据在获取上存在较大困难,因此难以获得规模足够大的可用数据集。

数据增强技术可以增加数据的多样性和数量。常见的音频数据增强方法的包括添加噪声、时域平移、音高平移、调整采样率、时域拉伸等,以及近年出现的多宽度频率增量、声音扰动、频谱增强等方法。这类方法都是在原有音频的时域或频域上进行有限的改动,对整体数据集的规模扩充效果十分有限。



技术实现要素:

为解决上述问题,本发明公开了一种基于对抗神经网络的枪声数据增广与检测方法,使用对抗神经网络和数据增强结合的方法对枪声数据集进行规模增广;使用c-rnn对枪声进行检测实现效率与准确率的平衡;基于互相关算法的模板粗匹配加速较长音频的检测速度。

为达到上述目的,本发明的技术方案如下:

一种基于对抗神经网络的枪声数据增广与检测方法,包括以下步骤:

(1)对数据库中的真实数据进行音频数据增强,得到增强数据;

(2)用真实数据训练对抗神经网络;

(3)通过对抗神经网络生成仿真数据;

(4)使用筛选分类器对仿真数据进行筛选,得到逼真数据和欠逼真数据;

(5)合并增强数据和逼真数据,得到增广数据;

(6)将增广数据中的枪声音频与背景声音频进行混合得到数据集;

(7)将数据集分割为训练集和测试集,并分别用训练集和测试集对c-rnn模型进行训练和测试;

(8)对于较长的音频,使用枪声模板在音频中进行粗定位,再通过c-rnn模型做枪声检测。

进一步的,步骤(1)中,通过添加噪声、时域平移、音高平移、调整采样率、时域拉伸及多宽度频率增量、声音扰动、频谱增强各种方法进行音频数据增强。

进一步的,步骤(1)中,每一种数据增强方法均可以基于真实数据得到一定数量的新数据。

进一步的,步骤(2)中,对抗神经网络由生成器g和判别器d组成。

进一步的,步骤(2)中,生成器g由多个全连接层和多个反卷积层组成。随机向量输入生成器g后,首先经过多个全连接层调整至合适长度,然后通过多层反卷积得到音频向量。

进一步的,步骤(2)中,判别器d由多个卷积层和多个全连接层组成。音频向量输入判别器d后,首先经过多个卷积池化层进行特征提取,然后由多个全连接层得到单一输出,最后通过sigmoid函数输出判别。

进一步的,步骤(2)中,生成器g的输入是随机向量,输出是其生成的仿真音频向量。判别器的输入是仿真音频向量或真实音频向量,在两者之间切换,输出是对仿真音频和真实音频的判别,判别结果通过损失函数反馈给生成器g和判别器d。

进一步的,步骤(2)中,生成器g和判别器d根据损失函数的反馈调整网络参数,迭代直到损失函数收敛。

进一步的,步骤(2)中,音频数据输入对抗神经网络之前,先进行降采样操作以提高对抗神经网络的处理效率和收敛速度。对抗神经网络生成的音频输出通过上采样恢复其采样率。

进一步的,步骤(3)中,以随机向量作为对抗神经网络的输入,每个随机输入通过对抗神经网络均得到一个枪声仿真音频,重复此操作直至数据量达到一定规模,形成仿真数据。

进一步的,步骤(3)中,使用全1向量代替随机向量,输入对抗神经网络的生成器g获取用于一个用于目标粗定位的枪声模板k(t)。

进一步的,步骤(4)中,使用基于梅尔频率倒谱系数的混合高斯模型作为筛选分类器,对仿真数据进行筛选。

进一步的,步骤(4)中,先将音频经过巴特沃斯滤波器进行初步清洗,再对枪声信号进行端点检测。通过梅尔频率转换、梅尔滤波器滤波、对数处理、余弦变换将枪声片段转化为梅尔频率倒谱系数特征向量,然后输入混合高斯模型中进行分类。

进一步的,步骤(4)中,先用真实枪声数据库对筛选分类器进行训练。然后用训练好的筛选分类器对仿真数据进行筛选,将仿真数据划分为逼真数据和欠逼真数据。

进一步的,步骤(4)中,采用基于短时能量、基于短时过零率的端点检测。

进一步的,步骤(6)中,对于第i次混合,设枪声音频ei′(t)共有le个采样点,背景声音频bi(t)共有lb个采样点,则随机选定枪声音频在背景声音频中的开始位置si,si∈[0,lb-le],并按下式对枪声音频ei′(t)进行补齐:

其中,ei(t)是补齐后的枪声音频。

进一步的,步骤(5)中,将枪声音频ei(t)与背景声音频bi(t)按比例r进行混合:

di(t)=bi(t)+ebr·mi·ei(t)

其中,le是枪声音频ei(t)的采样点总数,lb是背景声音频bi(t)的采样点总数,mi为混入系数,每次计算时mi有50%的概率取1,否则取0。每次混合时,r依次取-6db,0db,6db得到3个混合结果di-6db(t),diodb(t),di+6db(t),并将其加入数据集。

进一步的,步骤(7)中,c-rnn模型从训练集读入音频数据d(t)后,依次对d(t)及进行分帧、加窗操作,将分帧、加窗后的数据进行梅尔频率转换,通过nmel组梅尔滤波器滤波并取对数得到对数梅尔频谱logmel(w,fmel),w和fmel分别为帧的总数和梅尔频率。

进一步的,步骤(7)中,对于梅尔频谱logmel(w,f)上的每一帧wi,使用nconv个尺寸均为的lconv的1维卷积核进行滑动卷积操作得到nconv个卷积输出,每个均为(nmel-lconv+1)×1的向量。对每个向量进行最大池化操作,最终每一帧wi在卷积处理后,均得到nconv个标量输出。

进一步的,步骤(7)中,将每一帧的nconv个输出送入nconv个输入的rnn网络中。rnn网络中每层均有nconv个lstm神经单元,经过多层lstm网络后,数据送到rnn网络的输出层。

进一步的,步骤(7)中,rnn网络输出层的nconv个输出送入全连接层,经过多个全连接层后,以一个sigmoid函数作为输出,输出即为枪声事件出现的可能性预测。

进一步的,步骤(7)中,每个迭代周期结束后使用测试集数据测试c-rnn的正确率并将损失函数结果反馈给神经网络,直至其收敛。

进一步的,步骤(8)中,使用对抗神经网络生成的模板与实际检测数据进行互相关卷积运算:

s(t)=d(t)*k(t)

其中d(t)为音频序列,k(t)为枪声模板。

进一步的,步骤(8)中,根据互相关s(t)的大小匹配最可能出现枪声的位置。

本发明的有益效果:

本发明克服了基于深度学习的枪声事件检测中数据集规模太小而导致的问题,适用于各类的枪声检测应用;使用对抗神经网络和数据增强结合的方法对枪声数据集进行规模增广;使用c-rnn对枪声进行检测实现效率与准确率的平衡;基于互相关算法的模板粗匹配可以加速较长音频的检测速度;方法兼容性强,对于其他声学数据集扩充也具有借鉴意义。

附图说明

图1为本方法的实施架构。

图2为生成对抗网络的实施架构。

图3为生成器g的结构与判别器d的结构对比图。

图4为c-rnn的实施架构。

具体实施方式

下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。

生成对抗网络是一种基于博弈论的神经网络模型。在生成对抗网络中,生成器g负责生成内容,判别器d则负责分辨内容的真伪。经过不断的迭代后,生成器g和判别器d的博弈达到纳什均衡,即判别器d已无法分辨内容到底来自生成器g还是来自真实数据,此时生成器g生成的内容具有很高的逼真度。本发明就是根据这个原理,使用对抗神经网络和数据增强结合的方法对枪声数据集进行规模增广,使用c-rnn对枪声进行检测,具体如图1所示,包括以下部分:

(1)对数据库中的真实数据进行音频数据增强,得到增强数据;

(2)训练对抗神经网络;

(3)通过对抗神经网络生成仿真数据;

(4)使用筛选分类器对仿真数据进行筛选,得到逼真数据和欠逼真数据;

(5)合并增强数据和逼真数据,得到增广数据;

(6)将增广数据中的枪声音频与背景声音频进行混合;

(7)将数据集分割为训练集和测试集,并分别用训练集和测试集对c-rnn模型进行训练和测试;

(8)对于较长的音频,使用枪声模板在音频中进行粗定位,再通过c-rnn模型做枪声检测。

具体而言,基于对抗神经网络的枪声数据增广与检测方法的操作过程为:

步骤1:获取真实枪声数据库。

步骤2:将真实枪声数据库进行降采样处理,通过对抗神经网络生成仿真数据库并将其上采样。音频数据输入对抗神经网络之前,先进行降采样操作以提高对抗神经网络的处理效率和收敛速度。对抗神经网络由生成器g和判别器d组成,生成器g由多个全连接层和多个反卷积层组成。随机向量输入生成器g后,首先经过多个全连接层调整至合适长度,然后通过多层反卷积得到音频向量。判别器d由多个卷积层和多个全连接层组成。音频向量输入判别器d后,首先经过多个卷积池化层进行特征提取,然后由多个全连接层得到单一输出,最后通过sigmoid函数输出判别。生成器g和判别器d根据损失函数的反馈调整网络参数,迭代直到损失函数收敛。以随机向量作为对抗神经网络的输入,每个随机输入通过对抗神经网络均得到一个枪声仿真音频,重复此操作直至数据量达到一定规模,形成仿真数据。其次,使用全1向量代替随机向量,输入对抗神经网络的生成器g获取用于一个用于目标粗定位的枪声模板k(t)。对抗神经网络生成的音频输出通过上采样恢复其采样率。

步骤3:将仿真数据库经过梅尔频率倒谱系数与混合高斯模型结合的筛选分类器筛选出逼真数据与欠逼真数据。采用基于短时能量、基于短时过零率的端点检测,使用基于梅尔频率倒谱系数的混合高斯模型作为筛选分类器,对仿真数据进行筛选。先将音频经过巴特沃斯滤波器进行初步清洗,再对枪声信号进行端点检测。通过梅尔频率转换、梅尔滤波器滤波、对数处理、余弦变换将枪声片段转化为梅尔频率倒谱系数特征向量,然后输入混合高斯模型中进行分类。用真实枪声数据库对筛选分类器进行训练,然后用训练好的筛选分类器对仿真数据进行筛选,将仿真数据划分为逼真数据和欠逼真数据。

步骤4:将真实枪声数据库经过传统数据增强方法生成增强数据。通过添加噪声、时域平移、音高平移、调整采样率、时域拉伸及多宽度频率增量、声音扰动、频谱增强等方法进行音频数据增强。每一种数据增强方法均可以基于真实数据得到一定数量的新数据。

步骤5:将逼真数据、增强数据与真实枪声数据库组合成增广数据。

步骤6:向增广数据中混入背景声音形成所需的训练集。随机选定枪声音频在背景声音频中的开始位置si,si∈[0,lb-le],并按公式对枪声音频ei′(t)进行补齐,然后将枪声音频ei(t)与背景声音频bi(t)按比例r进行混合。

步骤7:将所获得的训练集放入c-rnn中训练枪声检测模型。c-rnn模型从训练集读入音频数据d(t)后,依次对d(t)及进行分帧、加窗操作,将分帧、加窗后的数据进行梅尔频率转换,通过nmel组梅尔滤波器滤波并取对数得到对数梅尔频谱logmel(w,fmel),w和fmel分别为帧的总数和梅尔频率。对于梅尔频谱logmel(w,f)上的每一帧wi,使用nconv个尺寸均为的lconv的1维卷积核进行滑动卷积操作得到nconv个卷积输出,每个均为(nmel-lconv+1)×1的向量。对每个向量进行最大池化操作,最终每一帧wi在卷积处理后,均得到nconv个标量输出。将每一帧的nconv个输出送入nconv个输入的rnn网络中。rnn网络中每层均有nconv个lstm神经单元,经过多层lstm网络后,数据送到rnn网络的输出层。rnn网络输出层的nconv个输出送入全连接层,经过多个全连接层后,以一个sigmoid函数作为输出,输出即为枪声事件出现的可能性预测。在每个迭代周期结束后使用测试集数据测试c-rnn的正确率并将损失函数结果反馈给神经网络,直至其收敛。

步骤8:使用基于互相关的模板粗匹配方法加速c-rnn的训练。使用对抗神经网络生成的模板与实际检测数据进行互相关卷积运算,然后根据互相关s(t)的大小匹配最可能出现枪声的位置。

步骤9:将需要检测的数据放入c-rnn即可完成检测。

本发明中基于对抗神经网络的枪声数据增广与检测方法能够实现以下功能:

可以实现枪声事件检测。

可以实现从较少初始数据集扩充到较大数据集且不丢失其特征。

可以实现对数据集数据的筛选与分类。

可以实现对音频模板的粗匹配检测加速。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips