APP下载

基于CLM的驾驶员违章打电话检测系统设计

2018-09-10许华胜丁军航

关键词:计算机视觉

许华胜 丁军航

摘要: 为减少因违章打电话造成的交通事故发生,本文利用计算机视觉技术对驾驶员违章打电话的行为进行检测,基于受约束局部模型检测嘴部区域的特征变化,结合色调饱和度亮度(huesaturationvaliue,HSV)彩色空间模型特征和模板匹配检测手部特征来判断驾驶员是否存在使用电话的行为。该方法可适应驾驶室內光线的复杂变化,达到较好的测试结果,且程序存在良好的可移植性,方便在嵌入式系统和车载机上实现。验证结果表明,该系统对光照有较好的抗干拢能力,可实现实时监测和输出,并对驾驶员的驾驶行为进行检测,而且与只检测手部皮肤来确定是否存在打电话的行为方法相比,本文方法具有更高的精度,减少了误报的出现。该研究可对驾驶员的违章行为进行及时有效的提醒,有利于减少交通事故,保证安全驾驶。

关键词: 计算机视觉; 受约束局部模型; HSV色彩空间; 模板匹配

中图分类号: TP391.41文献标识码: A

人们在日常生活中对手机的依赖性越来越强,很多司机在开车时也存在用手机打电话的行为。开车时打电话会降低人的反应速度,分散驾驶员的注意力。据美国国家公路交通安全管理局(national highway traffic safety administration,NHTSA)的调查显示,2010年起,每年大约有660 000名驾驶员在开车时使用手机和其他电子设备,仅2012年,由驾驶分心所导致的交通事故中就致3328人死亡,421 000人受伤[1]。目前,很多司机会选择使用蓝牙耳机进行通话,这导致采用手势检测的检测方法无法对驾驶员的这种打电话行为进行检测。虽然使用免提或者蓝牙耳机来进行通话不会妨碍驾驶操作,但是许多研究表明,单纯分析2种驾驶方式并不能得出使用蓝牙耳机会降低事故发生率的结论[2]。因此,针对存在的驾驶员开车打电话的行为,本文采用人脸定位技术,基于机器视觉检测和受约束局部模型(constrained local models,CLM)[39],检测驾驶员的嘴部特征和手部区域,判断驾驶员是否存在违章打电话的行为,并对违章行为进行报警,从而到达减少交通事故和保护驾驶员生命安全的目的。研究结果表明,该研究可对驾驶员的驾驶行为进行检测,有利于减少交通事故的发生。该研究为驾驶员违章打电话的检测提供了更便捷可行的解决方案。

1基于CLM的驾驶员违章打电话检测

将读入的视频经过预处理后,使用ViolaJones人脸检测算法进行检测和人脸定位[10]。成功定位到人脸后对定位到的人脸区域利用CLM模型进行特征点的精确定位。在成功定位特征点后,利用嘴部特征点位置判断是否处于说话状态。当确定驾驶员处于说话状态时,进行手部检测,判断驾驶员是否存在使用手机的行为。在进行手部检测时,利用人脸特征点位置设置感兴趣区域(region of interest,ROI),使用OpenCV中自带的函数,将ROI内的像素值设置为255,以避免脸部皮肤对检测的影响。同时,为提高程序的运行速度,达到可实时检测输出的目的,调整图片尺寸,将待检测手势的图片调整为原图的1/8。驾驶员违章打电话检测流程图如图1所示。

2CLM人脸关键点定位算法

受约束局部模型(constrained local models,CLM)是用局部模型在目标可能出现的区域进行匹配。CLM模型包括2部分,一是形状模型(shape model),描述特征点组成的形状变化;二是团块模型(patch model),用来描述特征点周围图像块的纹理[1112]。CLM模型的shape模型和patch模型如图2所示。

2.1形状模型(Shape Model)的构建

