基于ADSP―BF609的驾驶员疲劳检测系统研究

时间:2022-06-22 11:28:13

基于ADSP―BF609的驾驶员疲劳检测系统研究

摘 要:设计了一种可检测驾驶员驾驶状态的装置,使用图像传感器采集驾驶员的面部信息,通过图像识别,分析驾驶员的驾驶状态。当探测到驾驶过程中存在疲劳驾驶情况时,装置可以进行必要的报警,减少疲劳驾驶行为的发生,减少交通事故从而,改善交通状况。实验表明,装置在驾驶过程中,不会对驾驶员造成任何干扰,可以正确、及时、有效的识别疲劳驾驶情况,具有良好的实用性。

关键词:疲劳驾驶;视觉;PERCLOS;ADSP-BF609

前言

随着经济的飞速发展,汽车作为一种交通工具,对人们的生活产生越来越广泛的影响。然而随着汽车保有量的增加,道路交通事故与日俱增。疲劳驾驶作为交通事故发生的主要原因之一,已经引起了社会的广泛关注。统计数据表明,2007年至2009年,由疲劳驾驶引起的交通事故死亡人数已占到交通肇事的死亡总数的10%以上[1]。可见,疲劳驾驶对人们生活造成的危害度越来越深。针对居高不下的死亡人数,开发一种防止驾驶员疲劳驾驶的装置显得尤为重要,对改善道路交通状况具有重大意义。

1 系统设计

目前检测车辆是否存在疲劳驾驶,主要有两种途径:基于驾驶员状态的检测方法和基于车辆运行状态的检测方法。驾驶员状态包括生理指标及行为,如脑电图、心电图、低头、眨眼等与疲劳相关且能够被检测的项目。通过对驾驶员的检测,直接进行驾驶行为判断。检测车辆的运行状态指检测在驾驶途中,车辆的运行轨迹及驾驶员对车辆的控制情况。如在疲劳驾驶过程中,驾驶员对车辆的操作减少,车辆易出现左右缓慢转弯的现象。通过对车辆行驶情况的间接检测,判断驾驶员状态。这两种检测的手段在理论上都具有可行性,但在实际应用中均有各自的不足。

本系统采用基于视觉的驾驶员疲劳检测方法,直接检测驾驶员眼部区域,计算行驶中的眨眼频率,从而判断驾驶员是否为疲劳状态。系统主要包含:图像采集模块、电路、检测算法模块、反馈输出模块。系统框图如图1。

装置通过安装于车辆内后视镜下方的图像传感器,实时采集驾驶员面部图像信息,利用图像处理算法对采集的图像进行处理,最终得到驾驶员是否疲劳的结果,当识别结果为疲劳驾驶时,通过LED及蜂鸣器对驾驶员进行危险警示。

基于视觉的检测方法为非接触式测量,不对驾驶过程造成任何影响,相比于其他原理的检测方法,具有更高的实用性。

2 硬件设计

对装置性能具有重要影响的主要元器件包括:ADSP-BF609处理器和OV10633图像传感器。硬件框图如图2。

ADSP-BF609,它是ADI公司推出的高性能双核DSP处理器,采用了ADI公司的Inter微信号架构。该芯片针对嵌入式视觉应用进行了优化,并配备了一种称为“流水线视觉处理器(PVP)”的高性能视频分析加速器[2]。它是ADI高性能产品,其强大的性能可以满足该装置对实时性的严格要求。

OV10633 CMOS图像传感器,分辨率高达100万像素,拥有并行的输出引脚,可以输出YUV的图像格式。通过SCCB协议可以对OV10633内寄存器进行编程,设置自动白平衡、伽马校正等功能,同时也可以设置图像的输出分辨率及输出频率,以保证系统以最优的性能运行。

3 软件设计

疲劳驾驶检测系统软件模块主要由图像采集模块、面部定位模块、眼睛定位模块、神经网络模块、疲劳判断模块等子模块构成。系统软件框图如图3。

(1)图像采集模块:主要负责接收从摄像头采集的图像,并将采集的图像转换为系统所需要的图像格式。

(2)面部定位模块:在全景图像上进行肤色检测、头发检测从而实现对于面部的定位。

(3)眼睛定位模块:在面部区域内,根据色彩以及位置关系等,实现对于眼睛的精准定位。

(4)疲劳判断模块:根据PERCLOS原理,实现对于驾驶员疲劳状态的判断。

3.1 图像采集模块

