您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于DSP基于DSP的改进疲劳驾驶检测系统
DSP原理与应用院系名称:电气工程学院专业班级:电气F1201学生姓名:蔡佳翔学号:201223910310基于DSP的改进疲劳驾驶检测系统摘要:针对车载疲劳驾驶检测的应用,设计了基于TMS320DM642嵌入式平台的疲劳检测系统。首先在YCbCr空间进行肤色分割,之后采用基于人眼特征的改进混合投影算法定位人眼区域,然后计算人眼区域的高度并判断人眼的睁闭状态,最后利用PERCLOS算法对疲劳程度做出检测。实验结果表明,该系统准确率高、实时性好,能很好地满足车载疲劳驾驶检测的需要。本篇论文所针对改进的原论文为:○1孙晓玲,侯德文,储凡静.人脸识别中的眼睛定位方法[J].计算机技术与发展,2008,18(10):46-48.○2王江波,李绍文.基于Adaboost算法和模板匹配的人眼定位[J].计算机测量与控制,2012,20(5):1347-1349.关键词:TMS320DM642;疲劳驾驶检测;混合投影;PERCLOS算法。随着近年来我国汽车数量的快速增长,交通事故的发生变得愈加频繁。而疲劳驾驶往往是造成这些事故的主要因素,因此对防范疲劳驾驶的研究引起了众多学者和机构的广泛重视。研究车载的疲劳驾驶检测系统,实现对驾驶员疲劳状态的监控,在保障驾驶员安全驾驶方面有重要的应用价值和实际意义。在各种疲劳检测系统中,基于人眼参数的疲劳检测由于其准确率高、受主观因素影响小以及非接触的优点获得了广泛的应用。其检测原理为驾驶员眼睛闭合频率与疲劳程度的相关性,如何准确地定位人眼是该类系统研究的主要问题。目前常用的人眼定位方法有模板匹配法、霍夫变换法以及灰度投影法等。模板匹配法事先选取人眼的模板,通过在图像中进行匹配来定位人眼。但其准确度十分依赖选取的模板,且定位过程中需要匹配左右两只人眼,计算量较大、实时性差。霍夫变换法[3]提取待检测图像的边缘,用霍夫曼的圆检测法定位人眼。该方法要求边缘提取具有较好效果,并且图像中的眼球具有明显的圆形特征。这意味着对原图进行大量的预处理,并且当人眼闭合或半闭合时检测率降低。灰度投影法[4]对人脸图像的灰度值进行投影统计,再根据极值点的位置定位人眼。该方法计算量小、运算速度快,但是容易受到眉毛部分的影响。本文设计了基于TMS320DM642图像处理硬件平台的车载疲劳驾驶检测系统。为了尽量提高系统的实时性、保证驾驶员的驾驶安全,系统采用实时性最好的灰度投影法进行人眼的定位,并在此基础上针对灰度投影法的不足进行了改进。整个疲劳驾驶检测系统实现了对驾驶员疲劳程度的检测,并且有较高的准确率和实时性,具有很好的实用性。1系统硬件平台本系统硬件平台采用DSP芯片TMS320DM642作为核心处理器,外设模块包括视频解码与编码模块、SDRAM内存模块、时钟模块、电源与复位模块等。视频解码模块采用1片SAA7113,将摄像机采集的模拟视频信号解码为BT656(YCbCr4:2:2)格式的复合视频信号,分辨率为720×576。视频编码模块采用1片SAA7105,将视频口2输出的疲劳检测后的图像信号编码为模拟视频信号。SDRAM模块采用2片MT48C4M32芯片,总空间大小为32MB。系统通过模拟摄像头采集视频,经由SAA7113解码送入DM642的视频0,然后将视频数据经由EMIF(ExternalMemoryInterface)搬移到SDRAM中进行处理[6],最后将处理好的视频数据送入视频口2,由SAA7105芯片编码为模拟信号后输出到监视器显示。硬件平台结构如图1所示。TMS320DM642ClockPower&ResetVP0VP1EMIFInterfaceSDRAMSAA7113SAA7105图1硬件平台结构框图2疲劳检测算法的研究如何提高人眼定位的准确率是疲劳检测的主要研究内容,常用的人眼定位方法有:模板匹配法、霍夫变换法以及灰度投影法等。其中模板匹配法和霍夫变换法定位精度高,但是运算量较大,难以实时检测驾驶员的疲劳程度。灰度投影法算法简单、运算速度快,较为适合本文的实时疲劳检测。根据上述分析,本文采用实时性最好的灰度投影法来定位人眼,并针对常用的灰度投影法进行了改进。针对积分投影算法精度不高和易受眉毛部分干扰的问题,采用了基于人眼特征的改进混合投影算法来实现人眼的准确定位。疲劳检测主要流程为:肤色分割、人眼定位、疲劳检测。首先在YCbCr空间进行肤色分割,得到人脸肤色区域,并根据人脸“三庭五眼”的特征框定出人眼检测区域;之后在灰度图像的待检测区域内采用改进混合投影算法进行人眼定位,最后对驾驶员的疲劳状态做出判断。算法流程如图2所示。原始图像YCbCr空间的肤色分割改进的混合投影法定位人眼RERCLOS疲劳监测图2疲劳检测算法流程2.1基于YCbCr空间的肤色分割本文首先根据人类肤色在YCbCr颜色空间的聚类性,根据各像素的Cb和Cr值将原始图像二值化为肤色区域和非肤色区域。之后根据二值图像和人脸“三庭五眼”的特征,在原始图像的亮度分量中标记出人脸区域和去除了眉毛的人眼检测区域。后续定位只在人眼检测区域内进行,在降低运算量的同时提高了定位的准确率。图3分别为原始图像、肤色分割后的二值图像、框定的人脸区域、以及人眼检测区域。(a)原始图像(b)肤色分割(c)人脸区域(d)人眼区域图3确定人眼检测区域2.2人眼定位2.2.1基于人眼特征的改进混合投影算法传统的灰度投影算法大多采用积分投影实现,该方法根据人眼区域内像素的灰度明显低于其他区域的特性,分别在水平和垂直方向上统计各行和各列像素灰度的均值,并找出均值最小的行和列作为人眼中心位置的水平和垂直坐标,实现人眼中心位置的定位。并进一步以该位置为中心,分别向上下和左右方向查找各自均值的极大值,从而完成人眼上下和左右边界的定位。由于该方法只考虑了灰度的均值变化,因此当某一区域内的灰度均值相同时,无论该区域内各像素点的灰度呈何种分布都无法进行区分[7]。因此人眼定位精度不高且定位结果容易受到眉毛部分的干扰,导致定位不准确。经分析可知,灰度图像中人眼区域的像素具有其特有的灰度分布特征。在水平投影方向,人眼区域的灰度值变化很剧烈,灰度的方差值很大,且越靠近人眼中心越大。而眉毛附近像素的灰度值变化却较平稳,灰度方差较小,使得人眼和眉毛具有很明显的差异。同时,在垂直投影方向,人眼区域的像素也有相同的分布特性。因此本文采用一种混合投影算法定位人眼,即采用均值函数和方差函数的加权值作为人眼的定位函数,实现对灰度总体分布和局部变化的同时反映。混合投影函数如下:、H(x)和、H(y)分别为垂直和水平方向上归一化后的灰度方差和均值[7]。进一步分析可知,该混合投影函数无论是在水平还是垂直方向上,积分项和方差项所占的权重均相同,不具有真实人眼的灰度分布特征。人眼区域的灰度在水平方向上变化明显,具有很强的方差特征;而在垂直方向上变化相对平稳,均值特征更为明显。因此本文分别对水平投影和垂直投影中的积分项和方差项赋予不同的权重,水平混合投影增大方差项滓(y)的权重,而垂直混合投影则增大积分项H(y)的权重。经过多次反复试验,发现当采用式(3)和式(4)的权值时,人眼定位的效果最好。故最后确定的改进投影函数如式(3)、(4)所示。2.2.2人眼定位步骤人眼检测区域主要包含人眼和眉毛部分,其中眉毛会对人眼的定位产生影响。由于人眼的水平投影具有很大方差,和眉毛有明显区别。故先水平投影确定人眼上下边界后,再在该边界内垂直投影确定人眼左右边界,以减小眉毛对人眼左右边界定位的影响,实现人眼的准确定位。由于在行车过程中驾驶员会不停转动头部,会出现只能检测到一只人眼的情况。因此本文只检测更接近画面中心的一只人眼,根据双眼状态的一致性,另外一只人眼也应该具有相同的睁闭状态,这样既提高了检测准确率,也降低了运算量。(x)S11x(1(x))22H()+(1)(y)S11y+-y22()(1H())(2)x()y()(x)S0.3(x)0.7(1(x))H(3)(y)S0.7(y)0.3(1(y))H(4)具体步骤如下:(1)计算框定的人脸区域左边界到人眼检测区域左边界距离Ll,以及人脸区域右边界到人眼检测区域右边的距离Lr。若Ll≤Lr,则说明驾驶员头部向左转动,此时右眼更接近画面中心,后续步骤中只定位右眼。反之,则定位左眼。(2)在人眼检测区域内进行水平投影,查找投影最大值出现的行,该行即为人眼垂直中心位置。再从该位置分别向上和向下查找投影极小值出现的行,得到人眼的上下边界Eyeup、Eyedown。(3)在人眼上下边界内的人眼检测区域中进行垂直投影,得到人眼的水平中心位置和左右边界Eyel和Eyer,完成人眼的定位。实验过程中采用基于人眼特征的改进混合投影算法分别对多个角度的人脸进行了人眼定位,并与积分投影定位和传统混合投影定位进行了结果对比,结果如图4所示。实验结果表明:由于只对灰度总体分布进行统计,使得传统的积分投影定位容易受到眉毛的干扰,甚至将眉毛误检测为人眼;而传统的混合投影由于没有考虑人眼区域特有的灰度分布特征,使得对于人眼边界的定位精度不高;而本文所采用的投影算法能够更加准确地对人眼各边界进行定位。(a)积分投影定位(b)传统混合投影定位(c)改进混合投影定位图4三种不同定位方法定位人眼结果2.3疲劳检测本文采用PERCLOS算法来判断驾驶员的疲劳程度。PERCLOS即单位时间内人眼闭合时间所占百分比,在本文中的计算公式为:*100%PERCLOS人言闭合帧数总帧数本文定义人眼区域的上下边界之差Eyeup-Eyedown即为人眼高度eyeH,当eyeH小于1/5最大值时认为人眼高度eyeH,当eyeH小于1/5最大值时认为人眼闭合。设定为每隔100帧计算一次PERCLOS值,当PERCLOS值大于0.4时判断驾驶员处于疲劳状态。实现源程序:驾驶员疲劳、清醒和不确定时的标准对上表中驾驶员的特征参量的三组采样值根据D-S证据理论进行融合,matlab融合程序代码如下所示:/*求取PRECLOS特征的m函数,T、W为选定的标准,TT、WW为实时采集的特征值*/l=0;h=0;g=0;fori=1;1;3r(i)=T(i)*TT/(TT^2+T(i)-T(i)*TT);l=l+r(i);endforj=1;1;3m(j)=r(j)/1PRECLOS(P)闭眼时间(T)闭眼频率(f)疲劳(F)40%310清醒(W)10%0.35不确定(U)20%17end/*求取闭眼时间参数的m函数*/fori=1;1;3rr(i)=W(i)*WW/(WW^2+W(i)^2-W(i)*WW);endforj=1;1;3n(j)=rr(j)/hend/*算出两个特征融合后的m函数D*/K=0;fori=1;1;2forj=1;1;2ifi~=jK=K+C(i,j);endendendfori=1;2m(i)=(C(i)+C(i,3)+C(3,i))/(1-K);D(;,j)=[m(i)];endm=C(3,3)/(1-k);D(;,3)=[m];将融合后的D作为新的m函数与下一个特征参数用同样的方法进行信息融合。本例三个特征的融合结果为:D1=[0.0952;0.8361;0.0687];D2=[0.9113;0.0604;0.0283];D3=[0.3559;0.4986;0.1455];根据经验,选定上述=0.5,=1。经检测,状态1属于疲劳,系统应提出警告;状态2属于清醒,系统不做提醒;状态3不确定,结果表明,D-S证据理论将三个疲劳参数融合后12能够对驾驶员状态进行准确的判断。系统根据相应的判断结果,可以给予驾驶员适当的提醒。参考文献[1]刘纪红,李中帆.基于视频的人眼跟踪方法研究[J].小型微型计算机系统,2012,33(9).[2]JAINAK,HSURL,MOHAMEDAM.FaceDetectioninColorImages[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2002,24(5):696-70
本文标题:基于DSP基于DSP的改进疲劳驾驶检测系统
链接地址:https://www.777doc.com/doc-2533626 .html