一种基于多尺度子带能量集特征的膛口波识别方法与流程

文档序号:14912849发布日期:2018-07-10 23:53阅读:296来源:国知局

本发明涉及一种基于多尺度子带能量集特征的膛口波识别方法,属于安全监测及声信号识别技术领域。



背景技术:

声探测技术作为一种重要的检测手段,广泛应用于生产生活的各个方面,包括地震波检测、海洋生物探测、危险声音识别等。其中有关危险声音的识别系统,随着近年来音频信号处理和模式识别技术的蓬勃发展,逐步成为新的研究热点之一,在公共安全、野外生态保护、法医鉴定以及军事国防等领域具有重要意义。

其中,利用声学信号分析手段识别复杂环境下的枪声,是后续进一步开展射手定位和枪型识别等的基础。近年来已有学者提出一种利用模板匹配和动态时间归整算法(Dynamic Time Warping,DTW)对枪声进行多级检测的方法(申请号201210574003.7,专利名称为用于枪声的多级筛选检测识别方法),但是该方法采用的模板匹配和DTW方法受环境因素影响较大,在外场地形、环境噪声、地表及建筑物反射产生的多径以及气候等诸多因素的干扰下识别检测能力明显不佳,此外枪声可细分为膛口波和弹头波,而相比之膛口波,弹头波的存在与否同枪支类型,声探测系统位置等有关,很多情况下可能根本捕获不到,将弹头波纳入检测目标的范围内,在匹配时会出现较大误差。

由此可知,现有技术存在未考虑环境影响和检测对象不够准确存在的技术缺陷,鉴于以上情况,本文提出一种基于多尺度子带能量集特征的膛口波识别方法,该方法通过识别枪声中的膛口波有效检测枪声信号,且充分考虑环境因素对分类结果的影响,对受距离、方向和多径影响的膛口波信号识别具有稳健性。



技术实现要素:

本发明的目的在于提供一种基于多尺度子带能量集特征的膛口波识别方法。

实现本发明目的的技术解决方案为:一种基于多尺度子带能量集特征的膛口波识别方法,具体步骤为:

步骤1、对连续音频数据进行基于高斯混合模型的分段,截取全频带有声片段;

步骤2、将步骤1得到的全频带有声片段通过多尺度子带滤波器组进行滤波处理得到子带有声片段;

步骤3、对步骤1截取的全频带有声片段和步骤2中滤波后的子带有声片段进行起点对齐;

步骤4、将步骤3经过起点对齐的有声片段进行变尺度分帧和特征提取;

步骤5、根据步骤4提取出的多尺度子带能量集特征进行膛口波分类,得到最好的识别结果。

本发明与现有技术相比,其显著优点为:1)本发明使用的特征和数据处理方法充分考虑环境因素对分类结果的影响。2)本发明采用的模式识别方法SVM具有较好的泛化特点,使得识别结果具有鲁棒性;3)本发明的方法计算复杂度较低,易于实施,操作简单。

下面结合附图对本发明作进一步详细描述。

附图说明

图1是本发明基于多尺度子带能量集特征的膛口波识别方法的流程图。

图2是本发明实施例采用的实测数据的时域波形图。

具体实施方式

结合图1,本发明的一种基于多尺度子带能量集特征的膛口波识别方法,具体步骤为:

步骤1、对连续音频数据进行基于高斯混合模型的分段,截取全频带有声片段,具体步骤为:

步骤1-1、对户外连续音频数据进行分片、加窗及短时傅里叶变换得到特征样本;

步骤1-2、利用含有两个高斯分量的高斯混合模型对特征样本中的短时对数能量分布进行建模来表征有声片段和环境噪声片段,完成全频带有声片段的截取。

步骤2、将步骤1得到的全频带有声片段通过多尺度子带滤波器组进行滤波处理得到子带有声片段,对得到的全频带有声片段进行子带滤波处理得到子带有声片段的具体方法为:

将全频带有声片段分别通过中心频率为300Hz、900Hz、1.4kHz、1.8kHz的子带滤波器,获得相应的子带有声片段。

步骤3、对步骤1截取的全频带有声片段和步骤2中滤波后的子带有声片段进行起点对齐,具体步骤为:

步骤3-1、将步骤2-1中得到的中心频率为300Hz的滤波器滤波后的子带有声片段进行等间距分帧,进一步的实施例中,每帧帧长为0.5ms,帧间重叠50%。

步骤3-2、根据公式计算每段能量,找出能量最大值max(En)和能量最小值min(En),其中En为第n段的能量,N为每段长度,xi为每一段中第i点的取值;

