APP下载

驾驶员疲劳检测系统设计

2017-03-27王海涛宿海燕

计算机测量与控制 2017年3期
关键词:分类器驾驶员芯片

颜 伟,王海涛,黄 斌,宿海燕

(1.南京航空航天大学 自动化学院,南京 211016; 2.山东烟台通用照明有限公司,山东 烟台 264006)

驾驶员疲劳检测系统设计

颜 伟1,王海涛1,黄 斌1,宿海燕2

(1.南京航空航天大学 自动化学院,南京 211016; 2.山东烟台通用照明有限公司,山东 烟台 264006)

以DM642为主控芯片设计了一套驾驶员疲劳检测的硬件系统,包括主控器模块、视频采集模块、视频输出模块和报警模块等相关电路;综合国内外的研究现状,确定了了疲劳状态判断的理论基础;交叉运用图像处理技术、人脸检测技术和PERCLOS疲劳检测方法,根据眼睛的疲劳特征,实时判断驾驶员的疲劳状态,进行报警,有效防止交通事故的发生;经过对系统的软硬件测试,结果表明,该方案可以有效地识别出驾驶员的疲劳状态,运行速度快、实时性好,具有较高的鲁棒性。

疲劳检测;DM642;机器视觉;图像处理

0 引言

现阶段,随着人均汽车持有量的不断上升,交通事故也愈发得频繁。在全国乃至全球范围内,疲劳驾驶是交通事故发生的主要原因之一[1]。如果能实时检测出驾驶员的疲劳状态,在驾驶状态出现异常时及时用声光等信号来提醒驾驶员,就可以有效地提高行车安全。

本文采用主动式红外成像方法,摄取驾驶员的面部信息,并将该信息存储在SDRAM中进行图像处理,根据疲劳状态下眼睛的特征,实时判断驾驶员的疲劳状态,并进行报警,有效防止交通事故的发生。

1 疲劳检测的基本原理

驾驶疲劳是驾驶机能失调的综合反映,包括主观机能和客观机能、心理机能和生理机能的总称[2]。

本系统采用的方法是主观检测,以驾驶员眼睛的相关特征作为检测依据,因此,对人脸的定位和眼睛的疲劳特征确定做了详细的理论研究。

1.1 人脸检测的理论基础

AdaBoost 是最优秀的Boosting 算法之一, 有着坚实的理论基础, 在实践中得到了很好的推广和应用[3]。

本文使用Adaboost算法,对大量的弱特征进行统计学习,循环迭代多次训练出弱分类器,并聚合大量的弱分类器形成强分类器,并最终融合为级联分类器。该方法可以有效地提高人脸检测的速度和正确率。

1.2 眼睛的疲劳特征确定

根据国内外针对疲劳的生理反应的研究,疲劳状态最有效的判据是眼睛的闭合时间所占的百分比,即PERCLOS标准。PERCLOS的全称是Percentage of Eyelid Closure Over the Pupil Over Time[4]。

基于PERCLOS标准检测的方法和原理是:首先,使用摄像头获取驾驶员的面部图像信息,通过图像处理方法定位眼睛,并分析和识别眼睛的开闭状态。根据相关生理学研究,瞳孔张开程度小于20%认为是为闭合,而大于20%认为是睁开,眼睛的闭合比即是单位时间内眼睛闭合的时间所占的百分比[5]。

通常PERCLOS方法有三种标准:

P70:指眼睑遮住瞳孔的面积超过70%就认为眼睛闭合。

P80:指眼睑遮住瞳孔的面积超过80%就认为眼睛闭合。

EM:指眼睑遮住瞳孔的面积超过一半就认为眼睛闭合。

根据NHTSA对此方法的实验,表明与疲劳发展程度的相关性最好的是P80标准。

PERCLOS的测量原理可见图1:通过tl~t4的值就可计算出PERCLOS,计算公式如1所示:

其中f代表眼睛闭合时间的百分率,即PERCLOS的值。

