基于视觉的疲劳驾驶检测方法与流程

文档序号:11251355阅读:1724来源:国知局

本发明涉及领域,具体涉及一种基于视觉的疲劳驾驶检测方法。



背景技术:

近年来,疲劳驾驶已成为重、特大交通事故的主要原因之一。在美国的高速公路上,每年有超过8万起的交通事故,其中约有850起直接导致死亡。因此疲劳驾驶检测技术的研究有着非常重要的现实意义和应用价值。

目前有关疲劳驾驶检测的方法很多,基于计算机视觉的检测方法一般都是先定位人脸,在进行人眼检测,当人脸定位不准确时,会直接影像人脸的检测的准确率。现有的人眼检测的疲劳判别方法一般先用adaboost算法定位眼睛所在区域,在计算眼睛开闭程度。然而,受图像噪声、图像二值化误差等影响,计算眼睛的开闭程度会存在较大误差,从而导致误判。



技术实现要素:

本发明要解决的技术问题是提供一种基于视觉的疲劳驾驶检测方法。

基于视觉的疲劳驾驶检测方法,包括以下步骤:

s1:通过近红外摄像头获取驾驶员的脸部图像;

s2:利用adaboost算法直接检测睁眼区域;

s3:计算连续闭眼帧数占总帧数的比值,判断驾驶员的疲劳状态。

进一步的,利用adaboost算法直接检测睁眼区域的方法如下:

1)对现有的haar-like特征进行扩展,增加新的45°矩形特征;

2)采用扩展的haar-like特征对大量的正、负样本进行训练,得到用于人眼检测的adaboost分类器,具体步骤如下:

2-1)每个haar-like特征生成1个分类器,其形式如下:

其中,x为样本;fi(x)为第i个类haar-like特征fi在样本x上的取值;pi(pi∈{-1,+1})为分类符号方向;hi为由特征fi(x)构成的分类器;θi为分类器hi的方法阈值;

2-2)设输入的训练样本图像为(xi,yi),(x2,y2),…,(xn,yn),其中,yi=0和yi=1分别对应负样本和正样本;

2-3)初始化权值,对于yi=0的负样本,wl,t=1/2m;对于yi=1的正样本,wl,t=1/2l;其中m和l分别为负样本和正样本的数量;

2-4)对于t=1,2,…,t(其中t为最弱分类器的个数):

①归一化权重为一个概率分布,其中,wt,i为训练第i个样本第t次循环的误差权重;

②对于每个特征j训练1个相应的弱分类器hj,相对于当前权重wi的误差为

③选择误差εi最小的弱分类器hi;

④更新所有样本的权重,其中样本xi被正确分类时ei=0,反之ei=1并且β=εi/(1-εi);

2-5)最终的强分类器为:

其中,αt=log(1/β),ht=min{εt};

3)对测试样本提取关键的haar-like特征,并将特征输入到adaboost分类器进行人眼检测。

进一步的,判断驾驶员的疲劳状态的方法如下:

1)设眼睛完全睁开到闭合20%的时间间隔为t1,t2为完全睁开到闭合80%的时间,t3为完全睁开到下一次睁开20%的时间,t4为完全睁开到下一次睁开80%的时间;

2)通过测出的t1、t2、t3和t4值计算出连续闭眼的帧数占总帧数的比值f80,即:

3)统计连续闭眼帧的帧数,若超过设定的阈值则判定为驾驶员疲劳。

本发明的有益效果是:

本发明采用近红外摄像头来获取驾驶员的脸部图像,保证白天和黑夜都能获取较好的脸部图像;对现有的haar-like特征进行扩展,并将该特征应用于adaboost算法对人眼的检测中,直接检测睁眼区域,不仅提高了检测速度,还避免由于人脸检测错误所带来的误判;对多姿态人脸图像和变化的光线有很好的鲁棒性,检测率高。

具体实施方式

以下具体实施例对本发明作进一步阐述,但不作为对本发明的限定。

基于视觉的疲劳驾驶检测方法,包括以下步骤:

s1:通过近红外摄像头获取驾驶员的脸部图像;

s2:利用adaboost算法直接检测睁眼区域;

s3:计算连续闭眼帧数占总帧数的比值,判断驾驶员的疲劳状态。

利用adaboost算法直接检测睁眼区域的方法如下:

1)对现有的haar-like特征进行扩展,增加新的45°矩形特征;

2)采用扩展的haar-like特征对大量的正、负样本进行训练,得到用于人眼检测的adaboost分类器,具体步骤如下:

2-1)每个haar-like特征生成1个分类器,其形式如下:

其中,x为样本;fi(x)为第i个类haar-like特征fi在样本x上的取值;pi(pi∈{-1,+1})为分类符号方向;hi为由特征fi(x)构成的分类器;θi为分类器hi的方法阈值;

2-2)设输入的训练样本图像为(x1,y1),(x2,y2),…,(xn,yn),其中,yi=0和yi=1分别对应负样本和正样本;

2-3)初始化权值,对于yi=0的负样本,wl,t=1/2m;对于yi=1的正样本,wl,t=1/2l;其中m和l分别为负样本和正样本的数量;

2-4)对于t=1,2,…,t(其中t为最弱分类器的个数):

①归一化权重为一个概率分布,其中,wt,i为训练第i个样本第t次循环的误差权重;

②对于每个特征j训练1个相应的弱分类器hj,相对于当前权重wi的误差为

③选择误差εi最小的弱分类器hi;

④更新所有样本的权重,其中样本xi被正确分类时ei=0,反之ei=1并且β=εi/(1-εi);

2-5)最终的强分类器为:

其中,αt=log(1/β),ht=min{εt};

3)对测试样本提取关键的haar-like特征,并将特征输入到adaboost分类器进行人眼检测。

判断驾驶员的疲劳状态的方法如下:

1)设眼睛完全睁开到闭合20%的时间间隔为t1,t2为完全睁开到闭合80%的时间,t3为完全睁开到下一次睁开20%的时间,t4为完全睁开到下一次睁开80%的时间;

2)通过测出的t1、t2、t3和t4值计算出连续闭眼的帧数占总帧数的比值f80,即:

3)统计连续闭眼帧的帧数,若超过设定的阈值则判定为驾驶员疲劳。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1