著录项信息
专利名称 | 基于红外眼态识别的疲劳驾驶预警系统 |
申请号 | CN201010132349.2 | 申请日期 | 2010-03-25 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-08-25 | 公开/公告号 | CN101814137A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K9/00 | IPC分类号 | G;0;6;K;9;/;0;0;;;G;0;8;B;2;1;/;0;2查看分类表>
|
申请人 | 浙江工业大学 | 申请人地址 | 浙江省杭州市下城区朝晖六区
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江工业大学 | 当前权利人 | 浙江工业大学 |
发明人 | 梁荣华;田青;毛剑飞;郑博;周德龙;张培乐;王云霄 |
代理机构 | 杭州天正专利事务所有限公司 | 代理人 | 王兵;王利强 |
摘要
一种基于红外眼态识别的疲劳驾驶预警系统,包括视频获取模块,用以采集驾驶员的头部视频图像;眼睛初始定位模块,用以对头部视频图像采用背景差分技术处理,进行眼睛初始定位;眼睛跟踪预测模块,用以采用kalman滤波器进行眼睛位置跟踪预测;眼睛精确定位模块,用以采用融合红外图像空间纹理的改进Mean-Shift算法实现眼睛最终位置的精确定位;眼睛状态识别模块,用以对眼睛区域进行二值化或边缘检测,获得眼睛的长宽信息;疲劳状态计算模块,用以根据当前检测时间段的眼睛状态,依照PERCLOS的P80标准进行眼睛疲劳状态判断;疲劳驾驶预警模块,用以当判定当前状态为疲劳状态,发出告警指令。本发明可靠性高、系统计算量相对较小、实时性好。
1.一种基于红外眼态识别的疲劳驾驶预警系统,包括:视频获取模块,用以采集驾驶员的头部视频图像;其特征在于:所述疲劳驾驶预警系统还包括:
眼睛初始定位模块,用以对头部视频图像采用背景差分技术处理,进行眼睛初始定位;
眼睛跟踪预测模块,用以采用kalman滤波器进行眼睛位置跟踪预测;
眼睛精确定位模块,用以采用融合红外图像空间纹理的改进Mean-Shift算法实现眼睛最终位置的精确定位,得到眼睛区域;
眼睛状态识别模块,用以在获取眼睛区域后,对眼睛区域进行二值化或边缘检测,获得眼睛的长宽信息;
疲劳状态计算模块,用以根据当前检测时间段的眼睛状态,依照PERCLOS的P80标准进行眼睛疲劳状态判断;
疲劳驾驶预警模块,用以当疲劳状态计算模块判定当前状态为疲劳状态,发出告警指令;
所述眼睛精确定位模块包括目标模型建立单元、候选目标模型建立单元和相似性度量单元,其中,
目标模型建立单元,在初始视频图象的眼睛目标窗口中,假设目标图像 由n个点构成,其中,i=1,2,…n,每个点的灰度为m级,m在此取32,目标图像的中心位置为y,得到联合32级灰度、16级梯度幅值和16级梯度方向共64级匹配信息分量的加权直方图为:
其中,qb是目标图像模型灰度分量b的值,集合{qb}b=1,2,...m表示目标模型, 是xi处像素的量化值,h是核函数k(||x||)的窗宽,常数C由约束条件 得到;图像各点梯度幅值和梯度方向分别定义为:
其中, 和 分别是在当前像素点处沿横轴和纵轴方向的梯度, 表示向上取整运算,M表示梯度等级,在此等于16, 表示梯度的最大值,梯度方向角间距Δθ等于π/8;
侯选目标模型建立模块,由kalman在当前帧图像的眼睛预测点为y0,{xi}i=1,2,..,n为候选目标模型图像区域各个像素位置归一化后的集合,该目标图像的中心位置为y,则候选目标模型的改进混合核函数直方图表示为:
其中,pb是候选目标图像灰度分量b的值,集合{pb}b=1,2,...m表示候选目标模型;
相似性度量单元,设定目标模型和候选模型的相似性程度采用如下距离度量:
其中
称为Bhattacharyya系数,它代表两个m维向量 和 夹
角的余弦;
求(4)式的最大值,对(4)利用泰勒级数在 处展开有:
把(2)代入(5)有:
Ch是归一化参数;
其中
在匹配过程中,核函数中心从当前帧初始位置 处利用下式不断移动到新的位置处:
其中,g(x)=-k'(x)并假设k(x)的一阶导数在区间x∈[0,∞)上除少数有限点外均存在;
在当前帧图像kalman预测范围内采用(8)不断迭代,当前后两次的更新值小于预定阈值时,判定找到眼睛精确位置。
基于红外眼态识别的疲劳驾驶预警系统\n技术领域\n[0001] 本发明涉及疲劳驾驶监测系统,尤其是一种基于红外眼态识别的疲劳驾驶预警系统。\n背景技术\n[0002] 利用摄象机和计算机视觉技术通过对司机的视觉行为进行监测的非接触性检测司机疲劳,这种方法就是从一个司机的视频图象中提取能典型的代表司机疲劳水平的视觉特征利用计算机视觉的技术判断司机的疲劳状况。\n[0003] 在驾驶员眼睛进行定位后,需要进行驾驶员眼睛状态识别和判断,较常用的眼睛状态识别方法有:\n[0004] (1)样本学习法\n[0005] 样本学习方法是目前特征检测的主流方法,但是受学习样本的影响较大,不同的样本备制方法会使同一个算法的性能具有很大的区别。例如比较经典的背景差分算法,AdaBoost方法检测眼睛状态存在的一个很大的问题是闭眼分类器较难训练,因为闭眼特征与眉毛特征较为类似,在训练的时候很容易把眉毛训练成闭眼的分类器。另外,AdaBoost学习的方法对于眼睛半开半闭的状态和半开程度的判断也显得无能为力。\n[0006] (2)上眼睑曲率\n[0007] 用霍夫变换找上眼睑的方法指出上眼睑的信息较明显且稳定,但是获取的上眼睑效果强烈地依赖于边缘检测的效果。由于光照等的影响通常得不到理想的上眼睑特征。\n[0008] (3)模版匹配法\n[0009] 根据眼睛的睁开、闭合以及介于两者之间的半睁半闭3种状态,分别通过综合大量对应状态眼睛图像建立眼睛状态模版,进而在待检测图像(灰度图像)上分别用以上三种眼睛模版进行匹配,根据匹配隶属度达到状态判定的目的。但是由于计算量较大,因而实时性较差。\n发明内容\n[0010] 为了克服已有疲劳驾驶预警系统的可靠性差、计算量大、实时性差的不足,本发明提供一种可靠性好、减少计算量、实时性好的基于红外眼态识别的疲劳驾驶预警系统。\n[0011] 本发明解决其技术问题所采用的技术方案是:\n[0012] 一种基于红外眼态识别的疲劳驾驶预警系统,包括:视频获取模块,用以采集驾驶员的头部视频图像;眼睛初始定位模块,用以对头部视频图像采用背景差分算法处理,进行眼睛初始定位;眼睛跟踪预测模块,用以采用kalman滤波器进行眼睛位置跟踪预测;眼睛精确定位模块,用以采用融合红外图像空间纹理的改进Mean-Shift算法实现眼睛最终位置的精确定位,得到眼睛区域;眼睛状态识别模块,用以在获取眼睛区域后,对眼睛区域进行二值化或边缘检测,获得眼睛的长宽信息;疲劳状态计算模块,用以根据当前检测时间段的眼睛状态,依照PERCLOS的P80标准进行眼睛疲劳状态判断;疲劳驾驶预警模块,用以当疲劳状态计算模块判定当前状态为疲劳状态,发出告警指令。\n[0013] 作为优选的一种方案:所述眼睛精确定位模块包括目标模型建立单元、候选目标模型建立单元和相似性度量单元,其中,\n[0014] 目标模型建立单元,用以在初始视频图象的眼睛目标窗口中,假设目标图像{xi*},i=1,2,…n由n个点构成,每个点的灰度为m级,m在此取32,图像中心点的坐标为y,得到联合32级灰度、16级梯度幅值和16级梯度方向共64级匹配信息分量的加权直方图为:\n[0015] \n[0016] 其中,qb是目标图像模型灰度分量b的值,集合{qb}b=1,2,...m表示目标模型,B(xi*)是xi处像素的量化值,h是核函数k(||x||)的窗宽,常数C由约束条件 得到;图像各点梯度幅值和梯度方向分别定义为:\n[0017] \n[0018] \n[0019] 其中, 和 分别是在当前像素点处沿x和y方向的梯度, 表示向上取整运算,M表示梯度等级,在此等于16, 表示梯度的最大值,梯度方向角间距Δθ等于π/8;\n[0020] 侯选目标模型建立模块,用以由kalman在当前帧图像的眼睛预测点为y0,{xi}i=\n1,2,...,nh为候选目标模型图像区域各个像素位置归一化后的集合,该图像区域的中心位置为y,则候选目标模型的改进混合核函数直方图可表示为:\n[0021] \n[0022] 其中,pb是候选目标图像灰度分量b的值,集合{qb}b=1,2,...m表示候选目标模型,Ch是归一化参数,且不依赖于y,给定核函数以及核函数窗宽h后,Ch的值被事先计算出来;\n[0023] 相似性度量单元,用以设定目标模型和候选模型的相似性程度采用如下距离度量:\n[0024] \n[0025] 其中\n[0026] \n[0027] 称为 Bhattacharyya系数,它 代 表两 个m维 向 量 和\n夹角的余弦;\n[0028] 求(4)式的最大值,对(4)利用泰勒级数在 处展开有:\n[0029] \n[0030] 把(2)代入(5)有:\n[0031] \n[0032] 其中\n[0033] \n[0034] 在匹配过程中,核函数中心从当前帧初始位置 处利用下式不断移动到新的位置处:\n[0035] \n[0036] 其中,g(x)=-k′(x)并假设k(x)的一阶导数在区间x∈[0,∞)上除少数有限点外均存在;\n[0037] 在当前帧图像kalman预测范围内采用(8)不断迭代,当前后两次的更新值小于预定阈值时,判定找到眼睛精确位置。\n[0038] 本发明的有益效果主要表现在:可靠性好、减少计算量、实时性好。\n附图说明\n[0039] 图1是嵌入式平台眼睛疲劳监测系统的原理框图。\n[0040] 图2是PERCLOS的测量原理的示意图。\n具体实施方式\n[0041] 下面对本发明作进一步描述。\n[0042] 参照图1,一种基于红外眼态识别的疲劳驾驶预警系统,包括:\n[0043] 视频获取及显示模块,在嵌入式ARM平台上Linux环境下,综合考虑成本和实用性等,系统预计采用USB接口摄像头,采用Video for Linux技术(简称V4L)实现驾驶员头部视频采集。Video for Linux是Linux内核中关于视频设备的API接口,涉及开关视频设备、采集并处理视频图像等信息。在获取的头部视频经过系统眼睛疲劳状态检测处理后,通过Framebuffer技术等实现检测结果的直观反馈;\n[0044] 眼睛初始定位模块,在获取的驾驶员人脸视频中拟采用背景差分算法实现初始帧视频图像的眼睛定位,利用背景差分算法实现人脸的初始定位,可以满足系统实时性的处理要求,而且可靠性高,算法实现简单。\n[0045] 眼睛跟踪预测模块,根据系统应用特点,系统拟采用kalman滤波器进行眼睛位置跟踪预测。卡尔曼滤波器的理论最早由匈牙利数学家Rudolf Emil Kalman公开提出,kalman滤波器是一个递归地对动态系统的状态序列进行线性最小方差估计的算法。具体机制为用反馈控制的方法估计过程状态:滤波器估计某一时刻的状态,然后以(含噪声的)测量变量的方式获得反馈。即kalman滤波器理论分为两个部分:时间更新方程和状态更新方程。时间更新方程负责及时向前推算当前状态变量和误差方差估计的值,以便为下一时间状态构造先验估计。状态更新方程负责反馈——也就是说,它将先验估计和新的测量变量结合以构造改进的后验估计。因此kalman滤波算法也就是一种递归“预估——校正”算法。\n[0046] 眼睛精确定位模块,系统在采用kalman滤波器等进行驾驶员视频眼睛跟踪预测基础上,采用融合红外图像空间纹理的改进Mean-Shift算法实现眼睛最终位置的精确定位。Mean Shift最早由Fukunaga和Hostetle于1975年在一篇概率密度梯度函数的估计中提出。但直到1995年,Yizong Cheng才发表了一篇关于MeanShift的重要文献,该文献对Mean Shift的理论进行了推广和完善。在文献中,Comaniciu等人主要讨论了Mean Shift在目标跟踪中的成功应用,这也是目标跟踪中的经典文献之一。Comaniciu和中国科学院的李乡儒等证明了在选取合理核函数的条件下,算法一定可以收敛到局部概率密度最大的一点——核函数密度梯度为零的点。由于Mean Shift是一种局部搜索匹配算法,因此已经被成功的应用在了对实时性较高的可视跟踪领域。\n[0047] 本发明在用kalman对眼睛初步跟踪预测的局部区域上,采用融合红外图像空间纹理的Mean Shift跟踪算法进行眼睛精确定位分为以下几步:\n[0048] (1)目标模型建立\n[0049] 目标模型,用以在初始视频图象的眼睛目标窗口中,假设目标图像{xi*},i=1,\n2,…n由n个点构成,每个点的灰度为m级(m在此取32),图像中心点的坐标为y,得到联合32级灰度、16级梯度幅值和16级梯度方向共64级匹配信息分量的加权直方图为:\n[0050] \n[0051] 其中,qb是目标图像模型灰度分量b的值,集合{qb}b=1,2,...m表示目标模型,B(xi*)是xi处像素的量化值,h是核函数k(||x||)的窗宽,常数C由约束条件 得到;图像各点梯度幅值和梯度方向分别定义为:\n[0052] \n[0053] \n[0054] 其中, 和 分别是在当前像素点处沿x和y方向的梯度, 表示向上取整运算,M表示梯度等级,在此等于16, 等于梯度的最大值,梯度方向角间距Δθ等于π/8。\n[0055] (2)侯选目标模型建立\n[0056] 假设由kalman在当前帧图像的眼睛预测点为y0,{xi}i=1,2,...,nh为候选目标模型图像区域各个像素位置归一化后的集合。该图像区域的中心位置为y。则候选目标模型用改进核函数直方图表示为\n[0057] \n[0058] 其中,pb是候选目标图像灰度分量b的值,集合{pb}b=1,2,...m表示候选目标模型,Ch是归一化参数,且不依赖于y。给定核函数以及核函数窗宽h后,Ch可以被事先计算出来。\n[0059] (3)相似性度量\n[0060] 当分别用式(1)和(2)表示目标图像和候选目标图像后,我们就要选择合适的相似性度量函数来度量二者的相似性,这里目标模型和候选模型的相似性程度采用如下距离度量:\n[0061] \n[0062] 其中\n[0063] \n[0064] 称为Bhattacharyya系数,它代表两个m维向量 和 夹角\n的余弦。可见当候选目标模型与目标模型越相似,(3)式值越小,因此为了求取当前帧眼睛图像的精确最终位置,应该最小化(3)式,也就是最大化(4)式,模式匹配的初始位置就是上以帧中的匹配位置。由于采用的相似度函数是较为光滑的,我们可以用基于梯度的方法进行寻找目标候选模型的最佳位置。鉴于MeanShift算法的优点,本系统拟采用融合红外图像空间纹理的Mean Shift跟踪算法进行寻优。下面处理在Kalman预测定位的人脸图像局部范围进行精准位置确定。\n[0065] 根据上面的讨论,求(4)式的最大值,对(4)利用泰勒级数在 处展开有:\n[0066] \n[0067] 把(2)代入(5)有:\n[0068] \n[0069] 其中\n[0070] \n[0071] 在匹配过程中,核函数中心从当前帧初始位置 处利用下式不断移动到新的位置处:\n[0072] \n[0073] 其中,g(x)=-k′(x)并假设k(x)的一阶导数在区间x∈[0,∞)上除少数有限点外均存在。\n[0074] 实际上在当前帧图像kalman预测范围内采用(8)不断迭代,当前后两次的更新值小于预定阈值时,就认为找到眼睛精确位置。\n[0075] 眼睛状态识别模块,在眼睛精确定位的基础上,接下来需要进行驾驶员眼睛状态识别和判断,对眼睛区域进行二值化或边缘检测,从而获取眼睛的长宽信息根据眼睛长宽比例等达到识别眼睛睁眼面积的目的。此方法计算量相对较小,比较适合于嵌入式系统等应用。本文拟初步采用睁眼面积法进行眼睛状态判断。\n[0076] 疲劳状态计算模块,在获取眼睛状态基础上,需要对眼睛疲劳状态进行计算。系统拟采用目前普遍采用的PERCLOS的P80标准(眼睛闭合程度大等于80%所占的时间比例)进行眼睛疲劳状态判断,PERCLOS(PERcentage of eye CLOSure overthe pupil over time)即眼睛闭合时间占某一特定时间的百分率。\n[0077] 图2显示了PERCLOS的测量原理。只要测量出t1~t4值就能计算出PERCLOS的值f。\n[0078] \n[0079] 其中,f为眼睛闭合时间占某一特定时间的百分率。\n[0080] 当实时检测计算得到的f大于预设的阈值(通常设为0.8,也可以为其他设定值)时,判定驾驶员处于疲劳驾驶状态,发出告警信息;实现实时预警。
法律信息
- 2013-06-05
- 2010-10-13
实质审查的生效
IPC(主分类): G06K 9/00
专利申请号: 201010132349.2
申请日: 2010.03.25
- 2010-08-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-05-06
|
2008-10-24
| | |
2
| |
2009-12-02
|
2009-07-06
| | |
3
| |
2006-09-13
|
2006-04-21
| | |
4
| | 暂无 |
1996-11-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |