行车噪声环境下快速声学事件的检测方法
【技术领域】
[0001] 本发明属于无人车声学事件检测领域。
【背景技术】
[0002] 无人车研宄的核心内容之一是智能行为决策,而智能行为决策的前提则是其行驶 过程中对周边环境的自动感知。感知环境信息的手段可以有多种,其中视听觉信息的自动 感知在无人车的行驶中起着重要的作用,但是外部世界与无人车间的很多交互信息还有很 多是基于声音的,如各种车辆提示避让的鸣笛声,警车和救护车的警笛声、铁路道口的警笛 声等,感知周围这些基于声音的交互信息,并做出正确的智能决策对无人车而言至关重要。
【发明内容】
[0003] 本发明的目的是为了解决现有无人车无法感知周围环境声音的问题,本发明提供 一种行车噪声环境下快速声学事件的检测方法。
[0004] 本发明的行车噪声环境下快速声学事件的检测方法,
[0005] 所述方法包括如下步骤:
[0006] 步骤一:在训练阶段,将各种目标声学事件的音频信号和行车噪声信号作为训练 数据,对每个声学事件的音频信号进行特征截取,并进行相应的标注;
[0007] 步骤二:根据截取的特征,提取每个目标声学事件的MFCC系数,所述特征为仅包 含声学事件的音频片段;
[0008] 步骤三:根据提取的MFCC系数,采用两两比对的多类分类策略,使用SVMLIB工具 包为每个目标声学事件建立一个SVM模型;
[0009] 步骤四:对行车噪声信号进行快速傅里叶变换,获得行车噪声的低频子带与高频 子带能量,根据获得的各子带能量训练BPNN噪声模型;
[0010] 步骤五:在识别阶段,对行车噪声环境下实时采集的待检测目标声学事件的音频 信号进行过滤,滤除与目标声学事件无关的音频片段;
[0011] 步骤六:利用步骤四获得BPNN噪声模型,对过滤后的音频信号进行降噪和增强;
[0012] 步骤七:对步骤六中降噪和增强后的音频信号提取MFCC系数,根据提取的MFCC系 数,采用步骤三获得的SVM模型进行分类识别,获得待检测目标声学事件的类别;
[0013] 步骤八:在步骤七确定类别的声学事件中,对鸣笛事件进行基于时序和方位的综 合分析,获得相应的笛语序列编码,根据获得的笛语序列编码,对当前的鸣笛序列库进行检 索,确定对应的笛语信息。
[0014] 步骤五中,对行车噪声环境下实时采集的待检测目标声学事件的音频信号进行过 滤,滤除与目标声学事件无关的音频片段的方法:
[0015] 对行车噪声环境下实时采集的音频信号进行基音周期的提取,根据提取到的基音 周期,判断是否是目标声学事件,若不是,则过滤掉,若是,则保留。
[0016] 所述步骤六,利用步骤四获得BPNN噪声模型,对过滤后的音频信号进行降噪和增 强的方法为:
[0017] 使用步骤四获得BPNN噪声模型对过滤后的音频信号的高频噪声进行预测,使用 子带谱减法对过滤后的音频信号的高频部分进行降噪和增强处理。
[0018] 步骤七,对步骤六中降噪和增强后的音频信号提取MFCC系数的方法为:
[0019] 使用LPC谱估计的方法提取步骤五过滤后的音频信号的数据帧的共振峰的频谱 分布及能量大小,使用模拟耳蜗基底膜的频率选择增益的函数,对Mel滤波器组进行加权;
[0020] 通过加权后的Mel滤波器组对步骤六中降噪和增强后的目标声学事件提取MFCC 系数。
[0021] 所述频率选择增益的函数为:
[0023] 式中:
[0024] 获得的频谱分布中,子带个数为B,i = 1,2, "·,Β,k个共振峰,j = 1,2, "·,1?,Mi 表示第i个子带的频率中心,Li表示第i个子带的宽度;
[0025] 匕表示第j个共振峰的所在的频率,P ^表示第j个共振峰的振幅;
[0026] Indicator(MpI^Fj)为示性函数,如果共振峰Fj在以Mi为中心,以L $宽度的 Mel子带中,则返回1,否则返回0。
[0027] 本发明的有益效果在于,本发明可以准确的检测出无人车在行驶环境下,周围车 辆的鸣笛等目标声学事件,并且在噪声环境下也有较准确的检出率和较低的误识率。实现 了行车噪声环境下的快速声学事件检测,对噪声有一定的鲁棒性。
【附图说明】
[0028] 图1为【具体实施方式】一中在识别阶段的原理示意图。
[0029] 图2为行车噪声的低频子带与高频子带能量的原理示意图,FL为频率长度,Ms为 中心频率,η为帧序号。
[0030] 图3为图2中低频子带与高频子带之间的KL散度的示意图。
[0031] 图4为鸣笛声学事件的频谱图以及鸣笛的频域信号示意图。
[0032] 图5为图4中鸣笛声学事件的共振峰信息加权前后的Mel滤波器组的频率示意 图。
【具体实施方式】
【具体实施方式】 [0033] 一:结合图1说明本实施方式,本实施方式所述的行车噪声环境下 快速声学事件的检测方法,
[0034] 所述方法包括如下步骤:
[0035] 在训练阶段:
[0036] (1)利用在不同车辆中的车载麦克风阵列录音系统,采集各种目标声学事件的音 频信号和行车噪声信号(例如,颠簸、会车、风噪、发动机的振动声等),将各种目标声学事 件的音频信号和行车噪声信号作为训练数据,对每个声学事件的音频信号进行特征截取, 并进行相应的标注;
[0037] (2)根据截取的特征,提取每个目标声学事件的MFCC系数,所述特征为仅包含声 学事件的音频片段;
[0038] (3)根据提取的MFCC系数,采用两两比对的多类分类策略,使用SVMLIB工具包为 每个目标声学事件建立一个SVM模型;
[0039] (4)对行车噪声信号进行快速傅里叶变换,获得行车噪声的低频子带与高频子带 能量,根据获得的能量训练BPNN噪声模型;
[0040] 所述(4)需要建立低频子带能量与高频子带能量的之间的关系;首先对Mel频域 进行频域子带的划分,划分方式如图2所示,通过对低频子带与高频子带之间的KL散度进 行计算,KL散度分布如图3所示,验证了可以用低频子带能量来预测高频子带能量的方案, 使用传统的BPNN模型进行训练。
[0041] 结合图1,在识别阶段:
[0042] (1)利用无人车内的麦克风阵列录音系统实时采集到所有的声音信号,首先进行 对采集的声音信号进行预处理,预处理包括预加重、分帧、加窗和FFT变换;
[0043] (2)对预处理后的信号进行基音周期的提取,根据提取到的基音周期,判断是否是 目标声学事件,若不是,则过滤掉,若是,则保留