查看原文
其他

面向驾驶员疲劳检测的双空间人眼定位方法 | 厚势汽车

江水郎,杨明 厚势汽车 2024-04-13


厚势按:驾驶疲劳可以从眼睛的状态中反映出来,而眼睛定位是判断眼睛状态的关键。为解决眼睛定位实时性和头部旋转不确定性问题,该文提出一种基于双空间的眼睛定位方法:在彩色空间中采用肤色特征快速检测人脸,在此基础上使用饱和度和亮度特征快速检测虹膜。


针对非开眼问题,在灰度空间中使用自定义圆卷积模板法定位眼睛。实验结果表明,该方法定位正确率为 94.67%,能够满足实时性要求,对戴眼镜、头部旋转、光照变化具有一定的鲁棒性。


本文来自 2008 年 12 月 20 日出版的《 计算机工程 》,作者是上海交通大学自动化系的江水郎和杨明教授。



1. 概述


疲劳驾驶是导致交通事故的重要因素。英国、法国、美国、日本因驾驶疲劳导致的意外死亡分别占死亡事故的 10%、20.6%、3.1% 和 1.5%;而我国 2005 年疲劳驾驶导致 2566 人死亡。因此,减少驾驶疲劳导致的道路交通事故已成为研究的热点。研究表明,眼睛状态与驾驶员疲劳有较高的相关性,能可靠地反映疲劳状态。而眼睛定位是判断眼睛状态的前提。因此,如何准确、快速地进行人眼定位是实现驾驶疲劳状态监控的关键。


目前,眼睛定位主要有基于学习、基于模板匹配、基于特征的方法。基于学习的方法包括 AdaBoost 算法、神经网络、主元分析法(PCA)[1] 等,此类方法必须进行面部搜索、旋转、归一化和特征降维,计算量巨大。


典型的基于模板的方法采用左右眼模板 [2],首先分别得到左眼和右眼模板,然后在图像中搜索与左眼模板或右眼模板最匹配的区域。这种方法使用方便,但对搜索区域初始位置要求高,计算量大,对于背景复杂或人脸倾斜的情况精度较低。基于特征的方法包括 HSI 虹膜检测和灰度投影法等。


前者在彩色空间检测睁眼效果不错,但对半睁眼和闭眼情况不能准确定位;后者定位速度较快,但对不同的人脸和姿态的变化非常敏感,因此,定位精度较低,容易陷入局部最小,从而导致定位失败。


对于戴眼镜的情况,阈值递增法的定位效果较差,不能区分眉毛和眼睛;复杂度方法、对称变换法、Blobs 法、Gabor 变换法 [3] 等其他特征方法定位不准确、计算量大或对光照敏感。驾驶疲劳检测系统中最关键的要求是非接触式、实时性和准确率。


考虑以上方法的特点, 为解决眼睛定位的实时性和头部旋转不确定性问题,本文提出一种基于双空间的人眼定位方法。



2. 眼睛定位流程


首先在彩色空间中采用肤色特征快速检测人脸和提取面部轮廓圆,并在此基础上使用饱和度和亮度特征快速检测虹膜。若检测不到虹膜,可能是闭眼或者半睁眼情况,将在灰度空间中使用水平积分投影和自定义圆卷积模板法定位眼睛。


图 1  眼睛定位流程


流程如图 1 所示,其中,水平积分投影与传统投影法不同,由于不直接计算眼睛坐标,而用于快速定位额头和脸颊之间的区域,因此速度快且区域选择方便。



3. 人脸检测


人脸检测和面部轮廓圆检测的目的是在图片中快速定位脸部,进一步缩小眼睛定位的区域。


3.1 图像预处理——彩色补偿


由于设备的原因,图片会产生偏黄、偏绿等情况,同时光线也会造成图片过亮或过暗,使肤色点在 CbCr 空间上并不能完全落在设定的肤色区域内。因此,进行肤色检测之前需要对 RGB 图片进行彩色均衡化补偿预处理 [4]。



3.2 基于肤色的人脸检测


肤色信息不受面部表情、角度等细节的影响,具有很高的稳定性,而且肤色能够与大部分的背景颜色相区别,此外肤色检测的运算量低,执行效率高,能够满足定位实时性要求,因此,用肤色信息实现人脸检测和眼睛定位具有很高的鲁棒性和实用性。



图 2  基于肤色的人脸检测


经过非线性彩色变换,肤色点聚类在 YCb'Cr' 空间的分布如图 2(a) 所示;图 2(b) 和图 2 (c) 分别是原图和对彩色图像使用基于 YCb'Cr' 空间肤色分割处理的结果图,阈值根据类间方差最大化原理选择。



3.3 人脸圆轮廓检测


