Page 219 - 《应用声学)》2023年第5期
P. 219
第 42 卷 第 5 期 侯晓飞等: 基于子频带能量特征提取的汽车鸣笛声识别 1111
选择鸣笛声样本数量 20 个,道路噪声、鸟鸣声 的神经元个数为 8 个,对应输出的类别有 8 种可能
和犬吠声样本各 10 个,利用子频带能量特征提取 性,即输出设置8 种对应的标签。本文以上述8种车
后进行鸣笛声的识别。图 5 为鸣笛声与非鸣笛声的 型各 20 条样本分为训练组 15 条和测试组 5 条对设
识别结果。识别率为采集的鸣笛声信号特征矩阵 计的神经网络进行准确性实验验证。
与训练好的纯净的鸣笛声信号特征矩阵的商值,如 首先训练组样本提取子频带能量特征点后输
式 (10)所示: 入到 BP 神经网络进行学习训练,并将学习好的神
经网络保存。然后将测试组样本进行测试,验证神
S c
R = , (10)
经网络的准确性,验证结果如图 6 所示。识别率是
P c
式 (10) 中,R 为识别率;S c 为提取的实际采集的鸣 每种车型测试组样本提取的特征值与神经网络训
笛声信号的子频带能量特征值矩阵;P c 为神经网络 练好的学习组样本对应的特征值的比。
训练好的纯净鸣笛声的特征值矩阵。 实验结果表明,利用子频带能量特征提取方法
可以实现对不同种鸣笛声的识别与分类,平均识别
Test: R=0.94889
ྲढ़ག 率可达93.626%。
0.6 రమᣥѣ
ᣥѣᣥКϙጳ 在学习训练过程中利用改进可变学习速率的
BP 神经网络同固定学习速率的神经网络进行迭代
0.4
次数的比较,迭代次数如表1所示。
ᣥѣྲढ़ϙ 0.2 0 Table 1 Comparison of iterations
迭代次数比较
表 1
-0.2
改进前迭代次数 改进后迭代次数
-0.4 福特汽车鸣笛声 258 207
丰田汽车鸣笛声 301 255
-0.4 -0.2 0 0.2 0.4 0.6
别克汽车鸣笛声 289 223
ᣥКྲढ़ϙ
大众汽车鸣笛声 365 287
图 5 鸣笛声识别率
比亚迪汽车鸣笛声 248 189
Fig. 5 Recognition rate of car whistles
吉利汽车鸣笛声 253 217
图 5 实验结果表明,利用子频带能量特征提取 东风悦达汽车鸣笛声 244 163
的方法可将鸣笛声与非鸣笛声进行识别,识别率 本田汽车鸣笛声 278 224
可高达94.889%。与文献[1]中利用双门限检测与频 可以看出利用改进的可变学习速率的神经网
谱间隔进行笛声识别的方法相比,本文实现了鸣笛 络进行鸣笛声分类识别时,神经网络的迭代次数明
声与非鸣笛声之间的准确识别。与文献 [3] 中利用 显减少,提高了神经网络的学习效率。
MFCC 特征提取方法相比,本文所提出的特征提取
2.3 鸣笛声识别实验
方法,完成了鸣笛声与非鸣笛声之间的识别,并对不
判断为汽车鸣笛声之后,将不同类型的鸣笛声
同鸣笛声进行分类,使平均识别分类正确率达到了
进行区分,以达到对鸣笛车辆进行辅助判断的目的。
89.718%以上。
图 7 为鸣笛声分类的实验场景。在不同的位置通过
2.2 神经网络验证实验 STM32 控制器开发的系统控制微型传声器采集鸣
本文构建 3 层 BP 神经网络进行鸣笛声的识别 笛声信号,并通过功率放大器将信号放大,采样频率
分类,学习训练之前需配置每一层的参数。通过子 为10 kHz。
频带能量特征提取获得的鸣笛声声频的 32 维特征 进一步将上述 8 种车型的其他鸣笛声信号共
向量参数,作为输入层的输入参数。隐含层的神经 160 条样本进行识别分类鸣笛声的实验。在本节中
元个数为 12 个,神经元激活函数为 tansig 函数。本 定义识别正确率为样本的准确识别个数与识别总
文对 8 种车型鸣笛声进行了实验研究,因此输出层 个数的比值。实验结果如表2所示。