当前位置:首页 > 汽车电子 > 汽车电子
[导读] 0 引言随着居民汽车拥有量的逐年增加以及人们生活节奏的加快,因疲劳驾驶导致的交通事故数也逐年增加。全世界每年因交通事故而导致的死亡人数达60万,直接经济损失约125亿美元,这些事故中57%的灾难性事故与驾驶员疲

 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系统界面。

4 结束语

本文是基于ARM处理器设计的驾驶员疲劳预警系统,在搭建好的ARM平台开发环境的基础上,利用QT技术设计系统界面,最后基于OpenCV移植驾驶员疲劳预警算法。本文设计的预警系统具有以下优点或特色:1)采用性能强劲的ARM系列处理平台作为系统的硬件环境,与其他如DSP+ARM的架构相比,在处理性能相差不大的情况下,系统的硬件成本大大降低,更符合经济的要求;2)相比脑电图、眼电图、心电图等需要接触驾驶员身体的装置,本设计采用摄像头实现非接触式,更方便使用;3)依据系统各个处理模块的特点,采用多种算法相结合的办法实现系统,更加体现实时性、高效性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