图1 PERCLOS测量原理图

2 疲劳驾驶检测系统设计

本检测系统设计包括硬件系统和软件方案的设计两部分。

2.1 硬件系统

硬件系统主要由主控制器、视频输入模块、视频输出模块和报警模块等构成。

2.1.1 系统信号的传输过程

图像信号在系统中的传输过程如图2所示。

首先,驾驶员的面部图像经摄像头采集后送到视频编码器,在视频编码器中将模拟信号转换成8位数字信号并送入DM642内,然后依次完成人脸和眼睛的检测算法,最后将处理后的图像传输到数模数模转换装置将8位数字信号转换为电信号,并由图像传感器输出,并在显示器上实时显示。

图2 信号流图

2.1.2 主控制器

本文综合考虑了市面上多媒体开发类的处理器,对性能、成本、功耗等作了较为详细的比较,主控制器采用TI公司生产的DM642,运行速度快、性价比高。

DM642全名TMS320DM642是TI公司C6000系列DSP中最新的定点DSP芯片。TMS320DM642系列芯片是数字媒体处理的最佳芯片选择。DM642时钟频率高达600MHz,运算速度可达4800 MIPS,从而可以有效的缩短数据处理的时间。此外它的片上外围模块资源非常丰富,包含有一个外部存储器扩展EMIFA、3个视频端口VP0~VP2、I2C总线、以太网控制器EMAC和多通道缓冲串行口McBSP等相关资源[6]。

主控制器的设计包括DSP的最小系统和存储器模块,包括电源模块、时钟模块、JTAG模块、EMIF存储器扩展模块以及模块这几部分组成。

整个电路板采用+12V电压供电,并由此提供DM642外围IO电压+3.3V、DM642 CPU内核电压+1.4V、告警蜂鸣器电压+5V和摄像头电压+12V。电源模块采用LM2596系列DC-DC芯片,功耗低、性能稳定。电源模块详细电路见图3~图6。

图3 +3.3V电压

图4 +1.4V电压

图5 +5V电压

图6 +12V电压

由于晶振的工艺和成本原因,做不到很高的频率,因此在需要使用高频时,通过使用锁相环(PLL)技术来提高系统的时钟。DM642的工作时钟是600 MHz,故采用50 MHz的外部晶振,并经片内的锁相环进行12倍频,以此提供主控制器的工作时钟。

JTAG是联合测试工作组的简称,主要用于芯片内部的编程和测试。仿真器接口的一端连接到DM642的的JTAG端口,另一端连接到PC机,PC机与DM642通过仿真器进行通讯。

DM642有三种启动模式:no boot 、host boot、EMIF boot,并由地址线AEA[22:21]的高低电平来决定。启动模式见表1。

表1 DM642的启动模式

无启动方式(no boot):没有使用启动模式,CPU直接从内存的0地址开始执行。

主机启动方式(host boot):此模式下,外部主机首先通过主机接口初始化CPU的内存空间,然后CPU开始从内存的0地址处执行。

EMIF启动方式:由于本系统需要脱机使用,所以采用EMIF启动方式,即将地址线AEA22和AEA21分别通过1个1kΩ的电阻接到+3.3V电源上。

DM642的TOUT1/LENDIAN引脚作为芯片Endian模式的设置引脚。配置模式见表2。

表2 DM642的节点模式

EMIF规定了外扩模块的时钟频率,本款DSP通过与地址线AEA[20:19]复用的AECLKIN_SEL [1:0]引脚进行配置。

因为本系统需要处理大量的图像信息,因此必须扩展外部存储单元。本系统通过EMIF接口(外部存储器接口)扩展了4M×64bit的SDRAM和4M×8bit的FLASH。

总线缓冲器采用芯片74LV16245,对DM642的数据总线TED0~TED15、地址总线TEA3~TEA22和EMIF接口的控制总线TSDRAS#、TSDCAS#、TSDWE#进行暂存缓冲。详细电路见图7。

