本发明涉及一种汽车远光灯识别系统,具体涉及一种基于视频深度学习的汽车远光灯识别系统及方法。属于智能交通技术领域。
背景技术:
自改革开放以来,我国经济得到了持续、稳定、快速的发展,也使得我国人民的生活水平得到了前所未有的提高,越来越多的国人拥有了私家车辆。私家车数量的快速增长在给人们出行带来方便的同时,也使得交通事故的发生频率越来越高。
导致交通事故发生的原因有很多,其中很多事故是远光灯使用不当所造成的。目前针对远光灯违规的监管主要依靠交通警察的抓拍,由于警力以及时间的限制,不能保证对所有的远光灯违规现象都进行有效的监管。除此之外,近年来开发的一些远光灯抓拍系统,都是对抓拍图片进行识别,但这些方法具有一定的局限性,表现在:1)抓拍的远光图片数量少且不连贯,这些远光图片很有可能是司机正常使用时产生的,容易被误判为乱用远光,因此以图片作为执法证据不充分;2)为获得这些图片,在同一地点往往要额外架设多台抓拍设备,造价较高;3)对原有布设的视频监控设备不能完全利用,造成资源浪费。
技术实现要素:
本发明的目的是为克服上述现有技术的不足,提供一种基于视频深度学习的汽车远光灯识别系统。
本发明还提供了上述系统对应的一种基于视频深度学习的汽车远光灯识别方法。
为实现上述目的,本发明采用下述技术方案:
一种基于视频深度学习的汽车远光灯识别系统,包括以下两部分:
前台部分,用于实现对远光灯违章行为的识别与处理,包括依次连接的道路监测设备模块、视频处理与识别模块、识别结果处理模块以及待检违章结果数据库;
后台部分,用于视频处理并实现视频的深度学习,包括关键帧提取算法、带标签数据库以及深度学习模块,带标签数据库是对原始视频数据调用关键帧提取算法进行关键帧提取而构建得到,带标签数据库中的数据用于深度学习模块的训练,训练好的深度学习模块与关键帧提取算法一起供视频处理与识别模块调用。
作为优选技术方案之一,所述关键帧提取算法为基于聚类的关键帧提取算法。
作为优选技术方案之一,所述深度学习模块为基于cnn+lse(卷积神经网络+最小二乘估计)的深度学习模块。
上述系统对应的一种基于视频深度学习的汽车远光灯识别方法,具体步骤如下:
(1)道路监测设备模块获得汽车的行驶视频数据,并将其传输给视频处理与识别模块;
(2)视频处理与识别模块调用关键帧提取算法提取视频数据的关键帧,然后进行灰度化操作,将灰度化后的关键帧作为输入,调用根据带标签数据库训练好的基于cnn+lse的深度学习模块,得到各个关键帧的输出标签,包括近光灯、雾灯或者远光灯,并将标签赋给相应关键帧图像;
(3)将视频数据以及步骤(2)所得带标签的关键帧一并作为识别结果处理模块的输入,用于判断车辆是否违章,并且,在识别结果处理模块中嵌入车牌识别系统,当目标车辆存在远光灯违章行为时,对其进行车牌提取,获取车辆信息,将涉嫌违章视频数据导入待检违章结果数据库。
步骤(2)中,关键帧提取算法如下:
(2-1)取原始视频数据库中的第i段vi,等时间间隔提取n个帧,并用fi,j命名第i段视频数据的第j个时刻的帧,将相应视频数据的关键帧序列表示为{fi,1,fi,2,...,fi,n},其中fi,1为首帧,fi,n为尾帧;定义相邻两帧之间的相似度是相邻两帧直方图的相似度(即直方图特征差别),预定义阈值δ控制聚类的密度;其中,i、j和n均为整数;
(2-2)选定首帧fi,1为初始的聚类中心,并计算帧fi,j与初始聚类中心间的相似度,如果该值小于δ,则判定该帧与聚类中心帧之间距离过大,因此,fi,j不能加入该聚类中;如果fi,j与所有聚类中心相似度均小于δ,则fi,j形成一个新的聚类,fi,j为新的聚类中心;否则,将该帧加入到与之相似度最大的聚类中,使该帧与这个聚类的中心之间的距离最小;
(2-3)重复(2-2)操作,将原始视频数据vi中所提取的n个帧,分别归类到不同聚类后,就可以选择关键帧:从每个聚类中抽取离聚类中心最近的帧作为这个聚类的代表帧,所有聚类的代表帧就构成了原始视频数据vi的关键帧。
步骤(2)中,带标签数据库的构建方法如下:
将大数据背景下的大量车辆行驶视频数据作为原始视频数据,对原始视频数据调用基于聚类的关键帧提取算法进行关键帧提取,人工判定关键帧中车辆的灯光类型,给每个关键帧添加标签使原始关键帧变为带标签数据,其中,标签类别包括:近光灯、雾灯以及远光灯三种,分别用-1,0以及1表示;将带有标签的关键帧数据存入带标签数据库,带标签数据库中的数据为原始视频数据及其带标签关键帧,表示为(fi,j,k),其中k取-1,0或者1。
步骤(2)中,基于cnn+lse的深度学习模块的构建方法是,采用lenet5卷积神经网络结构,模块共分为八层,前六层为特征提取部分,后两层为分类器部分,其中,特征提取层采用经典的卷积神经网络结构,分类器层采用全连接结构;模块由带标签数据库中的数据作为训练数据,采用cnn+lse组合算法对深度学习模块进行训练,对于特征提取部分采用cnn方法进行训练,而对于分类器层,则采用lse方法进行训练,以期实现模块参数的快速学习并增强模块的泛化能力。
具体方法如下:
带标签数据库中的视频关键帧输入基于cnn+lse的深度学习模块的第一层;在第二层中采用不同的卷积核对上层输出进行卷积操作;第三层对上层输出进行池化(下采样)操作;第四层与第五层重复第二层与第三层的操作;第六层将上层的输出特征依次展开,排成一列;第七层与上层输出特征全互连;最后一层同样与上层之间采用全互连的形式。基于cnn+lse的深度学习模块的输出为三种情况:近光灯、雾灯以及远光灯,分别用-1,0以及1表示。
基于cnn+lse的深度学习模块的训练过程如下:
从带标签数据库中任取一个样本(fi,j,k),对fi,j首先进行灰度化操作,使其变为灰度图像,然后将灰度化后的关键帧fi,j'输入到模块中,即输入数据为(fi,j',k);对深度学习模块的两部分分别采用cnn与lse的方法进行训练;其中,特征提取部分的参数训练方法如下:
(2-a1)初始化深度学习模块中特征提取部分的所有连接权重参数;
(2-a2)计算输入关键帧相对应的实际输出标签ok;
(2-a3)计算实际输出标签ok与相应理想输出标签k的差值;
(2-a4)权重学习:通过极小化误差的方法反向传播调节深度学习模块中特征提取部分的连接权重参数矩阵;
(2-a5)直至遍历所有视频数据的关键帧,参数训练完毕;
分类器部分的参数训练方法如下:
(2-b1)光栅化层与全连接层之间的连接权重与偏置随机生成,并将全连接层输出写
为矩阵
其中g(·)为激活函数,ai为连接权重,bi为偏置,l为全连接层节点个数,n为所有关键帧的个数,xj为关键帧,i=1,2,…,l,j=1,2,…,n;
(2-b2)将相应关键帧的网络输出结果写为输出向量y=[y1y2…yn]t,其中yj为第j个关键帧xj对应的输出标签;
(2-b3)计算全连接层与输出层之间的输出权重β=phy,其中p=(hth)-1。
步骤(3)中,待检违章结果数据库中的数据为经识别结果处理模块判断为违章的视频数据,其中的待检违章结果应当接受人工检查,然后将确认无误的信息导入违章数据库,并对误判的信息进行删除。
步骤(3)中,对于是否存在远光灯违章行为的判断方法是:标签为远光灯的关键帧
本发明的有益效果:
本发明对监控视频进行自动分析识别,保证了执法证据的完备性,且与人工判断类似,具有智能性,同时所需布设设备简单,并能对原有的监控设备充分利用。具体如下:
(1)通过对视频数据的挖掘,在保证准确率的基础上,执法证据的充分性得到大幅度提升,防止了远光灯违章执法时证据链的缺失;
(2)同一点位对设备数量要求少,且原先布放的大量监控设备可以直接重复使用,降低了成本,提升了设备利用率;
(3)采用基于视频深度学习的方式进行远光灯违章的智能判定,代替了人工执法,实现了真正的自动化,提高了效率;同时,经过深度学习后,远光灯违章识别效果有望达到或超越人工识别水平,实现了识别系统的真正智能化;
(4)深度学习模块采用cnn+lse的方法对系统进行参数学习,不仅使得系统的参数学习速度更加快速,而且还能使得模块泛化能力变得更强,系统鲁棒性得到提升。
附图说明
图1是本发明的系统结构示意图;
图2是基于cnn+lse的深度学习模块结构图。
具体实施方式
下面结合附图和实施例对本发明进行进一步的阐述,应该说明的是,下述说明仅是为了解释本发明,并不对其内容进行限定。
如图1所示,一种基于视频深度学习的汽车远光灯识别系统,包括以下两部分:
前台部分,用于实现对远光灯违章行为的识别与处理,包括依次连接的道路监测设备模块、视频处理与识别模块、识别结果处理模块以及待检违章结果数据库;
后台部分,用于视频处理并实现视频的深度学习,包括关键帧提取算法、带标签数据库以及深度学习模块,带标签数据库是对原始视频数据调用关键帧提取算法进行关键帧提取而构建得到,带标签数据库中的数据用于深度学习模块的训练,训练好的深度学习模块与关键帧提取算法一起供视频处理与识别模块调用。
其中,关键帧提取算法为基于聚类的关键帧提取算法;深度学习模块为基于cnn+lse的深度学习模块。
上述系统对应的一种基于视频深度学习的汽车远光灯识别方法,具体步骤如下:
(1)道路监测设备模块获得汽车的行驶视频数据,并将其传输给视频处理与识别模块。
(2)视频处理与识别模块调用关键帧提取算法提取原始视频数据的关键帧,然后进行灰度化操作,将灰度化后的关键帧作为输入,调用带标签数据库训练好的基于cnn+lse的深度学习模块,得到各个关键帧的输出标签,包括近光灯、雾灯或者远光灯,并将标签赋给相应关键帧图像。
关键帧提取算法如下:
(2-1)取原始视频数据库中的第i段vi,等时间间隔提取n个帧,并用fi,j命名第i段视频数据的第j个时刻的帧,将相应视频数据的关键帧序列表示为{fi,1,fi,2,...,fi,n},其中fi,1为首帧,fi,n为尾帧;定义相邻两帧之间的相似度是相邻两帧直方图的相似度(即直方图特征差别),预定义阈值δ控制聚类的密度;其中,i、j和n均为整数;
(2-2)选定首帧fi,1为初始的聚类中心,并计算帧fi,j与初始聚类中心间的相似度,如果该值小于δ,则判定该帧与聚类中心帧之间距离过大,因此,fi,j不能加入该聚类中;如果fi,j与所有聚类中心相似度均小于δ,则fi,j形成一个新的聚类,fi,j为新的聚类中心;否则,将该帧加入到与之相似度最大的聚类中,使该帧与这个聚类的中心之间的距离最小;
(2-3)重复(2-2)操作,将原始视频数据vi中所提取的n个帧,分别归类到不同聚类后,就可以选择关键帧:从每个聚类中抽取离聚类中心最近的帧作为这个聚类的代表帧,所有聚类的代表帧就构成了原始视频数据vi的关键帧。
带标签数据库的构建方法如下:
将大数据背景下的大量车辆行驶视频数据作为原始视频数据,对原始视频数据调用基于聚类的关键帧提取算法进行关键帧提取,人工判定关键帧中车辆的灯光类型,给每个关键帧添加标签使原始关键帧变为带标签数据,其中,标签类别包括:近光灯、雾灯以及远光灯三种,分别用-1,0以及1表示;将带有标签的关键帧数据存入带标签数据库,带标签数据库中的数据为原始视频数据及其带标签关键帧,表示为(fi,j,k),其中k取-1,0或者1。
如图2所示,基于cnn+lse的深度学习模块的构建方法是,采用lenet5卷积神经网络结构,模块共分为八层,前六层为特征提取部分,后两层为分类器部分,其中,特征提取层采用经典的卷积神经网络结构,分类器层采用全连接结构;模块由带标签数据库中的数据作为训练数据,采用cnn+lse组合算法对深度学习模块进行训练,对于特征提取部分采用cnn方法进行训练,而对于分类器层,则采用lse方法进行训练,以期实现模块参数的快速学习并增强模块的泛化能力。具体方法如下:带标签数据库中的视频关键帧输入基于cnn+lse的深度学习模块的第一层;在第二层中采用不同的卷积核对上层输出进行卷积操作;第三层对上层输出进行池化(下采样)操作;第四层与第五层重复第二层与第三层的操作;第六层将上层的输出特征依次展开,排成一列;第七层与上层输出特征全互连;最后一层同样与上层之间采用全互连的形式。基于cnn+lse的深度学习模块的输出为三种情况:近光灯、雾灯以及远光灯,分别用-1,0以及1表示。
基于cnn+lse的深度学习模块的训练过程如下:
从带标签数据库中任取一个样本(fi,j,k),对fi,j首先进行灰度化操作,使其变为灰度图像,然后将灰度化后的关键帧fi,j'输入到模块中,即输入数据为(fi,j',k);对深度学习模块的两部分分别采用cnn与lse的方法进行训练;其中,特征提取部分的参数训练方法如下:
(2-a1)初始化深度学习模块中特征提取部分的所有连接权重参数;
(2-a2)计算输入关键帧相对应的实际输出标签ok;
(2-a3)计算实际输出标签ok与相应理想输出标签k的差值;
(2-a4)权重学习:通过极小化误差的方法反向传播调节深度学习模块中特征提取部分的连接权重参数矩阵;
(2-a5)直至遍历所有视频数据的关键帧,参数训练完毕;
分类器部分的参数训练方法如下:
(2-b1)光栅化层与全连接层之间的连接权重与偏置随机生成,并将全连接层输出写
为矩阵
其中g(·)为激活函数,ai为连接权重,bi为偏置,l为全连接层节点个数,n为所有关键帧的个数,xj为关键帧,i=1,2,…,l,j=1,2,…,n;
(2-b2)将相应关键帧的网络输出结果写为输出向量y=[y1y2…yn]t,其中yj为第j个关键帧xj对应的输出标签;
(2-b3)计算全连接层与输出层之间的输出权重β=phy,其中p=(hth)-1。
(3)将原始视频数据以及步骤(2)所得带标签的关键帧一并作为识别结果处理模块的输入,用于判断车辆是否违章,并且,在识别结果处理模块中嵌入车牌识别系统,当目标车辆存在远光灯违章行为时,对其进行车牌提取,获取车辆信息,将涉嫌违章视频数据导入待检违章结果数据库。
对于是否存在远光灯违章行为的判断方法是:标签为远光灯的关键帧
(4)待检违章结果数据库中的数据为经识别结果处理模块判断为违章的视频数据,其中的待检违章结果应当接受人工检查,然后将确认无误的信息导入违章数据库,并对误判的信息进行删除。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。