形状模型由点分布模型(point distribution model,PDM)[1314]经过主成分分析法(principal components analysis,PCA)[1518]降维实现。在M张人脸样本上,手工标记人脸的特征点,采用68点模型,即在每张人脸图片上标记68个特征点。对含有68个特征点的轮廓图像进行普氏分析,消除图片中尺寸、角度和平移的影响。每个特征点表示为(x,y),将每个形状轮廓对应的68个特征点组成一个136维的向量,即x=[x1y1x2y2…x68y68]T,共有M个这样的形状向量x(i)(i=1,2,…,M)。求所有136维向量的平均值,得到平均向量为

=1M∑Mi=1x(i)(1)

用(i)表示形状向量x(i)与的差值,并将差值组成矩阵X,即

X=x(1)1y(1)1x(1)2y(1)2…x(1)Ny(1)Nx(2)1y(2)1x(2)2y(2)2…x(2)Ny(2)N……x(M)1y(M)1x(M)2y(M)2…x(M)Ny(M)N

通过计算XTX的特征值和特征向量进行PCA分析,并且只保存对应较大特征值的特征向量pj(j=1,2,…,K)。将K个特征向量组成正交矩阵P。对任意的待测人脸图像,可以表示为特征向量与平均形状的线性组合,其形状向量为

x=+PB(2)

式中,B为权重矩阵,B=b1b2…bKT,B的每个分量决定特征向量的权重,即决定哪些向量占主导地位。

向量B为

B=PT(x-)(3)

对于任意给定的向量B,可以根据式(2)计算出形状向量x。

2.2Patch模型的构建

采用支持向量机(support vector machine,SVM)来训练patch模型。对于形状模型中的每个特征点有m个patch样本,包括正样本和负样本,所有的m个patch都有相同的尺寸,都包含n个像素。因此,共有m个训练向量x(1),x(2),…,x(m),并且每个训练样本为一个n维的列向量x(i)=x(i)1,x(i)2,…,x(i)nT,i=1,2,…,m。设SVM的输出结果为:y(i)=-1,1,i=1,2,…,m。如果训练样本为正样本y(i)=1,否则y(i)=-1。在CLM中,支持向量的输出是输入向量的一个线性组合,即

y(i)=wTx(i)+θ(4)

式中,wT=w1w2…wn,代表每个数据的权重;θ是常量,相当于偏差。

在CLM中,训练数据集来自训练图像patch区域,并且如果样本来自特征点的位置,输出y(i)设置为1,如果来自其他位置,则设置为-1。通过使用这些数据来寻找w和θ,实现训练SVM分类器的目的。

2.3CLM的拟合过程

1)用ViolaJones人脸定位方法在图像上寻找人脸,得到一个包含人脸的矩形。

2)用平均形状模型初始化人脸特征点的位置。

3)对每个特征点,从当前位置截取一个patch区域,并且用SVM来计算每个区域当前特征点的输出,这样可以得到一个相应图,并且找到一个二次函数来对应响应图。

4)通过一个最优方程找到最佳特征点的位置。

5)移动每个特征点到新的位置,并且重复步骤3)~5),直到所有的特征点达到其最优位置。CLM定位过程如图3所示,特征点定位结果如图4所示。

3HSV色彩空间模型与模板匹配

采用基于色调饱和度亮度(huesaturationvaliue,HSV)彩色空间模型[19]的模板匹配方法[20]。图像的色彩通常使用RGB色彩空间进行描述,但RGB色彩模型的3个分量R、G、B之间有很高的相关性,直接使用时常常不能达到期望效果。本文采用空间的H(色调)分量进行肤色区域的检测。

在OpenCV中,可以直接利用cvtColor(InputArraysrc、OutputArraydst、int code、intdstCn=0)函数实现颜色空间从RGB色彩空间到HSV色彩空间的转换,并且将3个分量进行分离。H分量代表图像的色调信息,即其表示的是图像的颜色信息;S分量代表图像的饱和度信息,即其表示的是图像颜色的深浅;V分量代表图像的亮度信息,即其表示的是图像的颜色亮度。H分量只表示目标的彩色信息受光照的影响小,适合用来进行肤色提取和匹配。利用基于块的反向投影,用HSV的直方图模型进行匹配,寻找手部区域。

