一. 疲劳程度的检测方法
司机疲劳驾驶是引发交通事故的一个重要因素。美国国家公路交通安全局(NHTSA)最近几年调查[1]显示:每年平均有56000起车祸与疲劳驾驶相关,造成40000人受伤,1544人死亡(占交通事故死亡总人数的3.7%),调查还显示有27%的受访者表示有过开车打瞌睡的经历。公安部交通管理局1999年与2000年的统计结果表明:由于驾驶疲劳产生的交通事故只占1.4%和1.15%;产生的死亡率分别是2.5%和2.23%;但是疏忽大意、判断错误、措施不当三项相加分别是18.8%和20.29%,产生的死亡率是18.6%和20.84%;在这三项事故原因中可能夹杂着驾驶疲劳。因此有必要研制一套能够判别司机的疲劳程度的警报装置。现在许多国家正积极进行这方面的研究。法国的一些研究机构在联手研制一种监测司机注意力下降的系统,它可以通过声音或光信号提醒司机。负责这项技术开发的法国图卢兹西门子VDO汽车公司希望能在2006年给汽车安装上这套装置。这项研究工作已经在去年上马,总投资是1700万法郎,主要是对车上安装这一套装置的可行性进行研究。目前司机疲劳的生理特征的检测方法较多,可分为接触式检测和非接触式的检测两大类,主要有以下几种:
1.疲劳产生的脑电变化大脑皮层兴奋与抑制时,其脑电图上的表现是不相同的。兴奋时,脑电图表现为低波幅、快活动(称β波,频率在13Hz以上);抑制时,脑电图表现为高波幅、慢活动(称θ波,频率为4-7Hz);高度抑制,如深睡时,出现高幅更慢的波(称δ波,频率为0.5-4Hz);清醒情况下,安静闭目时为α波(频率为8-13Hz)。根据脑电图的频率分布和波形,可推测大脑活动的功能状态,从而推测是否存在心理疲劳。但是脑电图容易受外界因素的干扰且个体间的生理反映差距较大,价格过高,因此难以在实际中使用。
2.头部姿势。疲劳时头部会经常向下倾斜,据统计[2]:对于大部分人,头部位置与疲劳度的相关系数在0.8左右。而少数人疲劳时头部姿势基本不会变化相关系数呈现负值。该方法可作为疲劳检测的辅助手段。
3.方向盘的转动幅度及方向盘的握紧力。司机疲劳程度加深时,方向盘的大转动幅度次数增多,握紧方向盘的力量变大。这种方法的优点是成本低。美国已研制出一种磁卡方向盘监视系统,靠监视方向盘的动作和规律来检测司机的精神状态,这是目前唯一低价位的产品。
4.道路追踪器。在车上安装一个摄像头,它的视野与司机相同。司机疲劳驾驶时车辆会经常会越过公路中间的白线。车辆离开白线的时间和偏离程度可以在一定程度反映司机的疲劳程度。这种测量的缺点是要求白线足够清晰,并且晚上测量容易受到光线的影响而失败。
5.瞳孔计。奥地利的科学家经过测试:精神振奋者的瞳孔直径变化频率平均为每分钟5至10次,而长时间未睡眠休息者的瞳孔直径变化频率平均每分钟可达15次。他们已经开发出了便携式红外线振动记录检测仪。这种仪器能够准确记录司机瞳孔直径的变化频率,供检测者判断司机的疲劳程度及其驾车的危险性。
6.PERCLOS。检测眼皮下垂程度。
二. PERCLOS方法的原理
PERCLOS指在一定的时间内眼睛闭合时所占的时间比例。在具体试验中有p70,p80, em三种测量方式。
P70: 眼皮盖过瞳孔的面积超过70%所占的时间比例。
P80: 眼皮盖过瞳孔的面积超过80%所占的时间比例。
Em: 眼皮盖过瞳孔的面积超过50%所占的时间比例。
FHWA[3]曾经检测PARCLOS,头部姿势的变化,脑电图等方法的测试结果与疲劳的关系程度。他们让试验者在42小时的实验过程中不能睡眠,每两个小时做20分钟的疲劳程度测试。该测试要求试验者在半秒类对屏幕上出现的亮条作出判断并按键,每二十分钟统计失误次数。该次数反映客观上真实的疲劳程度,作为其他测量方式准确性的衡量尺度。测量其他的生理特征值。将测量值与客观疲劳程度作相关运算。结果显示PERCLOS中P80与客观疲劳程度的相关系数最大,而EEG和头部姿势的变化个体间的差异很大。另外PERCLOS的另一个优点是可以实现非接触式检测,不会影响驾驶。但是PERCLOS的检测基于机器视觉,图像处理的实时性实现比较困难。本文提出了一种适合于疲劳检测的图像处理方法。
三. 图像采集系统的设计
首先考虑司机的驾驶环境,检测系统必须在夜晚或光线较弱的情况下正常工作,因此必须采用自带光源的摄像系统。本系统采用自带红外发光管的红外摄像机来采集图像这样不仅保证充足的照明而且红外光线不可见,不会影响司机的驾驶。为了减少外界环境的干扰,降低图像处理的复杂程度,应当尽量滤波背景图像。图像采集系统选用950nm近红外线发光管做光源,选用索尼950nm红外滤镜过滤950nm窄带波段以外的光谱。由于发光管发出的是950nm左右的窄带的红外线,而滤光片只能通过950nm左右的窄带红外线,可见光和其他波长的红外线被过滤,因此可以近似认为采集图像的光源只含有950nm的红外光源。如图1为用自然光拍摄的图像,图像的阴影较大,眼睛区域的定位难度很大,图2为用本系统采集的红外图像,图中司机的脸部比较清晰,离光源较远的物体几乎被过滤掉。图像的处理难度较小。考虑到图像分析的实时性问题,以及在分析眼睛的大小时,眼睛的面积不能太小。我们选择合适的分辨率,将采集的图像的大小设定为320*240。司机的脸部图像的大小调整在大致1万象素左右。最后摄像机的dv图像通过1394卡传到计算机并由计算机控制红外序列图像的采集。系统的原理框图如图3所示
四. 脸部区域的提取
由于采集系统过滤了大量的背景,可以假设采集的图像满足以下两个先验条件:
1)脸部的面积在图像中所占的比例较大,如果用合理的阈值分割图像,将分割后的二值图像中值为1的区域按连通区域面积从大到小排序,脸部的面积可以排在前两位。
2)司机头部的运动量较其他地方大。
因此本文采用的做法是:先用合适的阈值分割方法得到图像im2的二值图像binim,然后求它与前一帧图像im1的差分图像difim(difim为im1和im2差值的绝对值取一定的阈值分割后的二值图像),计算binim中面积最大的两块连通区域s1,s2;在差分图像difim中计算两块区域的运动量,选取其中运动量较大的一个区域。计算该区域的上边界和左右边界,下边界的选取使得脸部的区域为正方形。
由于脸部姿势变化时图像的光线变化较大,用固定的阈值分割不可行。本文用类别方差自动门限法对图像做二值化处理,该方法的原理如下:
组合分析这些类别方差,可以衡量不同的门限导出的类别的分离性能。可以选用的准则有
五. 圆频率变换和眼睛的定位及面积计算
圆频率变换的滤波方法[4]是Shinjiro Kawato和 Jun Ohya提出的一种用于分析人脸姿势的方法。它的特点是不直接定位眼睛,而是通过定位两只眼睛的连线的中点即眉心的位置来分析人脸的姿势。该方法的特点是运算速度快,能够满足实时处理的要求。本文利用这种方法作为眼睛定位的一个步骤,以减少下一步眼睛定位的搜索范围。
以点(x,y)为圆心,以一定的半径画圆,将圆周上的点依次存入数组,设数组为
取圆频率滤波的半径r=len/4。
定位出眉心后,本文用以下的方法步骤定位瞳孔中心并计算瞳孔的面积。
1. 根据该点估计眼睛和眉毛所在的大致区域,选取距离眉心上下各20个象素,水平方向的距离在[7,40]的图像区域。
2. 在选取的图像区域内作水平积分投影即G(y)= ,对G(y)作均值滤波,眼睛和眉毛处的积分比较小,而二者中间的眼睑亮度相对较大,因此我们计算G(y)中两个波谷之间的波峰作为眼睛区域的上边界,取上边界加15作为下边界。
3. 在眼睛区域内做广义对称变换计算瞳孔中心,由于眼睛的区域较小,虽然广义对称变换的时间复杂度为( ),其中n为图像的象素总和,m为模型的大小,但是计算的区域较小,因此不会影响实时性。这里本文用椭圆模型定位瞳孔的中心,椭圆的长轴a=6,短轴b=3广义对称变换的原理参考文献[5]。
4. 将瞳孔中心上下5个象素,左右10个象素区域的灰度变换到[0,1],取0.4为阈值分割图像。计算瞳孔的面积。
图5
为了进一步提高处理速度,本文并不对每一帧图像做上述步骤处理而是在定位出眼睛的中心位置后估计下一帧眼睛和眉毛的区域,用积分投影和广义对称的方法定位眼睛的中心,只有当连续两帧眼睛周围的亮度差值太大时才在整个图像范围内用上述的所有步骤定位眼睛。如图5显示了右眼的定位和瞳孔面积计算的过程。
六. 实验结果及结论
本文的实验在MATLAB7.0,C41.7GCPU,256MB内存的环境下进行。MATLAB7.0增加了与视频设备接口通讯的工具箱,,通过1394卡可以与dv摄像机通讯,实时捕捉和检索图像序列。本文采用MATLAB直接读取视频中的图像并进行处理,图像处理的速度在每秒8~12帧,在脸部不是过于偏离镜头造成背光严重的情况下能够准确定位瞳孔中心。当然采用单一的检测手段有一定的局限性,例如有些人睡觉时眼睛不闭合,有些人喜欢带墨镜,此时PERCLOS方法就会失效。,采用多种疲劳判别方式的综合可以提高判别的准确度,例如综合眼皮的眨动次数,头部姿势以及汽车在行驶时的横向速度的变化情况。为了提高系统疲劳检测的有效性,多种疲劳判别方式综合判定是我们对系统改进的研究方向。