一种基于深度学习的驾驶员手持电话检测方法与流程

文档序号:16538713发布日期:2019-01-08 20:08阅读:596来源:国知局
一种基于深度学习的驾驶员手持电话检测方法与流程

本发明涉及到计算机视觉,图像处理,深度学习等各个领域,具体为一种基于深度学习的驾驶员手持电话检测方法。



背景技术:

随着科技发展,机动车保有量逐年快速增长,交通事故一直居高不下。研究表明,驾驶员人为因素引起的交通事故数量占总数的90%以上,其中87%是由机动车驾驶员的违规操作、经验不足、行为规范性差等原因造成。近年来随着智能手机的兴起,大多数人们已离不开手机,因此驾驶过程中拨打和接听手持电话的行为引起了社会的广泛关注。英国一家交通研究所研究表明,驾驶中使用手持电话大脑的反应速度比酒后(血内酒精浓度0.08w/v)驾驶时慢30%,且车祸的发生率比正常驾驶时高4倍以上,有70%的致命交通事故是驾驶员注意力不集中引起的。驾驶过程中打手持电话势必会分散驾驶员的注意力,降低对外部环境的感知能力,减弱对交通情况判断的准确性,造成驾驶员反应速度降低,容易引发交通事故。

因此利用计算机视觉与深度学习的技术来对驾驶员手持打电话行为进行识别具有实际意义以及较高的可行性。

黄思博(华南理工大学,2011)提出了一种异常驾驶行为检测方法,首先利用检测方向盘轮廓确定感兴趣区域,然后建立ycrcb空间中的肤色高斯模型以提取肤色特征,设计基于kalman滤波算法的“头部-前臂”模型跟踪方法,最终用朴素贝叶斯进行分类。唐小淋(华南理工大学,2013)提出了基于模糊评价和d-s证据理论的多特征信息融合方法,利用检测的违规驾驶行为特征实现对驾驶员整体驾驶行为的安全性评估。魏民国(清华大学,2014)采用了adboost人脸检测算法和f-berror算法提取人脸特征点,利用肤色检测算法检测脸部周边的肤色像素比例,判别每帧图像检测区域内是否有手来判断驾驶员的打电话行为。张波等(清华大学,2015)采用asm算法分割面部肤色区域,运用f-berror算法在头部发生偏转时对肤色区域进行跟踪,综合使用cmog特征与hog特征在手部图像候选区域中确定驾驶人的手部图像来确定驾驶员打电话的行为。zhangw(湖南大学,2015)开发了一种结合卡尔曼滤波器和专用开源tld(跟踪-学习-检测)跟踪器的鼻子跟踪算法,在动态驾驶条件下生成稳健的跟踪结果对驾驶员的驾驶行为进行识别。wangd(北京理工大学,2014)将打电话活动分解为三个动作,并使用and-orgraph(aog)来表示打电话活动的分层组成和动作之间的时间关系,实现解析视频并检测驾驶员对手机的使用情况。

随着科技发展,深度学习已经越来越多的应用于各个行业和领域。尤其是在图像方面,在图像分类以及图像检测当中有着极为广泛的应用且效果普遍好于传统图像检测算法的分类以及检测结果。目前应用较为广泛的深度学习检测算法有yolov2,ssd等。yolov2算法将物体检测作为回归问题进行求解,基于一个单独的end-to-end网络,完成从原始图像的输入到物体位置和类别的输出,输入图像经过一次inference,便能得到图像中所有物体的位置和其所属类别及相应的置信概率。跟传统图像检测方法相比,在驾驶员行为识别上,该算法有更高的准确率以及更好的鲁棒性。

上述文献和方法中虽然都提到了利用计算机视觉和深度学习的处理方法对驾驶员手持电话的行为进行检测,但是仍然存在以下不足:

1)传统图像的检测方法对驾驶员的检测策略没有针对性且时间复杂度高,容易造成检测窗口冗余。

2)传统图像的检测方法手工设计的特征鲁棒性较差。多数并不适用于目前实际场景中用于驾驶员行为识别的卡口图像。

3)深度学习的检测算法对于驾驶员和副驾驶座的乘客的区别能力较差,副驾驶座的乘客易作为干扰项进行误检。

因此如何在正确检测到驾驶员手持电话行为的同时定位准确驾驶员的位置,排除副驾驶座乘客的干扰是目前驾驶员手持电话行为识别的关键问题。



技术实现要素:

为克服上述算法和方法存在的不足,准确地定位和检测出驾驶员是否存在手持打电话的行为,本发明提出了一种基于深度学习的驾驶员手持电话检测方法。

本发明包括如下步骤:

步骤1):给定训练图像集合,ct={ti|i=1,2,3,...,n},n为训练图像数量,集合中每张图像ti已贴好标签;

步骤2):将数据集合ct放入yolov2中进行训练,获得训练模型w;

步骤3):输入测试图像p,用训练模型w进行测试,得到检测结果m个矩形检测框kj,j=1,2,3,…,m的集合nk={(xj,yj,wj,hj)|j=1,2,3...,m},其中(xj,yj)表示检测结果矩形kj左上角的坐标,wj和hj分别表示矩形的宽度和高度,矩形中点表示为(xcj,ycj):

步骤4):测试图像p进行lab颜色空间的分离,得到l通道图像pl、a通道图像pa以及b通道图像pb;

步骤5):b通道图像pb通过通道相减减去a通道图像pa,得到新图像pn;

步骤6):对图像pn进行otsu二值化处理,得到二值图像pno;

步骤7):在图像pno中查找连通域,得到连通域最小外接矩形的集合cr={(xv,yv,wv,hv)|v=1,2,3...,m2},其中(xv,yv)表示最小外接矩形左上角的坐标,wv和hv分别表示矩形的宽度和高度,m2表示连通域的数量,矩形面积表示为sv,v=1,2,3,…,m2;

