复杂驾驶条件下人脸检测方法

Download Report

Transcript 复杂驾驶条件下人脸检测方法

《复杂驾驶条件下司机驾驶疲劳
度检测的研究》
本科毕设结题答辩
电子与信息学院
郑伟龙
08级电联班
指导教师:秦华标教授
1
课题研究背景与意义
2
课题研究内容与系统框架
3
复杂驾驶条件下人脸检测方法
4
5
6
复杂驾驶条件下人眼检测和状态识别
基于眼部特征的驾驶员疲劳状态检测
课题总结与实验效果演示
2
www.company.com
课题研究背景与意义
 在欧洲, 10%-20%的司机死亡和受伤是由于疲劳导
致驾驶员警戒水平降低所引发。
 在美国,每年有10万起撞车事故是由于驾驶员困倦
所造成的,造成4万的非致命性伤害和1550死亡
 在我国,在2007年至2009年我国由疲劳驾驶导致的
死亡人数分别占机动车驾驶人交通肇事总死亡人数
的11.35%、10.91%和12.5%,平均每年约有9000人
死于疲劳驾驶。
3
www.company.com
课题研究背景与意义
本课题的提出是基于以下几点问题:
 我们能否在交通事故发生之前检测到司机疲劳
状态;
 对于疲劳检测技术,什么技术和方法是最可靠
有效的;
 如何在不分散驾驶员注意力的情况下有效地检
测驾驶员精神状态并作出判断。
4
www.company.com
课题研究背景与意义
疲劳检测试验性产品
5
www.company.com
课题研究内容与系统框架
研究内容
本课题研究复杂驾驶环境下驾驶员疲劳度的检
测方法,利用近红外主动光源获取驾驶员人脸图
像,进一步进行人脸定位、人眼定位、人眼状态
跟踪,通过实时跟踪人眼状态,进行睁闭眼判断
,判断驾驶员当前是否处于疲劳状态。由于驾驶
环境的多变性,本课题重点研究光照预处理以及
人眼状态识别方法。
6
www.company.com
课题研究内容与系统框架
读取红外视
频
疲劳检测
光照预处理
眼睛状态识
别
7
人脸检测
人眼定位
www.company.com
复杂驾驶条件下人脸检测方法
人脸检测中的光照问题
根据驾驶员所处地理位置、
所驾驶方向、以及驾驶的时
间不同,阳光可能从多个方
向照射过来,也可能没有阳
光(夜晚);车顶棚在中午
的时候会在驾驶员脸上投下
阴影。 (多光照)
8
www.company.com
复杂驾驶条件下人脸检测方法
人脸检测中光照问题方法初探
 主动近红外图像传感器获取红外图像
 基于光照估计的近红外图像增强算法
9
www.company.com
复杂驾驶条件下人脸检测方法
(1)单尺度Retinex算法(SSR)
Retinex是一个合成词,是由Retina(视网膜)和
Cortex(大脑皮层)组合而成的。Retinex理论解释
了相同的物体在不同的光线底下颜色恒定性(Color
Constancy)机理
亮度图像
反射图像
S ( x, y)  R( x, y)  L( x, y)
图 2- 单尺度Retinex的实验效果图
10
www.company.com
复杂驾驶条件下人脸检测方法
(2)多尺度Retinex算法(MSR)
多尺度Retinex实质是将多个单尺度Retinex的结
果进行加权求和
图 2- 10 多尺度Retinex的实验效果图
11
www.company.com
复杂驾驶条件下人脸检测方法
(3)单尺度自商图像(SSQ)
自商图像与Retinex算法相似,它也是利用平滑核
函数对输入图像进行卷积来估计亮度图像,利用输入
图像与亮度图像的比值得到光照鲁棒的自商图像。
I ( x, y )
Q( x, y ) 
F * I ( x, y )
I(x,y)是输入图像,F是平滑卷积核函数,这里我们用
的是低通高斯函数 图 2- 单尺度自商图像效果图
12
www.company.com
复杂驾驶条件下人脸检测方法
(4)多尺度自商图像(MSQ)
多尺度自商图像实质是将多个单尺度自商图像的
结果进行加权求和。
图 2- 12 多尺度自商图像效果图
13
www.company.com
复杂驾驶条件下人脸检测方法
(5)离散余弦变换(DCT)
将图像进行离散余弦变换后,低频部分对应图像
的亮度分量,反应的是光线变化部分。因此将DCT低
频分量置零就可以得到光照鲁棒的反射图像,达到减
小光照的影响。
图 2- 13 离散余弦变换效果图
14
www.company.com
复杂驾驶条件下人脸检测方法
(6)小波变换(WA)
对输入图像进行离散小波变换,然后处理得到的
子带图像。它对小波系数矩阵进行加权,对变换的相
似系数进行直方图均衡化,再利用反小波变换将独立
的子带图像重建后得到归一化的图像。
图 2- 14 小波变换效果图
15
www.company.com
复杂驾驶条件下人脸检测方法
(7)非局部均值法(NLM)
这种方法基于一种想法,就是每个小的图像窗口
都能找到与之相似的其他图像窗口,利用这些窗口就
可以进行去噪处理。
I d ( x) 
  ( z , x) I