图7 总线缓冲器

EMIF接口共有4个存储器映射空间,CE0、CE1、CE2、CE3。SDRAM可映射到任意一个空间,FLASH只能映射到CE1空间,且必须是8位FLASH。本系统中,SDRAM映射到CE0空间,FLASH映射到CE1空间。详细电路见图8~图9。

图8 外扩SDRAM

2.1.3 视频输入和输出模块

DM642提供了3个视频输入输出接口,VP0、VP1和VP2。现将VP0作为视频输入接口,VP1作为视频输出接口。DM642的视频端口见图10。

1)视频输入模块

本设计中采集端口使用DM642的VP0,遵循8-bit BT.656模式[7]。

本系统采用的是模拟摄像头,因此需要使用“A/D”器件将模拟视频信号进行数字化。飞利浦公司生产的SAA7113数字编码芯片以其兼容性好、配置简单等优点成为了本系统模拟数字化的首选。

图9 外扩FLASH

图10 视频端口

本模块电路如图11。

图11 视频输入模块

2)视频输出模块

本设计中输出端口使用DM642的VP1口,使用8-bit BT.656模式。BT.656模式输出8-bit 4:2:2格式的亮度和色度复合数据。数据输出采用了编码芯片SAA7121来完成。

当满足视频输出阈值要求时,视频输出模块就会使用三个事件标志(YEVT、CbEVT和CrEVT)来告知EDMA控制器,由EDMA负责将Y、Cb和Cr数据分别转移至相应的输出FIFO,并最终整合成YCbCr数据流[8]。

本模块电路如图12。

图12 视频输出模块

2.1.4 报警模块

当系统检测到驾驶员正处于疲劳驾驶的危险状态时,为了提醒驾驶员作出调整,报警模块会实时地发出声音报警,并根据疲劳程度调节报警信号的强度。

本系统采用三极管驱动蜂鸣器来产生声音报警信号。本模块电路如图13。

图13 报警模块

2.2 软件方案

软件方案流程见图14。

图14 软件流程

图像预处理采用的是中值滤波以及直方图均衡化。中值滤波目的在于对图像进行消除噪声处理;直方图均衡目的是对在图像中像素个数多的灰度级进行拓宽,对像素个数少的灰度级进行缩减。

采用Adaboost算法定位人眼区域,该算法利用的是Haar矩形特征,可以用来定位人眼,还可以定位人脸,只要将人眼的分类器改成人脸的分类器,而分类器文件则是通过自行选取正负样本进行训练得到。

人眼状态判断的方法采用的是“网格三分法”,精确定位到人眼区域后,用矩形框进行标记,并对该区域进行二值化、像素值计算、阈值设定等操作。

图15 眼睛状态的判断流程

通过PERCLOS原理中的P80准则进行疲劳判断,即眼睑遮住瞳孔的面积超过80%就计为眼睛闭合,统计在一定时间内眼睛闭合时所占的时间比例。

3 调试与分析

对硬件电路进行PCB制作、元器件焊接,并对电路分模块地调试,完成了硬件接口驱动的编写,并实现了芯片的自动加载功能。

在搭建的检测系统上,在强光、弱光等不同光照条件下,对1600帧视频图像进行疲劳状态的识别,图像大小为576*720,Adaboost算法选取的人眼分类器大小为35*16,共19层级联分类器。

表3为各部分算法所花费的时间,表4为本文的方法与其他方法识别率的比较。

表3 各部分算法花费时间

表4 本文方法与其他方法识别率比较

从表3可以发现,各个部分的运行速度相对较快,检测速度能达到26帧/s,满足实时性要求。从表4可以发现,相对于积分投影法,本文的方法具有明显的优势;相对于计算量较大的模板匹配法,本项目方法的睁眼检测效果存在不足,但总的误判率低于模板匹配法,更具可行性。

4 结语

本文以设备硬件设计为核心,重点研究了疲劳检测的相关理论基础。设计了图像采集、图像处理和图像回放等相关硬件电路,解决了疲劳检测的系统平台,通过试验验证了该系统平台的可行性,并设计了一套软件检测方案,该方案检测是倍率高,实时性好。目前本设计正在着力优化平台结构、减小硬件尺寸,以适应于车载空间狭小的现状;并在保证疲劳检测准确率和鲁棒性的前提下,改进算法结构,优化程序代码,以提高检测的性能。我们可以期待,在不久的将来本系统必将会实现车载化、装置化和实用化。

[1] 李都厚, 刘 群, 袁 伟, 等. 疲劳驾驶与交通事故关系[J]. 交通运输工程学报,2010,10(2): 104-109.

[2] 傅家振. 驾驶疲劳的产生原因与防范措施[J]. 车运用, 2010(7):36-37.

[3] 曹 莹, 苗启广, 刘家辰, 等. AdaBoost算法研究进展与展望[J]. 自动化学报, 2013, 39(6): 745-758.

[4] 于兴玲, 王 民, 张立材. 基于PERCLOS 的驾驶员眼睛状态检测方法, 汽车电子[J], 2007(5):251-253.

[5] 施 海, 王 伟, 谢 峰. 基于驾驶员生命体征的智能监控系统[J]. 重庆工学院学报(自然科学), 2009(4):25-29.

[6] 贾 芳, 郑 丹. 基于TMS320DM642芯片的视频目标跟踪系统设计与实现[J]. 计算机测量与控制, 2014,22(7) : 2192-2195.

[7] 尚佳良, 白瑞林, 杨文浩. 基于DM642的视频处理系统设计[J]. 计算机测量与控制, 2009,17(7):1289-1291.

[8] 刘 丹, 孙丽云, 胡 伟, 等. 基于DM642 的视频处理系统设计[J]. DSP开发与应用, 2007(6):157-159.

Design of Driver Fatigue Detection System

Yan Wei1,Wang Haitao1,Huang Bin1,Su Haiyan2

(1.College of Automation Engineering, Nanjing University of Aeronautic and Astronautics, Nanjing 211016, China;2.Yantai General Lighting Co., Ltd., Yantai 264006, China)

A hardware system for driver fatigue detection is designed based on DM642, which includes master controller module, video capture module, video output module, alarm module and other related circuits. Based on the research status at home and abroad, the theoretical basis of fatigue state judgment is determined. The eye fatigue characteristic was combined with image processing technology, face detection technology and PERCLOS fatigue testing method to judge the fatigue state of the driver in real time . If in a state of fatigue, an alarm is issued, which can effectively prevent the occurrence of a traffic accident. After the testing of system hardware and software, The results show that the scheme can effectively identify the fatigue state of the driver, and it has high speed, good real-time and high robustness.

fatigue detection; DM642; machine vision; image processing

2016-10-28;

2016-11-25。

江苏省重点研发(社会发展)项目(BE2015725);国家质量监督检验疫总局公益性行业科研专项(2015424068);烟台开发区科技发展计划项目(201416)。

颜 伟(1989-),男,江苏淮安市人,硕士研究生,主要从事仪器仪表方向的研究。

王海涛(1968-),男,江苏溧阳市人,教授,博士研究生导师,主要从事电磁、超声、激光超声检测技术、无损检测技术的研究。

1671-4598(2017)03-0043-05

10.16526/j.cnki.11-4762/tp.2017.03.013

TP273

A

猜你喜欢

分类器驾驶员芯片
芯片会议
基于高速公路的驾驶员换道意图识别
学贯中西(6):阐述ML分类器的工作流程
基于眼动的驾驶员危险认知
驾驶员安全带识别方法综述
人体微芯片
关于射频前端芯片研发与管理模式的思考
基于朴素Bayes组合的简易集成分类器①
基于特征选择的SVM选择性集成学习方法
如何提高汽车驾驶员预防事故的能力