姜思羽,吴 斌,邱少健,羊梅君
(华南理工大学广州学院,510800广州)
随着汽车数量的不断增加,一方面给人们的生活带来了便利,同时也引发了许多问题,汽车驾驶安全成为世界性的问题.疲劳驾驶已经成为交通事故的严重隐患,在这样严峻的交通事故形势下,人们越来越多地关注汽车的安全问题.2000年,美国Ellison Research Labs实验室利用检测车道标志线的方式来判定驾驶员是否疲劳[1].2002年日本电脑便民公司通过安装在方向盘上的探测装置来获取手握方向盘时的脉搏跳动信息,再利用软件进行实时分析判断驾驶员是否疲劳[2].美国研制的驾驶员疲劳检测系统通过获取驾驶员烦躁不安的情绪活动、眨眼的频率和眼睛闭合的持续时间等疲劳数据,来判断驾驶员是否在打瞌睡或已睡着[3].在国内,2000年,上海交通大学通过传感器检测驾驶员驾驶时方向盘、踏板等运动参数来提高驾驶员的行车安全,发现方向盘的操纵情况与驾驶员的疲劳程度之间具有一定的关联性[4].2003年,吉林大学交通学院的王荣本等[5]研究用眼睛和嘴部状态来检测驾驶疲劳.2006年,同济大学道路与交通工程教育部重点试验室通过记录瞳孔直径变化来进行疲劳驾驶检测.
上述研究主要存在接触式检测方式对驾驶员产生一定的影响,检测准确率不高等问题.针对当前研究存在的问题,本文提出了一种非接触式的驾驶员疲劳驾驶检测方法,通过对驾驶员面部图像的检测可以判断驾驶员是否处于疲劳状态,若系统认定驾驶员已经疲劳则会以语音的方式提醒驾驶员,有效地减少交通事故,提高交通的安全性[1].
驾驶员疲劳驾驶检测技术软件算法的基本思路是:监测驾驶员眼睛的活动状态,如果驾驶员的眼睛连续闭合时间超过2 s以上,则根据PROCELS方法,可以判定驾驶员已经出现疲劳症状,此时必须对驾驶员做出提醒.PERCLOS方法是1994年卡内基梅隆研究所提出的,指的是根据单位时间眼睛闭合时间所占的比例来判断是否出现疲劳,在驾驶员疲劳检测领域具有良好的应用基础[6].
软件算法的设计流程如图1所示[7].
图1 软件的设计流程
1)采集训练样本图像,将人眼闭合的图像作为训练正样本,而将非疲劳时的人脸图像作为训练负样本,构成图像训练样本集,每幅图像均有256个灰度级,系统训练的正样本数为12 500个,负样本数为21 500个,神经网络的层数为3层.
2)将图像转化为一维向量,并定义“瞌睡状”为1类眼部特征,“非瞌睡状”为-1类眼部特征.因此第i个样本图像的一维向量xi可以表达为
式中:xij表示1类第i个样本第j个像素灰度值;i= 1,2,…,n为1类眼部样本;m为每个样本图像所取像素,m=u×v,u和v分别为样本图像的列和行像素数.
3)训练样本特征值及特征向量计算.计算疲劳时样本的均值,称为疲劳眼部平均图,计算方法如式(1)所示:
对上述训练样本进行规范化后可以表达为
由训练样本组成的疲劳眼部规范化向量
疲劳眼部协方差矩阵为
利用式(2)求取Q的特征值λ1及其特征向量,并将其从大到小重新排列后生成特征向量
式中λ1≥λ2≥λ3≥….
4)对训练样本进行线性变换后投影到特征空间.由于较大的特征值对应的特征向量包含了较多的人脸眼部特征信息,因此可以选取前s个较大的特征值所对应的特征向量构成的向量空间,就可以近似地表示人脸眼部图像的主要信息[8].
对于图像库中的n个图像
都可以向此特征空间投影,得到投影向量
因此,可以直接用¯v来代表1类人脸眼部特征.在建立了人脸眼部特征规范化向量后,就可以依次作为识别驾驶员是否疲劳而呈现瞌睡状的依据.
1.2.1 图像增强
利用脉冲耦合神经网络(pulse coupled neural network,PCNN)法对摄像头采集到的图像进行增强,PCNN与传统的神经网络有着根本的不同,其能从复杂背景下提取有效信息,具有同步脉冲发放和全局耦合等特性,更符合人类视觉神经系统的特征.由于硬限幅函数的作用,标准的PCNN模型输出是一个二值图像帧.为了使所建立的PCNN输出映射函数能更有效地进行图像整体对比度增强的处理,在人眼视觉特征的基础上,采用类对数映射函数,将图像的亮度强度映射到一个合适的视觉范围[9].PCNN输出映射函数为
式中:Imax是原图像中最亮像素点的强度值;Δt为采样时间周期,亦即迭代时间步长,τθ为时间常数,Δt(n-1)/τθ表示PCNN中动态阈值函数在(n-1)点火时刻的衰减步长;Yij(n)是神经元Nij在n点火时刻的感知输出,即为增强图像的亮度强度[10].
1.2.2 彩色空间转换
将增强后的图像进行彩色空间转换,即将增强后的数字图像从RGB彩色空间转换至HSV彩色空间,转换后的亮度V、饱和度S和色调H分别表示为
在计算过程中,如果出现H<0,则取H'≤H+ 360°,H'为H的实际取值.
1.2.3 监测驾驶员眼部区域
首先要确定人脸区域,在采集到的人脸图像中,按照像素坐标从左到右、从上到下扫描检测像素的景物色调,将人脸区域与背景区分开来.在人脸肤色调集合中,以最接近人脸肤色的色调值所对应的像素点作为人脸中心点,经过人脸区域搜索结果,可以确定(ik,jk)为人脸中心位置坐标,i表示像素的列坐标,j表示像素的行坐标,脚标表示列数和行数.以人脸中心点为基点向上扩张u行像素和向两侧各扩张v/2列像素,即可获取u×v的眼部跟踪区域[11].
采用一阶预测算法作为人脸眼部区域跟踪的方法.根据系统跟踪到的人脸中心坐标(ik,jk),依次向上扩张u行像素和向两侧各扩张v/2列像素,截取u×v的眼部区域图像作为带入测试样本.按照训练样本同样的方法对测试样本进行图像特征值及其特征向量的计算.将测试样本投影到特征子空间,当前u×v的眼部区域图像就对应于特征子空间中的一个点[12].
把投影到特征子空间中的u×v的眼部区域测试图像与训练图像逐一进行比较,确定待识别的样本所属类别.采用距离分类函数进行分类,判断驾驶员的状态是否疲劳,如果判定驾驶员已经疲劳,则通过语音报警装置发出报警.在软件测试过程中,图2为第19帧图像,人眼处于正常睁开状态,可以看到软件很好地识别出人脸和人眼区域.图3为测试的第27帧图像,被测试者眼睛闭合,此时软件能够检测到人脸区域,但检测不到人眼区域,判定驾驶员处于疲劳状态.
图2 正常状态检测效果
图3 疲劳状态检测效果
疲劳驾驶装置的硬件主要由摄像头、中央处理器以及语音报警装置组成.由摄像头采集驾驶员的面部头像,输入至中央处理器进行处理,若判断驾驶员已经出现疲劳,则由报警装置发出报警,提醒驾驶员注意行车安全.图4为驾驶员疲劳检测装置硬件框架图,其中CCS为DSP系列芯片的编译开发环境,JTAG仿真器主要作用是将程序烧入至DSP电路板中.
图4 疲劳驾驶检测装置硬件框架图
驾驶员疲劳驾驶检测装置的处理流程是:首先由摄像头采集驾驶员的面部图像,摄像头输出的数据流格式为PAL制式,数据流经过视频解码芯片SAA7113H的解码,得到标准的BT.656并行数据.再将数据输送到DSP芯片当中,提取其中的YCbCr数据并存储在内部的缓冲器中,然后将数据传输到外接的SDRAM中,在DSP处理数据之前,SDRAM中的数据会被调入到 DSP的RAM中[13].
1)图像采集装置——摄像头.要求摄像头能够清晰、准确地采集驾驶员的面部图像,并且外部对光照条件的适应性很好,不出现曝光等现象.另外,国家规定红外线不能一直对着人眼照射,所以摄像头应该是不带红外,但是要在夜间也能够采集到清晰的人脸图像,摄像头采用12 V供电.
为了连接牢固、可靠,摄像头与DSP主机之间采用4端口的工业端子相连,分别是电源、接地、视频信号、接地.
2)中央处理器:本次采用的中央处理器芯片为DSP系列的TMS320DM642,其显著特点是运算效率高、处理速度快.
3)语音报警装置:当检测到驾驶员疲劳时通过语音报警的方式提醒驾驶员注意行车安全.
疲劳驾驶监测装置由汽车点烟器提供12 V电压.摄像头工作电压为12 V,而TMS320DM642芯片的工作电压需要5 V、3.3 V以及1.4 V等,控制语音报警芯片的单片机STC12LE5A60S2工作电压也为3.3 V,所以控制器需要电源管理系统.图5为12 V到5 V电压转换电路,图6和图7分别为5 V、3.3 V和1.4 V的电压转换电路[14].
图5 汽车点烟器12 V到5 V电压转换电路
图6 5 V到3.3 V电压转换电路
图7 5 V到1.4 V电压转换电路
2.3.1 外部存储器SDRAM
因为系统需要不断地实时处理大量的图片,而DSP的片内存储容量往往不够,本次采用两片MT48LC4M32B2-7作为 DSP芯片的外部SDRAM,TMS320DM642通过 EMIF(external memory interface)接口来访问和管理外部SDRAM,并且选择合适的读写策略来降低SDRAM的功耗,MT48LC4M32B2-7的工作电压亦为3.3 V[15].
2.3.2 判定结果的输出
TMS320DM642通过 GPIO口与单片机STC12LE5A60S2连接,当DSP判定驾驶员已经出现疲劳时,则通过GPIO口给STC12LE5A60S2单片机的INT0和INT1外部中断,告知驾驶员已经疲劳,再由STC12LE5A60S2单片机控制语音芯片发出报警,本次选用的报警芯片是TH040,其工作原理是向芯片发送不同的脉冲数,语音芯片会播报不同的声音片段,工作电压为3.3 V,其电路如图8所示.
图8 语音芯片TH040外部电路
为了使系统能够适合不同的人群,在电路上设计了一个旋转电位器,可以旋转至8个档位,代表8个不同的灵敏度,检测驾驶员疲劳状态的灵敏度依次从低到高[10].
2.3.3 电路板的PCB布线
由于电路板上要走高频信号线,所以抗干扰设计是电路板设计的一个重点,注意信号线之间的最小间隙和信号线的走向,本次设计布线分为6层.
由于训练样本采用的是一定规格大小的正负样本,因此要求摄像头采集的人脸大小与训练样本基本一致,摄像头镜头的焦距决定了人脸与摄像头之间的距离,根据驾驶员实际的座位情况以及疲劳驾驶监测装置摄像头的安装位置,合理选择摄像头镜头的焦距,本次系统选择焦距为8 mm的镜头,经测试其有效距离为30~150 cm,可以很好地满足实际使用情况.并且为了避免红外线对人眼的直接照射,选择不带红外但是具有夜视效果的摄像头[16].
经过加工、测试将电路板制作出来之后,分别向TMS320DM642和STC12LE5A60S2芯片中烧入程序,置于实车上,由汽车点烟器提供12 V电源,将摄像头安装在汽车的太阳挡板上,进行测试.实验结果表明,所设计的系统可以很好地满足实际使用条件,在白天以及夜间均能对驾驶员的疲劳状态做出正确的反应,误报率低于1%.图9为样机实车测试图.
图9 样机实车测试
1)对大量正负样本进行训练,提取特征,可以很好地表达人脸和人眼,通过得到的向量空间判定测试图像准确率高.
2)脉冲耦合神经网络符合人类视觉特征,通过图像增强、彩色空间转换以及眼部区域跟踪等措施,有利于图像的处理与识别.
3)TMS320DM642硬件平台的运算和处理能力满足系统的要求,摄像头的安装位置和焦距的选择对测试效果影响显著,本系统当镜头焦距为8 mm时效果最好.
[1]LEE J D,MCGEEHEE D V,BROWN T L,et al. Collision warning timing,driver distraction,and driver response to immient rear-end collision in a high-fidelity driving simulator[J].Human Factors,2002,44(2): 314-334.
[2]YANG M H,KRIEGMAN D,AHUJA N.Detecting faces in images:A survey[J].Transactions on Pattern Analysis and Machine Intelligence,2002,24(1):34-58.
[3]WANG Qiong,YANG Jingyu,REN Mingwu,et al. Driver fatigue detection[C]//A Survey Proceedings of the 6th World Congress on Intelligent Control and Automation.Dalian,China:[s.n.],2006:8587-8591.
[4]石坚,吴远鹏,卓斌,等.汽车驾驶员主动安全性因素的辨识与分析[J].上海交通大学学报,2000(4): 381-385.
[5]王荣本,郭克友.适用驾驶员疲劳状态监测的人眼定位方法研究[J].公路交通科技,2003,20(5):111.
[6] Socity of Automotive Engineers.Intelligent vehicle initiative technology and navigation systems[M]. Virginia:SocietyofAutomotiveEngineers,2001: 101-107.
[7]FREUND Y,SCHAPIRE R.A Short Introduction to Boosting[J].Journal of Japanese Society for Artificial Intelligence,1999,14(5):771-780.
[8]张秀彬,应俊豪.汽车智能化技术原理[M].上海:上海交通大学出版社,2011:112-120.
[9]张志.全景视觉大图像的分割及图像增强[D].哈尔滨:哈尔滨工程大学,2009.
[10]石美红,李永刚,张军英,等.一种新的彩色图像增强方法[J].计算机应用,2004,24(10):69-74.
[11]LIENHART R,KURANOV A,PISAREVSKY V. Empirical analysis of detection cascades of boosted classifiers for rapid object detection[C]//Proceedings of the 25th German pattern recognition Symposium. Heideburg:Springer,2003:297-304.
[12]JIANG Libiao,WANG Huirong,GAO Shengying,et al. Research of the automotive driver fatigue driving early warning system[C]//2010 3rd International Conference on Computational Intelligence and Industrial Application.Hefei:Intelligent Information Technology Application Association,2010:200-203.
[13]王鹏程.汽车驾驶员疲劳驾驶预警装置设计及实验研究[D].威海:哈尔滨工业大学(威海),2011.
[14]Texas Instrument.TMS320DM642 Evaluation Module Technical Reference[S].Dallas:Texas Instrument,2003:27-31.
[15]Texas Instrument.TMS320DM642 Video/Imaging Fixed-Point DigitalSignalProcessor[S].Dallas:Texas Instrument Inc,2002:78-84.
[16]MAY J F,BALDWIN C L.Driver fatigue:the importance of identifying causal factors of fatigue when considering detection and countermeasure technologies[J]. Transportation Research,2009(12):218-224.