xI n ( x )
n
( x),
 ( z , x) 表示加权函数,计算原始图像的空间位置z,x像素
图 2- 15 非局部均值法(NLM)效果图
局部相似性
16
www.company.com
复杂驾驶条件下人脸检测方法
(8)直方图均衡(HE)
图 2- 16 直方图均衡化(HE)效果
17
www.company.com
复杂驾驶条件下人脸检测方法
测试图(原图、SSR、MSR、SSQ、MSQ、DCT、WA、NLM、HE)
18
www.company.com
复杂驾驶条件下人脸检测方法
基于Adaboost的人脸检测
Adaboost是一种迭代算法,其核心思想是针
对同一个训练集训练不同的分类器(弱分类器),然
后把这些弱分类器集合起来,构成一个更强的最
终分类器(强分类器)。
优点:1)构建简单子分类器,利用Adaboost
算法将这些分类器进行级联,构造强分类器;2)
Adaboost算法即使训练次数很多,也不会出现过
拟合的问题;3)随着训练迭代次数增加,分类器
识别错误率会逐渐下降。
19
www.company.com
复杂驾驶条件下人脸检测方法
基于Adaboost的人脸检测
 训练过程
使用类Haar矩形特征作为输入,利用积分图
像加速矩形图像值的计算,训练各个弱分类器,
最后将弱分类器节点组成筛选式级联方式。
 检测过程
通过加载分类器,根据训练所得到的分类器特
征对输入图像进行检测
图 2- 28 Adaboost人脸检测实验测试图
20
www.company.com
人眼检测和状态识别研究
人眼检测定位方法研究
 眼睛定位是较难的研究课题,因为人的眼睛的面
积比例比较小,另外由于人脸区域眉毛、眼镜等
干扰也会造成眼睛定位算法的错误识别。
 人眼检测定位方法:
 基于Adaboost的眼睛检测定位方法
 基于人脸三庭五眼比例特征人眼检测定位方法
21
www.company.com
人眼检测和状态识别研究
基于Adaboost的眼睛检测定位方法
图 3- 2 基于Adaboost的眼睛检测定位方法效果图
22
www.company.com
人眼检测和状态识别研究
基于三庭五眼比例特征人眼检测方法
23
www.company.com
人眼检测和状态识别研究
人眼状态识别方法研究
本课题对以下几种眼睛状态识别方法进行研究和比较
 基于眼睑曲率的眼睛状态识别
 基于分段眼睑曲率的眼睛状态识别
 基于椭圆拟合的人眼状态识别
 基于水平投影及比例特征的人眼状态识别
 判断黑色像素比例进行人眼状态识别
24
www.company.com
人眼检测和状态识别研究
基于眼睑曲率的眼睛状态识别
人眼睁开时,上眼睑向上弯曲,曲率为正;而
在闭合时,上眼睑基本呈扁平状,曲率基本为零
。因此可以通过提取人眼的上眼睑,通过计算上
眼睑的曲率来判断当前人眼状态。
25
www.company.com
人眼检测和状态识别研究
基于眼睑曲率的眼睛状态识别
上眼睑曲率提取过程:
(1)边缘检测
(3)中点和边界点提取
较好保持边缘连续性的Canny算子
提取上眼睑的边界点以及中点。
(2)上眼睑轮廓提取
(4)计算曲率
B
上眼睑基本上位于边缘图像的最上部,按列扫
(5)阈值判断
BD
描图像取出每列的最上面的点,即为上眼睑。
K 
AC
26
C
A
D
www.company.com
人眼检测和状态识别研究
基于眼睑曲率的眼睛状态识别
1
睁眼样本(124)
闭眼样本(130)
0.9
错误数 正确率 正确 错误数 正确率
正确
0.85
数
(%) 数
(%)
0.8
113
11
91.1
105
25
80.7
0.75
112
12
90.3
107
23
82.3
0.7
112
12
90.3
109
21
83.8
0.65
0.6
101
13
81.5
110
20
84.6
0.55
109
15
87.9
112
18
86.1
0.95
识别正确率
曲率
阈值
0.114
0.115
0.116
0.117
0.118
睁眼识别正确率
闭眼识别正确率
0.5
0.1
0.105
0.11
27
0.115
曲率阈值
0.12
0.125
0.13
www.company.com
人眼检测和状态识别研究
基于分段眼睑曲率的眼睛状态识别
这种方法与上面方法类似。
主要区别在于:(1)眼睑曲线的拟合,眼睑
曲线原先利用提取的边缘曲线,而这里利用的是
三阶多项式对眼睑曲线进行拟合。(2)曲率的计
眼睑轮廓曲线拟合
算,前面的方法考虑的是上眼睑的整体特性,只
计算一次曲率,而本方法是将眼睑曲线分成若干
段,再分别计算这几段的曲率,将这些曲率进行
求和后,作为判断眼睛状态参数。
上眼睑边界点提取
28
www.company.com
人眼检测和状态识别研究
基于分段眼睑曲率的眼睛状态识别
1
0.12
0.13
0.14
0.15
0.16
识别正确率
睁眼样本(124)
闭眼样本(130)
正确 错误数 正确率 正确 错误数 正确率
曲率 0.9
(%) 数
(%)
阈值 0.8数
108
107
0.6
107
0.5
105
0.499
0.11
0.1
0.7
16
17
17
19
25
0.12
0.13
87.1
86.3
86.3
84.7
79.8
0.14 0.15
64
75
81
94
106
0.16
0.17
66
49.2
55
57.7
49
62.3
36
72.3
睁眼识别正确率
闭眼识别正确率
24
81.5
0.2
0.18 0.19
分段曲率求和阈值
29
www.company.com
人眼检测和状态识别研究
基于椭圆拟合的人眼状态识别
人眼轮廓与椭圆非常近似,人眼在睁开状态下
的圆形度要高于闭眼状态下的,通过对人眼进行
椭圆拟合,然后判断椭圆长半轴以及短半轴的比
例关系可以作为人眼状态判断的参数。
图 3- 上眼睑轮廓曲线拟合
30
www.company.com
人眼检测和状态识别研究
基于椭圆拟合的人眼状态识别
1
睁眼识别正确率
睁眼样本(124)
闭眼样本(130)
闭眼识别正确率
0.95
正确 错误数 正确率 正确 错误数 正确率
0.9
数
(%) 数
(%)
0.21
0.22
0.23
0.24
0.25
识别正确率
b/a
0.85
0.8
117
0.75
112
105
0.7
102
0.65
99
0.6
0.2
7
12
19
22
25
0.21
0.22
94.3
90.3
84.7
82.3
79.8
0.23
75
87
92
100
104
0.24 0.25 0.26 0.27
长半轴与短半轴比值阈值
31
55
43
38
30
26
0.28
57.7
66.9
70.8
76.9
80.0
0.29
0.3
www.company.com
人眼检测和状态识别研究
基于水平投影及比例特征的人眼状态识别
水平投影
20
水平投影
50
当人眼睁开时,水平投影直方图高度比较低,宽
度比较长,而人眼闭合状态时,水平投影直方图
高度比较高,宽度比较短。
18
45
16
40
14
35
12
30
10
25
8
20
6
15
4
10
2
5
0
0
人眼图像二值化效果
左图是睁眼图像直方图投影,右图是闭眼图像直方图投影
5
10
15
20
25
30
35
0
40
32
0
10
20
30
40
50
60
www.company.com
人眼检测和状态识别研究
基于水平投影及比例特征的人眼状态识别
1
睁眼识别正确率
闭眼识别正确率
睁眼样本(124)
闭眼样本(130)
高度/
0.9
错误数 正确率 正确 错误数 正确率
正确
宽度
数
(%) 数
(%)
0.85
4
98
26
79.0
119
11
91.5
0.8
5
103
21
83.4
109
11
91.5
0.75
6
106
18
85.5
116
14
89.2
0.7
7
108
16
87.1
104
26
80.0
识别正确率
0.95
0.65
0.6
3
3.5
4
4.5
5
5.5
6
6.5
直方图投影高度与宽度比值阈值
33
7
7.5
8
www.company.com
人眼检测和状态识别研究
判断黑色像素比例进行人眼状态识别
该方法判断的依据是当睁眼时,人眼区域的黑
色像素比例会大于闭眼的情况。
人眼图像二值化效果
34
www.company.com
人眼检测和状态识别研究
人眼状态识别方法结果分析
人眼状态识别方法
睁眼样本 闭眼样本 处理时间
识别率
识别率
评价
基于眼睑曲率的方法
87.9%
87.7%
11ms
好
基于分段眼睑曲率的方法
79.8%
81.5%
12ms
较好
基于椭圆拟合的方法
基于水平投影及比例特征方
法
80%
80%
10ms
较好
85%
91%
14ms
好
判断黑色像素比例的方法
76.6%
65.4%
8ms
较差
35
www.company.com
基于眼部特征的疲劳状态检测
基于PERCLOS与眨眼频率的疲劳检测
 PERCLOS准则
 PERCLOS(Percentage of Eyelid Closure Over
the Pupil Time)是指单位时间内眼睛闭合的时间的
百分比。通过大量实验数据表明,PERCLOS与疲
劳程度具有良好的相关性,美国公路管理局推荐将
PERCLOS准则作为基于视觉的驾驶疲劳判断的最
好方法。
36
www.company.com
基于眼部特征的疲劳状态检测
基于PERCLOS与眨眼频率的疲劳检测
 PERCLOS计算方法