SCCB协议是OmniVision公司开发的串行摄像头控制总线(Serial Camera Contral Bus),它用于对CMOS图像传感器芯片中的寄存器进行读写。系统上电后需要对CMOS图像传感器进行初始化,设置图像的开窗位置、开窗大小和彩色工作模式等,这些参数是受内部相应寄存器的值控制的,可通过SCCB总线对其进行设置。

在软件中通过SCCB协议,对OV10633内部寄存器进行编程,使之输出1280*800的YUV422格式图像数据。系统软件后期的算法需要对RGB格式数据进行处理,故需要对图像进行格式转换,以获得RGB格式图像。

YUV422格式是YUV色彩空间的一种数据格式。YUV色彩空间的基本特征是将亮度信号和色度信号分离表示,Y表示亮度信号,U表示蓝差信号,V表示红差信号[3]。YUV422与RGB的转换公式如(1)所示。

3.2 面部定位模块

算法对全景区域进行彩色空间变换,根据建立的肤色模型,计算每块像素点与肤色的相似度,并进行二值化。再利用连通域算法,根据每块皮肤区域的面积、位置,合并相关区域、排除杂质,最终实现对于面部的定位。

彩色空间的变换,就是将RGB颜色空间映射到YCbCr颜色空间,因为人类肤色在YCbCr颜色空间上能够较好地体现肤色的聚类特性。YCbCr与RGB的转换公式如(2)所示。

(2)

YCbCr 空间归一化色度直方图后,肤色满足二维高斯模型,如(3)所示。

M=(m,c) (3)

其中m为均值,C为协方差。通过这个肤色模型能够较好地区分面部区域和非面部区域。根据肤色模型建立的二值化图像,对其进行连通域分析,根据肤色区域的面积与位置分布,最终判断面部的位置。

3.3 眼睛定位模块

面部定位模块得到面部区域后,先对该分区内进行二值化。二值化图像后,非皮肤器官(如眼镜框、眼睛、头发、眉毛等)就被提取了出来,算法综合考虑头发、眼镜框、眉毛、歪头等因素,自上而下对眼部感兴趣区域二值化图像进行扫描筛选其连通域,根据其连通域的位置、大小等信息最终确定眼睛位置。

3.4 疲劳判断模块

在获得眼睛位置后,选择合适的阈值,对眼部进行二值化,区分瞳孔及周围区域并计算瞳孔所占面积。装置在开始3分钟内进行训练,以获取驾驶员正常状态下的瞳孔面积。训练结束、正常检测开始后,将实时计算的面积与正常状态的面积进行对比,从而判断眼睛的闭合情况,并计算一段时间内的眨眼频率。

PERCLOS疲劳检测算法被广泛应用到机器视觉系统中。根据PERCLOS标准,设P为PERCLOS值,t单位为单位时间,t闭合为在此单位时间内眼睛闭合的时间,按照定义,计算公式为[4](4):

P=■(4)

在一定时间段内,P值将直接反映驾驶员是否疲劳。系统中,P的阈值选择为40%,这一值在疲劳判定中的应用最为广泛,即闭眼时间占单位时间40%以上时,认为是疲劳状态;反之,闭眼时间不足40%,认为是非疲劳状态。

4 测试

测试过程中,志愿者通过闭眼及频繁眨眼的方式,模拟疲劳驾驶状态,通过观察规定时间内,装置是否进行响应,从而判断装置的运行状况。装置在实车环境下,经过早晨、正午、黄昏的多组测试,每组进行20次模拟,运行结果统计如表1。

测试结论:共测试120人次,其中误判发生17次,准确率约为85.8%,在三个时间段内,能够检测出驾驶员的疲劳状态。

5 结束语

在检测疲劳驾驶的各类方法中,基于视觉的方法具有非接触、准确率高、实时性强的优势,因此这种检测方法将是未来的发展趋势。随着软件功能及算法的进一步优化,必将克服使用中的一些障碍。随着疲劳驾驶检测在车辆中的大范围推广,车辆及道路安全水平将会得到大幅提升。

参考文献

[1]2009年全国道路交通事故概况[J].道路交通管理,2009(1):6-8.

[2]胥京宇.ADI推出高性能Blackfin处理器[J].世界电子元器件,

2012,5.

[3]杨春山,王雪梅.基于DSP平台的图形显示的研究与应用[J].计算机与数字工程,2013(3):480-483.

[4]苑玮琦,滕红艳.眼睛疲劳程度判定方法研究[J].计算机工程与应用,2013,49(17):199-203.

作者简介:刘征宇(1990-),男,本科,助理工程师,研究领域:人工智能。

上一篇:拆掉天津爆炸案的废车 下一篇:试论数字信息时代下广播电视技术的优化