在进行模板匹配时,可选用的方法有平方差匹配法、标准平方差匹配法、相关匹配法、标准相关匹配法等多种方法。下面介绍两种方法:

1)平方差匹配法。该方法利用平方差来进行匹配,最好匹配为0。匹配越差,匹配差值越大,即

Raq_diff(x,y)=∑x',y'[(x',y')-I(x+x',y+y')]2(5)

式中,R表示结果;I表示输入图像。下同。

2)相关匹配法。该方法利用模板和图像之间的乘法操作,所以较大的数表示匹配程度越高,0表示最坏的匹配效果。本文采用这种匹配方式进行匹配,该方法在所有匹配方法中兼具速度和准确度,可以满足系统设计的需要,即

Rccorr(x,y)=∑x',y'[(x',y')I(x+x',y+y')]2(6)

本文采用相关匹配法,当匹配结果大于阈值θ时,认为驾驶员存在违章打电话的行为。驾驶员违章检测结果如图5所示。

4基于嘴部动作频率的说话检测算法

驾驶员嘴巴张开一般发生在疲劳时打哈欠或者在与人交谈时,这两种行为都有可能导致交通事故,将嘴部动作频率作为司机说话判断的标准[21]。具体实现步骤如下:

1)计算嘴巴的张开程度。由上文可知,已经利用CLM得到了精确的嘴部特征点的位置,这些特征点的位置在图片中是以图片中像素点的坐标表示,因此可以根据这特征点坐标来判断嘴巴的张开程度。用嘴唇内侧中间位置上、下两点的距离Vm与内侧两嘴角的距离Hm的比值,嘴巴的开度Om为

Om=Vm/Hm

2)根据Om判断嘴部是否张开。当驾驶员嘴巴处于闭合、说话或者打哈欠3种不同的状态时,Om的值有较大的变化。当Om介于01~03之间时,开度变化不大,认为嘴巴是处于闭合状态;嘴部频繁张开闭合,且持续时间较短时,认为处于说话状态;当开度大于07,且持续一定时间时,认为驾驶员处于打哈欠状态。

3)统计张嘴持续时间。说话和打哈欠使嘴部张开时间存在明显差异,打哈欠时嘴部张开的持续时间明显长于说话时嘴部张开的持续时间。统计张嘴持续时间的方法:嘴部张开的帧数乘以处理一帧图片所用的时间,即T0=Nt0。

4)计算嘴部动作频率。定义嘴部动作频率Fy为单位时间内说话的次数,即Fy=N/T。

医疗数据显示,正常情况下,人说话每03~05 s发出一个音节,因此设置说话嘴部动作频率Fymax为15次/min,并以此作为阈值进行判断。

5结束语

本系统采用集成开发环境Visual Studio 2012和开源计算机视觉库OpenCV2410,并采用C++编写程序。实验所用测试环境为Inter(R) Core(TM) i3-2370M CPU @240 GHz,4 GB内存,64位Windows 7操作系统,采用普通USB摄像头作为视频采集设备。测试结果表明,该系统对光照有较好的抗干扰能力,并且可以实现实时监测和输出。本文采用的方法相较于只检测手部皮肤来确定是否存在打电话的行为方法有更高的精度,減少了误报的出现。将该系统实现在嵌入式平台上的移植是接下来要进行的工作,而采用深度学习来对图像内容进行理解也是下一步将要学习的方向。

参考文献:

[1]National Highway Traffic Safety Administration. Distracted Driving 2011[EB/OL]. USA: NHTSA, (20134).

[2]李焱琪. 手机使用对驾驶行为影响研究综述[J]. 青年科学(教师版), 2014, 35(9): 233.

[3]Cristinacce D, Cootes T F. Feature Detection and Tracking with Constrained Local Models[C]∥British Machine Vision Conference 2006. Edinburgh, Uk: DBLP, 2006: 929938.

