姚程越 缪泽洋 程子涵 高蕊 范宇鹏
摘要:在进行学习时,通过学生的面部信息会判断出学生的疲劳状态,利用68点定位技术可对疲劳状态进行分析。本系统通过视频以及图片还有摄像头时时检测的方法,通过68点定位眼睛和嘴,来计算出眼睛的横纵比为睁眼或者闭眼,再测出嘴部的横纵比来确定嘴的张开程度从而判定駕驶员是否处于疲劳状态。但由于每个人的眼和嘴都不是完全相同的,故加入了SVM模型来对用户当前的眼部嘴部特征进行更加准确地判断。
关键词:人脸识别,SVM模型,疲劳检测,人脸68特征点
1.人脸检测
在学习过程中,电脑或者手机发出的光线对采集人脸的数据有很大的影响,HOG算子通过计算边缘的梯度和拐角的方向来描述物体的形状,能够减小光照和背景因素对目标检测的影响,相对于其他方法拥有自身的优势[1]。
2.基于人脸特征点的疲劳驾驶检测方法
2.1人脸特征点定位
本系统首先检测了摄像头(照片或视频)中的人脸区域,然后通过Dlib中的68个人脸特征点进行定位,获取到眼睛还有嘴巴的位置后,通过阈值来判断双眼和嘴疲劳。图像的的预处理用到了Dlib的函数,将视频流中的图像和预处理结果的Dlib进行特征对比,从而实现了人脸追踪。在获取到人脸框架后,用Dlib中的特征点进行标注人脸的眼睛鼻子等部位。
2.2人眼,嘴部疲劳检测
在定位人脸68点后,可知37-42号点代表人的左眼、43-48号点代表人的右眼、49-60号点代表人的嘴部外轮廓,61-68号点代表人的嘴部内轮廓。
可以看出,描述人眼部的特征点的高度和宽度存在一定的数量关系,当睁眼状态转向闭眼状态时,高度与宽度的比值在急剧减小,用比值的形式进行表示,得到公式(3-1)[3]。
根据数据测试发现,人在睁眼状态下EAR在0.25左右,人眼闭合状态EAR小于0.15, 正常说话时的MAR不多于0.3,持续帧数不超过20帧,打哈欠的MAR最大值可到0.8,平均超过0.3,持续帧数超过100帧[4],所以,可根据公式(3-1)和公式(3-2)的结果对眼部和嘴部进行阈值判断。
3.SVM模型训练
由于不同人的眼部、嘴部存在着不同的差异,为了提高算法的准确度,本系统通过SVM模型来判断用户当前眼部嘴部特征这样可以提高本系统的准确程度。
由2.2可知,眼部以及嘴部的状态主要分为睁眼、闭眼、张嘴、闭嘴四个状态。用户先在系统中录入四个状态的信息各1000帧(每帧采集多维特征向量),采集时将EAR、MAR的值作为区别不同状态的临界值,以防录入错误的数据。将采集好的数据带入SVM类,采用线性核,利用SVM分类器中的二分类,分别构造眼部SVM模型和嘴部SVM模型即可满足需求。
4.疲劳识别判定
疲劳程度在眼部、嘴部状态判断的基础上又可以进一步检测用户的PERCLOS即单位时间内眼睛闭合时间占单位时间的百分比和单位时间内哈欠次数这两个参数[5]。通过实验发现,疲劳程度与这两个参数均成正比且打哈欠影响成分更大些,分别赋予0.4、0.6的权重可得到疲劳值公式(3-3)。
其中T为每个疲劳检测周期,在视频流中加载训练好的SVM模型分别对眼部和嘴部进行分类,一旦用户闭眼即计算T时间内累计闭眼时间,打哈欠则记录T时间内打哈欠次数。
5.仿真实验
配置好HP Wide Vision HD Camera摄像头拍摄演示视频,拍摄实验包括睁眼,闭眼,张嘴,闭嘴的视频片段,其中张开定义为负样本集合,闭合定义为正样本集合。实验采用7个人的多种不同的表情样本,头部移动,以及面部变化,还有7个人的5000张不同照片来进行检测。测试结果如下图所示。
6.结语
本文通过实时采集学生在学习时的实时画面,通过HOG算子检测视频中的脸,然后根据人眼纵横比例和嘴部纵横比例来判断是否疲劳。通过测试表明,本文提出的方法在疲劳检测方面有良好的作用,在检测学习方面具有广阔的前景。
参考文献:
[1]Bergasa L M, Nuevo J, Sotelo M A, et al. Real-time system for monitoring driver vigilance[J].IEEE Trans on Intelligent Transportation Systems,2006,7(1):63-77.
[2][1]谭桂玲,邓三鹏.基于嵌入式疲劳驾驶预警系统设计[J].南方农机,2020,51(13):10-11.
[3]王坤.基于机器视觉的疲劳驾驶检测系统究[D]杭州.杭州电子科技大学,2016
[4][1]岳翼.基于图像识别的模拟驾驶疲劳检测系统设计及实现[J].电子世界,2016(22):69-70.
[5][17]邹昕彤,王世刚,赵文婷,等.基于眼睛与嘴部状态识别的疲劳驾驶检测[J].吉林大学学报(信息科学版),2017,35(2):204-211.
作者简介:姚程越(2000-10-07)男,汉, 黑龙江省望奎县,本科,研究方向:人工智能。
本文由大学生创新创业项目《基于面部识别与深度学习的疲劳检测系统》支持,项目编号:202010214120