一种基于子带谱熵法和PSO-GA-SVM的汽车鸣笛识别方法
文献发布时间:2023-06-19 12:05:39
技术领域
本发明涉及一种汽车鸣笛识别方法,具体涉及一种基于子带谱熵法和PSO-GA-SVM的汽车鸣笛识别方法,属于信号处理技术领域。
背景技术
近年来,交通噪声的关注度日益增长。鸣笛噪声是交通噪声的主要组成成分,汽车在禁鸣区违章鸣笛,会严重影响他人的生活、学习与工作。为了遏制违章鸣笛,鸣笛抓拍系统应运而生。鸣笛抓拍系统会实时检测当前的声压级,当声压级超过一定阈值时,系统启动,通过远场波束形成技术定位声源的位置并进行音视频记录。然而交通环境中声源情况非常复杂,有很多非鸣笛声也能触发鸣笛抓拍系统的阈值,只依靠声压级触发门限会出现较多误判的情况。这也是目前鸣笛抓拍系统应用较少的主要原因。因此,对鸣笛抓拍系统采集的样本进行鸣笛与非鸣笛的分类是非常有必要的。
在汽车鸣笛识别方面,目前已有许多学者进行了研究,较为常用的方法主要分为以下两类:1)阈值判断,如短时能量和短时过零率法等。该方法将特征值高于或低于一定门限的声音样本直接进行分类,其分类效果主要取决于特征和阈值的选取;2)机器学习,如卷积神经网络、隐马尔科夫模型等。该方法首先对样本提取特征,通过训练一定数量的样本得到一个模型,再通过采集的样本是否与模型相匹配来进行分类。进行阈值判断时,阈值的设置会直接影响分类结果的准确性,然而交通环境中声源情况非常复杂,会给阈值设置带来较大阻碍。机器学习虽然准确率较高,但对模型有比较高的要求。如果实测的鸣笛样本中含有较多噪声,也会对分类准确率产生很大影响。因此,现有技术中一直没有很好的解决办法。
发明内容
本发明正是针对现有技术中存在的问题,提供一种基于子带谱熵法和PSO-GA-SVM的汽车鸣笛识别方法,该技术方案针对鸣笛抓拍系统会产生误判的问题,提出了一种基于子带谱熵法和支持向量机的汽车鸣笛识别算法,该方法首先使用子带谱熵法对声音样本进行初判,将子带谱熵高于阈值的样本直接判定为非鸣笛样本。然后对初判为鸣笛的样本中的疑似鸣笛部分进行分割,并提取Mel频率倒谱系数作为声音的特征。最后使用支持向量机对分割结果进行进一步分类,并使用粒子群算法与遗传算法的融合来优化支持向量机的参数。仿真结果表明,该算法具有较好的鲁棒性。在对实际采集样本的鸣笛识别中,该算法也取得了较高的准确率。
为了实现上述目的,本发明的技术方案如下,一种基于子带谱熵法和PSO-GA-SVM的汽车鸣笛识别方法,所述方法包括以下步骤:
步骤1:对采集的声音样本进行预处理:
步骤2:子带谱熵法处理;
步骤3:PSO-GA-SVM算法处理,进行分类。
其中,步骤1:对采集的声音样本进行预处理,具体如下:带通滤波、预加重、分帧、加窗,一般汽车鸣笛的频率分布在1500-6000Hz。为了保留汽车鸣笛的主要特征并去除噪声的干扰,首先对声音样本进行1500-6000Hz的带通滤波。
预加重是一个一阶高通滤波器,用一阶FIR滤波器表示为:
s′(n)=s(n)-as(n-1) (1)
- 一种基于子带谱熵法和PSO-GA-SVM的汽车鸣笛识别方法
- 一种基于子带谱熵法和深度卷积神经网络的汽车鸣笛识别方法