一种基于卷积神经网络的鸣笛车辆判定方法
文献发布时间:2023-06-19 11:14:36
技术领域
本发明属于新型交叉学科技术领域,具体涉及基于卷积神经网络的鸣笛车辆判定方法。
背景技术
目前,机动车的数量日益增加,汽车鸣笛作为声音噪声的一种,影响着人们的生产生活。因此,为了减少鸣笛噪声污染,设置了禁止鸣笛区域,通过对该区域的声音监测,当有车辆在该区域鸣笛时,将会得到该时刻的声云图,由于音频定位和图像定位以及坐标系转化之间都存在一定的误差,因此部分鸣笛车辆存在误报漏报的情况。现有的技术框架受限于此导致漏报率无法做到很低,需要研发一种新的判定方法来解决现有的问题。
发明内容
本发明的目的在于提供一种基于卷积神经网络的鸣笛车辆判定方法,以解决鸣笛车辆漏报率很高的问题。
为实现上述目的,本发明提供如下技术方案:一种基于卷积神经网络的鸣笛车辆判定方法,包括以下步骤:
步骤1、生成图像:通过声源技术生成鸣笛产生的那一帧视频带有声云图的截图;
步骤2、数据预处理:将训练数据集先进行划分为正负样本集,对声云图进行图像预处理,得到图像张量;
步骤3、模型训练:把图像张量输入到训练模型中,训练时将训练数据按4:1的比例分为训练集和测试集,再将训练集输入卷积神经网络模型中进行监督训练,保存在验证集上表现最好的一个模型,形成训练好的卷积神经网络模型。
步骤4、测试阶段:将测试样本经过步骤2的数据预处理方式得到的图像输入到训练好的卷积神经网络模型中,判断出此条数据是否为鸣笛车辆。
优选的,所述步骤2中图像预处理的方法包括:
S1、将截图进行图形处理,包括对图像旋转、图像裁剪、图像张量转化、图像归一化操作;
S2、将处理完的图像输入到卷积神经网络中的卷积层进行特征提取;
S3、接着将得到的特征图送入到卷积中的池化层进行特征的进一步采样;
S4、重复S2、S3从而得到高层次的图像特征。
优选的,所述声源定位技术采用波束形方法、高分辨率谱分析方法或者TDOA的定位方法中的任意一种。
优选的,所述波束形成方法为将阵列中各个传感器所采集到的信号进行滤波、加权叠加后形成波束,再扫描整个接收空间,对一个平面的声压分布进行成像可视化。
优选的,所述步骤3中,训练时,卷积核和权重采用Glorot均匀初始化,偏置采用全0初始化。
优选的,所述训练时,采用优化器进行网络参数的更新,并利用正则化防止模型过拟合,当网络迭代次数达到预设的迭代次数或验证集上的识别精度长时间没有提高时,训练停止并保存训练好的卷积神经网络模型。
优选的,所述卷积神经网络的包括:五个卷积层、五个最大池化层和两个全连接层。
优选的,五个所述卷积层后都会接一个最大池化层;五个卷积层的卷积核数量分别为32、64、128、64、32;激活函数为relu;四个最大池化层的卷积核尺寸为2x2,填充方式为补0;全连接层分别为32个节点和1个节点,激活函数为relu;最后一个全连接层的节点数为鸣笛车辆。
本发明的技术效果和优点:该基于卷积神经网络的鸣笛车辆判定方法,使用简单,准确率高,通过波束形成方法鲁棒性较强,不需要先验知识,使用简单直观,同时图像预处理的目的是方便模型和框架进行数据加载,也增强了数据集的泛化能力。
附图说明
图1为本发明的流程图;
图2为本发明鸣笛车辆正确定位情况示意图;
图3为本发明鸣笛车辆误报情况示意图;
图4为本发明机器判定模型训练loss下降图;
图5为本发明机器判定模型验证集准确率图;
图6为本发明机器判定模型卷积抽取特征图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1-6中所示的一种基于卷积神经网络的鸣笛车辆判定方法,通过一种多摄像头单麦克风阵列汽车鸣笛检测设备和声源定位技术生成鸣笛产生的那一帧视频带有声云图的截图,将得到的带有声云图的截图作为数据集,并按4:1的比例将数据集划分为训练集和测试集,然后,对训练集和测试集中的数据进行预处理,将处理好后的训练数据用于模型训练,保存在测试集上表现最好的模型;
上述声源定位技术采用波束形成方法,波束形成方法通过将阵列中各个传感器所采集到的信号进行滤波、加权叠加后形成波束,扫描整个接收空间,对一个平面的声压分布进行成像可视化,波束形成方法鲁棒性较强,不需要先验知识,使用简单直观,因此这类设备也被形象的称为声学照相机;
上述处理带有声云图的图像特征主要有以下步骤:
1、将图像进行一些图形学上的处理,包括旋转、裁剪、缩放等;
2、将处理完的图像输入到卷积神经网络中的卷积层进行特征提取;
3、接着将得到的特征图送入到卷积中的池化层进行特征的进一步采样;
4、重复上述2、3步骤得到高层次的图像特征;
基于卷积神经网络的鸣笛车辆判定方法具体包括如下步骤:
步骤1、数据预处理:将训练数据集先进行划分为正负样本集,接着对原始带有声云图的图片进行图像预处理,包括图像旋转、图像裁剪、图像张量转化、图像归一化操作;
本实施例中,图像旋转的处理方法,是对图像做按照一定的角度进行旋转;通过对context设置不同的transform来完成相应旋转,以基于context的坐标原点,将图片的宽度设为W,高度设为H,将context进行平移,将原点移动到原图的中心位置,x,y方向的平移距离分别为W/2,H/2;对context进行旋转操作,再将旋转后的图像的中心点重新移回原图的中心点,即x,y方向的平移距离分别是-W/2,-H/2;
图像裁剪的处理方法,去除无关的图像区域,抠出需要保留的信息,通过给定的点集确定出整个裁剪区域的尺寸和位置CR,目标画布的大小和裁剪区域的左上角的位置,创建目标大小的画布,在目标画布中开启一个path,然后添加所有点到path中,通过该path设置裁剪区域,指定rect为(-CR.origin.x,-CR.origin.x,CR.size.W,CR.size.H),从画布中获取目标图像;
图像缩放的处理是对图片的尺寸缩放以及拉伸填充,先对原图进行拉伸,使之布满整个目标图像,并保持比例显示,缩放后尽量使原图最大,同时维持原图本身的比例,剩余区域将会做全透明的填充;使缩放后的图像能够保持原图比例的基础上进行填充,此时图片可能会被裁剪掉;
图像预处理的目的是方便模型和框架进行数据加载,同时也增强了数据集的泛化能力;
步骤2、模型训练:模型的输入为上述图像预处理得到的图像张量,训练时将训练数据按4:1的比例分为训练集和测试集,将训练集输入卷积神经网络模型中进行监督训练,保存在验证集上表现最好的一个模型;训练时,卷积核和权重采用Glorot均匀初始化,偏置采用全0初始化;采用优化器进行网络参数的更新,并利用正则化防止模型过拟合;当网络迭代次数达到预设的迭代次数或验证集上的识别精度长时间没有提高时,训练停止并保存训练好的卷积神经网络模型;
步骤3、测试阶段:将测试样本经过相同的预处理方式输入到训练好的卷积神经网络模型中,判断出此条数据是否为鸣笛车辆;
上述卷积神经网络的包括:五个卷积层、五个最大池化层和两个全连接层,其中:每个卷积层后都会接一个最大池化层;五个卷积层的卷积核数量分别为32、64、128、64、32;激活函数为relu;四个最大池化层的卷积核尺寸为2x2,填充方式为补0;全连接层分别为32个节点和1个节点,激活函数为relu;最后一个全连接层的节点数为鸣笛车辆;
本实施例中,测试数据量共 4000 张,其中正样本有 3169 组,负样本有 831 组,默认人为分类会产生1%的错误率,那么数据基本符合正态分布,满足测试真实情况和模型的合理性,对正样本的检测准确率87.8%,对鸣笛车辆误判的准确率为98.4%,由此可得,模型对于正负样本具有一定的判别能力,此外,对于鸣笛误判这种情况,模型能很好地判别。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于卷积神经网络的鸣笛车辆判定方法
- 一种基于卷积神经网络的汽车鸣笛识别方法