一种基于卷积神经网络的汽车鸣笛识别方法与流程

文档序号:18458001发布日期:2019-08-17 01:46阅读:229来源:国知局
一种基于卷积神经网络的汽车鸣笛识别方法与流程
本发明属于信号处理领域,涉及神经网络、声信号处理识别等理论。
背景技术
:通过云、大数据和人工智能方法来提升城市舒适度与便捷度,推动城市建设,智慧城市成为当今世界城市发展不可逆转的历史潮流。智慧城市建设过程中,治理机动车乱鸣喇叭是十分重要的一环,违法鸣笛不仅影响了道路周围市民的正常生活,也为文明城市建设制造了不和谐的噪声。各地交警部门投入了大量精力来整治汽车违法鸣笛问题,但治理效果差强人意。究其原因是由于交警部门查处违法鸣笛的方式主要是人工辨别,在嘈杂的马路上人工辨别的难度较大,采样取证更为困难,加大了交警的执法难度,很难取得理想的效果。传统的声音识别算法一般有动态时间规整技术、支持向量机、高斯混合模型以及隐马尔可夫模型等。但是这些识别模型都只是一种符号化系统,降低了建模的能力,因此在实际环境中对不同质量的声音信号的识别性能将会大幅下降。人工神经网络是20世纪80年代以来人工智能领域兴起的研究热点。随着人工神经网络的研究工作不断深入,目前已经取得了很大的进展。将神经网络应用于声音信号的处理,可以解决高维空间和非线性模式等方面的识别问题,适用于对多个信号、特征量维数多的复杂声音的识别。近年来大规模标记数据的出现和gpu计算性能的快速提高使得卷积神经网络在实际环境中应用成为可能。技术实现要素:为了克服现有技术的不足,本发明提供一种基于卷积神经网络的汽车鸣笛识别方法,通过空气声呐传感器接收空气中的声音信号,采集大量汽车鸣笛声音和环境背景噪声,通过短时傅里叶变换产生声音信号的声谱图,将变换后的声谱图矩阵分为训练集和验证集输入卷积神经网络进行训练,结合卷积神经网络参数调整,使得基于训练集和验证集的效果达到最佳。最终将待识别声音输入卷积神经网络给出判别结果。本发明解决其技术问题所采用的技术方案包括以下步骤:第一步,采用空气声呐传感器接收多径环境下的声源信号;第二步,对采集到的声源信号进行高通滤波;第三步,对高通滤波后的信号进行短时傅里叶变换;第四步,将第三步处理后得到的数据划分为训练集、验证集和测试集;第五步,构建卷积神经网络并进行训练优化;第六步,将测试集中的数据输入优化后的卷积神经网络,得到识别结果。所述的第二步采用巴特沃斯滤波器对采集到的声源信号进行高通滤波。所述的第三步采用汉宁窗进行信号截取,对高通滤波后的信号进行短时傅里叶变换。所述的第四步采用的划分方法包括留出法、交叉验证法和自助法。所述的第五步,构建卷积神经网络并对超参数进行训练优化,所述的超参数包括学习率、批次大小、迭代次数、卷积核尺寸、步长和激活函数。本发明的有益效果是:能够准确识别马路上的鸣笛声音,并记录相应车辆鸣笛声音信号,通过摄像头进行图像获取,辅助交警部门执法取证,解决交警治理违法鸣笛事件执法难、取证更难的痛点。基于卷积神经网络的汽车鸣笛识别方法不仅可以使用大量的训练数据来训练模型,并且比传统机器学习算法具有更好的鲁棒性。因此本发明可以有效降低违法鸣笛频率,治理汽车鸣笛噪声污染,对于智慧城市的建设具有深远意义。本发明采用较为成熟同时广泛使用的卷积神经网络,成功的将人工智能技术应用在了智能交通领域,推动了该技术在安防、监控等领域的应用与发展。附图说明图1是本发明的方法流程图。具体实施方式下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。对传统方法声音识别率低的问题,本发明提出了一种基于卷积神经网络的汽车鸣笛识别方法,主要步骤如下:第一步:空气声呐传感器接收信号假设在一个多径环境下存在n个声传感器阵元接收声信号,声源信号为正弦信号s,阵列接收信号x的矢量表达式为:x(t)=h(t)*s(t)+n(t)(1)式中,h(t)表示n维的多途信道冲击响应向量,n(t)为n维接收噪声向量,*表示卷积运算,t为时间变量。第二步:高通滤波巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。巴特沃斯低通滤波器可用如下振幅的平方对频率的公式表示:式中,其中,n=滤波器的阶数,ωc为截止频率同时也是振幅下降3分贝时的频率。设计巴特沃斯高通滤波器可先将要设计的技术指标通过某种频率转换关系转换成模拟低通滤波器的技术指标,并依据这些技术指标设计出低通滤波器的转移函数,然后在依据频率转换关系变成所要设计的滤波器的转移函数。通过高通滤波之后可以去除低频成分的噪声,提高识别效果。第三步:短时傅里叶变换短时傅里叶变换是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。其基本思想是把非平稳过程看成是一系列短时平稳信号的叠加,短时性可通过在时间上加窗实现。短时傅里叶变换可以表示为:式中x(t)代表信号,w(t)为窗函数。为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截断,截断函数称为窗函数,简称为窗。一般来说,短窗能够提供较好的时域解析度,长窗能够提供较好的频域解析度。常用的窗有矩形窗、汉宁窗、海明窗、高斯窗等。汉宁窗主瓣加宽并降低,旁瓣则显著减小,从而使旁瓣互相抵消,消去高频干扰和漏能。汉宁窗表达式:第四步:划分训练集、验证集、测试集从采集的数据中学习模型的过程称为训练,训练过程中使用的数据称为训练数据,所有的训练数据组成了训练集。在模型的反复训练和评估中测试使用的数据集常常称为验证集,来辅助确定最终的模型。确定最终的学习模型后进行预测的过程所使用的数据集称为测试集,并且测试集应当尽量与训练集互斥。对原始数据进行三个数据集的划分,目的是希望学得的模型很好的预测新数据,防止在训练集过拟合,具有更强的泛化能力。常用的划分方法有留出法、交叉验证法和自助法等。留出法:直接将数据集划分为两个互斥的集合,其中一个集合作为训练集,另外一个作为测试集。交叉验证:可将数据集分割成k个子样本,一个单独的子样本被保留作为验证模型的数据,其他k-1个样本用来训练。交叉验证重复k次,每个子样本验证一次,平均k次的结果或者使用其它结合方式,以此来做为评价分类器的性能指标。自助法:每次从数据集d中有放回地采一个样本,并将这个样本放入训练集s中,共重复m次,此时训练集共有m个样本,而测试集t则为d\s。第五步:构建卷积神经网络卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络能够进行平移不变分类,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化特征,擅长处理图像特别是大图像的相关机器学习问题。卷积网络通过一系列方法,成功将数据量庞大的图像识别问题不断降维,最终使其能够被训练。卷积层:卷积层的功能是对输入数据进行特征提取,其内部包含多个卷积核。卷积核的工作原理类似于滤波器,卷积核在工作的时候,会对核内输入特征元素进行卷积操作,然后依次扫过其余特征元素。卷积层的参数包括卷积核的尺寸、移动的步长以及填充方式,三者决定了输出卷积特征的尺寸。激励函数操作通常在卷积核之后,通过引入非线性函数作为激励函数,增强深层神经网络表达复杂特征的能力。整个卷积的过程可以用下式表示:式中yi表示卷积操作之后的特征矩阵,xi表示输入的特征矩阵,wi式权重矩阵,bi表示偏置项,fc()表示卷积层激活函数,表示卷积操作。池化层:输入特征经过卷积进行特征提取后,输出的特征图会被传递至池化层进行特征选择和信息过滤,也就是下采样。最常见的池化操作为平均池化和最大池化。平均池化计算图像区域的平均值作为该区域池化后的值,最大池化选图像区域的最大值作为该区域池化后的值。池化层选取池化区域与卷积核扫描特征图步骤相同。池化的过程可以用下式表示:yi=βidown(xi)+bi(6)式中,down()表示将xi进行采样操作,即上述池化操作;βi表示乘偏置,bi表示偏置项。全连接层:卷积神经网络中的全连接层等价于传统前馈神经网络中的隐含层。全连接层通常搭建在卷积神经网络隐含层的最后部分,并只向其它全连接层传递信号。全连接层之后接输出层,对于分类问题,输出层使用逻辑函数或归一化指数函数输出分类标签。第六步:训练优化神经网络模型在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。在深度神经网络中,超参数的调整非常重要,通过观察在训练过程中的监测指标如损失和准确率来判断当前模型处于什么样的训练状态,及时调整超参数以更科学地训练模型能够提高资源利用率。相应的超参数有学习率、批次大小、迭代次数还有卷积核尺寸、步长、激活函数等等。第七步:实现声音识别分类将待测数经过处理变成卷积神经网络的输入格式,经过训练优化好的卷积神经网络模型经过卷积池化等操作给出分类结果。本发明的卷积神经网络特征提取流程表1所示。表1卷积神经网络特征提取流程网络特征尺寸输入257*81*1卷积层1257*81*32池化层1257*16*32卷积层2257*16*64池化层2257*4*64卷积层3257*4*96池化层3257*2*96卷积层4257*2*128池化层4257*1*128全连接层1024全连接层2本发明的实施例包括以下步骤:第一步:空气声呐传感器接收信号假设在一个多径环境下存在n个声传感器阵元接收声信号,声源信号为正弦信号s,阵列接收信号x的矢量表达式为:x(t)=h(t)*s(t)+n(t)(7)式中,h(t)表示n维的多途信道冲击响应向量,n(t)为n维接收噪声向量,*表示卷积运算,t为时间变量。第二步:高通滤波确定通带截止频率为400hz,使用二阶巴特沃斯滤波器,通过双线性变换推导出数字巴特沃斯高通滤波器。将接收到的声音数据经过二阶巴特沃斯高通滤波器得到滤波后的声音数据,将声音数据均保存为长度1秒的声音文件。第三步:短时傅里叶变换对声音数据进行短时傅里叶变换得到声音数据的时频谱,之后进行幅度归一化得到最终的时频谱并保存成矩阵文件。相应短时傅里叶变换的参数如表1所示:表2短时傅里叶变换参数信号时长(s)1采样频率(hz)20480傅里叶变换点数512加窗类型汉宁窗长度512重叠率50%第四步:划分训练集测试集自助法在数据集较小、难以有效划分训练/测试集时比较有用。然而自助法产生的测试集改变了初始数据集的分布,这会引入误差,因此在数据集比较大时,采用留出法和交叉验证法较好。本实施例采用比较简单的留出法,将数据集d划分为训练集s和测试集t,即d=s∪td=s∪t,在s上训练出模型后,用t来评估其误差。需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入的额外的偏差而对最终结果产生影响。如果训练集的比例比较大,可能会导致训练出的模型更接近于用d训练出的模型,同时t较小,评价结果又不够准确;若t的比例比较大,则有可能导致评估的模型与之前有较大的差别,从而降低了评估的保真性。本实施例先将数据集随机打乱,然后选择70%的数据集作为训练集,20%数据作为验证集,10%数据作为测试集。第五步:构建卷积神经网络构建拥有4层卷积层,4层池化层,2层全连接层的卷积神经网络。相应层的参数如表3所示:表3卷积神经网络参数第一层全连接层拥有1024个节点,使用激活函数为relu,dropout函数中keep_pro为0.6。第二层全连接层为输出层,2个输出节点给出分类概率。第六步:训练优化神经网络模型经过超参数的调整,取得最优模型相应的超参数值如表4所示:表4卷积神经网络超参数名称取值学习速率0.001正则化方式l2批次大小16循环周期50模型训练过程中使用的评判标准为auc以及正确率。fn:falsenegative,判定为负样本,实际是正样本。fp:falsepositive,判定为正样本,实际是负样本。tn:truenegative,判定为负样本,实际是负样本。tp:truepositive,判定为正样本,实际是正样本。正确率:正确率是我们最常见的评价指标,正确率=tp/(tp+fp),就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好auc(areaundercurve)即为roc曲线下的面积。auc越接近于1,分类器性能越好。roc曲线:横坐标:假正率(falsepositiverate,fpr),fpr=fp/(fp+tn),代表所有负样本中错误预测为正样本的概率,假警报率;纵坐标:真正率(truepositiverate,tpr),tpr=tp/(tp+fn),代表所有正样本中预测正确的概率,命中率。第七步:实现声音识别分类利用训练好的卷积神经网络模型进行声音识别分类。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1