步骤3-3、根据步骤3-2得到的能量最大值max(En)和能量最小值min(En)设定自适应阈值,当连续3段信号能量超过阈值Threshold,将这3段中的第一段标记为起始段,其中,阈值计算公式如下:

Threshold=min(En)+τ×(max(En)-min(En))

式中,τ为常数;实验设定τ=0.016。

步骤3-4、将步骤1-2中得到的全频带有声片段和步骤2-1中滤波后的4个子带有声片段从起始段位置向前移动三段的长度进行幅值谱峰搜索,找到第一个波峰位置,并将该波峰位置记为起始点;

步骤3-5、根据4个子带滤波器在各自中心频率的群延迟特性,分别延迟偏移量以对齐有声片段的时间起点。

步骤4、将步骤3经过起点对齐的有声片段进行变尺度分帧和特征提取,具体步骤为:

步骤4-1、将经过步骤3对齐后的有声片段进行变尺度分帧,提取对齐的时间起点开始之前5帧,进一步的实施例中,5帧的长度分别为:0.125ms,0.375ms,0.875ms,1.875ms以及3.875ms。

步骤4-2、对上述5帧分别提取短时能量作为特征,记第m个子带片段第n帧的短时能量为:

其中,m=1,2,3,4,为子带片段的序号;n=1,2,3,4,5;N为帧长,(i)为帧中单个样本点的幅值,则全频带有声片段和子带有声片段所得短时能量特征向量为:

步骤4-3、提取短时能量比特征,短时能量比具体为子带滤波器组输出子带有声片段的短时能量与全频带有声片段短时能量之比:

其中,m′=1,2,3,4,为子带片段的序号;n=1,2,3,4,5,为对应每帧的序号,则4组子带有声片段与全频带有声片段的短时能量比特征向量为:

步骤4-4、将得到的短时能量特征和短时能量比特征重新拼接,得到能量集特征,每个有声片段的多尺度子带能量集特征MS表示为:

步骤5、根据步骤4提取出的多尺度子带能量集特征进行膛口波分类,具体为:利用机器学习中的SVM分类器完成膛口波和非膛口波片段的识别。

下面结合实施例对本发明做进一步解释。

实施例1

本实施例针对复杂环境下的枪声识别问题,提出了一种基于多尺度子带能量集特征的膛口波识别方法。该方法适用于户外环境下的膛口波识别问题。具体过程为利用基于高斯混合模型的自动分段算法从连续音频样本中截取有声片段,接着对有声片段采用多尺度子带滤波器组滤波处理,然后对滤波后的样本进行起点校准和变尺度分帧,并对各个子带输出提取短时能量和能量比特征,得到能够充分表征膛口波和非膛口波时频域差异的参数化特征,最后利用SVM进行分类识别。

结合图1和图2,本实施例中基于多尺度子带能量集特征的膛口波识别方法,具体步骤为:

步骤1、对连续音频数据进行基于高斯混合模型的分段,截取全频带有声片段。本实施例外场录制的典型枪声信号如图2所示,枪支射击后首先采集到马赫波,由地形因素产生的若干反射波紧随其后,最后采集到的膛口波已经几乎被淹没在多个反射波之中,且能量受距离限制弱于马赫波反射信号,波形也由于多径传播影响易发生畸变。首先将外场实录的连续音频数据进行分片、加窗及短时傅里叶变换,随后基于高斯混合模型的自动分段算法,利用含有两个高斯分量的高斯混合模型对样本中的片段对数能量分布进行建模,分别表征有声片段和环境噪声片段,从而完成对音频数据的截取。数据中包含若干膛口波、马赫波、地面反射以及非枪声,如说话声、风声和警报声等。通过基于GMM的自动分段算法后,可获得膛口波有效片段373个,马赫波有效片段31个,非枪声有效片段468个。考虑到本实施例的研究目的是识别枪声中的膛口波,可将上述所有片段划分为膛口波片段和非膛口波片段两类,其中膛口波片段373个,非膛口波片段499个,共872个片段。

步骤2、将自动分段后得到的有声片段通过多尺度子带滤波器组进行滤波处理,将全频带有声片段X0分别通过中心频率为300Hz、900Hz、1.4kHz、1.8kHz的子带滤波器FB1,FB2,FB3,FB4,获得相应的子带有声片段X1,X2,X3,X4。

步骤3、对步骤1截取的全频带有声片段和步骤2中滤波后的子带有声片段进行起点对齐;考虑到滤波器的群延迟特性,基于传统语音端点检测方法(VAD),对步骤1截取的有声片段和步骤2中滤波后的片段进行能量检测和幅度谱峰搜索,通过能量阈值确定起始点搜索范围,通过幅度阈值确定起始点具体位置,从而实现膛口波对齐,具体内容为:

