基于matlab的人眼开度识别
我国已经成为世界汽车生产和制造大国,道路车辆的不断增加道路基础设施不断增强,但是随之而来的问题也日益严重,比如交通事故,噪声大气污染等。汽车行驶的安全性由于关乎人民生命安全,所以日益受到各国政府以及研究机构的重视。从宏观上来说,安全是任何交通出行方式所必须考虑的最重要因素。从 1899 年发生的第一次车祸到现在为止,世界上死于交通安全事故的人数已经达到惊人的 2000 多万人。我国人口众多,出行情况复杂,行人,自行车,机动车等人员和交通工具多变,这就造成了我们的道路交通事故发生频率也是世界上最高的,重大恶性交通事故死亡人数也是连年处于世界最高的位置。
历年的数据显示,从2004年我国发生交通事故的567753起、2005年的450254起、2006年的278781起、2007年的327209起、2008年的265204起、2009年的238351起、2010年219521起、2011年210812起、……,呈下降趋势。每年的死亡人数也成下降趋势,从2004年的9.4万余人、2005年的9.8万余人、2006年的8.9万余人、2007年的8.1万余人、2008年7.3万余人、2009年的6.7万余人、2010年6.5万余人…..,虽然成下降趋势但是仍然保持较高数字。
尽管交通事故发生的次数及引起的损失在逐年减少,但伤亡人数却一直居高不下,国家和人民的财产损失数目更是触目惊心。据统计,我国是交通事故中死亡人数最多的国家,且连续数年来一直居世界首位。交通事故分析原因表明:目前,疲劳驾驶、酒后驾驶以及超速驾驶是引发交通事故的最主要原因。其中由疲劳驾驶引发的交通事故占总数的20%左右,占特大交通事故的40%以上,可以说疲劳已成为安全行车的大敌。目前,疲劳驾驶检测的方法很多,主要包括检测驾驶员生理参数,如脑电图、心电图、肌肉状况等;检测驾驶员的行为特征,如眼皮的运动、头部运动、眼睛开闭状态等;检测交通工具的行为特征,如车速车辆行驶的轨迹是否偏离车道等。
生理学研究表明,一般情况下,当驾驶员精神饱满时,一分钟的眨眼次数为三四次,最多十几次,而当驾驶员处于疲劳状态时,眼睛的眨动次数会明显增加。同时,眼睛的眨动次数还受各种心理状态的影响,如愤感、惶恐等。驾驶员在繁华街道上行驶时眨眼次数要少于高速公路,当驾驶员疲劳到一定程度时眨眼次数会大大增加,而且驾驶员紧张的情绪也会增加眨眼次数,因此眼睛是判断驾驶员疲劳度最重要的依据,通过对驾驶员眼睛开闭状态的识别可以较准确的判断出驾驶员是否疲劳,同时实时性也比较高,容易实现。尽管目前疲劳驾驶检测系统正在向多参数检测,多信息融合系统发展,但眼睛的变化在众多识别参数中始终占据着最重要的地位,因此提高眼睛的识别准确率和快速的跟踪眼睛对发展疲劳驾驶检测系统具有重大的作用。
1.2 人眼疲劳识别研究现状
目前眼睛的识别方法基本上分为两类:一是基于被动图像处理的传统方法,此方法主要包括基于模板的方法、基于外观的方法和基于特征的方法。二是基于主动红外的方法。传统的被动图像处理方法主要是通过探测眼部与脸部其他部位的外观或形状差异来实现的,受外界光照条件的影响很大,而且在夜间不可以识别,所以目前主要的研究方法是基于主动红外的方法。
1.2.1 国外研究现状
目前国外的许多国家都对汽车安全方面投入了大量的资金,用来解决交通安全的问题。许多高校和科研机构也都在该方面进行了大量的研究,并得了丰硕成果。进入 21 世纪后,计算机视觉和集成电路技术的发展给驾驶疲劳检测的研究拓宽了空间,之进入了黄金时期。下面介绍几种国外的典型试验产品。
脑电图(EEG)信号检测:澳大利亚 University of Sydney 健康研究中心在采集了不同驾驶员的脑电图信号之后,利用人工神经网络对其进行处理,主要是提取不同波段不同脑电图的典型特征并对其进行分类,并由此来判断驾驶员是否疲劳。另外,为了准确、快速的得到脑电图信号,Tran 等人利用集中趋势测量法所定义的二阶差分结构和采样熵对采集的脑电图信号进行非线性分析和处理,从而判断驾驶员是否处于疲劳状态。新西兰研究人员发明的监控报警器用于监控驾驶员在驾驶过程中脑电波以及眼睛的活动情况,可以测定驾驶员是否处于疲劳状态以及驾驶员的脑意识是否出现停顿,必要时会自动向驾驶员发出警报。日本 canon KK 提供的作为脑电波连接刺激发生器的防瞌睡装置安置于被检者头部,当由脑电波检测确定被检者处于瞌睡状态时,即发出语音报警。
心电图(ECG)信号检测:Calcagnini 等人发现心电图信号的几个典型特征在驾驶员疲劳和清醒时有着明显的不同,比如高频能量、低频能量、超低频能量及低频能量/高频能量的比率等等,利用心电图可以判断驾驶员是否疲劳。另外,韩国 Jeong等人同样在采集驾驶员的心电图信号之后,分析驾驶员的心率变化情况进而来判断驾驶员是否疲劳。日本先锋公司(Pioneer)于 1994 年研究并开发出了一款防止驾驶员开车时打瞌睡的系统。该系统设计如下,当驾驶员转动方向盘的时候会握住一个纸状心跳感应器,该感应器通过检测心跳速度的变化来确定驾驶员是否疲劳或者瞌睡,一旦认定驾驶员有睡意,则提前 15min 以改变音乐节奏等方式提醒驾驶员注意。丰田汽车公司(Toyota Motor Corporation)也发明了一款防瞌睡装置,该装置通过心搏传感器来判断驾驶员是有瞌睡,一旦确认驾驶员有睡意,则采用震动驾驶员座椅的方式来唤醒驾驶员,该装置成本低,结构也比较简单,并且容易实现。但是因为每个驾驶员在处于不同状况时,心率变化也不一样,很难形成统一的规律来判定,因此,基于心电信号来监测疲劳的方法更多的是个辅助方法。
PERCLOS参数检测:Wierwille 等人于 1994 年针对驾驶员的眼睛闭合程度在驾驶模拟器上进行了一系列实验,实验结果表明,在单位时间内(一般为 1min 或者 30s)眼睛的闭合时间可以在一定程度上反映驾驶员的疲劳状态。在这基础上,卡内基梅隆大学(Carnegie Mellon University)经过反复实验,提出了“PERCLOS”作为检测驾驶员是否疲劳的指标参数,即单位时间内(一般为 1min 或者 30s)眼睛闭合 80%左右的时间所占比例,并设计了疲劳检测装置。
1.2.2 国内研究现状
我国的驾驶疲劳研究起步较晚,到目前为止,还没有很成熟的产品问世。这方面的研究主要以高校居多,目前的检测方法主要有:上海交通大学的杨渝书、姚振强、焦昆等人模拟驾驶员疲劳条件下,通过采集驾驶员的疲劳时心电图,肌电图来进行的数据分析,评估驾驶员的疲劳状况;中南大学对驾驶员驾驶时的疲劳检测方法进行了研究,设计出了一套眼睛跟踪系统,可达到实时的跟踪效果,同时研究了疲劳时眼睛的闭眼时间、快眨眼次数、慢眨眼时间和次数的特征模式。国防科技大学的吴沫等将驾驶员-汽车-道路作为一个闭环系统,利用计算机视觉的方法研究出一个车辆跑偏预警系统,分析了驾驶员的行为与车辆运动之间的关系;另外吉林大学的施树明对驾驶员的嘴巴进行了深入研究,通过 Fisher分类器提取其特征作为神经网络的输入,分析驾驶员的正常行为、说话、疲劳等特征。上海交通大学的石坚等人也采用神经网络的方法,与其之前所不同的是,他们采集的驾驶员驾驶时方向盘、踏板作为输入特征。总体看来,驾驶员疲劳检测是个复杂的过程,我国的驾驶疲劳检测的方同发达国家相比,还存在较大的差距。研究表明,眼睛状态和疲劳有很大的关联性,现阶段随着数码相机和网络摄像头的价格越来越便宜,通过监测驾驶员的眼睛状态来判断驾驶员是否疲劳的技术正逐步成为热点。
1.3 课题内容
本文从图像处理的角度出发,研究了图像中的面部识别,人眼定位,人眼开度状态识别,基于已测人眼状态进行疲劳检测以上几个方面进行研究。
图像中的面部识别。首先通过摄像头获取一幅带人脸的图像,对图像进行处理,利用中值滤波的方法对获取的图像去噪,在对滤波后的图像灰度化,利用图像网络处理识别出人脸区域,图像网络处理识别人脸是一种常见的人脸识别方法是对人脸图像中的一些像素值进行分析得出图像中人脸区域。
人眼的定位。面部识别的部分已经检测出了人脸,在检测的人脸上划分眼睛的大致区域,对该区域进行积分投影之后可以精确地定位眼睛的位置。然后利用边缘检测算法和Hough变换找到眼睛的位置。
人眼开度状态识别。判断一个人是否处于疲劳状态,计算检测到的人眼的在横向和纵向上的实际所占像素值,计算眼睛的纵横比,这个比值对同一个人的睁眼或闭眼状态来说是相对固定的。但不同的人在这个值上都有一个共同点即眼睛闭合时值偏小( 小于0. 3) , 由此做出的判断适用于大多数的人。
疲劳的判断。由于摄像头获取的图像是一帧一帧获取的,对获取的图像的所有帧进行相同的处理之后,判断眼睛的开闭状态在所有的图像之中所占的百分比,与在眼睛疲劳情况下眼睛开闭状态的百分比进行比较判断是否处于疲劳状态。
3.1.1 目前研究进展
人脸区域分割作为人脸信息处理技术的第一步, 对于整个人脸信息研究有着极其重要的作用。本节从目前进展以及存在的问题两个方面来对人脸区域分割展开论述。
当前出现的人脸区域分割算法主要集中在肤色分割这一领域, 通过在图象中分割肤色区域来找到人脸。肤色检测是在图象中选取对应于人体皮肤象素的过程。近年来对图象中肤色区域分割的研究日趋活跃, 与人有关的各种机器视觉系统中, 肤色检测技术正得到越来越多的应用, 具有巨大的市场潜力。目前比较典型的应用包括人脸检测与识别、表情识别、手势识别、基于部分内容的图象与视频检索, 新的人机接口技术、肌体检测和黄色图片过滤等方面。
目前的人脸区域分割主要依赖于肤色在某些特定色彩空间中聚类性较好这一特点展开。众多研究表明不同人的肤色在色度上很接近只是在亮度上差异较大。这也就促使研究者们不断寻找一种手段使得图象的色度信息和亮度信息分离。最后集中在了色彩空间转换上, 因为某些色彩空间能够很好的分离色度和亮度信息。
色彩空间又叫做色域,是表示颜色的一种数学方法,人们用他来指定和产生颜色, 使颜色形象化。实际就是各种色彩的集合, 色彩的种类越多, 色彩空间越大,能够表现的色彩范围越广。对于具体的图象设备而言, 其色彩空间就是它所能表现的色彩的总合。颜色空间中的颜色通常使用代表三个参数的三维坐标来指定,这些参数描述的是在颜色空间中的位置。常见的颜色空间模型包括:
、
、
、
、
以及
模型。一定程度上
和
模型都能够实现亮度和色度的分离, 但是考虑到以下几点, 目前用于人脸肤色分割的模型主要是
。
的优点有:具有与人类视觉感知过程相类似的构成原理;不仅具有能够将亮度和色度分离的优点, 而且其计算过程和空间坐标表示形式比较简单;肤色的聚类特性较好。
3.1.2 肤色分割纯在的问题
利用肤色分割进行人脸区域分割的方法由来己久, 而且取得了很大的进展,但是仍然存在很多难以解决的问题。
对于光线不均匀的图片, 很难得到理想的分割结果。由于光线的问题很容易使得脸部肤色亮度不均匀, 这也就难以按照肤色模型的标准来实施检测。比如利用
空间实施分割的时候, 大量实验表明, 在光线不均的情况下很容易将高亮度区域的肤色检测为非肤色, 而在低光区域很容易将非肤色检测为肤色。可以说光线问题是制约肤色分割最大的瓶颈, 尽管研究者们提出了各种方法对光线进行补偿, 但效果并不理想。
对于亮度均匀但背景色彩和肤色非常接近的图片, 也很难实施有效地检测。肤色分割主要是利用了皮肤的颜色, 一旦背景中存在和皮肤颜色接近且轮廓相似的物体, 这类方法很难作出辨别。
在一幅目标图象中, 很难保证只存在一个人脸区域, 也可能会出现其它的肤色区域, 比如肩膀、手臂等。如何正确区分肤色分割所分离出来的这些区域也是个很大的难题。
对于脸部佩戴一定饰物的情况, 比如眼镜、胡须等的情况, 由于这些物体的存在而使得脸部肤色不连贯也会给检测带来难度。
3.2 图像网络分析人脸识别
由于肤色分割方法的一些缺陷,这次题目采用的是基于图像网络分析来进行人脸识别一定程度能解决以上存在的一些问题,在识别了面部的大致区域之后为下面的人眼识别做出铺垫。
对于基本的目标图像而言,由于背景的辅助程度的不同,用肤色识别的方法很有可能在识别的过程中把一些背景当做面部来进行识别了。在对图像进行分析的过程中,将目标图像进行网络分割,对分割之后的图像的小方块首先进行去噪灰度化的常规预处理之后,对预处理之后的分割的小块图像分别进行人脸识别,判断该小块图像是否是位于人脸部位。将识别的小方块整合就是整个的人脸识别的区域。而且如果存在误差的情况下对眼睛的图像判断率相对较高。步骤如下:
第一步:利用前面一章已经介绍的中值滤波算法对图像进行基本的预处理,使得图像的基本属性满足课题的具体要求。然后利用二值化对所得图像进行处理,在二值化的图像中进行进一步的操作。
第二步:对图像进行小块分割,这次题目我对目标图像进行的是10x10的分割。讲图像分割成100个小方块,对于不同的图像,可以进行不同的小方块分割以适应题目的需要。然后对每个小方块的像素进行检测,对黑色像素的比例进行统计,对满足面部识别的小方块进行标记,然后进行列变换和行变换,对后来的小方块进行相同的检测,最后把满足需求的小方块进行整合,即为人脸的识别区域。
图3-1是具体识别的结果:
其中,a列图是原始图像;b列是对图像进行网络分割之后;c列是对原始图像二值化之后所得图像;d列是识别出的人脸大致区域。可以看出识别的准确度还是比较高的。