来源:中国一卡通网 作者: 发布时间:2012-02-16 09:25:22 字体:[大 中 小]
摘 要:疲劳驾驶已成为交通事故发生的主要原因之一。文中提出了一种基于3G 视频的人眼疲劳检测方法。通过DirectShow 技术对视频流抓取视频帧,采用肤色聚性特征进行人脸定位,基于灰度信息进行人眼定位与追踪,并采用Perclos 方法进行疲劳判断。通过此方法,可以及时了解驾驶者的疲劳状态,有效预防疲劳驾驶。
f( x,y) 为得到的人脸区域的灰度图像,通过实验发现,在眼睛处导数变化值之和的绝对值最大,通过此方法可粗略判断人眼所在线的位置。
3. 2 人眼精确定位
通过观察发现眼睛周围Cb值较高,而Cr值较低,因此由式( 5) 计算得到特征图,以突出眼部特征。
其中,EyeMap 是眼睛特征图,( Cb) 2,( Cr) 2,( Cb /Cr)都归一化到[0,255]之间,Cr是由Cr求反得到( 255,Cr) .在得到EyeMap 图后,设定阀值T,将EyeMap 小于T 的值设为0,这一步可视为一个简单的滤波以去掉非眼部特征的干扰。
得到EyeMap 滤波图后,结合人眼粗定位结果,从左到右搜索,按比例定义相对于人脸区域一定大小的框,当框进EyeMap 滤波图值的和最大时,即为人眼。
3. 3 眼睛的追踪
对人眼完成定位后,还要利用动态模板匹配的方法跟踪眼睛。设眼睛模板左上角的位置为( x,y) ,下一帧的搜索范围是原位置上沿上、下、左、右4 个方向各扩展10 个像素。其公式为:
式中,N 是模板中像索的个数; M 为模板; I 为图像中待匹配的部分。
可得所有大于阈值p 的最大值所对应的坐标为最匹配的位置。以此得到的眼睛图像作为下一帧图像的模板。在追踪的过程中,若得到的p 均小于阈值或两眼的行距过大则重新回到眼睛的检测过程。
4 基于Perclos 的疲劳识别
文中的疲劳识别基于Perclos 的P80 模型,即将闭合程度大于80%的眼睛状态判断为闭合状态。以初始时刻司机清醒时的上下眼睑最大距离为标准,若以后得到的距离小于此距离的80%则判断为闭合。假设实验视频帧率10 f·s - 1,分辨率为640 ×480,时长60 s.
则以每6 s 视频作为1 个检测单元,间隔0. 33 s 取1帧作眼睛状态检测。统计每个检测单元内18 帧图像的状态,得到眼睛闭合帧数CloseFrame_Num 和处理的总帧数SumFrame_Num,依据式( 7) 计算相应的Perclos 值。
如果所得Perclos 值大于实验确定的阈值20%,则判断此时驾驶员可能已处于疲劳状态,通过报警系统进行警告。
5 结束语
视频监控能对驾驶者进行监督提醒,有效预防疲劳驾驶,减少疲劳驾驶所引起的车辆事故。3G 视频监控是车辆监控发展的新趋势。算法在3G 监控视频帧的基础上,进行了人脸定位、人眼定位与追踪及疲劳状态判断。实验表明,该算法有较高的鲁棒性及准确性,并能有效应用于实际。
推荐文章
论坛热帖