步骤3-1、将步骤2-1中得到的FB1滤波后的子带有声片段X1进行等间距分段,每段长为0.5ms,重叠50%;

步骤3-2、根据公式计算每段能量,找出能量最大值max(En)和能量最小值min(En);

步骤3-3、根据步骤3-2得到的能量最大值max(En)和能量最小值min(En)设定自适应阈值,当连续3段信号能量超过阈值Threshold,将这3段中的第一段标记为起始段,其中,阈值计算公式如下:

Threshold=min(En)+τ×(max(En)-min(En))

式中,τ为常数,本实施例中τ=0.016;

步骤3-4、将步骤1-2中得到的全频带有声片段和步骤2-1中滤波后的4个子带有声片段从起始段位置向前移动三段的长度进行幅值谱峰搜索,找到第一个波峰位置,并将该波峰位置记为起始点;

步骤3-5、根据4个子带滤波器在各自中心频率的群延迟特性,分别延迟偏移量,对齐有声片段的时间起点。

步骤4、将步骤3经过起点对齐的5组有声片段进行变尺度分帧和特征提取。对子带滤波器组的输出片段起点对齐后采用了变尺度分帧方法,提取对齐的时间起点开始之前5帧,然后针对5帧分别提取能够充分表征膛口波和非膛口波时频域差异的短时能量特征和短时能量比特征。具体内容为:

将经过步骤3对齐后的有声片段进行变尺度分帧,提取对齐的时间起点开始之前5帧,5帧的长度分别为:0.125ms,0.375ms,0.875ms,1.875ms以及3.875ms。

步骤4-2、对上述5帧分别提取短时能量作为特征,记第m个子带片段第n帧的短时能量为:

其中,m=1,2,3,4,为子带片段的序号;n=1,2,3,4,5,为对应每帧的序号;N为帧长,为帧中单个样本点的幅值,则全频带有声片段和子带有声片段所得短时能量特征向量为:

步骤4-3、提取短时能量比特征,具体而言,短时能量比定义为子带滤波器组输出片段X1,X2,X3,X4的短时能量与原始有声片段X0短时能量之比:

其中,m′=1,2,3,4,为子带片段的序号;n=1,2,3,4,5,为对应每帧的序号。经过上式得到的4组子带滤波后片段与原始片段的短时能量比特征向量为:

步骤4-4、将得到的短时能量特征和能量比特征重新拼接,得到能够充分表征膛口波和非膛口波时频域差异的能量集特征,每个有声片段的多尺度子带能量集特征向量MS示为:

其中,向量维度为9×5=45。

针对包括373个膛口波片段和499个非膛口波片段的有声片段依据上述步骤提取多尺度子带能量集特征,构成872×45维特征矩阵。

步骤5、根据步骤4提取出的多尺度子带能量集特征进行膛口波分类,本实施例中利用C++中的libsvm库建模SVM,选用径向基核函数(Radial Basis Function,RBF),并采用默认方式设置惩罚因子c和核参数g。并采用查准率(precision)、查全率(recall)、F1度量和AUC(Area Under ROC Curve)等评价指标进行性能评估,定义分别如下:

AUC=ΔSROC

其中TP为真正例,即正样本被正确分类的个数,FP和FN分别为假正例和假反例,分别表示正样本和负样本被错误分类的个数。F1是基于Precision和Recall的加权调和平均。AUC定义为ROC曲线的线下面积。

本实施例进行了100次物种分类实验,每次实验采用无放回方式从每类物种中随机抽取60%样本(实验中每个片段对应特征向量称为一个样本)作为总体训练集,余下每类40%样本共同组成总体测试集,并对测试集的分类结果进行性能评估。表1给出了100次膛口波识别实验的各类平均查准率、查全率F1度量以及AUC结果,由表中结果可知,膛口波识别的各类平均查准率、查全率以及F1度量均不低于94%,说明本发明方法性能良好,适用于复杂环境下的枪声识别问题。

表1

本实施例以外场实测数据为基础,采用基于高斯混合模型的自动分段算法从连续音频样本中截取有声片段,并对有声片段采用多尺度子带滤波器组滤波处理,然后对滤波后的样本进行起点校准和变尺度分帧,并对各个子带输出提取短时能量和能量比特征,得到能够充分表征膛口波和非膛口波时频域差异的参数化特征,最后基于机器学习的方法进行膛口波的分类识别。通过本发明的方法,可以有效识别复杂环境下的枪声。因此,本发明可用于危险声音的自动监控或者作为距离定位、来向估计和口径识别等后续工作的基础,在公共安全、野外生态保护、法医鉴定等领域具有重要意义。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1