论文部分内容阅读
在道路交通系统高速发展的今天,汽车占有率不断上升,安全驾驶已成为城市发展的焦点问题之一。据调査显示,驾驶疲劳是导致交通事故的一大重要原因。因此,开发出一套使用方便、处理高效、检测准确的实时疲劳驾驶检测系统成为减少事故的关注焦点。在图像处理领域,驾驶员眼睛的状态是最能直接反应其疲劳状态的外在可视特征之一,故本文旨在运用图像处理的方法,研究出一套高效且适合推广的疲劳驾驶检测算法。本文的具体工作是设计人脸定位、面部分割、人眼定位和疲劳判定等几大核心功能模块算法,同时编程实现跨Android平台的移植研究。结合课题的实际需求,本文使用的实验图像均由放置于车内的Android手机前置摄像头采集得到,并在此基础上展开系统的开发。本文首先改进了现有面部区域分割算法,提出了基于面部特征信息的人脸横、纵向分割算法。纵向上,通过检测嘴部位置实现了面部的对称分割,避免了简单对人脸宽度的一半切割所造成的不适。横向上,选取耳朵、深色镜框等多种特征,最大程度的缩小感兴趣区域范围,提升了运行速度。其次,针对佩戴眼镜下的人眼定位,本文提出了一种新的多阈值处理方案。在得到的眼睛候选区域中,使用基于椭圆拟合的算法,实现了眼睛的精确定位及状态分析。实验结果表明,该法对复杂情况下的眼睛定位和状态判断的识别精确度达到90%,优于现有成果。接着,本文创新地实现了一种基于改进BP神经网络的面部朝向分析,优化了BP网络学习算法,实现了驾驶员头部水平转动或仰俯运动的判定。借助各个章节得到的头部定位结果、眼睛位置等特征信息,定义适合于辨别头部方向的特征向量输入网络,最终实现驾驶员“走神”分析,融合人眼疲劳标准同时对驾驶员的疲劳做出预警。最后,本文编程实现了跨Android平台的软件移植,将算法封装成为APP应用程序,并成功运行于手机之上。通过对比手机内和PC机的运行结果,验证了移植的正确性。成果满足人们的实际驾驶需求,有利于系统的普及。本文使用C代码编程实现各章节功能模块,利用VS2010集成开发环境开发。最终测试结果表明,系统能够成功对多种复杂情况下的人眼定位、状态识别和疲劳判定给出准确结果,眼睛定位准确率达到93.6%,状态识别精度为92.8%。经测试,系统在PC机上的处理速度约为15帧/秒,手机端达到3帧/秒。本文算法准确率高,实时性好,可以满足日常驾驶对疲劳检测的实际需求。