在实际中,眼睛或者眉毛可能部分被头发遮挡,肤色检测得到的人脸不包含眼睛,导致眼睛定位出错。此外,为了缩小 HIS 空间虹膜检测区域,有必要从肤色点中检测人脸圆轮廓。


图 3  面部圆轮廓


取所有肤色点统计中心为面部中心,半径根据所有肤色点个数计算得到,处理结果如图 3 所示,其中,白色矩形框为人脸区域,黑色圆以内为面部区域。



4. 眼睛定位


4.1 HSI 空间虹膜检测


彩色含有丰富的信息,但它很少被应用在眼睛特征检测中,现有的方法多数是以灰度图像为基础的,没有充分利用彩色图像的色度和饱和度信息。利用彩色信息对图像进行分割,首先要选择一个合适的颜色空间, RGB 三个分量之间有很高的相关性,很难确定眼睛图像颜色分割时的 RGB 阈值。


为使分割效果更好地与人的视觉特性相匹配,采用 HSI 彩色空间,即采用色调、亮度和饱和度来量化颜色信息。一方面,HSI 模型去掉了强度成分与颜色信息的联系,另一方面,色度、饱和度成分与人们获取颜色的方式密切相关,因此, HSI 模型比 RGB 模型更适用于图像的识别处理。从 RGB 到 HSI 空间的变换可以表示为:





其中, H 为色度(0°≤H≤360°),表征观察者所获得的主导颜色感觉;S 为饱和度(0≤S≤1),用于度量颜色中搀杂白色光数量的多少,搀杂得越多,饱和度越小;纯色是完全饱和的,饱和度为 0;L 为亮度(0≤I≤1),用来表征颜色强度。将 HSI 颜色模型的 3 个分量归一化到 [0 255],即





由于皮肤区域的饱和度值要大大高于眼睛区域的饱和度值,并且眼白的亮度值低于虹膜的亮度值,因此可根据饱和度和亮度阈值化检测虹膜,阈值可分别根据饱和度和亮度直方图得到,面部圆区域内开眼虹膜检测结果见图 4。



图 4  HIS 空间虹膜检测



4.2 眼睛再定位


当眼睛为半睁眼或者闭眼时,检测到的虹膜点很少,由于形态学方面的操作,结果表现为检测不到虹膜,闭眼状态也检测不到虹膜,因此眼睛需要在灰度空间进一步定位。



(1) 水平投影定位眼眉区域


传统投影法的眼睛定位算法通常分为 2 步:


  • 计算双眼的纵坐标;

  • 计算每只眼睛的横坐标。


本文的投影算法有别于传统投影法:计算双眼的纵坐标时不是通过脸部水平灰度投影曲线直接计算,而是确定额头和脸颊的位置后再定位眼睛,这样在一定程度上提高了眼睛纵坐标定位的准确度和实时性,而且不计算左右眼睛的横坐标,而是把左、右眼眉区域分别定义为眼眉区域的左 2/3 和右 2/3,这样可解决头部一定范围旋转的眼睛定位。



图 5  水平投影及眼眉区域定位


图 5 中上下 2 条线之间的部分就是计算得到的人脸脸颊和额头之间的部分,该区域主要包括眼睛、眉毛、眼镜框。



(2) 自定义圆卷积模板定位眼睛


由于眼睛部分是从皮肤到眼白再到眼球中,灰度特征变化明显,因此本文提出用自定义圆卷积模板定位眼睛,卷积模板(大小根据脸宽定义)如图 6 所示。



图 6  卷积模板


分别在左右眼眉区域使用该模板进行卷积,黑眼球部分被加重,比眉毛部分大,因此,该方法能有效地区分虹膜和眉毛。关键在于阈值的选择, 本文根据区域灰度均值放大一定比例得到阈值。用此法检测得到的人眼黑块大多数情况下是真实的,但在少数复杂背景情况下,阈值很难选择,导致误判。


为了提高正确率,可对检测到的双眼黑块对应的眼部图像进行对称相似性分析,具体方法如下:分别以检测到的左、右眼睛黑块的中心为中心,从原灰度图像中切割出大小为 M×N(如 9×15)的小块灰度图像 A_L 和 A_R,将图像 A_R 沿左边缘翻转 180° 得到 B_R,计算 A_L 与 B_R 的相关(相似性)系数:





若检测到的双眼黑块是真实的, R 一般应大于或等于 0.5;否则真实性较低,最后根据左右眼眉区域得到可能的眼睛对,选择相似性最大的作为眼睛对,定位结果如图 7 所示。



图 7  相似性判断后的眼睛定位



5. 实验


该算法的定位实验结果见图 8。



图 8  实验结果


