1、司机疲惫驾驶检测系统设计摘要:伴随社会经济发展,商用长途运输车越来越多,司机为了追求经济效益,常常罔顾交通法要求疲惫驾驶,而部分私家车也因为多种多样原因常常铤而走险疲惫驾驶,酿成大家间惨剧。为了降低减轻司机精神压力并对疲惫立即提醒预警,本论文以计算机视觉技术为主体,设计实用操作简单疲惫驾驶检测系统,辅助驾驶员安全驾驶。司机疲惫驾驶实时检测系统在实际应用中有很关键意义。设计了一个利用图像分析方法,经过测量PERCLOS指标值来进行疲惫判定该类系统。系统首先对图像进行预处理,然后采取基于YCbCr颜色空间肤色模型进行人脸粗定位,依据人脸特征,逐次进行人眼区域缩小;最终经过对边缘信息进行先验知识结合
2、积分投影方法进行人眼定位和闭合度测量。考虑到视频图像序列帧和帧之间相关性,采取线性运动估计方法对人眼进行跟踪,降低了系统运算量。试验结果表明系统能实时、正确地反应司机疲惫状态。关键词:疲惫驾驶 人脸检测肤色检测 交通安全 疲惫判定目录摘要Abstract1.疲惫驾驶检测系统研究背景和意义2.疲惫驾驶检测系统研究和实现2.1中国外疲惫驾驶检测系统研究现实状况2.1.1国外疲惫驾驶检测系统研究结果2.1.2中国疲惫驾驶检测系统研究现实状况2.2疲惫驾驶检测系统浅析2.3驾驶员疲惫检测系统研究2.3.1人脸检测2.3.2人眼定位2.3.3疲惫程度综合判定3.基于人脸特征列车司机疲惫驾驶检测和识别系统
3、研究3.1研究内容及目标3.1.1基于人脸特征疲惫驾驶检测和识别算法开发3.1.2疲惫驾驶检测和识别算法OSP移植3.2基于Adaboost算法人脸检测3.2.1人脸检测技术概述3.2.2Adaboost人脸检测算法3.3基于Adaboost算法人脸检测软件实现3.3.1.样本训练过程3.3.2人脸检测程序3.4人眼检测和人眼状态分析算法3.4.1基于Adaboost人眼检测算法3.4.2人眼级联分类器效果分析3.4.3人眼状态分析算法4.基于贝叶斯网络驾驶疲惫程度识别模型4.1基于贝叶斯网络模型驾驶疲惫程度识别4.2驾驶疲惫程度识别模型4.2.1驾驶疲惫贝叶斯网络结构4.2.2贝叶斯网络条件
4、概率表确实定4.2.3驾驶疲惫程度贝叶斯网络识别模型4.3模型有效性验证5.基于FPGA疲惫驾驶检测系统设计5.1疲惫驾驶检测系统总体设计方案5.1.1系统红外光源原理5.1.2系统总体设计5.2系统硬件设计和实现5.2.1系统硬件总体架构5.2.2图像采集电路设计5.2.3主控板设计5.2.4辅助电路设计5.2.5系统硬件电路物理测试6.基于 NiosII 多核驾驶疲惫检测系统设计6.1系统介绍6.2系统关键模块设计6.2.1图像采集模块设计6.2.2图像处理算法6.2.3图像处理算法硬件加速实现6.2.4数据存放模块设计7.疲惫驾驶预警系统研究进展7.1预警系统组成及工作原理7.2经典疲惫
5、驾驶预警系统7.3疲惫驾驶预警系统比较7.4发展趋势8.新型多功效驾驶员状态监测系统设计8.1无线脑电信号采集和分析8.1.1情绪预警8.1.2疲惫监测8.1.3突发疾病监测8.2酒精监测9.多源信息融合在驾驶疲惫检测中应用9.1驾驶疲惫特征9.1.1PERCLOS值计算9.1.2行驶方向改变和驾驶员反应不一致情况9.1.3方向盘动作状态9.1.4连续驾驶时间9.1.5实际时间参数9.2模糊神经网络疲惫识别9.2.1疲惫度量化9.3智能控制技术在汽车疲惫驾驶监控中应用研究9.3.1硬件描述结束语参考文件1.研究背景和意义 驾驶疲惫川是指驾驶员因为睡眠不足或长时间连续驾驶造成反应能力下降,这种下
6、降表现在驾驶员困倦、打磕睡、驾驶操作失误或完全丧失驾驶能力。美国印第安那大学对交通事故原因调查研究发觉85%事故和驾驶员相关,车辆和环境原因只占15%。驾驶员在事故发生前一瞬间行为和故障直接造成了事故发生,这些行为包含知觉延迟、对环境决议错误、对危险情况处理不妥等。在全部驾驶员错误中,最常见是知觉延迟和决议错误,这些错误会产生注意力不集中、反应迟钝、操作不妥等,产生这些错误根本原因就是驾驶疲惫。 伴随中国生活水平提升,大家衣食住行等方面有了很大改善,在交通方面更是有了质飞跃。四通八达道路、便捷交通工具大大地缩短了人和人距离,其中汽车保有量更是和日俱增,一个家庭拥有两辆以上小车已经不是什么新鲜事
7、情。不过,汽车在带给大家方便同时,随之而来交通事故也源源不停。据统计,中国交通事故死亡人数己连续10多年居世界第一。中国在滚滚车轮下丧生人数,短短十几年间己从每十二个月5万多人增加到10多万人,是交通事故死亡人数居世界第二位国家两倍。其中,驾驶员疲惫造成交通事故占总数20%左右,占特大交通事故40%以上。一样,在国外情况也不容乐观。据美国国家公路交通安全委员会估量,在美国大约发生56000次和睡眠相关交通事故,其中约40000人次受伤和1550人死亡。1965年美国俄克拉荷马州收费公路局发表了1953年至1964年2128名机动车驾驶员发生车辆碰撞事故调查结果:22%驾驶员打吨驾驶,48%交通
8、事故归结于疲惫驾驶疲惫。由此能够知道,疲惫驾驶正逐步成为交通事故关键原因之一,成为马路上“第一杀手”,假如我们能主动开展疲惫检测工作,提醒驾驶者,很大程度上就能预防和降低交通事故发生,使得公民出行愈加安全。所以,研究出一套疲惫检测系统对社会和民众全部有不可估量社会意义和经济价值。 一套好检测系统必需要有成熟而完善算法。本文对疲惫检测系统实现方法进行研究,以期提升疲惫检测速度和正确度。假如能将好算法应用于疲惫检测系统之中,无疑能更有效预防驾驶员疲惫驾驶而引发无须要人员伤亡和经济损失。2. 疲惫驾驶检测系统研究和实现2.1中国外疲惫驾驶检测系统研究现实状况对疲惫驾驶研究在国外最早能够追溯到20世纪
9、30年代,但实际上,投入真正研究却还是从上世纪RO年代美国国会经过汽车驾驶状态和交通安全之间关系研究开始。进入上世纪90年代,疲惫驾驶科研工作得到了大家更大重视,取得了一系列卓有成效结果。2.1.1国外疲惫驾驶检测系统研究结果 早期疲惫驾驶测评关键是从医用角度出发,借助医疗器件进行生理特征测量。疲惫驾驶实质性研究工作是从20世纪80年代由美国国会同意交通部研究交通安全和机动车驾驶关系,并健全汽车安全管理条例开始。由此把疲惫驾驶研究提升到了立法高度,确保了开展疲惫驾驶研究有效性、正当性和连续性。其研究工作大约能够分为两大类:一是研究疲惫磕睡产生原因和其它诱发原因,寻求能够降低这种危险方法:二是研
10、制智能报警系统,预防驾驶员磕睡状态下驾驶。20世纪90年代,美国对疲惫驾驶电子装置研发工作发展较快。在各国研制装置中含有代表性结果有: (1)美国研制打磕睡驾驶员侦探系统DDDS(The Drowsy Driver DetectionSystem)。采取多普勒雷达和信号处理方法,可获取驾驶员烦躁不安情绪活动、眨眼频率和连续时间等疲惫数据,用以判定驾驶员是否打磕睡或睡着。该系统可制成体积较小仪器,安装在驾驶室内驾驶员头顶上方,完全不影响正常驾驶活动。 (2)美国华盛顿大学经过自行开发专用摄影机、脑电图仪和其它仪器来正确测量头部运动瞳孔直径改变和眨眼频率,用以研究驾驶行为问题。通常情况下入们眼睛闭
11、合时间在0. 2-0. 3 s之间,驾驶时若眼睛闭合时间达成0. 5秒就很轻易发生交通事故。 (3)卡内基梅隆研究所Copilot装置。研究所Grace等人采取特制红外LED装置,依据人视网膜对不一样波长红外光反射量不一样所表现出生理特征,使用850nm和950nm波长红外光源,在同一时间内得到两幅眼部含有微小差异图像,然后将这两幅图像进行差分相减,就能够提取出眼部瞳孔位置和大小。再用PERCLOS法则计算眼睛闭合程度来判定疲惫程度。使用此装置能比较正确地定位出人眼然后进行疲惫判定。 (4)1月明尼苏达大学计算机科学和工程系Nikolaos P.Papanikolopoulos教授成功开发了一
12、套驾驶员眼睛追踪和定位系统,经过安置在车内一个CCD摄像头监视驾驶员脸部,用快速简单算法确定驾驶员眼睛在脸部图像中确实切位置,追踪多幅图像来监控驾驶员是否驾驶疲惫。同年3月,她对上述系统进行了改善,改用红外线彩色摄像头并加滤波器滤除图像噪声和非脸部图像,使搜索脸部图像次数降低,加紧了处理图像速度。 (5)日本成功研制了电子“清醒带”,固定在驾驶员头部,将其一端插头插入车内点烟器插座,装在带子里半导体温差电偶使平展在前额部位铝片变凉,使驾驶员睡意消除,精神振作。 (6)日本先锋企业最近开发出预防驾驶员开车打磕睡系统。它可经过心跳感应器每隔巧秒检测司机心跳速度,监测司机驾驶员是否打磕睡,在睡意来临
13、巧分钟前提醒司机注意,预防发生事故。先锋企业还研究了经过测量眨眼频率和车体摇摆频率监测司机是否磕睡系统。 (7)西班牙防磕睡系统(Anti-Drowsiness System),测量驾驶时手对方向盘握力,一旦检测到疲惫发生,利用汽车灯不停闪烁,提醒周围交通车辆。 (8)澳大利亚头部位置测量跟踪系统和沃尔沃合作,经过测量头部位置、闭眼和眨眼评定疲惫驾驶,不过它要求在司机脸上作部分标识,给司机带来极大不便。 (9) ,澳大利亚研究人员们推出了一款眼镜,它能够检测出司机是否已经处于疲惫状态,并立即提出警告。原理是经过红外线传感器监测司机眼睑活动和眨眼频率,据此判定司机是否己经处于疲惫状态。 (10)
14、转向盘监视系统S. A. M(Steering Attention Monitor),一个监测方向盘非正常运动传感器系统,当方向盘正常运动时传感器系统不报警,若转向盘4s不运动就会发出报警声直到转向盘继续正常运止。该系统固定在车内录音机旁,转向盘下面杆上装有一条磁性带,用以监测转向盘运动。 (11)头部位置测量仪(ASCI Advanced Safety Concepts Inc研制)。传感器设计安装在司机座位上方,每个传感器全部能输出司机头部距离传感器位置,利用三角代数算法就能够计算出头在X, Y, Z三维空间中位置,也能够实时跟踪头部位置,同时利用各个时间段头部位置改变特征,能够表现出司机
15、处于清醒还是磕睡状态。该传感器物理特点基于传感器电极屏蔽之间电容,经过人这个高导体能够改变电极之间电容,经过测量电压计算头部和传感器之间距离。当人进入电容区域时,临近电容改变同距离之间关系是,利用3个传感器,就可利用三角代数计算出头X, Y, Z坐标。并对司机头部位置进行实时跟踪,而且依据头部位置改变规律判定司机是否磕睡,发觉点头动作和磕睡有很好相关性。 (12)法国图卢茨西门子汽车企业投资1700万法郎研制一整套疲惫检测系统。她们在汽车上装上5种传感器:汽车速度传感器(监测汽车是否超速)、脚踏板传感器(监控脚踏板上压力情况,是否在预定时间内没有压力改变)、方向盘传感器(监测方向盘情况)、车尾
16、CCD传感器(测量汽车和马路上旁侧或中间白线距离)、眼睛传感器(专门监控眼部疲惫特征)。这套系统关键是从多方面情况来联合监控驾驶员情况,利用传感器融合原理来综合判定驾驶员情况,在实时性、正确性上有很大保障。2.1.2中国疲惫驾驶检测系统研究现实状况 中国疲惫驾驶预警系统研究还处于起步阶段,相对国外来说还比较落后。中国对疲惫驾驶研究最早始于20世纪60年代,其中关键以高校居多。到现在为止,还没有很成熟产品问世。现在检测方法关键有: (1)江苏大学汽车和交通工程学院葛如海教授等5人设计一套疲惫监控系统,利用图像差分、灰度直方图等一系列图像处理方法,定位驾驶员眼睛睁开闭合状态,再用PERCLOS指标
17、衡量驾驶员疲惫状态。 (2)上海交通大学石坚、吴远鹏等人经过在车上安装传感器来测量方向盘、踏板压力等情况间接或许驾驶员疲惫信息,当踏板或方向盘长时间不动时候,驾驶员可能有疲惫迹象,不过这和驾驶员驾驶经验和习惯相关,正确性不高。 (3)中南大学对驾驶员驾驶时疲惫检测方法进行了研究,设计出了一套眼睛跟踪系统,可达成实时跟踪效果,同时研究了疲惫时眼睛闭眼时间、快眨眼次数、慢眨眼时间和次数特征模式。 (4)航空医学研究所俞梦孙、周俞斌等司利用人眼在特定波长红外光照射下不一样成像特点,设计了适适用于全天候疲惫检测系统。 (5)西南大学姜德美提取驾驶员驾驶时反应时间和方向盘转动角度作为BP神经网络模型输入
18、,来进行仿真验证。 (6)浙江大学正在研究驾驶防磕睡装置,该装置经过实时监测一段时间内驾驶人员眼睛活动如眼睛闭合时间、闭合频率等参数,来判定目前驾驶人员注意力程度,从而识别驾驶员是否疲惫。 (7)中国农业大学车辆和交通工程学院正在进行机动车驾驶员疲惫测评方法研究,她们使用CCD摄像头来采集图像数据,数据采集到计算机后,先利用高斯肤色模型进行驾驶员人脸定位,然后依据人脸图像灰度分布检测出眼睛在图像中具体位置,最终利用模板匹配技术判定出人眼开闭状态,并计算出眼睛闭合时间和PERCLOS,当眼睛连续闭合时间大于3秒,PERCLOS大于80%时,就认为驾驶员处于疲惫驾驶状态,发出警告。 (8)吉林大学
19、王荣本等和中国业大学郑培等,利用机器视觉方法对驾驶员眼睛特征进行实时跟踪从而判定驾驶员精神状态。 (9)深圳长途汽车企业周鹏应用人体生理学、现代神经学、电子工程学分析了驾驶员疲惫事故隐患起因,提出了消除疲惫事故隐患必需消除司机开车时异常疲惫和大脑麻痹。依据这一思想她研究了佩戴于司机小腿部和手腕部“司机疲惫事故预防器”。 (10)中国金吉企业制造了一个像戒指一样测量装置,利用人皮肤阻抗改变,司机磕睡时,经过声音提醒司机目前状态,因为特异性和正确度不高,误报率和漏报率全部很高。 综合中国外现实状况来看,能做到实时、有效、简单地检测驾驶员疲惫情况是现在研究关键和热点,不过现在市场上还没有很成熟产品投
20、入到市场上进行实际应用,这关键存在着以下困难:首先产品投入成本比较高,汽车厂商研制出了很好预警系统不过却无法很好地进行商业化推广;其次现在疲惫判定没有确切定义,所以在进行疲惫检测时候可能会出现误判等情况:再者诸如EEG,“清醒带”、监测眼镜等方法有效性良好,不过因为是接触性装置,大大影响了驾驶员了自由活动;最终还因为个体和环境差异(诸如男女性别、近视眼镜、光照情况、路况等)受到不一样影响。 总体看来,驾驶员疲惫检测是个复杂过程,中国驾驶疲惫检测方法同发达国家相比,还存在较大差距。研究表明,眼睛状态和疲惫有很大关联性,现阶段伴随数码相机和网络摄像头价格越来越廉价,经过监测驾驶员眼睛状态来判定驾驶
21、员是否疲惫技术正逐步成为热点。所以,研究怎样利用机器视觉技术、图像处理技术、人脸识别技术PERCLOS疲惫检测方法相结合,开发出一个车载、非接触式、实时员疲惫检测系统是目前一个研究热点,这就是本课题研究初衷。2.2疲惫驾驶检测系统浅析经过几十年研究疲惫检测技术仍远未达成成熟、完善地步中国外关键研究结果以下(1)利用方向盘内置传感器感应驾驶员对航向纠正速率若对方向掌控迟钝则判为疲惫驾驶并发出警报但这个系统并未充足考虑长距直路、路况好情况。( 2)利用内置摄像头侦测驾驶员眼部状态包含:眼睑、瞳孔改变及眨眼频率等来判定驾驶员是否疲惫。但这个系统并未充足考虑人眼特征差异,比如:眼眼小人、睡觉睁眼人戴眼
22、镜人等。( 3)利用连续驾车时间来判定驾驶员是否疲惫。这种方法极难扼制短暂停车继续驾驶人。(4)利用后视镜传感器检测车辆是否偏离车道若车辆非线性行驶则判为疲惫驾驶并发出警报。该系统不适合崎岖、颠簸道路。( 5)利用驾驶员脸部肤色改变来判定是否疲惫驾驶这种方法受光照强度影响很大。其它如经过检测心跳、血压、明视持久度、能见度、调整时间变动率、闪光融合频率、脑电图、心电图、肌电图等判定疲惫方法形式单一多信息融合系统随之产生担其正确性、可靠性有待完善。 2.2.1神经传导速度测定方法 疲惫直接反应了神经传导时间人在疲惫时房使神经传导时间显著延时。所以神经传导速度可作为反应驾驶员是否疲惫驾马史基础生理参
23、数。 1.感觉神经传导速度测定方法 疲惫早期驾驶员关键是感觉障碍基础无运动障碍和肌肉萎缩问此时测定感觉神经传导速度对于预防疲惫驾驶、避免交通事故发生含相关键意义。依据以下公式计算出感觉神经传导速度:检测方法以下(以挠神经为例)使用指环电极作为刺激电极,使用表面电极作为统计电极,刺激位置为拇指靠近虎口指关节,统计位置选择手腕挠测或前臂下1 /3a测出刺激点和统计点之间距离S并测出刺激开始至感觉神经收缩产生动作电位潜伏期T。 2.运动神经传导速度测定方法 运动神经传导速度检验能直接测定运动神经传导性。依据刺激点和统计电极之间距离差及潜伏期间隔来推算该段距离内运动神经传导速度。 依据以下公式计算出运
24、动神经传导速度: 2.2.2系统设计本系统关键靠检测、计算出神经传导速度和参考值作比较来判定驾驶员是否疲惫。经过内嵌在方向盘内电极及腕、肘部电极来测得神经传导速度关键参数并传入控制系统,由控制系统经过计算、和参考值进行比较最终对是否疲惫作出裁决厂旦认定疲惫驾驶,便开启声、光报警系统甚至自动刹车系统,以避免交通事故发生。2.3驾驶员疲惫检测系统研究 为了降低因为驾驶员疲惫驾驶引发交通事故,提出驾驶员疲惫状态检测系统方案。使用33中值滤波去除噪声和光照对图像影响,经过对AdaBoost算法强分类器训练算法改善、级联分类器优化实现人脸快速检测,在检测到人脸区域,经过积分灰度投影和从粗到细改善模板匹配
25、方法对人眼进行正确定位;经过PERCLOS、眼睛闭合时间、眼睛眨眼频率、嘴巴张开程度、头部运动计算,进行驾驶员疲惫程度综合判定。试验结果表明,该方法正确率高,兼具了良好实时性和鲁棒性。2.3.1人脸检测 1.图像预处理 因为自然条件下噪声和光照影响等部分原因,会给人脸图像处理带来一定干扰,所以需要找到适宜方法滤除噪声和改善非均匀光照影响。经试验验证,33中值滤波法可达成很好预处理效果。 2.改善 AdaBoost 检测方法 1995 年,Freend 和 Schapire 提出 AdaBoost 算法,ViolaP 和 Jones M 提出和基于积分图 Haar-like 特征快速计算算法相结
26、合 AdaBoost算法,在历史上第一次真正实现目标实时检测。这个算法基础思想就是将大量分类能力通常弱分类器经过一定方法叠加起来,组成一个分类能力很强强分类器,且算法不需要任何相关弱分类器性能先验知识,很轻易应用到实际问题中。AdaBoost算法步骤图2所表示。 Viola P 和 Jones M 提出基于 AdaBoost 快速目标检测方法,即使得到了广泛应用,不过该算法还存在很多问题。如:即使 AdaBoost系统检测速度很高,不过因为AdaBoost 算法本身训练比较耗时,整个系统训练时间很惊人。依据文件7,其系统在训练上花费了数周时间。在分析这些问题基础之上,本文提出了改善AdaBoo
27、st目标检测算法,极大降低了检验时间。 (1)强分类器训练改善算法 基于 AdaBoost快速目标检测算法在计算 Haar-like特征时使用积分图方法进行了快速计算,依据文件8统计,2424搜索窗口即使有18万特征,不过过半矩形特征面积很小(小于 22),这些特征在实际目标检测性能很差,使训练特征不含有很好泛化能力。本文在进行特征选择时候将这些小面积矩形特征进行过滤,避免了这类特征计算,在确保分类器检测率同时,提升了分类器训练速度。由AdaBoost训练强分类器训练算法能够看出,该算法是选择单个特征作为弱分类器,且选择弱分类器标准是弱分类检测正确率略大于随机猜测(即略大约0.5),则将该弱分
28、类器保留。不过在训练过程中,很可能出现很相同特征,这类相同特征对分类器性能没有提升作用,而且不利于分类器泛化能力。 (3)级联检测技术优化AdaBoost 算法能够完成实时性检测原因除了经过积分图进行快速特征计算之外,另一个关键原因是该算法在进行检测目标时采取了级联分类器。级联结构分类器图3所表示。在将训练出强分类器串联在一起形成层叠分类器时,应遵照“先重后轻”分级分类器思想,将由关键特征组成结构较简单强分类器放在前面。这么能够先排除大量假样本,从而提升检验速度。AdaBoost 算法在进行级联分类器训练时候,对每一级强分类器全部进行了重新训练,训练比较耗时。已经证实:“伴随弱分类器数量增加,
29、经过AdaBoost构建强分类器检测率也会不停提升”。本文为了提升训练速度,在对级联分类器训练时,后一级强分类器会反复利用前一级已经训练好弱分类器,并在此基础上经过增加弱分类器数量来提升强分类器性能。这么能够大大降低强分类器训练时间。2.3.2人眼定位1.灰度积分投影确定准眼睛区域在正确定位脸部位置后,依据人脸面部器官分布,人眼在脸部上半部,所以首先截取人脸区域是上半部进行处理。人脸图像中眼睛部位灰度值通常比周围区灰度值小,利用该特征常使用积分投影方法来定位眼睛。最为常见投影函数是积分投影函数。 2.改善模板匹配正确定位眼睛 模板匹配方法是假设待搜索图像 S 尺寸为 W H ,模板 T 尺寸为
30、 M N ,经过一定算法在大图像(即待搜索图像S)中搜索和模板T含有相近尺寸、方向和图像子图,并确定其坐标位置。基于相同度模板匹配算法以各局部图像作为模板,先在人脸集中手工提取多种状态眼睛图像作为模板。一幅眼睛图片为一个模板,即一个二维矩阵,利用眼睛模板和人脸图像作相关匹配,匹配函数以下:当模板匹配相关系数 R(ij) 等于 1时候,说明搜索子图和模板完全匹配。这只是一个理想值,模板匹配过程中关键是寻求相关系数最大值,此时它所对应搜索子图便是所要寻求目标子图。显然,用这种公式做图像匹配计算量大、速度慢。能够使用另外一个算法来衡量T和 Sij误差,其公式为:计算两个图像向量误差,能够增加计算速度
31、,依据不一样匹配方向选择一个误差阀值 E0,当 E(ij) E0时就停止该点计算,继续下一点计算。2.3.3疲惫程度综合判定 驾驶员疲惫判定会因错误检验带来不良影响,本文采取 PERCLOS、眼睛闭合时间、眼睛眨眼频率、嘴巴张开程度、头部运动计算,进行疲惫程度综合判定,正确、有效地进行驾驶员疲惫检测。1.PERCLOSPERCLOS(Percentage of eyelid Closure over thepupil overtime)是指眼睛闭合时间占某一特定时间百分率。PERCLOS 方法有 P70,P80 和 EM 三种判定标准。研究表明P80和疲惫程度间含有最好相关性。2.嘴巴张开程度
32、嘴巴状态通常有三种,闭合,说话及打哈欠,在疲惫状态下,人会频繁地打哈欠。在人脸下半部分进行水平灰度投影,观察不一样单人图像水平灰度投影曲线,会发觉该区域下半部分水平灰度投影曲线有一个波谷,即为嘴唇间位置。对人脸下半部分区域二值化,从嘴唇间向上、下计算连通区域(连通区域能够预防鼻孔及胡须对计算带来影响)像素值,即可得到嘴巴张开程度。3.眼睛高度 D 及嘴巴高度 H 赔偿在上眼睑到下眼睑垂直距离 D 及上嘴唇到下嘴唇垂直距离为H时,因为驾驶员头部相对于检测设备有位置移动,所以为了实现驾驶员眼睛高度和嘴巴高度正确计算,需要修正眼睛、嘴巴和检测设备距离相对改变引发D及H改变。4. 眼睛闭合时间 眼睛闭
33、合时间,通常见眼睛闭合到睁开所经历时间来表示。人处于正常清醒状态时,眼睛闭合时间是很短,会快速睁开眼。而当疲惫时,眼睛闭合时间会显著变长,所以眼睛闭合时间能直接反应驾驶员精神状态。本文采取计算从眼睛闭合 D/3 到睁开 D/3 最大帧数,帧数越多,闭合时间就越长,则疲惫程度就越严重。 5.眼睛眨眼频率 人在疲惫状态下,眨眼频率会比清醒状态下频率高。本文也将其作为一项参数作为疲惫判定依据。眼睛闭合 D/3 到睁开 D/3 为眨眼一次。累加一段时间内眨眼次数,作为疲惫判定一项参数。 6.头部运动疲惫参数 驾驶员在疲惫状态下会出现频繁点头,头部向前倾。本文经过水平灰度积分投影得到眼睛瞳孔、嘴角水平位
34、置。 d1为瞳孔水平位置到采集图片上边缘距离,d2为嘴角水平位置到采集图片下边缘距离。在驾驶员疲惫出现点头情况,则 d1增大且 d2减小。驾驶员疲惫时,头部向前倾,则 d1增大且 d2增大。点头和头部向前倾能够作为疲惫判定一项关键依据。3.基于人脸特征列车司机疲惫驾驶检测和识别系统研究3.1研究内容及目标 本章目标是开发一套基于人脸特征识别非接触式列车司机疲惫驾驶实时检测预警装置。本文研究内容为:结合列车司机驾驶特点和规律,利用模式识别和图像处理知识分析列车司机疲惫驾驶时脸部特征,研究适合于列车运行时驾驶室光照情况复杂多变及高频低幅振动环境下列车司机疲惫检测和识别算法,并在以DSP数字信号处理
35、芯片为关键硬件平台上实现检测和识别算法,以达成系统实时检测性能要求。关键完成以下研究内容:1.实现由摄像头实时捕捉视频数据;2.提出适合列车驾驶室环境人脸检测算法,使其对振动环境和光照改变有较强鲁棒性;3.提出人眼检测算法,及判定眼睛睁开/闭合状态识别分析算法;4.依据眼睛睁开/闭合数据,基于PERCLOSP80模型,给出列车司机疲惫驾驶判定算法;5.在以DSP为关键硬件平台上,将列车司机疲惫驾驶检测和识别算法移植到DSP芯片中,提升算法检测速度。 本识别系统开发关键分为两大阶段进行:1.检测和识别算法开发:在PC上进行基于人脸特征列车司机疲惫检测和识别算法开发。关键完成基于Adaboost算
36、法人脸和人眼分类器训练,和人眼状态识别算法开发;2.基于DSP疲惫检测和识别算法移植:将PC上非实时疲惫驾驶检测和识别算法移植到基于DSP高速数据处理嵌入式系统,使算法达成实时检测和识别要求。3.1.1基于人脸特征疲惫驾驶检测和识别算法开发本阶段关键任务是:结合列车司机驾驶特点和规律,分析列车司机疲惫驾驶时脸部特征,研究适合于列车运行时驾驶室光照情况复杂多变及高频低幅振动环境下列车司机疲惫驾驶检测和识别算法。整个检测和识别系统必需正确地检测和定位眼睛,依据查阅相关技术资料,最终确定本阶段算法开发分为三个步骤进行:l)检测视频中人脸;2)在人脸区域中定位人眼;3)对人眼状态进行识别,确定其状态,
37、睁开或闭合。采取先检测人脸,再检测人眼策略,能够降低检测算法计算量,同时提升人眼检测正确率。3.1.2疲惫驾驶检测和识别算法OSP移植依据中国外研究人员发表论文或技术资料显示:采取Adaboost算法开发人脸检测系统,计算量大,在对视频进行检测时,实时性方面表现不尽理想,而且本系统在人脸和人眼检测阶段均采取Adaboost算法,同时考虑到本系统设备便携式要求,所以将算法移植到含有高速数据处理性能DSP嵌入式系统中,提升系统检测和识别速度。 疲惫驾驶检测算法DSP移植及优化,首先完成基于DSP旧105最小视频输入输出系统程序,然后将疲惫检测算法从PC移植到.DSP系统,并完成移植过程包含到相关算
38、法优化及线性汇编优化等工作,使系统达成实时检测和识别要求。3.2基于Adaboost算法人脸检测整个疲惫检测系统首先必需正确地检测到人眼位置,我们采取先确定人脸区域,然后在人脸区域内深入检测、定位人眼方法,这么能够使得人眼检测和定位更正确部分。3.2.1人脸检测技术概述 人脸检测采取方法大致可分为基于统计和基于知识两种类型5。基于统计方法将人脸图像视为一个多维向量,从而将人脸检测问题转化为多维空间中分布信号检测问题;而基于知识方法则利用人脸特征先验知识定义若干规则,建立对应数学模型,从而将人脸检测问题转化为假设和验证问题,比如利用人脸肤色和几何结构等。 从表2一1能够看出,每种人脸检测方法全部
39、有一定优缺点和应用场所。基于知识建模方法,通常对建模假设条件依靠性强,而基于统计方法,通常精度较高、鲁棒性强,但运算量大。对于本系统,列车驾驶室光照环境改变快速,同时带有一定程度震动,极难确保一个稳定建模假设环境。比如,列车光照环境不能确保基于肤色检测算法要求光照稳定建模条件,而列车震动环境也不能确保基于运动检测算法要求背景稳定建模条件。基于统计检测方法,经过模式识别训练过程,提取人脸样本中大量人脸本质特征,在光照不理想情况下,即使缺失少部分特征,仍能够正确识她人脸。t通常来说,基于统计人脸检测方法只需要目前帧图像,对振动环境并不是很敏感,带来只是少许图像噪声,对算法检测性能影响不大。因为本系
40、统采取高速DSP数字信号处理芯片,在很大程度上处理了基于统计人脸检测算法计算量大问题。 从上面分析,能够看出基于统计算法对列车复杂多变光照、振动环境全部有较强适应性。在基于统计人脸检测算法中,我们最终选择了基于Adaboost算法人脸检测算法。3.2.2Adaboost人脸检测算法 1.集成学习算法 集成学习中一个关键问题就是弱分类器集成问题。大部分机器学习算法只是经过单个分类器生成来对新样本做出估计,而集成学习则是多个弱分类器结合,每一个弱分类器全部可能是一个传统机器学习模型。对一个新样本分类,集成份类器把这个新样本交给其多个弱分类器,再把各个弱分类器对新样本分类结果经过某种方法(比如投票或
41、求均值)组合来得到集成学习估计结果。Hansen等研究发觉,集成学习算法生成分类器要比参与集成那些单分类器正确度高很多。我们也能够说成集成学习优点是集成份类器性能比单个弱分类器含有愈加好表示能力。在众多集成学习算法中,Adaboost算法因其有以下优点而被广泛使用:(1)算法速度快;(2)除了训练轮数参数T外,不需要调整任何参数;(3)不需要知道任何相关弱分类器先验知识;(4)对弱分类器性能要求不高,只需要比随机猜测性能稍好即可,这种弱分类器在实际情况下很轻易取得,从而降低了算法复杂度,提升了效率;(5)在弱分类器组成上能够兼容多个方法,这些弱分类器能够是神经网路、决议树、最近邻域分类器、经验
42、规则等;(6)训练数据能够是文本、数字、离散值等,而且Adaboost算法很轻易被推广到多类目标分类问题中去。 2.Adaboost算法Adaboost算法训练过程是一个样本权重迭代更新过程。在Adaboost算法中每个样本权重值表示该样本被错分次数多少,在每一轮权重更新过程中,被错分样本权重会变大,在下一轮循环中算法就会愈加关注上一轮被分错样本。假如一个样本被错分了很数次,那么这个样本权重就会越来越大,我们就称这么样本为“困难样本”。经过这么方法Adaboost算法能够“聚集于”那些困难(更富有信息)样本上。下面根据集成学习算法两个关键问题介绍Adaboost算法,首先是Adaboost算法
43、应用于人脸检测弱分类器Hlike特征,然后介绍Adaboost集成方法,即由Haar一like特征组成弱分类器生成强分类器,最终取得级联分类器方法。 3.3基于Adaboost算法人脸检测软件实现 Adaboost分类器实现关键分两部分:Haar一like特征选择过程,即样本训练过程;检测过程,即利用得到Haar一like特征进行人脸检测。下面分别给出样本训练过程及检测过程软件逻辑实现。 3.3.1.样本训练过程样本训练过程关键目标是从过完全弱特征中获取分类能力很好少许弱特征,进而生成强分类器和级联分类器。下面具体介绍样本训练过程。在样本训练过程中,首先需要处理就是人脸样本库选择及预处理。3.
44、3.2人脸检测程序 人脸检测程序关键是利用基于Adaboost学习算法训练得到人脸级联分类器,进行实际人脸检测。人脸检测程序步骤包含图像预处理、积分图生成、特征值计算、级联分类器判定等步骤。下面给出级联分类器人脸检测程序步骤图,和程序关键代码。3.4人眼检测和人眼状态分析算法3.4.1基于Adaboost人眼检测算法 人眼训练过程需要人眼库,因为没有现成人眼库,所以只能自己搜集人眼样本,建立人眼库。人眼样本,关键裁剪自人脸库样本和部分互联网下载人脸图片中。样本被统一缩放到20x12像素,样本库共包含1000个人眼样本和1500个非人眼样本3.4.2人眼级联分类器效果分析 利用人眼检测程序进行了
45、大量图片检测,发觉人眼检测正确率很高,只要能够正确定位人脸,人眼检测几乎能够达成100%。经过分析,能够发觉,这是由人眼特征决定。首先,人眼特征简单、改变小,不像人脸特征多、改变大。其次人眼搜索区域小,人眼搜索区域为先前定位人脸区域,而人脸搜索区域为整幅图像。特征简单、搜索区域小,造成人眼检测正确率高,基础不会出现漏检和误检。3.4.3人眼状态分析算法人眼状态分析是疲惫状态识别最关键步骤,也是一个主观定义过程。人眼状态分析算法能够分为基于统计和基于知识建模两种方法。因为人眼开闭状态连续,状态确定主观,而基于统计人眼状态分析方法(模板匹配,Fisher法等)固有离散特点,使得基于统计方法样本选择
46、难度大,使用灵活性很差,所以本系统优先考虑基于知识建模方法,该方法最大特点就是模型参数可调,所以能够经过调整参数,尽可能达成PERCLOSP80模型要求。最常见两种基于知识建模人眼状态分析基础方法是:Hough找圆法和灰度投影法。 1.Hough找圆法 Hough变换是图像处理中从图像中识别几何形状基础方法之一。Hough变换基础原理在于利用点和线对偶性,将原始图像空间给定曲线经过曲线表示形式变为参数空间一个点。这么就把原始图像中给定曲线检测问题转化为寻求参数空间中峰值问题。 简而言之,Hough变换思想为:比如检测图像中一条直线,在原始坐标系下一个点对应了参数坐标系中一条直线,一样参数坐标系
47、一条直线对应了原始坐标系下一个点。原始坐标系下展现直线全部点,它们斜率和截距是相同,所以它们在参数坐标系下对应于同一个点。这么在将原始坐标系下各个点投影到参数坐标系下以后,看参数坐标系下有没有聚集点,这么聚集点就对应了原始坐标系下直线。 2.灰度投影法灰度投影法基础原理:若人眼睁开,黑色瞳孔未被眼睑遮盖,则其垂直灰度投影在瞳孔位置形成一个波峰。若人眼闭合,黑色瞳孔被眼睑遮盖,则其垂直灰度投影基础呈水平直线。对眼睛部位进行垂直灰度投影,得到其灰度投影图,然后判定投影图是否含有显著波峰,就能够判定眼睛状态。灰度投影法一样面临Hough找圆法一样问题,需要图像质量较高和正确人眼定位,不然就不能取得显著波峰,甚至可能出现两个较小波峰情况,造成灰度均值较大等异常情况,造成状态分析错误。其次灰度投影法需要较复杂前处理步骤,