《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 驾驶员眼部疲劳视觉检测算法及其ARM+DSP实现
驾驶员眼部疲劳视觉检测算法及其ARM+DSP实现
来源:电子技术应用2012年第2期
孙 伟1,张小瑞1,唐慧强1,张为公2
1.南京信息工程大学 信息与控制学院,江苏 南京210044; 2.东南大学 仪器科学与工程学院,江苏 南京210096
摘要: 将ARM+DSP技术应用于驾驶员的疲劳检测,使用S3C2440作为核心处理器,利用TMS320DM642作为视频采集处理模块,详细讨论了硬件平台与接口的设计。提出了一种简单有效的基于眼部特征的疲劳驾驶检测算法,结合单目机器视觉实现了驾驶员眼部睁闭状态的有效判定和疲劳驾驶的实时检测。在沪宁高速南京段的实验结果表明,该算法的实时性与精确性可以满足安全行驶的要求。
中图分类号: TP274+.5
文献标识码: A
文章编号: 0258-7998(2012)02-0024-04
Eye fatigue vision detection algorithm for driver and realization on ARM+DSP system
Sun Wei1,Zhang Xiaorui1,Tang Huiqiang1,Zhang Weigong2
1.School of Information and Control, Nanjing University of Information Science and Technology, Nanjing 210044,China; 2.School of Instrument Science and Engineering, Southeast University, Nanjing 210096,China
Abstract: The ARM+DSP technology is used to detect the fatigue driving for the drivers. S3C2440 is used as the core processor, TMS320DM642 is utilized as the video capture and processing module, and the design of the hardware platform and the interface is discussed. A simple and effective fatigue driving detection algorithm based on eye feature is proposed to realize the judgement of open-close state of eye and the real-time detection of fatigue driving. Experiments conducted on Hu-ning highway show that the algorithm is fast and accurate for the safety of driving.
Key words : fatigue driving detection;eye feature;improved integral projection;ARM+DSP

    如何为驾驶员提供一个有效实用的安全辅助驾驶系统是车辆安全驾驶的一个重要课题。基于机器视觉的疲劳驾驶检测技术已在国内外开展了广泛研究,其中以驾驶员眼部特征的检测最为广泛。

    本文以低成本、低功耗、高实时性为设计原则,以ARM+DSP构成硬件平台,并移植了嵌入式操作系统Windows CE 5.0,设计了一套基于驾驶员眼部特征的疲劳驾驶检测算法,对驾驶员驾驶过程进行实时检测和报警,从而提高驾驶的安全性与舒适性。
1 硬件平台设计
    系统硬件平台选用三星公司ARM9架构的S3C2440作为核心处理器,利用TI公司的TMS320DM642作为视频采集处理模块,其结构框图如图1所示。DSP平台主要负责采集图像、图像算法处理,ARM平台主要完成整个系统的控制处理,两者之间通过网口实现通信和同步。在系统运行过程中,ARM平台可实时显示采集到的视频以及相应眼部疲劳特征识别的结果,同时用户可通过触摸屏交互界面对系统进行设置和控制。为保证系统平台具有高的可靠性以实现复杂的系统调度,在设计过程中对本系统各平台进行了操作系统移植,DSP平台移植了DSP/BIOS系统,ARM平台移植了Wince操作系统。

    S3C2440是一款基于ARM92OT核的16/32 bit RSIC结构的嵌入式微处理器,主频为400 MHz,最高可达533 MHz;片内外资源丰富,具有强大的处理能力。系统存储扩展了64 MB的NANDFlash、64 MB的SDRAM;另外还有2 MB的NORFalsh,用于存放系统引导加载程序[1]。

 


    TMS320DM642芯片[2]能够实时高速地完成大数据量的数字视频编解码处理,是强大的高性能单片多媒体处理器,具有高质量、多通道、优越的视频处理性能,以及完整的软件可编程特性;基于C64x系列VelociTI.2DSP 架构的设计,与TI公司其他的C64x数字信号处理器代码相兼容,拥有500/600 MHz时钟频率,性能高,其传输速率达4 000/4 800 MIPS;不仅具有C64x系列芯片的主要特征,还高度集成了音视频等外部设备的接口,方便多媒体应用开发。
2 图像识别算法
2.1 总体检测流程

    首先,根据脸部肤色的聚类特性检测驾驶员脸部位置,在人脸检测的基础上,根据眼睛在人脸上的几何位置分布,确定眼睛的大概位置,缩小眼部检测的区域范围;其次,在缩小的眼部搜索区域范围内,利用Sobel边缘检测算法对眼部区域进行边缘检测,提取眼部的边缘信息,并对其进行二值化处理;再对二值化后的眼部区域进行连通成分分析,采用基于区域连通的二值图像滤波方法去除眼部周围图像噪声点的干扰;然后根据改进的积分投影算法,计算左右眼角和上下眼睑的距离,确定驾驶员眼睛的睁闭状态;最后,定义眨眼频率,并据此实现疲劳驾驶的检测。具体的算法流程如图2所示。




3 实验与分析
    为验证眼睛疲劳特征检测算法的有效性,在构建的ARM+DSP系统上对采集到的视频图像进行实验验证。在沪宁高速南京段的实验结果表明,该系统将算法处理时间控制在50 ms以内,取得了良好的实时效果,疲劳驾驶检测正确率达97.6%。部分图像的眼部区域检测结果如图4所示,其中,第一行为人脸检测后的面部定位图像,第二行为经Sobel边缘检测后的眼部二值图像,第三行为得到的眼部边界定位图像。
    通过观察发现,通常情况下,驾驶员在睁眼和闭眼时,左、右眼的睁闭情况是同步的,即同时睁开或同时闭合。因此,在对眼睛睁闭状态进行判断时,为减少计算量,仅对左眼的睁闭情况进行判断。针对图4所示的眼部区域检测结果,利用式(8)计算其左眼睁闭度的大小,计算结果如表1所示。

    由表1可知,图4中第一列和第二列所示的眼睛闭合时的睁闭度值明显小于第三列和第四列所示的眼睛睁开时的睁闭度值。故只要选择合适的阈值,根据眼睛睁闭度值的大小,就可对驾驶员眼睛的睁闭状态进行有效判断。

    本文在ARM+DSP系统上实现了基于眼部特征的疲劳驾驶检测算法。利用基于肤色聚类的脸部检测算法确定脸部边界,采用一种简单有效的改进积分投影算法,实现了驾驶员眼部睁闭状态的有效判定和疲劳驾驶的实时检测。
参考文献
[1] 杨忻恺,张为公,于兵,等.基于DSP的车载视频监控存储系统的设计[J].电子器件,2009,32(4):805-808.
[2] 袁庆辉.基于TMS320DM 642的车道偏离预警系统设计[J].制造业自动化,32(5):70-72.
[3] Li S H,Guo G Z.The application of improved HSV color space model in image processing[C].Proceedings of the 2010 International Conference on Future Computer and Communication,2010:210-213.
[4] LIN H J,WANG S Y,YEN S H,et al.Face detection based on skin color segmentation and neural network[C].Proceedings of 2005 International Conference on Neural Networks and Brain Proceedings,2005:1144-1149.
[5] SUN W,ZHANG W G,LI X,et al.Driving fatigue fusion detection based on T-S fuzzy neural network evolved by subtractive clustering and particle swarm optimization[J].Journal of Southeast University(English Edition),2009,25(3):356-361.

此内容为AET网站原创,未经授权禁止转载。