英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料
基于 MATLAB 的疲劳驱动驱动报警系统的设计与仿真实现
汪剑, 柳冰
中国沈阳东北大学信息科学与工程学院
电子邮件: neuliubing@163.com neuliubing@163
摘要 为了防止疲劳驾驶, 通过对驾驶员眼睛的许多研究, 设计并仿真了基于图像处理技术的基于 Matlab 的疲劳驾驶检测系统。系统用照相机和内置光源对图像序列进行采样, 然后定位图像中的眼点并对其进行跟踪, 计算出眼睛的面积, 最后判断驾驶员*是否有疲劳驾驶, 并警告他根据判决。仿真试验结果表明, 浅层疲劳驱动的识别率为 81.5%, 中度疲劳驱动和深部疲劳驱动的识别率为100%。
关键字- 组件;疲劳检测系统;眼点定位与跟踪;图像处理技术;
1.介绍
司机的疲劳驾驶是造成交通事故的一个重要因素 [1]。目前许多国家都在积极从事这一领域的研究, 在市场上已经有了可分为接触型和非接触式的疲劳检测器, 其原理如下:
(1)疲劳会引起脑电图的改变。当大脑皮层处于兴奋或抑制中时, 脑电图的表现并不同。根据脑电图的频率分布和波形, 假定大脑活动的功能状态, 推测驾驶员是否疲劳。然而脑电图很容易受到外界因素的干扰, 个体的生理反应有很多差异。
(2) 头部姿势。司机疲劳时, 头部总是向下倾斜。据统计, 头部位置和疲劳度的相关系约为0.8。但是, 某些驱动程序的头部姿态不会基本改变, 相关系数将为负,导致系统判断失误进而引起早期警告失败.
(3)方向盘的旋转振幅和手柄强度。系统通过监视方向盘的运动和模式来检测驾驶员的心理状态。随着驾驶员疲劳程度的加深, 旋转次数将增加,手柄的力量将会变得更大。
(4)道路追踪器。该方法通过安装与车辆上的驾驶员成同一角度的摄像头, 监控车辆离开白线的时间和偏差程度。此测量要求白线必须在道路上足够清晰, 所以外界条件的干扰对其影响是很大的。
因此, 如何有效地监测和预防驾驶员疲劳驾驶对减少交通事故和降低人员死亡率具有重要意义 [2]。通过对上述疲劳报警系统的比较, 及对驾驶员眼睛的多项研究, 本文的研究工作包括驾驶员的脸部检测、驾驶员的眼睛定位和跟踪、驾驶员的眼状态识别和驾驶员疲劳状态识别的四个部分。
2.系统设计
为了提高检测结果对驾驶员疲劳状态的准确率, 该系统从眼部状态提取四个状态变量˖ 它包含眨眼频率、睁开眼睛的平均程度、眼睛停滞时间和闭合眼睛的最长时间 [3]。根据驾驶员的清醒状态参数值进行统计, 可以对驾驶员的疲劳状态做出相应的判断。
考虑到行驶环境的变化, 检测系统必须在夜间或照明不足的情况下也能正常工作, 因此, 该系统采用的摄像头与光源 (自动打开时, 光线不足) 收集序列图像, 以减少外部环境的干扰。当系统在帧图像中读取时, 首先对图像进行去噪和图像强化处理, 然后获得两个真实的眼点。然后采用目标跟踪方法跟踪已有目标的眼点 [4]。最后, 可以计算出眼睛的面积, 对驾驶员的疲劳状态进行判断和预警。系统的功能框图如下图1所示。
读帧图像 |
|
! 眼睛区域的计算 并判断疲劳状态 跟踪眼睛 精确定位眼睛 |
图1 系统原理图
3 眼睛的位置和轨迹。
3.1. 眼睛位置
为了使图像平滑, 在确定眼睛位置前做一些处理, 包括图像去噪和增强, 这是使精确定位眼睛位置能达到更好效果的先决条件 [5]。
第一步: 大致定位眼部区域
边缘特征分析方法是利用图像的竖向灰度投影曲线根据凸峰宽度确定脸部的左右边界, 然后利用水平灰度投影曲线进行得到的区域大致确定了眼睛位置区域的上下边界。对应于一张脸的区域是一个具有一定宽度的凸峰, 它通过观测一些不同的单面图像的垂直灰度投影曲线。凸峰的左右边界通常代表脸部的左、右边界 [6]。当面的左右边界建立时, 以左、右边界之间的面区域为研究对象, 再进行图像的水平灰度投影曲线, 通过观察有了一些发现。水平灰度投影曲线的第一个最小点对应于头部的冠, 最大点对应于前额的一个, 次要最大点对应于鼻子的中央, 并采取区域之间的中央的鼻子和头部的皇冠作为粗糙的定位区域 (见图 2)。
图2.1 原始图像
图2.2 垂直方向投影的结果
图2.3 水平方向投影的结果。
图2为垂直投影的结果。水平方向在边缘特征分析处理后,图像如图3所示。
图3 边缘特征分析处理后的图像
第二步: 筛选类似的眼点收集
主要问题是在模板匹配 [7] 之前选择适当的模板。在后续的算法中, 有必要使用两只眼睛之间的相对位置来定位两只眼睛, 从一些相似的点, 只要确保有两个真正的眼睛点之间的一些类似的眼睛点。为了减少两只眼睛对眼睛模板的敏感性, 提高其鲁棒性, 系统采用了双眼睛的合成眼模板 (见图 4)。
图4.1 左模板 图4.2右模板 图4.3 综合模板
图4眼睛模板示意图
为了选择相似的眼点, 首先要建立相似度度量。一般方法是对局部图像和图像模板进行相关运算, 以此方法获得的互相关系数被视为相似度量 (见公式 1)。用两个参数描述合成,模板:模板高度M,模板宽度N。
其中,N是合成眼模板,大小为Mtimes;N。T是眼模板图像的平均值;SrT是在预期的面识别图像中与模板匹配的本地图像的平均值;(x, y)是脸部图像中搜索点的坐标. 为了选择相似的眼点,它是可取的。
根据上面的公式,操作rho; xy, 始终有|rho; xy|le;1,且rho; xy,越大, 匹配度就越高。然而, 由于合成眼模板存在一定的误差和图像采集会受到外界条件的影响, 当受到干扰时, 这些可能导致最大的相似性不是真正的眼点, 所以定位眼点不可以仅由相似性的大小决定的。为了不错过真正的眼睛点, 方法是选择大致相同的眼点集合, 包括两个真正的眼睛点 (请参见图 5) A={(, )|i=1,2,3,4,hellip;,n},然后通过先验知识校准获得两个真正的眼睛点} n 是可选系数。
图5筛选的类似的眼点收集图像
第三步: 通过标定获得真实的眼点
两眼相对位置的关系: 眼睛焦点横坐标差的绝对值在一定范围内;在手势变化允许范围内,其纵向坐标应接近相同;两眼线和水平方向之间的夹角是从45°到135 °。经过边缘特征分析和眼模板匹配, 发现在类似的眼点收集的主要干扰点是眉毛。
为了准确定位真实的眼点, 首先要增加大量的实际尺寸等于人脸的脸部图像, 然后得到两只眼睛之间位置关系的统计;结合任何两个相似的眼点它们有C n 2 组,然后计算每个组的距离函数值使用距离函数 (见公式 2)。
其中,D (i、j)定义为两个类似的眼睛即i,j之间的距离, 可以反的眼睛点之间的位置和真实的二只眼睛的相对位置的亲密 [8]。它们之间越亲近, D (i、j)越小, 相反越大。根据库中的图像局部面的相对位置得到了计数参数的值a、b、c。你能得出
,b=,c=;
其中a和X分别是平均数和标准差,然后根据垂直距离的标准偏差计算各组的距离函数值;采取更大的常量. 最小距离的组(i,j) 在计算结果中是两个眼睛的定位结果 (请参见图 6), 其在图像中的坐标分别为( X i , )和(和)。
图6校正后的真实眼点图像
3.2 眼睛跟踪
该系统在跟踪眼睛时采用改进的目标跟踪算法。目标跟踪的本质是在图像序列中识别目标时进行精确定位 [9]。
该系统实现的目标跟踪算法分为两部分: 主算法和改进算法。主要算法是基于模板匹配技术, 即在将眼点定位到第一帧图像后, 选取图像中的这个眼点作为跟踪对象, 并将该眼点的外观信息提取为新的眼睛。模板, 在下面的序列图像, 它将匹配候选图像区域和这个新的眼睛模板, 然后采取最相似的图像区域作为这个眼睛点在当前图像的位置。使用距离函数 (见公式 2)。获得在未来的眼睛点的大致位置
改进后的算法采用选择候选图像区域的方法。大大缩短了匹配时间, 降低了系统的计算复杂度。系统采用图像采集卡采集图像, 速度为每秒25帧, 驾驶员驾驶时, 头部运动量小, 因此相邻帧图像之间的位置差异很小, 即可以获得下一个眼睛点的大致位置的图像后,精确定位真正的眼睛点。
在采用目标跟踪算法后, 系统无需对图像序列中的每个帧图像进行眼睛定位, 而是将眼点重新定位到丢失跟踪对象的图像上, 从而提高了系统也大大满足了系统的实时要求。
4计算眼部面积并判断疲劳程度
在眼睛点的精确位置之后, 选择眼睛区域作为新的模型模板, 同时, 在眼睛区域内做广义对称变换, 以确定瞳孔中心的位置 [10]。系统将从瞳孔中心的八上下和十六左右像素区域提取眼睛的轮廓, 通过区域增加和二进制图像 (包括像素点数) 计算眼睛区域。在得到了眼睛的区域之后, 系统可以根据眼睛区域的变化判断驾驶员的疲劳程度。
目前, PERCLOS 通常被认为是驾驶员疲劳程度的评价指标; 通过对时间的统计分析, 推测了驾驶员在一段时间内通过闭眼时间率 (速率) 的疲劳程度。当眼睛区域是最小的。实验表明, PERCLOS 对深度和中等疲劳的识别近似准确, 但对浅层疲劳较差。因此, 该系统不仅是基于大数实验的眼睛陈述与疲劳程度之间的关系, 而且还采用了两个评价指标, 即眼开口的平均度和所产生的眼闭时间最长。其中, 眼睁开的平均度是计算在一段时间内眼开口度的平均值, 即每次闪烁最小区域和最大区域的平均值 ( S max )。最长的闭眼时间是驾驶员在一段时间闭上眼睛的最长时期, 即眼睛区域在时间上的最短时间。
在实验过程中, 驾驶员的疲劳程度可分为四度: 自觉、深度疲劳、中等疲劳和浅层疲劳。如表1所:
表 1: 疲劳状态评定标准
疲劳水平 |
状态特征 |
有意识 |
眼区的正常变化规律 |
浅层疲劳 |
减少闪烁频率 |
中度疲劳 |
闭上眼的趋势,眼睛区域保持固定值的时间增加 |
深度疲劳 |
闭眼的严重趋势,闪烁频率增加 |
5结论
此系统运行硬件环境的要求为P4 3.06G 的CPU、1024MB 内存或更多, 并使用 MATLAB 7.0 模拟实现。该系统能够准确定位眼点。通过对31人进行的465项实验室试验, 结果表明, 浅层疲劳识别率为 81.5%, 中度疲劳和深度疲劳程度为100%。使用四参数的眼睛状态可以有效地检测驾驶员的疲劳状态。当然, 我们的系统有一定的局限性。例如, 如果司机戴墨镜或眼睛被遮盖, 这种方法将无效。为了提高精度等级, 我们的系统应使用其他方法作为辅助手段, 如道路跟踪, 头部位置, 转速和握力的方向盘, 这是提高我们的系统精度的主要方向.
参考文献
[1] NCSDR/NHTSA. Expert panel on driver fatigueamp;sleepiness. Drowsy
driver and automobile crashes[J]. Report, 1998, HS. 808. 707.
[2] Home JA,Reyner LA.Sleep related vehicle accidents[J]. BMJ,
1995,30:565-567.
[3] Chen Terrence, Zhou Xiang Sean, Comaniciu Dorin,Huang Thomas S.
Total Variation Models for Variable Lighting Face Recognition [J].
IEEE Transactions on Pattern Analysis and Machine Intelligence,
2006,
全文共5831字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[9931],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。