[4]Morency L, Baltrusaitis T, Robinson P. 3D Constrained Local Model for Rigid and NonRigid Facial Tracking[C]∥IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2012, 157(10): 26102617.

[5]Wang Y, Lucey S, Cohn J F. Enforcing Convexity for Improved Alignment with Constrained Local Models[C]∥IEEE Conference on Computer Vision & Pattern Recognition. Anchorage, AK, USA: IEEE, 2008.

[6]Cristinacce D, Cootes T F. Feature Detection and Tracking with Constrained Local Models[C]∥British Machine Vision Conference 2006. Edinburgh, UK: DBLP, 2006, 41: 929938.

[7]Zeng Z, Pantic M, Roisman G I, et al. A Survey of Affect Recognition Methods: Audio, Visual, and Spontaneous Expressions[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2009, 31(1): 3958.

[8]Pantic M, Bartlett M S. Machine Analysis of Facial Expressions[J]. Face Recognition, 2007: 377416.

[9]Fanelli G, Gall J, Van Gool L. Real Time Head Pose Estimation with Random Regression Forests[C]∥IEEE Conference on Computer Vision and Pattern Recognition. Washington DC, USA: IEEE, 2011, 617(7): 617624.

[10]Viola P, JonesMJ. Rapid Object Detection Using a Boosted Cascade of Simple Features [C]∥International Journal of Computer Vision. Kauai, HI, USA: IEEE, 2001, 57: 137154.

[11]Gu L, Kanade T. A Generative Shape Regularization Model for Robust Face Alignment[C]∥European Conference on Computer Vision. Marseille, France: SpringerVerlag, 2008: 413426.

[12]Cai Q, Gallup D, Zhang C, et al. 3D Deformable Face Tracking with a Commodity Depth Camera[C]∥European Conference on Computer Vision. Heraklion, Crete, Greece: DBLP, 2010: 229242.

[13]Saragih J M, Lucey S, Cohn J F. Deformable Model Fitting by Regularized Landmark MeanShift[J]. International Journal of Computer Vision, 2011, 91(2): 200215.

[14]Morency L D, Whitehill J, Movellan J R. Generalized Adaptive ViewBased Appearance Model: Integrated Framework for Monocular Head Pose Estimation[C]∥IEEE International Conference on Automatic Face &Gesture Recognition. Amsterdam, Natherlands IEEE, 2008: 18.

[15]Cootes T F, Taylor C J. Active Shape Models— ‘Smart Snakes[M]. London: Springer, 1992.

[16]Torresani L, Hertzmann A, Bregler C. Nonrigid StructurefromMotion: Estimating Shape and Motion with Hierarchical Priors[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2008, 30(5): 878892.

[17]李月龙, 靳彦, 汪剑鸣, 等. 人脸特征点提取方法综述[J]. 计算机学报, 2016, 39(7): 13561374.

[18]黃超. 基于CLM模型的人脸特征点定位系统的设计与实现[D]. 武汉: 华中科技大学, 2015.

[19]葛小凤. 驾驶环境下的人脸定位算法研究[J]. 电子世界, 2016(12): 59, 61.

[20]Gary R. Bradski, AdrianKaehler. O'Reilly Media, Inc, USA(学习OpenCV)[M]. 于仕琪, 刘瑞祯, 译. 北京: 清华大学出版社, 2008.

[21]邬敏杰, 穆平安, 张彩艳, 等. 基于眼睛和嘴巴状态的驾驶员疲劳检测算法[J]. 计算机应用与软件, 2013, 30(3): 2527.

猜你喜欢

计算机视觉
基于光流技术的障碍物检测方法
无人驾驶小车定点追踪系统的设计与实现
基于深度卷积神经网络的物体识别算法
双目摄像头在识别物体大小方面的应用
机器视觉技术发展及其工业应用
危险气体罐车液位计算机视觉监控识别报警系统设计
对于计算机视觉商业化方向的研究
基于Matlab的人脸检测实验设计
现代目标识别算法综述
基于分块技术的改进LPB 人脸识别算法的研究