PERCLOS 
t3  t 2
100%
t4  t1
眼
睛
睁
开
程
度
在本课题PERCLOS大
于0.4时则认为驾驶员
处于疲劳状态
t1 t2
37
t3 t4
www.company.com
基于眼部特征的疲劳状态检测
基于PERCLOS与眨眼频率的疲劳检测
 眨眼频率
 人的眼睛在正常情况下眨眼频率平均为10-15次/分,
如果眨眼频率过低,可能是因为驾驶员疲劳,这种情
况可以通过PERCLOS原理检测;另一方面可能是驾
驶员走神,目光呆滞,这时计算得到的PERCLOS会
很低,但是这种情况也应该报警,需要通过计算眨眼
频率进行检测。
 系统阈值:下限不低于5次/分,上限不高于25次/分
38
www.company.com
基于眼部特征的疲劳状态检测
39
www.company.com
基于眼部特征的疲劳状态检测
疲劳检测系统测试效果图
40
www.company.com
课题总结与实验效果演示
课题总结
本课题介绍了驾驶疲劳检测的意义和现状,描
述了基于视觉的人脸检测、眼睛定位和眼睛状态
识别等各种方法,着重比较了各种光照预处理方
法以及眼睛状态识别方法,在此基础上采用了
PERCLOS和眨眼频率相结合方法作为疲劳判断的
核心算法,最终完成复杂驾驶环境下司机疲劳度
检测系统设计。
41
www.company.com
42
www.company.com
43
www.company.com