步骤8):将sv中最大的记为sm,(xm,ym)为该矩形左上角坐标,wm和hm分别表示该形的宽度和高度,该矩形中点表示为(xcm,ycm);

步骤9):若xcj>xcm,则保存该检测框kj,得到新的检测框集合ckn={ku|u=1,2,3...,n2},ku表示新的检测框,n2表示检测框数量,其中,j=1,2,3,…,m;否则,去除该检测框;

步骤10):利用yolov2对每个检测框ku对应的子图像进行测试,得到一个对应的置信度vu,则得到置信度集合为ckv={vu|u=1,2,3...,n2};选取最大置信度记为vmax,其对应的检测框记为kmax,读取kmax的标签,即为检测结果。

所述的一种基于深度学习的驾驶员手持电话检测方法,其特征在于,所述步骤5)中利用cvaddweighted函数实现通道相减,其中a通道图像pa在该函数中的权重值设置为-1,b通道图像pb在该函数中的权重值设置为1,即完成图像的通道相减。

所述的一种基于深度学习的驾驶员手持电话检测方法,其特征在于,所述步骤6)中采用threshold函数进行二值化,并将参数设置为cv_thresh_otsu。

所述的一种基于深度学习的驾驶员手持电话检测方法,其特征在于,所述步骤7)中对二值图pno采用cvfindcontours函数,获取连通域轮廓,并计算wv*hv,v=1,2,3,…,m2得到各个连通域的面积。

本发明的有益效果是:利用深度学习做驾驶员手持电话的检测并用传统图像处理的形态学方式进行驾驶员定位,能够准确的判断驾驶员是否手持电话这一行为;本方法将传统图像处理方法与深度学习检测进行结合,能够准确对驾驶员进行定位,排除副驾驶座乘客的干扰,且检测驾驶员手持电话这一行为比单独使用图像处理方式或单独使用深度学习方法有更高的准确率,在效率上对于交通卡口的过车车辆能够进行实时检测;因此本方法对驾驶员手持电话这一违法行为的检测具有实际意义。

附图说明

图1为输入的测试图像;

图2为通道分离后a通道的图像;

图3为通道分离后b通道的图像;

图4为通道相减后得到的图像;

图5为经过otsu二值化后得到的二值图像;

图6为最终检测结果图像。

具体实施方式

下面基于实施例来阐述本发明基于传统图像定位和深度学习的驾驶员手持电话检测方法的具体实施方式。

步骤1):给定训练图像集合,ct={ti|i=1,2,3,...,n},n为训练图像数量,集合中每张图像ti已贴好标签;在本实施例中,训练图像n=2700张,按照驾驶员正常驾驶和驾驶员手持电话两类标签,进行标定;

步骤2):将数据集合ct放入yolov2中进行训练,获得训练模型w;

步骤3):输入测试图像p,用训练模型w进行测试,得到检测结果m个矩形检测框kj,j=1,2,3,…,m的集合nk={(xj,yj,wj,hj)|j=1,2,3...,m},其中(xj,yj)表示检测结果矩形kj左上角的坐标,wj和hj分别表示矩形的宽度和高度,矩形中点表示为(xcj,ycj):

在本实施例中,测试图像p如图1所示,通过载入训练模型w对测试图像进行检测,得到检测框的集合nk;

步骤4):测试图像p进行lab颜色空间的分离,得到l通道图像pl、a通道图像pa以及b通道图像pb;在本实施例中通过直接获取图像的通道号来得到各个通道的图像,图2表示a通道图像,图3表示b通道图像;

步骤5):b通道图像pb通过通道相减减去a通道图像pa,得到新图像pn;在本实施例中利用cvaddweighted函数实现通道相减,其中a通道图像pa在该函数中的权重值设置为-1,b通道图像pb在该函数中的权重值设置为1,即完成图像的通道相减,结果如图4所示;

步骤6):对图像pn进行otsu二值化处理,得到二值图像pno;在本实施例中采用threshold函数进行二值化,并将参数设置为cv_thresh_otsu,既能够得到图5所示的01二值图pno;

步骤7):在图像pno中查找连通域,得到连通域最小外接矩形的集合cr={(xv,yv,wv,hv)|v=1,2,3...,m2},其中(xv,yv)表示最小外接矩形左上角的坐标,wv和hv分别表示矩形的宽度和高度,m2表示连通域的数量,矩形面积表示为sv,v=1,2,3,…,m2;在本实施例中对01二值图pno采用cvfindcontours函数,获取连通域轮廓,并计算wv*hv,v=1,2,3,…,m2得到各个连通域的面积;

步骤8):将sv中最大的记为sm,(xm,ym)为该矩形左上角坐标,wm和hm分别表示该形的宽度和高度,该矩形中点表示为(xcm,ycm):

步骤9):若xcj>xcm,则保存该检测框kj,得到新的检测框集合ckn={ku|u=1,2,3...,n2},ku表示新的检测框,n2表示检测框数量,其中,j=1,2,3,…,m;否则,去除该检测框;在本实施例中即为将所有中点x坐标大于xcm的检测框保留,去除其余检测框,得到新的检测框集合ckn;

步骤10):利用yolov2对每个检测框ku对应的子图像进行测试,得到一个对应的置信度vu,则得到置信度集合为ckv={vu|u=1,2,3...,n2};选取最大置信度记为vmax,其对应的检测框记为kmax,读取kmax的标签,即为检测结果;既将所有检测框的置信度进行排序,读取置信度值最大的检测框的标签,即为该图像的检测结果如图6所示。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1