基于Kinect传感器的驾驶员状态监测系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Kinect传感器的驾驶员状态监测系统作者:胡习之
来源:《价值工程》2014年第20期
摘要:针对汽车驾驶过程中容易出现的驾驶疲劳、注意力分散等状况,建立了一种基于Kinect三维图像传感器的智能系统,该系统通过传感器监测驾驶员状态获得驾驶员头部、脸部、眼部和手部的彩色图像、红外图像和深度图,将采集的图像进行处理并与预设的值进行比较可判断驾驶员状态以决定是否发出警报。实车测试实验表明此系统能有效的监测驾驶员的疲劳驾驶状态,在汽车安全辅助驾驶方面具有很大潜力。
Abstract: An intelligent system based on Kinect three-dimensional image sensor was established, aimed at easy occurrence process of vehicle driving fatigue, distraction and etc. It acquired color image, infrared image and depth map on the driver's head, face, eye and hand by monitoring driving status and compared the processed images with the preset values to judge the driver's state and to decide whether to issue an alert. Experiment realized in real car shows that the intelligent system can effectively monitor the driver's fatigue state and has great potential in vehicle safety application.
关键词:驾驶监测;图像处理;安全辅助驾驶
Key words: driving monitoring;image progress;safety assistant driving
中图分类号:U491.6 文献标识码:A 文章编号:1006-4311(2014)20-0193-02
0 引言
通过监测驾驶员疲劳、嗜睡和注意力分散的早期阶段,可以有效地防止车祸的发生。目前开发出来的监测系统主要分为三类:第一类是基于生理信号的监测方法,如采集心电图、脑电图信号与设定好的警戒信号值比较[1];第二类是基于驾驶行为的监测方法,如基于驾驶员掌控方向盘的力度、汽车的转向性能来确定是否发出警报;第三类是基于驾驶员视觉行为的监测方法,如监测打哈欠、眼部特征变化、头部姿势来判断驾驶员神智[2],这些监测系统大多基于二维图像,有很多不足。鉴于此,本文建立了基于Kinect三维图像传感器的智能监测系统,可分别对驾驶员的头部、脸部、眼部和手部进行监测来判断是否分心、打瞌睡,并对监测系统进行了实车测试。
1 监测系统总体设计
本文设计的基于Kinect传感器的驾驶员状态监测系统的工作流程如图1所示。
脸部和身体动作的跟踪是通过kinect三维图像传感器和微软开发工具包的MSSDK模块实现的,以kinect传感器位置为原点建立的监测坐标系如图2所示,Z轴正方向指向驾驶员。
2 监测系统功能及实现
2.1 头部动作和姿势监测令头部绕X轴旋转角为俯仰角,绕Y轴为侧倾角,每个角在-90°到90°之间,驾驶员的头部安全区确定为:侧倾角>15°或15°或
2.2 脸部监测追踪脸部的3D图像来监测驾驶员打哈欠的频率,在MSSDK中,定义AU1为判断量,当驾驶员下颌张开时,AU1的值为“1”,如果驾驶员持续打哈欠,系统就会发出警报,图3为监测的3D模型。
2.3 眼部特征监测
2.3.1 眼部特征分类的SVM方法因为眼睛只有两种状态(关闭和打开),利用支持向量机(SVM)方法进行分类的结果很好。支持向量机方法的目标是基于训练数据产生一个模型来预测测试数据的目标值。根据支持向量机理论,最优化超平面的函数为:
f(X)=sgn■a■y■KX,X■+b■,(i=1,2,…,n)(1)
其中b■=y■-■ya■X■·X,■y■a■=0,0?燮a■?燮C,本次测试选用径向基核函数:KX,X■=■,x■,y■,x■,y■,…,x■,y■为训练集,xi∈Rn为输入向量,yi∈[-1,1]为输出向量,X为测试的输入向量。
以浙大眼数据库[3]作为训练集进行机器学习,用IPLAB软件做图像处理来统计睁眼和闭眼之间的特征值差异,此数据库包括1574幅闭眼图像和5770幅睁眼图像。机器学习后使用LIBSVM软件的PYTHON脚本以交叉验证的方法对410幅闭眼图像和1230幅睁眼图像进行测试来寻找式(1)中参数C和γ的最优值,结果如图4所示。当C=8,γ=0.125 时精确度最大为81.5046%,故选用此组数值为C和γ的值。
2.3.2 眼部特征监测过程系统工作时按帧提取每个眼睛的图像特征,使用SVM方法进行分类。当结果为一只眼睛睁开另一只眼睛闭合时,将这次提取视为无效。若监测到的闭眼帧的总数除以睁眼帧的总数大于0.5则发出警报。
2.4 手部活动监测在MSSDK模块中用头部、左手和右手三个关节点的位置信息来判断驾驶员是否分心,定义安全区为:左右手间的距离大于60cm且左右手到头部的距离小于
15cm。若手不在安全区超过5s,系统就会发出警报。
3 实车测试
四名志愿者司机进行了实车道路测试,每个司机都驾驶相同的15Km的城市路段和50Km 的高速公路,共进行4次白天驾驶试验和2次晚上驾驶试验。司机在驾车时按照指示做一些动作如望着远处、点头、打2分钟电话、打哈欠、反复睁闭眼来模拟实际驾车时打瞌睡、分心的状态,图5为实车测试图,两次试验的结果如表1和表2。
试验表明本系统能很好地跟踪头部运动,因为光线的亮暗不影响kinect跟踪质量,脸部因采用3D模型识别率也较高,但光线很暗时难以清晰地采集到眼部图像,通过实验发现当司机与kinect传感器的距离大于100cm时骨架跟踪才可以正常工作,因而手部动作识别正确率不高。
4 结论
本系统能很好地跟踪头部和脸部运动,光线较暗时对眼部运动的识别率不高,基本不能跟踪手部运动。为提高手部动作识别率,要选择能在40cm到90cm范围内起作用的用于骨架跟踪的传感器接入本系统,使用单独的红外摄像机对眼部进行监测可提高眼部识别率。
参考文献:
[1]Matsuda Toshiyuki, Makikawa M. ECG monitoring of a car driver using capacitively-coupled electrodes[C]. Engineering in Medicine and Biology Society, 2008. EMBS 2008. 30th Annual International Conference of the IEEE. IEEE, 2008: 1315-1318.
[2]Liu X, Zhu Y, Fujimura K. Real-time pose classification for driver monitoring[C].The IEEE 5th International Conference on, 2002: 174-178.
[3]http:///xtan/data/ClosedEyeDatabases.html.