为检验本文眼睛定位算法的准确率和性能,在 AMD2.4 GHz 和 512 MB RAM 计算机上使用 Matlab 2006b 编程测试,实验数据采用 ORL 人脸数据库,共有 400 张图片(40 人,每人 10 张)。图片分辨率为 112×92,包含戴眼镜反光、复杂背景、光照、表情、头部变化等各种情况。


人眼位置用「+」标注。眉眼区域定位出错、阈值选择不当、相似性判断区域大小等原因会导致一些图片眼睛定位出错。


本文采用 Jesorsky 等人的眼睛定位正确性度量标准 [5]。设手工标定的左右眼睛准确位置分别为 E_L 和 E_R,算法检测到的左右眼睛位置分别为 E_L' 和 E_R';d_l、d_r 和 d_lr 分别为 E_L-E_L'、ER-ER' 和 EL-ER 的距离,则检测的相对误差定义为:





一般来讲, d_lr 约为眼睛宽度的 2 倍。 err<0.25,则认为检测结果是正确的,否则错误。


表 1 显示了该算法的定位结果。其中眼睛定位正确率可达 94.67%, 平均定位时间为 0.063 1 s, 能够满足实时性要求。


表 1  算法定位结果



6. 结束语


本文提出基于双空间的人眼定位方法,水平投影用于快速定位眼眉区域,在灰度空间中使用自定义圆卷积模板法定位非开眼眼睛。实验结果表明,该算法具有以下优点:


  • 精度高、实时性好;

  • 具有抗脸倾斜和抗脸侧向的能力,与人脸一定范围的平面旋转、左右立体旋转、上下立体旋转无关,解决了头部旋转不确定性问题;

  • 对局部光照变化不敏感;

  • 对不同的人具有高鲁棒性。


算法也存在一定的不足:


  • 阈值选择不当、眉眼区分不开会导致人眼定位错误;

  • 闭眼不能通过圆卷积模板方法区分眼眉。


因此,在闭眼检测方面有待改进。本文的算法可实现对不同人、光照变化、头旋转不确定的眼睛定位,能够满足实时性要求,易于实现,对彩色人脸图像的定位有很高的准确率。因此,有较强的适应性和应用价值。



参考文献


[1] Spors S, Rabenstein R. A Real-time Face Tracker for Color Video[C]//Proc. of IEEE International Conference on Acoustics, Speech and Signal Processing. Salt Lake City, UT, USA: IEEE Press, 2001: 1493-1496.

[2] Horng Wen-Bing, Chen Chih-Yuan. Driver Fatigue Detection Based on Eye Tracking and Dynamic Template Matching[C]//Proc. of IEEE International Conference on Networking, Sensing and Control. Taipei, China: IEEE Press, 2004: 7-12.

[3] 李 嵩, 刘党辉, 沈兰荪. 基于 Gabor 变换的人眼定位方法[J]. 测控技术, 2006, 25(6): 27-29.

[4] 蔡朝晖, 胡 丹, 贺贵明. 基于彩色图片的人脸检测方法[J]. 武汉大学学报, 2004, 37(5): 120-123.

[5] 耿 新, 周志华, 陈世福. 基于混合投影函数的眼睛定位[J]. 软件学报, 2003, 14(8): 1394-1400.



编辑整理:厚势分析师盖布林

转载请注明来自厚势和厚势公号:iHoushi



-END-


文章精选


企业家

马斯克和贾跃亭 福特CEO下台正道汽车仰融

任正非裁员|电池大牛凯尔提离开特斯拉

智能驾驶

BBC自动驾驶纪录片

为什么说百度阿波罗画虎不成反类犬?

基于ROS构建无人驾驶车辆环境感知系统

基于 GPS/INS/Lidar 的无人车导航

智能网联汽车对软件测试领域研究的影响

基于专利的智能网联汽车产业技术分析

新能源汽车

全国50个新能源汽车项目大盘点

锂电池发展趋势中国汽车产业电动化进程

苹果收购特斯拉?丰田和特斯拉决裂

重庆大学:燃料电池关键材料与进展

电动汽车无线充电技术的研究进展

纯电动物流车评价指标体系与评价模型

项目和评论

以色列最强10家自动驾驶创业公司

 37个汽车分时项目盘点百度投资蔚来汽车

马化腾或为共享单车最大赢家汽车产业3大趋势

Momenta获$4000万B轮

百度系自动驾驶初创公司 Pony.ai 的突围之路

这些大神从Google出走,创办了五家(命运各异的)无人车公司

无需基础知识,理解自动驾驶高精度行车定位技术


为您对接资本和产业

新能源汽车 自动驾驶 车联网




联系邮箱

bp@ihoushi.com

点击阅读原文,查看文章「汽车生产自动化百年发展简史」

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存