如何为驾驶员提供一个有效实用的安全辅助驾驶系统是车辆安全驾驶的一个重要课题。基于机器视觉的疲劳驾驶检测技术已在国内外开展了广泛研究,其中以驾驶员眼部特征的检测最为广泛。
本文以低成本、低功耗、高实时性为设计原则,以ARM+DSP构成硬件平台,并移植了嵌入式操作系统WindowsCE5.0,设计了一套基于驾驶员眼部特征的疲劳驾驶检测算法,对驾驶员驾驶过程进行实时检测和报警,从而提高驾驶的安全性与舒适性。
1硬件平台设计
系统硬件平台选用三星公司ARM9架构的S3C2440作为核心处理器,利用TI公司的TMS320DM642作为视频采集处理模块,其结构框图如图1所示。DSP平台主要负责采集图像、图像算法处理,ARM平台主要完成整个系统的控制处理,两者之间通过网口实现通信和同步。在系统运行过程中,ARM平台可实时显示采集到的视频以及相应眼部疲劳特征识别的结果,同时用户可通过触摸屏交互界面对系统进行设置和控制。为保证系统平台具有高的可靠性以实现复杂的系统调度,在设计过程中对本系统各平台进行了操作系统移植,DSP平台移植了DSP/BIOS系统,ARM平台移植了Wince操作系统。
S3C2440是一款基于ARM92OT核的16/32bitRSIC结构的嵌入式微处理器,主频为400MHz,最高可达533MHz;片内外资源丰富,具有强大的处理能力。系统存储扩展了64MB的NANDFlash、64MB的SDRAM;另外还有2MB的NORFalsh,用于存放系统引导加载程序[1]。
TMS320DM642芯片[2]能够实时高速地完成大数据量的数字视频编解码处理,是强大的高性能单片多媒体处理器,具有高质量、多通道、优越的视频处理性能,以及完整的软件可编程特性;基于C64x系列VelociTI.2DSP架构的设计,与TI公司其他的C64x数字信号处理器代码相兼容,拥有500/600MHz时钟频率,性能高,其传输速率达4000/4800MIPS;不仅具有C64x系列芯片的主要特征,还高度集成了音视频等外部设备的接口,方便多媒体应用开发。
2图像识别算法
2.1总体检测流程
首先,根据脸部肤色的聚类特性检测驾驶员脸部位置,在人脸检测的基础上,根据眼睛在人脸上的几何位置分布,确定眼睛的大概位置,缩小眼部检测的区域范围;其次,在缩小的眼部搜索区域范围内,利用Sobel边缘检测算法对眼部区域进行边缘检测,提取眼部的边缘信息,并对其进行二值化处理;再对二值化后的眼部区域进行连通成分分析,采用基于区域连通的二值图像滤波方法去除眼部周围图像噪声点的干扰;然后根据改进的积分投影算法,计算左右眼角和上下眼睑的距离,确定驾驶员眼睛的睁闭状态;最后,定义眨眼频率,并据此实现疲劳驾驶的检测。具体的算法流程如图2所示。
2.2基于肤色聚类的人脸检测
肤色对面部表情、头部旋转以及图像尺度的变化不敏感,但是人脸检测的一个重要特征。在HSV颜色空间,图像的照度和色度是分离的,肤色聚类更紧密,不易受周围光线的影响。因此,本文采用基于RGB和HSV颜色空间的肤色聚类算法对驾驶员脸部进行检测。从摄像头采集的图像为RGB格式,可以利用式(1)实现从RGB颜色空间到HSV空间的转换[3]。
2.3眼部感兴趣区域确定
假设检测出的人脸区域长度为HF、宽度为WF,在竖直方向上,眼睛大概位于脸部二分之一以上、头顶以下
HF/5的区域。在水平方向上,眼部边界区域被定位于距离脸部左边界WF/8处开始到距离脸部右边界WF/8处
的区域。根据上述原则,初始眼部检测区域为如图3中所示的矩形EFGH区域。
|