本发明属于智能交通技术领域,尤其是涉及一种车辆识别器的生成方法。
背景技术:
目前智能交通领域的事件检测主要使用视频检测超速、逆行、行人、停车等非正常事件。视频检测检测范围比较广,可检测多种事件,成本低,维护比较简单,但是容易受到天气条件尤其是光照变化和反光等影响,对后期的规则判断会造成很大的困难。当某些交通规则中针对不同车辆类型有不同要求时,需要对车辆类型进行有效识别。
技术实现要素:
有鉴于此,本发明旨在提出一种车辆识别器的生成方法,以实现对车辆类型的有效识别。
为达到上述目的,本发明的技术方案是这样实现的:
一种车辆识别器的生成方法,包括如下步骤:
(1)将雷达波形文件和视频帧结合,获得雷达的波形信息以及车辆类型信息,对得到的图片进行标注、写入信息,制作标签文件,形成数据集;
(2)对得到的数据集运用自助采样法进行采样,得到训练子集和评估集;
(3)将每组训练子集及其对应的评估集送入卷积神经网络进行训练,得到基类学习器;
(4)将基类学习器的输出进行加权投票,得到最终的预测结果。
进一步的,所述步骤(1)具体包括将一组雷达信号的256个点的数据,按照-127至+128的坐标依次用线段连接起来,做成该组信号的图像,然后将六张图像顺序排列叠加在视频帧的右上方背景区域;
其中雷达数据每组是一个包含256个数字的一维数组,下标索引值是-128到+127,对应的速度值是-128km/h到+127km/h,负数表示目标远离雷达,正数表示目标靠近雷达,每个数字的范围是0到300表示当前速度对应的信号强度,当信号强度超过设定阈值时,表示当前有目标以对应速度在移动,同时信号强度也与运动目标的大小、距离等因素相关。
进一步的,所述步骤(2)具体包括每次随机取出一张图片放入训练子集1,然后放回原数据集,再随机取出一张放入训练子集1中,然后再放回原数据集,如此反复多次,此时,训练子集1中除去重复数据之外,根据下式可知,约有63.2%的数据出现在训练子集中;
其中,m为抽取次数;
重复上述步骤,得到训练子集,同时,对于每组训练子集,剩余未被选入的36.2%的数据作为评估集,得到相应的评估集。
进一步的,所述步骤(3)具体包括如下步骤:针对嵌入式处理器IP核对卷积神经网络的限制,选择在经典神经网络LeNet的基础上修改网络层和池化层数据,修改后训练结果,运行速度可以达到60fps,准确率83.534%。
进一步的,所述步骤(4)具体包括将基类学习器的输出进行加权投票,得到最终的预测结果;
每个h(x)对应一个基类学习器,ωi是对应的权重。
相对于现有技术,本发明所述的一种车辆识别器的生成方法具有以下优势:本发明基于集成学习算法,将雷达数据和视频数据相结合,解决了夜晚条件下道路事件检测的问题,实现了对车辆类型的检测。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种车辆识别器的生产方法的流程图;
图2为本发明实施例所述的将雷达文件和视频帧数据结合的结果示意图;
图3为本发明实施例所述的卷积层修改示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,本发明提供一种车辆识别器的生产方法,具体包括如下步骤:
(1)制作数据集
假设视频帧率是30fps,雷达帧率6fps。视频每秒抽取6帧图像,并在右上角填充前后各0.5s内的6帧雷达波形。如图2所示,通过将雷达波形文件和视频帧结合起来,既得到了雷达的波形信息(包括速度值和波峰强弱等),又获得了车辆类型的信息。并对该图片进行标注,写入车辆类型等信息,制作标签文件。
具体过程如下:将一组雷达信号的256个点的数据,按照-127至+128的坐标依次用线段连接起来,做成该组信号的图像,然后将六张图像顺序排列叠加在视频帧的右上方背景区域;
其中雷达数据每组是一个包含256个数字的一维数组,下标索引值是-128到+127,对应的速度值是-128km/h到+127km/h,负数表示目标远离雷达,正数表示目标靠近雷达,每个数字的范围是0到300表示当前速度对应的信号强度,当信号强度超过设定阈值时,表示当前有目标以对应速度在移动,同时信号强度也与运动目标的大小、距离等因素相关。
(2)由于夜间条件下,一次训练得到的分类器新能较差,属于弱分类器。所以第二步,对得到的数据集运用自助采样法进行采样,即每次随机取出一张图片放入训练子集1,然后放回原数据集,再随机取出一张放入训练子集1中,然后再放回原数据集,如此反复多次。此时,训练子集1中除去重复数据之外,根据下式可知,约有63.2%的数据出现在训练子集中。
(3)经过测试,通过步骤二获得10组训练子集能够获得较好的效果。重复步骤二,得到训练子集1~10。同时,对于每组训练子集,剩余未被选入的36.2%的数据作为评估集。这样就获得了相应的评估集1~10。
(4)将每组训练集及其对应的评估集,送入卷积神经网络进行训练,如此可获得1~10共10组基学习器。
针对嵌入式处理器IP核对卷积神经网络的限制,选择在经典神经网络LeNet的基础上修改网络层和池化层数据,分别按照下面阐述的公式,针对不同的硬件需求做出相应修改。
卷积层的输出数据体在空间上的尺寸可以通过输入数据体尺寸(W),卷积层中神经元的感受野尺寸(F),步长(S)和零填充的数量(P)的函数来计算。输出数据尺寸=(W-F+2P)/S+1。
在图3所示,只有一个空间维度(x轴),神经元的感受野尺寸F=3,输入尺寸W=5,零填充P=1。左边:神经元使用的步长S=1,所以输出尺寸是(5-3+2)/1+1=5。右边:神经元的步长S=2,则输出尺寸是(5-3+2)/2+1=3。真实的卷积层是二维的数据输入。
池化层的参数有输入数据体:宽度W、高度H、空间大小F、步长S;输出数据体尺寸按照下面的公式计算(角标1表示输入数据参数、角标2表示输出数据参数):
W2=(W1–F)/S+1
H2=(H1–F)/S+1
卷积层和池化层的深度参数不做修改。
(5)通过步骤4可获得10个基类学习器。此时,为了进一步提升学习效果,将10个基类学习器的输出即预测结果,进行加权投票。即可得到最终的预测结果,见下式。
每个h(x)对应一个基类学习期,ωi是对应的权重。
通过以上五个步骤得到预测器可以较为准确地在夜晚条件下对不同车辆类型进行识别并针对不同车辆类型按照不同标准进行事件检测。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。