论文部分内容阅读
随着物质条件的不断提高,汽车在日常生活中越来越普及。虽然汽车带给人们很多便利,但是也带来了越来越多的交通事故,使得广大家庭和社会遭受巨大伤害和损失。据统计,在所有的交通事故中,疲劳驾驶导致的事故数量占了很大的比例。因此,来自不同国家不同领域的众多研究人员都展开了对驾驶员疲劳检测的研究,取得了很大成果。考虑疲劳检测应该同时满足准确性、实时性、鲁棒性、舒适性的要求,所以本文研究了基于视觉的驾驶员疲劳检测算法,并验证了这是一种无接触的、实时性好的、高准确性的算法。本文遵从由大到小,逐步缩小定位的原则,采用数字图像处理、计算机视觉和模式识别技术提取驾驶员眼部特征然后通过结合PERCLOS疲劳判定标准和眨眼频率的方法来判定驾驶员是否疲劳。论文所做的主要工作如下:1.采用中值滤波去噪,基于直方图均衡化和“参考白”结合的方法进行光补偿。通过简单操作对图像进行预处理,可以使得后续步骤的处理更加方便,提高了系统的准确性和鲁棒性。2.利用肤色在YCbCr模型中的聚类特性,在原始图像中提取出人脸候选区域,减少后续检测目标区域,提高系统的速度,实时性更好。3.采用Adaboost算法来检测人脸区域,先分别采用Haar特征和LBP特征来训练人脸分类器,然后使用两种人脸分类器进行测试并对比结果,最终选择速度更快,效果更好的基于LBP特征的Adaboost分类器。4.基于“三庭五眼”的先验知识在人脸区域粗定位人眼,再使用Adaboost人眼分类器进行精确定位。然后通过对人眼图像进行Otsu二值分割和形态学操作提取到人眼轮廓,再计算出人眼的高宽比,通过高宽比的大小来识别人眼状态。5.对提取的人眼特征,采用基于PERCLOS-P80和眨眼频率相结合的方法来判定驾驶员是否疲劳,该方法具有准确度高、实时性好、鲁棒性强的优点。能够有效的对驾驶员疲劳状态进行判定和预警。本文在VS2013开发环境,使用C++语言并结合OpenCV2.49计算机视觉库完成疲劳检测算法的仿真和实现。通过在驾驶室模拟静态驾驶员行车环境,进行了不同光照,不同遮挡及不同转向角度下的测试,结果表明本文方法在静态驾驶环境中,系统各个阶段都能实时准确实现,有效的检测到驾驶员的疲劳状态,并发出预警,避免因疲劳驾驶造成的交通事故。