一种防疲劳驾驶的嵌入式实时监测系统
2018-09-10王军
王军
摘要:本文完成了疲劳驾驶实时监测系统的软件开发和DSP硬件设计。把眼睛检测及跟踪算法移植到专用DSP上,并设计了数据采集、数据处理、抗干扰滤波处理等几个软件功能模块。硬件方面自行设计并制作了监测系统的电路板等。
关键词:疲劳驾驶;人眼识别;监测
近年来,随着经济增长汽车保有量逐年增加,随之产生的交通事故问题引起人们的高度重视。疲劳驾驶是发生交通事故的重要原因之一,有效的疲劳检测系统可以避免由疲劳驾驶所引起的交通事故的发生,减少人员伤亡和财产损失,该文提出了一种防疲劳驾驶的嵌入式实时监测系统从而判断驾驶员是否疲劳。
一、系统硬件设计
本文设计的基于的疲劳驾驶实时监测系统由如下几部分构成视频图像的采集、视频图像的显示输出、各种同步逻辑控制、视频图像的分析和处理、结果显示及报警装置。
(一)图像采集模块
图像采集模块选用的是SONY420红外CMOC摄像头。这种摄像头优点是:能够感应外界光线,若外界光线满足要求时,则采集的图像为普通彩色图像;若外界光线不足时,摄像头自动打开镜面上的LED红外灯,利用LED发出的红外光作为光源,此时采集的图像为红外图像,这样保证系统能够在全天气候下工作。另外,人眼中的视网膜不会感知到红外光,在检测过程中驾驶员不会产生强烈的不适感。
(二)人眼识别模块
人眼识别模块的处理器选用TI公司的TMS320DM642型DSP处理器。因为该处理器有8个独立计算的功能单元,具有很高的运算速度,很强的数字处理功能,高度的可编程性。人眼识别模块的硬件电路主要包括:DSP处理器、视频解码器芯TVP5150、SDRAM和FLASH存储器、报警装置、计时装置。视频解码器芯片TVP5150是将采集到的模拟信号转化为DSP识别的数字信号。因为系统断电后,DSP中的数据会丢失,所以在DM642外部扩展FLASH和SDRAM存储器。
(三)计时模块及报警模块
为了满足系统硬件简洁性、经济性的设计原则。计时模块选用CYPRESS公司生产的CY22381FC计时芯片。因为CY22381FC计时芯片结构简单,频率范围宽,驱动能力强,工作时能同时提供多个时钟电路,工作电压为3.3V。报警模块采用物美价廉的蜂鸣器。
二、系统软件设计
本控制系统中采用的μC/OS-Ⅱ是著名的源码公开的实时内核,用ANSI的C语言编写,包含小部分汇编代码,使之可以供不同构架的微处理器使用。
(一)图像预处理
人眼预处理主要包括:人眼定位、去噪、增强图像。因为实际采集到的人眼图像并不是完整的眼部图像,包含有其他的背景和不完整的眼部图像,这样容易使程序对人眼域划分错误,所以利用图像预处理技术对光照及噪声影响等问题进行纠正。
(二)特征提取
人眼的特征提取和匹配是整个人眼识别模块的核心部分。人眼的特征提取主要是通过Canny边缘算子提取出人眼的外侧边缘,通过Hough變换求解出内圆圆心及半径,通过基于单行梯度最大值法计算出人眼外侧边缘;最后通过二维Gabor小波变换提取出人眼特征。在提取人眼特征时需要在二维Gabor小波变换的极坐标下完成。因为这样可以避免因人眼大小的改变及瞳孔的膨胀而导致提取的人眼特征发生变化。
(三)人眼匹配
人眼匹配就是待测试的人眼特征向量与存储器中的人眼特征向量进行相似性的比较。人眼识别模块的最终目的是要准确地找出相匹配的人眼。人眼匹配采用的是基于比较两人眼特征向量的海明距离(Hammingdistance,HD)来实现人眼匹配。该匹配方法具有简单、快速、方便等优点。
三、系统的工作过程
系统的计时模块是参照《中华人民共和国道路交通安全法实施条例》中规定的连续驾驶时间及停车休息时间,来设置驾驶员的连续驾驶时间和休息时间。系统主要检测两个过程具体如下:
(一)连续驾驶中途不停车
当驾驶员行驶在高速公路上或者是交通状况良好的城市道路上时,驾驶员一般都是连续驾驶中途不停车。此时系统的检测过程:ECU接收到传感器信号后,命令cm。C摄像头采集图像,DSP命令计时模块计时,视频解码器进行图像转换,人眼识别模块进行人眼识别。匹配完成后锁定该人眼,即锁定这个驾驶员。通过计时模块记录驾驶员连续行车时间H,来判断驾驶员是否疲劳驾驶。
(二)中途停车
现实生活中驾驶员并不一定是连续驾驶,有可能中途停车换驾驶员,也有可能因为某种原因停车,这样系统在检测过程中必须能够及时地作出响应。中途停车时此过程主要是根据人眼识别结果,停车时间h及连续驾驶时间H这3个量来判断计时模块是重新工作,还是继续接着上次驾驶时间计时,以及报警模块是否要发出报警信号。
四、测试与分析
目前国内外还没有建立标准的人眼库。为了便于试验,在不同时间、环境下采集了20人,每人8张(左眼4张,右眼4张),大小为640×480的人眼图像。其中4张作为测试样本,另外4张作为训练样本。试验方法就是将全部的测试样本和训练样本进行对比匹配。总共要完成20×4+20×4=160次匹配。对试验结果分析发现,人眼识别时,错误率为4.39%。对计时模块研究发现,当人眼识别成功后,计时模块的反应有些滞后,平均滞后时间1.51s,滞后的时间仍在可接受的范围内。
参考文献:
[1]牛清宁,周志强,金立生,等.基于眼动特征的疲劳驾驶检测方法[J].哈尔滨工程大学学报,2015.
[2]刘亚涛,王立峰,张广听.基于人脸识别的疲劳驾驶检测及识别系[P].中国专利号201320000232,2013-0-01.