0 导言
跟着居民轿车拥有量的逐年添加以及人们生活节奏的加速,因疲惫驾驭导致的交通事端数也逐年添加。全世界每年因交通事端而导致的逝世人数达60万,直接经济损失约125亿美元,这些事端中57%的灾难性事端与驾驭员疲惫驾驭有关。因而,研讨和开发一套非触摸式疲惫驾驭监测体系有着非常大的社会现实意义。
1 体系硬件规划
本预警体系主要由微控制器、图画数据收集模块、LED预警模块、通讯接口以及电源模块五大部分组成,如图1所示。依据处理速度和精度的要求,选用32位ARM处理器。为了减小对驾驭员的影响,更好地完成非触摸式,本文选用了300万像素的CMOS摄像头OV3640模块,与CCD比较,CMOS具有灵敏度高、分辨率高、低功耗以及本钱低价等优势。
因为Rea16410开发板上没有蜂鸣器等发声的设备,而且蜂鸣器发声和LED发光的原理相似,所以本文运用LED发光报警。图2是开发板内LED的原理图。只要给后边的引脚一个低电平就能使LED宣布耀眼的红光,然后报警。在这里再简略介绍下蜂鸣器发声的原理,原理图如图3所示给P1引脚低电平就能使蜂鸣器发声。
2 体系软件规划
2.1 开发环境的建立
如果说体系硬件是骨架和躯体,那么软件算法便是思维。编写程序之前需求先建立好软件开发环境。软件开发环境的建立流程图如图4所示。
2.2 Adaboost算法
Adaboost算法的基本思维便是运用许多的分类才能一般的弱分类器(weak classifier)经过必定的办法叠加起来构成一个具有很强分类才能的强分类器(strong classifier)。
Adaboost算法的完成,选用的是输入图画的矩形特征,也叫Haar特征。脸部的一些特征能够由矩形特征简略地描绘。用图5演示。
上图中两个矩形特征,表明出人脸的某些特征。比方中心一幅表明眼睛区域的色彩比脸颊区域的色彩深,右边一幅表明鼻梁两边比鼻梁的色彩要深。相同,其他方针,如眼睛等,为了得到眼睛图画的信息,有必要进行眼睛定位。现有的眼睛定位办法许多,根据肤色模型的办法、灰度投影法、根据模板的办法、根据神经网络的办法、根据特征提取等。本体系运用Adaboost算法结构一个根据类Haar特征的层叠式分类器来进行人眼定位。类Haar特征一般由2~4个矩形组成,如图6所示。
2.3 运用Haar识他人眼
人脸的Haar特征分类器是一个XML文件,该文件中会描绘人脸的Haar特征值。Haar特征还能够描绘眼睛嘴唇或其他物体。
OpenCV现已自带了人脸的Haar特征分类器。在/usr/locaI/Opencv-2.4.3/data/haarcascades下。haarcascade_frontalface_al t.xml与haarcascade frontalface alt2.xml都是用来检测人脸的Haar分类器, haarcascade_eve.xm l与haarcascade eye tree eyegla sses.xml都是用来检测人眼的Haar分类器,这个haarcascades目录下还有人的全身,嘴唇的Haar分类器。图7是检测到的人脸。
2.4 用阈值法判别疲惫状况
由上述算法定位眼睛并截取下来,运用sobel完成边际检测再进行二值化处理,将二值化的图画暂存在临时文件夹中,调用临时文件夹中的图片,for循环遍历图片像素点,比较黑色像素点坐标并得到上下最大落差值,据此给定相应的高度阈值。当检测到的眼睛高度值等于或小于设定的眼睛高度阈值就记录下来,若接连五帧眼睛的高度值等于或小于阈值,则体系断定驾驭员处于疲惫状况。整个体系流程如图9所示。
3 体系全体规划方案
3.1 体系规划流程
整个体系规划流程:1)检测摄像头和开发板;2)获取图画。经过摄像头实时地获取驾驭员的头像;3)建立软件开发环境。移植QpenCV到ARM下,在Linux下装置QT;4)人眼方面的处理。首要运用OpenCV里自带的Haar分类器进行眼睛辨认定位,然后将提取出来的眼睛区域图画进行二值化处理,最终经过扫描二值化图画的黑像素点,得到眼睛最高点和最低点两个点的坐标,经过坐标差值计算出眼睛的高度值;5)判别疲惫。当检测到眼睛的高度值小于或等于设定的眼睛高度阈值,则记录下来,若接连五帧眼睛的高度值都小于或等于阈值,则断定驾驭员处于疲惫状况;6)报警。LED发光报警;7)编写疲惫驾驭的GUI。流程图如图10所示。
3.2 体系GUI的规划
在人和计算机的互动过程中,有一层面,即咱们所说的界面(interface)。GUI(Graphical User Interface)即图形用户界面,作为一种可视化的用户界面,运用图形界面替代正文界面。它的作用是完成用户和计算机之间的杰出的交互。
应用程序的编译环境是Qt Creator,运用疲惫预警体系时,刚翻开会出现以下显现begin的一个button,触摸开端按钮体系就会进入疲惫监测程序,监测完毕判别疲惫时开发板给led灯以示预警。完毕预警体系时,只需轻触界面的“close”键即可回来一开端的begin界面。如图11所示。
轻触eye体系进入主界面后,能够经过界面最下端的显现区域调查。当驾驭员闭眼时,体系最下端则会获取到闭眼状况的图画,当接连五帧图画都是闭眼时,体系就会报警。图12体系界面。