CN104574819A - 一种基于嘴巴特征的疲劳驾驶检测方法 - Google Patents

一种基于嘴巴特征的疲劳驾驶检测方法 Download PDF

Info

Publication number
CN104574819A
CN104574819A CN201510013007.1A CN201510013007A CN104574819A CN 104574819 A CN104574819 A CN 104574819A CN 201510013007 A CN201510013007 A CN 201510013007A CN 104574819 A CN104574819 A CN 104574819A
Authority
CN
China
Prior art keywords
rect
mouth
face
neg
height
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510013007.1A
Other languages
English (en)
Other versions
CN104574819B (zh
Inventor
张卡
尼秀明
何佳
黄健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ANHUI QINGXIN INTERNET INFORMATION TECHNOLOGY Co Ltd
Original Assignee
ANHUI QINGXIN INTERNET INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ANHUI QINGXIN INTERNET INFORMATION TECHNOLOGY Co Ltd filed Critical ANHUI QINGXIN INTERNET INFORMATION TECHNOLOGY Co Ltd
Priority to CN201510013007.1A priority Critical patent/CN104574819B/zh
Publication of CN104574819A publication Critical patent/CN104574819A/zh
Application granted granted Critical
Publication of CN104574819B publication Critical patent/CN104574819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及一种基于嘴巴特征的疲劳驾驶检测方法,包括以下步骤:建立人脸检测分类器;实时采集驾驶员的驾驶状态图像;在驾驶状态图像中精确定位驾驶员的嘴巴位置;在连续视频图像中,根据上一帧图像中嘴巴位置,准确预测当前帧图像中的嘴巴位置;根据预测的嘴巴位置,精确定位嘴巴位置;判断驾驶员嘴巴的张开程度,根据单位时间内,嘴巴张开程度较大的帧数所占比例,判断驾驶员是否处于疲劳驾驶状态;若驾驶员处于疲劳驾驶状态,则进行报警提示或向远程服务器发送处于疲劳驾驶状态时的实时视频并接收远程命令。本发明具有监控准确度高,漏检误检少,受环境影响小,速度快,成本低等特点。

Description

一种基于嘴巴特征的疲劳驾驶检测方法
技术领域
本发明涉及安全驾驶技术领域,具体涉及一种基于嘴巴特征的疲劳驾驶检测方法。
背景技术
疲劳驾驶是引发交通事故的重要原因之一,由于它无法像饮酒驾驶或者接打电话驾驶那样,使用交通法规来明令禁止,所以它很容易被人们所忽视,然而,当驾驶员处于疲劳状态时,会出现注意力分散,应变能力下降,对路面情况和周边环境的观察不及时,甚至出现短时间睡眠,完全失去驾驶能力,极易造成交通事故。
对于因疲劳驾驶引起的交通事故,由于无法实时检测驾驶员的疲劳驾驶状态,一些客运和货运企业的监管部门无法进行事前的监控和预防。因此,实时的检测驾驶员的疲劳驾驶状态,及时提醒驾驶员或反馈给运输企业监管部门进行预防,对于避免重大交通事故,起着重要的作用。
目前,对于疲劳驾驶的检测主要有以下几类方法:
1、基于生理信号的检测方法,主要基于驾驶员的脉搏、脑电图、心电图、肌电图等的异常情况来检测疲劳驾驶状态。该类方法的检测结果很准确,但是其必须通过直接接触驾驶员身体来采集相关数据,会导致驾驶员的不适,影响驾驶效果,不适合实际的应用。
2、基于驾驶行为的检测方法,主要基于方向盘转动、车辆行驶速度、车道偏移量、油门的控制力度等的异常情况来检测疲劳驾驶状态。该类方法的优点是不需要接触驾驶员身体,检测结果能直接反应驾驶状态,其缺点是判断依据无法确定,对于不同的驾驶员,无法给出明确的临界判断阈值。
3、基于机器视觉的检测方法,主要通过视频图像处理技术,实时监控驾驶员的嘴巴开闭状态、点头频率、打哈欠等情况,综合判断是否处于疲劳驾驶状态。该类方法的优点是不需要接触驾驶员身体,不会影响驾驶效果,设备更容易被人们接受,更具发展潜力。
发明内容
本发明的目的在于提供一种基于嘴巴特征的疲劳驾驶检测方法,该检测方法通过监控驾驶员的嘴巴张开特征,并依据打哈欠行为来判断驾驶员是否处于疲劳驾驶状态,具有监控准确度高,漏检误检少,受环境影响小,速度快,成本低等特点。
本发明的技术方案为:
一种基于嘴巴特征的疲劳驾驶检测方法,该检测方法包括以下步骤:
(1)建立人脸检测分类器。
(2)实时采集驾驶员的驾驶状态图像。
(3)在驾驶状态图像中精确定位驾驶员的嘴巴位置。
(4)在连续视频图像中,根据上一帧图像中嘴巴位置,准确预测当前帧图像中的嘴巴位置。
(5)根据预测的嘴巴位置,精确定位嘴巴位置,并用新的嘴巴位置替换上一帧中的嘴巴位置;同时,判断驾驶员嘴巴的张开程度,并根据单位时间内,嘴巴张开程度较大的帧数所占比例,判断驾驶员是否处于疲劳驾驶状态。
(6)若驾驶员处于疲劳驾驶状态,则进行报警提示或向远程服务器发送处于疲劳驾驶状态时的实时视频并接收远程命令。
步骤(3)中,所述的在驾驶状态图像中精确定位驾驶员的嘴巴位置,具体包括以下步骤:
(31)基于harr特征和adaboost分类器,进行人脸定位。
(32)基于人脸的三庭五眼布局规律,粗定位嘴巴位置。
(33)精确定位嘴巴的位置。
(34)判断嘴巴是否定位成功;若是,则执行步骤(35);若否,则返回执行步骤(31)。
(35)利用以下公式,获取正样本采集区域rect_pos和负样本采集区域rect_neg,其中,rect_neg区域不包括内部区域rect_center;
rect _ pos . x = rect _ mouth . x - 7 rect _ pos . y = rect _ mouth . y - 7 rect _ pos . width = rect _ mouth . width + 14 rect _ pos . height = rect _ mouth . height + 14
rect _ neg . x = rect _ mouth . x - rect _ mouth . width * 0.75 rect _ neg . y = rect _ mouth . y - rect _ mouth . height * 0.8 rect _ neg . width = rect _ mouth . width * 2.5 rect _ neg . height = rect _ mouth . height * 2.6
rect _ center . x = rct _ mouth . x + rect _ mouth . width * 0.4 rect _ center . y = rect _ mouth . y + rect _ mouth . height * 0.4 rect _ center . whdth = rect _ mouth . width * 0.2 rect _ center . height = rect _ mouth . height * 0.2 .
(36)在正样本采集区域内,选取30个宽高分别为rect_mouth.width和rect_mouth.heigh的随机矩形区域,作为训练正样本集simple_pos;在负样本采集区域内,选取90个和正样本宽高相同的随机矩形区域,作为训练负样本集simple_neg。
(37)在rect_mouth大小的矩形区域内,选取30个随机宽高的子矩形区域,作为矩形特征集rect_child_set。
步骤(4)中,所述的在连续视频图像中,根据上一帧图像中嘴巴位置,准确预测当前帧图像中的嘴巴位置;具体包括以下步骤:
(41)更新系统的学习参数,具体包括以下步骤:
(411)基于上一帧图像,获取正负样本采集区域rect_pos和rect_neg,并按照集合simple_pos和simple_neg,分别获取正负样本集。
(412)对于每一个正负样本simple_pos[i]和simple_neg[i],在每一个特征矩形rect_child_set[i]区域内,利用以下公式,计算特征值c_value,并将所有的特征值顺序排列,作为当前样本的特征向量sample_vector[i];
c_value=sum(s1)+sum(s3)-2*sum(s2)
其中,sum()函数表示求当前区域内所有像素的灰度值和。
(413)计算特征向量sample_vector[i]的均值sample_μ[i]和方差sample_σ[i]。
(414)利用以下公式,更新系统的学习参数pos_u[i]、pos_σ[i]、neg_u[i]、neg_σ[i];
pos _ u [ i ] = sample _ r [ i ] * 0.2 + pos _ u [ i ] * 0.8 pos _ σ [ i ] = sample _ σ [ i ] * 0.2 + pos _ σ [ i ] * 0.8 neg _ u [ i ] = sample _ u [ i ] * 0.2 + neg _ u [ i ] * 0.8 neg _ σ [ i ] = sample _ σ [ i ] * 0.2 + neg _ σ [ i ] * 0.8
其中,pos_u[i]、pos_σ[i]分别表示用于嘴巴区域检测的均值和方差,neg_u[i]、neg_σ[i]分别表示用于非嘴巴区域检测的均值和方差。
(42)嘴巴区域检测,具体包括以下步骤:
(421)利用以下公式,获取嘴巴检测区域rect_detect;
rect _ det ect . x = rect _ mouth . x - rect _ mouth . width * 0.75 rect _ det ect . y = rect _ mouth . y - rect _ mouth . height rect _ det ect . width = rect _ mouth . width * 2.5 rect _ det ect . height = rect _ mouth . height * 3
其中,rect_mouth表示上一帧中嘴巴的位置区域矩形。
(422)按一定步长遍历rect_detect区域,计算每一个像素位置处矩形区域的特征向量detect_vector[i]。
(423)基于改进的贝叶斯后验概率公式,计算每一个矩形区域属于嘴巴区域的概率ρ[i];所述的改进的贝叶斯后验概率公式为:
ρ [ i ] = Σ j = 0 30 ( log ( γ _ pos [ i ] [ j ] ) - log ( γ _ neg [ i ] [ j ] ) )
γ _ pos [ i ] [ j ] = 1 pos _ σ [ i ] * exp ( - ( sample _ vector [ i ] [ j ] - pos _ u [ i ] ) 2 2 * pos _ σ [ i ] 2 ) γ _ neg [ i ] [ j ] = 1 neg _ σ [ i ] * exp ( - ( sample _ vector [ i ] [ j ] - neg _ u [ i ] ) 2 2 * neg _ σ [ i ] 2 ) .
(424)选择最大概率对应的矩形区域,作为当前帧中的嘴巴区域矩形位置。
步骤(5)中,根据预测的嘴巴位置,精确定位嘴巴位置,并用新的嘴巴位置替换上一帧中的嘴巴位置;同时,判断驾驶员嘴巴的张开程度,并根据单位时间内,嘴巴张开程度较大的帧数所占比例,判断驾驶员是否处于疲劳驾驶状态;具体包括以下步骤:
(51)精确定位嘴巴的矩形区域位置。
(52)基于最大类间距算法,获取嘴巴区域的全局二值化图像,并进行反色处理。
(53)获取嘴巴区域的高度,具体方法是对嘴巴连通区域进行垂直投影,选取最大投影值作为整个区域的高度,并把该高度值放入高度列表H中。
(54)判断驾驶员是否处于疲劳驾驶状态,具体包括以下步骤:
(541)在单位时间T内,利用以下公式,统计驾驶员张大嘴巴的帧数;
No = No + 1 h [ i ] &GreaterEqual; ( To + Tc ) * 0.5 No h [ i ] < ( To + Tc ) * 0.5
其中,No表示单位时间T内处于嘴巴张开状态的帧数,h[i]表示高度列表H内第i帧的嘴巴区域高度,To表示正常情况下嘴巴区域的高度,Tc表示打哈欠时嘴巴区域的高度。
(542)利用以下公式,判断驾驶员是否处于疲劳驾驶状态;
exist = 1 No &GreaterEqual; N * p 0 No < N * p
其中,exist=1表示驾驶员处于疲劳驾驶状态,N表示单位时间T内的总帧数,p表示单位时间T内的哈欠率。
(55)根据当前帧的嘴巴位置和疲劳驾驶状态判断情况,更新相关状态参数值。
步骤(33)中,所述的精确定位嘴巴的位置,具体包括以下步骤:
(331)对图像进行模糊处理,具体采用以下公式的模板进行均值滤波:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .
(332)利用以下公式,对嘴巴灰度图像进行增强;
g ( x , y ) = f ( x , y ) - t min t max - t min
其中,f(x,y)表示原图的灰度值,g(x,y)表示增强图像的灰度值,tmin表示原图灰度最小值,tmax表示原图灰度最大值。
(333)基于canny边缘检测算子,进行嘴巴边缘检测。
(334)基于结构元素模板式,进行3次形态学闭运算;所述的结构元素模板式为:
0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 .
(335)获取嘴巴区域的形心center_mouth。
(336)利用以下公式,获取嘴巴位置区域矩形rect_mouth;
rect _ mouth . x = center _ mouth . x - rect . width * 0.15 rect _ mouth . y = center _ mouth . y - rect . height * 0.06 rect _ mouth . width = rect . width * 0.3 rect _ mouth . height = rect . height * 0.17
其中,center_mouth表示嘴巴区域的形心,rect表示人脸的位置矩形。
本发明的有益效果在于:
本发明采用视频图像处理技术,实时监控驾驶员的嘴巴张开状态,依据是否出现打哈欠行为来判断驾驶员的疲劳驾驶状态,具有监控准确度高,漏检误检少,受环境影响小,速度快,成本低等特点。
附图说明
图1是本发明的方法流程图;
图2是定位模块的工作流程图;
图3是嘴巴粗定位分割效果图;
图4是嘴巴图像增强效果图;
图5是嘴巴图像边缘检测效果图;
图6是嘴巴边缘连通区域效果图;
图7是正负样本采集区域效果图,其中,矩形框1是嘴巴区域的准确位置,矩形框2是正样本采集区域,矩形框3是负样本采集区域,矩形框4是负样本采集区域不包含的区域;
图8是矩形特征值计算示意图;
图9是嘴巴的二值化效果图,其中,图(a)对应的是张大嘴巴的图像,图(b)对应的是闭合嘴巴的图像。
具体实施方式
下面,结合附图和具体实施例进一步说明本发明。
如图1所示,实施例中,本发明所述系统包含初始化模块、采集模块、定位模块、跟踪模块、检测模块、语音通信模块,该系统的检测方法包括以下顺序的步骤:
S1、执行初始化模块;
初始化模块的功能是,加载系统必需的人脸检测分类器文件。
S2、执行采集模块;
采集模块的功能是,实时采集驾驶员的驾驶状态图像,主要是驾驶员的头部图像,并变换成灰度图像。
S3、判断定位模块的开闭状态,如果处于开启状态,进入步骤S4,否则,进入步骤S6。
S4、执行定位模块;
定位模块的功能是,在图像中精确定位驾驶员的嘴巴位置,并初始化跟踪模块参数,如图2所示,具体的步骤如下:
S41、基于harr特征和adaboost分类器,进行人脸定位。
S42、基于人脸的三庭五眼布局规律,粗定位嘴巴位置,效果如图3。
S43、精确定位嘴巴的位置,具体步骤如下:
S431、图像模糊处理。因为嘴巴的边缘特征相对很明显,进行模糊处理,能够在保留嘴巴边缘特征的情况下,去除部分细小边缘的影响,如皮肤毛孔和胡须等。本发明采用如式(1)的模板进行均值滤波;
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 - - - ( 1 )
S432、按照公式(2),对嘴巴灰度图像进行增强,效果如图4;
g ( x , y ) = f ( x , y ) - t min t max - t min - - - ( 2 )
其中,f(x,y)表示原图的灰度值,g(x,y)表示增强图像的灰度值,tmin表示原图灰度最小值,tmax表示原图灰度最大值。
S433、基于canny边缘检测算子,进行嘴巴边缘检测,效果如图5。
S434、基于结构元素模板式(3),进行3次形态学闭运算;
0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 - - - ( 3 )
S435、获取嘴巴区域的形心。具体的做法是:统计最大连通区域的面积A,选择所有面积大于0.8*A的连通区域作为嘴巴候选区域,效果如图6,获取候选区域的最小外接矩形,把矩形中心作为嘴巴区域的形心。
S436、采用公式(4),获取嘴巴位置区域矩形rect_mouth;
rect _ mouth . x = center _ mouth . x - rect . width * 0.15 rect _ mouth . y = center _ mouth . y - rect . height * 0.06 rect _ mouth . width = rect . width * 0.3 rect _ mouth . height = rect . height * 0.17 - - - ( 4 )
其中,center_mouth是嘴巴区域的形心,rect是人脸的位置矩形。
S44、判断嘴巴是否定位成功,如果成功,关闭定位模块,开启跟踪模块,进入步骤S45;否则,继续执行定位模块。
S45、采用公式(5)-(7),获取正样本采集区域rect_pos和负样本采集区域rect_neg,其中,rect_neg区域不包括内部区域rect_center,效果如图7;
rect _ pos . x = rect _ mouth . x - 7 rect _ pos . y = rect _ mouth . y - 7 rect _ pos . width = rect _ mouth . width + 14 rect _ pos . height = rect _ mouth . height + 14 - - - ( 5 )
rect _ neg . x = rect _ mouth . x - rect _ mouth . width * 0.75 rect _ neg . y = rect _ mouth . y - rect _ mouth . height * 0.8 rect _ neg . width = rect _ mouth . width * 2.5 rect _ neg . height = rect _ mouth . height * 2.6 - - - ( 6 )
rect _ center . x = rct _ mouth . x + rect _ mouth . sidth * 0.4 rect _ center . y = rect _ mouth . y + rect _ mouth . height * 0.4 rect _ center . whdth = rect _ mouth . width * 0.2 rect _ center . height = rect _ mouth . height * 0.2 - - - ( 7 )
S46、在正样本采集区域内,选取30个宽高分别为rect_mouth.width和rect_mouth.heigh的随机矩形区域,作为训练正样本集simple_pos;在负样本采集区域内,选取90个和正样本宽高相同的随机矩形区域,作为训练负样本集simple_neg。
S47、在rect_mouth大小的矩形区域内,选取30个随机宽高的子矩形区域,作为矩形特征集rect_child_set。
S5、执行跟踪模块;
跟踪模块的功能是,在连续视频图像中,根据上一帧的位置,准确的预测当前帧中嘴巴的位置,为检测模块作准备,具体的步骤如下:
S51、更新系统的学习参数,具体步骤如下:
S511、基于上一帧图像,按照步骤S45获取正负样本采集区域rect_pos和rect_neg,按照集合simple_pos和simple_neg,分别获取正负样本集。
S512、如图8所示,对于每一个正负样本simple_pos[i]和simple_neg[i],在每一个特征矩形rect_child_set[i]区域内,采用公式(8),计算特征值c_value,并把所有的特征值顺序排列,作为当前样本的特征向量sample_vector[i];
c_value=sum(s1)+sum(s3)-2*sum(s2)  (8)
其中,sum()函数表示求当前区域内所有像素的灰度值和。
S513、计算特征向量sample_vector[i]的均值sample_μ[i]和方差sample_σ[i];
S514、采用公式(9),更新系统的学习参数pos_u[i]、pos_σ[i]、neg_u[i]、neg_σ[i];
pos _ u [ i ] = sample _ r [ i ] * 0.2 + pos _ u [ i ] * 0.8 pos _ &sigma; [ i ] = sample _ &sigma; [ i ] * 0.2 + pos _ &sigma; [ i ] * 0.8 neg _ u [ i ] = sample _ u [ i ] * 0.2 + neg _ up [ i ] * 0.8 neg _ &sigma; [ i ] = sample _ &sigma; [ i ] * 0.2 + neg _ &sigma; [ i ] * 0.8 - - - ( 9 )
其中,pos_u[i]、pos_σ[i]是用于嘴巴区域检测的均值和方差,neg_u[i]、neg_σ[i]是用于非嘴巴区域检测的均值和方差。
S52、嘴巴区域检测,具体步骤如下:
S521、采用公式(10),获取嘴巴检测区域rect_detect;
rect _ det ect . x = rect _ mouth . x - rect _ mouth . width * 0.75 rect _ det ect . y = rect _ mouth . y - rect _ mouth . height rect _ det ect . width = rect _ mouth . width * 2.5 rect _ det ect . height = rect _ mouth . height * 3 - - - ( 10 )
其中,rect_mouth是上一帧中嘴巴的位置区域矩形。
S522、按一定步长遍历rect_detect区域,按照步骤S613、S614,计算每一个像素位置处矩形区域的特征向量detect_vector[i]。
S523、基于改进的贝叶斯后验概率公式(11)、公式(12),计算每一个矩形区域属于嘴巴区域的概率ρ[i];
&rho; [ i ] = &Sigma; j = 0 30 ( log ( &gamma; _ pos [ i ] [ j ] ) - log ( &gamma; _ neg [ i ] [ j ] ) ) - - - ( 11 )
&gamma; _ pos [ i ] [ j ] = 1 pos _ &sigma; [ i ] * exp ( - ( sample _ vector [ i ] [ j ] - pos _ u [ i ] ) 2 2 * pos _ &sigma; [ i ] 2 ) &gamma; _ neg [ i ] [ j ] = 1 neg _ &sigma; * exp ( - ( sample _ vector [ i ] [ j ] - neg _ u [ i ] ) 2 2 * neg _ &sigma; [ i ] 2 ) - - - ( 12 )
S524、选择最大概率对应的矩形区域,作为当前帧中的嘴巴区域矩形位置。
S6、判断嘴巴区域是否正确跟踪。具体做法是判断嘴巴的矩形中心运动量是否大于一定阈值,如果大于阈值,说明运动量过大,还有一种情况是选取的嘴巴矩形位置区域的概率小于一定阈值,这两种情况均说明预测的嘴巴位置已不可信,均属于错误跟踪,此时关闭监控模块,开启定位模块,回到步骤S2;否则,进入步骤S7。
S7、执行检测模块;
检测模块的功能是,基于预测的嘴巴位置,精确定位嘴巴的位置,用新的嘴巴位置替换上一帧的嘴巴位置,为下一帧的持续跟踪做准备,同时判断驾驶员嘴巴的张开程度,依据单位时间内,嘴巴张开程度较大的帧数所占比例,判断驾驶员是否处于疲劳驾驶状态,具体步骤如下:
S71、按照步骤S43,精确定位嘴巴的矩形区域位置。
S72、基于最大类间距算法,获取嘴巴区域的全局二值化图像,并进行反色处理。由于当嘴巴张大时,口腔区域的灰度值在整个图像区域里相对较小;当嘴巴闭合时,嘴唇区域的灰度值在整个图像区域里相对较小;因此,二值图像中的白色部分就是口腔区域或嘴唇区域,效果如图9。
S73、获取嘴巴区域的高度,具体方法是:对嘴巴连通区域进行垂直投影,选取最大投影值作为整个区域的高度,并把该高度值放入高度列表H中;
S74、判断驾驶员是否处于疲劳驾驶状态,具体方法是在单位时间T内,采用公式(13),统计驾驶员张大嘴巴的帧数,采用公式(14),判断驾驶员是否处疲劳状态。在本发明的实施例中,T的取值是6秒,依据是一次打哈欠的持续时间大约6秒。
No = No + 1 h [ i ] &GreaterEqual; ( To + Tc ) * 0.5 No h [ i ] < ( To + Tc ) * 0.5 - - - ( 13 )
exist = 1 No &GreaterEqual; N * p 0 No < N * p - - - ( 14 )
其中,exist=1表示驾驶员处于疲劳驾驶状态,N表示单位时间内的总帧数,No表示单位时间内处于嘴巴张开状态的帧数,h[i]表示高度列表内第i帧的嘴巴区域高度,To表示正常情况下嘴巴区域的高度,Tc表示打哈欠时嘴巴区域的高度,p表示单位时间内的哈欠率,值越小,系统越灵敏。
S75、更新模块参数,依据当前帧的嘴巴位置和疲劳驾驶状态判断情况,更新相关状态参数值。
S8、执行语音通讯模块;
语音通讯模块的功能是,当驾驶员处于疲劳驾驶状态时,该模块及时发出报警声,提醒驾驶员已处于疲劳驾驶状态,或者向远程服务器发送处于疲劳驾驶状态时的实时视频,此时运输企业监管部门可以通过该视频进行及时的处理,如果需要和驾驶员通话,还可以通过该模块接受远程命令。
以上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

Claims (5)

1.一种基于嘴巴特征的疲劳驾驶检测方法,其特征在于:该检测方法包括以下步骤:
(1)建立人脸检测分类器;
(2)实时采集驾驶员的驾驶状态图像;
(3)在驾驶状态图像中精确定位驾驶员的嘴巴位置;
(4)在连续视频图像中,根据上一帧图像中嘴巴位置,准确预测当前帧图像中的嘴巴位置;
(5)根据预测的嘴巴位置,精确定位嘴巴位置,并用新的嘴巴位置替换上一帧中的嘴巴位置;同时,判断驾驶员嘴巴的张开程度,并根据单位时间内,嘴巴张开程度较大的帧数所占比例,判断驾驶员是否处于疲劳驾驶状态;
(6)若驾驶员处于疲劳驾驶状态,则进行报警提示或向远程服务器发送处于疲劳驾驶状态时的实时视频并接收远程命令。
2.根据权利要求1所述的一种基于嘴巴特征的疲劳驾驶检测方法,其特征在于:步骤(3)中,所述的在驾驶状态图像中精确定位驾驶员的嘴巴位置,具体包括以下步骤:
(31)基于harr特征和adaboost分类器,进行人脸定位;
(32)基于人脸的三庭五眼布局规律,粗定位嘴巴位置;
(33)精确定位嘴巴的位置;
(34)判断嘴巴是否定位成功;若是,则执行步骤(35);若否,则返回执行步骤(31);
(35)利用以下公式,获取正样本采集区域rect_pos和负样本采集区域rect_neg,其中,rect_neg区域不包括内部区域rect_center;
rect _ pos . x = rect _ mouth . x - 7 rect _ pos . y = rect _ mouth . y - 7 rect _ pos . width = rect _ mouth . width + 14 rect _ pos . height = rect _ mouth . height + 14
rect _ neg . x = rect _ mouth . x - rect _ mouth . width * 0 . 75 rect _ neg . y = rect _ mouth . y - rect _ mouth . height * 0.8 rect _ neg . width = rect _ mouth . width * 2 . 5 rect _ neg . height = rect _ mouth . height * 2.6
rect _ center . x = rect _ mouth . x + rect _ mouth . width * 0.4 rect _ center . y = rect _ mouth . y + rect _ mouth . height * 0.4 rect _ center . width = rect _ mouth . width * 0.2 rect _ center . height = rect _ mouth . height * 0.2 ;
(36)在正样本采集区域内,选取30个宽高分别为rect_mouth.width和rect_mouth.heigh的随机矩形区域,作为训练正样本集simple_pos;在负样本采集区域内,选取90个和正样本宽高相同的随机矩形区域,作为训练负样本集simple_neg;
(37)在rect_mouth大小的矩形区域内,选取30个随机宽高的子矩形区域,作为矩形特征集rect_child_set。
3.根据权利要求1所述的一种基于嘴巴特征的疲劳驾驶检测方法,其特征在于:步骤(4)中,所述的在连续视频图像中,根据上一帧图像中嘴巴位置,准确预测当前帧图像中的嘴巴位置;具体包括以下步骤:
(41)更新系统的学习参数,具体包括以下步骤:
(411)基于上一帧图像,获取正负样本采集区域rect_pos和rect_neg,并按照集合simple_pos和simple_neg,分别获取正负样本集;
(412)对于每一个正负样本simple_pos[i]和simple_neg[i],在每一个特征矩形rect_child_set[i]区域内,利用以下公式,计算特征值c_value,并将所有的特征值顺序排列,作为当前样本的特征向量sample_vector[i];
c_value=sum(s1)+sum(s3)-2*sum(s2)
其中,sum()函数表示求当前区域内所有像素的灰度值和;
(413)计算特征向量sample_vector[i]的均值sample_μ[i]和方差sample_σ[i];
(414)利用以下公式,更新系统的学习参数pos_u[i]、pos_σ[i]、neg_u[i]、neg_σ[i];
pos _ u [ i ] = sample _ u [ i ] * 0.2 + pos _ u [ i ] * 0.8 pos _ &sigma; [ i ] = sample _ &sigma; [ i ] * 0.2 + pos _ &sigma; [ i ] * 0.8 neg _ u [ i ] = sample _ u [ i ] * 0.2 + neg _ u [ i ] * 0.8 neg _ &sigma; [ i ] = sample _ &sigma; [ i ] * 0 . 2 + neg _ &sigma; [ i ] * 0.8
其中,pos_u[i]、pos_σ[i]分别表示用于嘴巴区域检测的均值和方差,neg_u[i]、neg_σ[i]分别表示用于非嘴巴区域检测的均值和方差;
(42)嘴巴区域检测,具体包括以下步骤:
(421)利用以下公式,获取嘴巴检测区域rect_detect;
rect _ det ect . x = rect _ mouth . x - rect _ mouth . width * 0.75 rect _ det ect . y = rect _ mouth . y - rect _ mouth . height rect _ det ect . width = rect _ mouth . width * 2.5 rect _ det ect . height = rect _ mouth . height * 3
其中,rect_mouth表示上一帧中嘴巴的位置区域矩形;
(422)按一定步长遍历rect_detect区域,计算每一个像素位置处矩形区域的特征向量detect_vector[i];
(423)基于改进的贝叶斯后验概率公式,计算每一个矩形区域属于嘴巴区域的概率ρ[i];所述的改进的贝叶斯后验概率公式为:
&rho; [ i ] = &Sigma; j = 0 30 ( log ( &gamma; _ pos [ i ] [ j ] ) - log ( &gamma; _ neg [ i ] [ j ] ) )
&gamma; _ pos [ i ] [ j ] = 1 pos _ &sigma; [ i ] * exp ( - ( sample _ vector [ i ] [ j ] - pos _ u [ i ] ) 2 2 * pos _ &sigma; [ i ] 2 ) &gamma; _ neg [ i ] [ j ] = 1 neg _ &sigma; [ i ] * exp ( - ( sample _ vector [ i ] [ j ] - neg _ u [ i ] ) 2 2 * neg _ &sigma; [ i ] 2 ) ;
(424)选择最大概率对应的矩形区域,作为当前帧中的嘴巴区域矩形位置。
4.根据权利要求1所述的一种基于嘴巴特征的疲劳驾驶检测方法,其特征在于:步骤(5)中,根据预测的嘴巴位置,精确定位嘴巴位置,并用新的嘴巴位置替换上一帧中的嘴巴位置;同时,判断驾驶员嘴巴的张开程度,并根据单位时间内,嘴巴张开程度较大的帧数所占比例,判断驾驶员是否处于疲劳驾驶状态;具体包括以下步骤:
(51)精确定位嘴巴的矩形区域位置;
(52)基于最大类间距算法,获取嘴巴区域的全局二值化图像,并进行反色处理;
(53)获取嘴巴区域的高度,具体方法是对嘴巴连通区域进行垂直投影,选取最大投影值作为整个区域的高度,并把该高度值放入高度列表H中;
(54)判断驾驶员是否处于疲劳驾驶状态,具体包括以下步骤:
(541)在单位时间T内,利用以下公式,统计驾驶员张大嘴巴的帧数;
No = No + 1 h [ i ] &GreaterEqual; ( To + Tc ) * 0.5 No h [ i ] < ( To + Tc ) * 0.5
其中,No表示单位时间T内处于嘴巴张开状态的帧数,h[i]表示高度列表H内第i帧的嘴巴区域高度,To表示正常情况下嘴巴区域的高度,Tc表示打哈欠时嘴巴区域的高度;
(542)利用以下公式,判断驾驶员是否处于疲劳驾驶状态;
exist = 1 No &GreaterEqual; N * p 0 No < N * p
其中,exist=1表示驾驶员处于疲劳驾驶状态,N表示单位时间T内的总帧数,p表示单位时间T内的哈欠率;
(55)根据当前帧的嘴巴位置和疲劳驾驶状态判断情况,更新相关状态参数值。
5.根据权利要求2所述的一种基于嘴巴特征的疲劳驾驶检测方法,其特征在于:步骤(33)中,所述的精确定位嘴巴的位置,具体包括以下步骤:
(331)对图像进行模糊处理,具体采用以下公式的模板进行均值滤波;
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ;
(332)利用以下公式,对嘴巴灰度图像进行增强;
g ( x , y ) = f ( x , y ) - t min t max - t min
其中,f(x,y)表示原图的灰度值,g(x,y)表示增强图像的灰度值,tmin表示原图灰度最小值,tmax表示原图灰度最大值;
(333)基于canny边缘检测算子,进行嘴巴边缘检测;
(334)基于结构元素模板式,进行3次形态学闭运算;所述的结构元素模板式为:
0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 ;
(335)获取嘴巴区域的形心center_mouth;
(336)利用以下公式,获取嘴巴位置区域矩形rect_mouth;
rect _ mouth . x = center _ mouth . x - rect . width * 0.15 rect _ mouth . y = center _ mouth . y - rect . height * 0.06 rect _ mouth . width = rect . width * 0 . 3 rect _ mouth . height = rect . height * 0.17
其中,center_mouth表示嘴巴区域的形心,rect表示人脸的位置矩形。
CN201510013007.1A 2015-01-09 2015-01-09 一种基于嘴巴特征的疲劳驾驶检测方法 Active CN104574819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510013007.1A CN104574819B (zh) 2015-01-09 2015-01-09 一种基于嘴巴特征的疲劳驾驶检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510013007.1A CN104574819B (zh) 2015-01-09 2015-01-09 一种基于嘴巴特征的疲劳驾驶检测方法

Publications (2)

Publication Number Publication Date
CN104574819A true CN104574819A (zh) 2015-04-29
CN104574819B CN104574819B (zh) 2017-03-22

Family

ID=53090768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510013007.1A Active CN104574819B (zh) 2015-01-09 2015-01-09 一种基于嘴巴特征的疲劳驾驶检测方法

Country Status (1)

Country Link
CN (1) CN104574819B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446811A (zh) * 2016-09-12 2017-02-22 北京智芯原动科技有限公司 基于深度学习的驾驶员疲劳检测方法及装置
CN107358218A (zh) * 2017-07-24 2017-11-17 英锐科技(深圳)有限公司 疲劳检测方法和使用该方法的疲劳检测系统
CN107358167A (zh) * 2017-06-19 2017-11-17 西南科技大学 一种基于主动红外视频的打哈欠判别方法
CN107704836A (zh) * 2017-10-17 2018-02-16 电子科技大学 基于物体检测的疲劳驾驶检测方法
CN107992813A (zh) * 2017-11-27 2018-05-04 北京搜狗科技发展有限公司 一种唇部状态检测方法及装置
CN108108651A (zh) * 2016-11-25 2018-06-01 广东亿迅科技有限公司 基于视频人脸分析的驾驶员非专心驾驶检测方法及系统
CN108154111A (zh) * 2017-12-22 2018-06-12 泰康保险集团股份有限公司 活体检测方法、系统、电子设备及计算机可读介质
CN112419670A (zh) * 2020-09-15 2021-02-26 深圳市点创科技有限公司 融合关键点定位及图像分类的驾驶员疲劳驾驶检测方法、设备、介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4768088A (en) * 1985-12-04 1988-08-30 Aisin Seiki Kabushikikaisha Apparatus for commanding energization of electrical device
US6927694B1 (en) * 2001-08-20 2005-08-09 Research Foundation Of The University Of Central Florida Algorithm for monitoring head/eye motion for driver alertness with one camera
CN201337458Y (zh) * 2009-01-10 2009-11-04 山西智济电子科技有限公司 人员疲劳状态实时监测装置
CN101814137A (zh) * 2010-03-25 2010-08-25 浙江工业大学 基于红外眼态识别的疲劳驾驶预警系统
CN101950355A (zh) * 2010-09-08 2011-01-19 中国人民解放军国防科学技术大学 基于数字视频的驾驶员疲劳状态检测方法
CN102752458A (zh) * 2012-07-19 2012-10-24 北京理工大学 一种驾驶员疲劳检测手机与检测单元
CN104013414A (zh) * 2014-04-30 2014-09-03 南京车锐信息科技有限公司 一种基于移动智能手机的驾驶员疲劳检测系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4768088A (en) * 1985-12-04 1988-08-30 Aisin Seiki Kabushikikaisha Apparatus for commanding energization of electrical device
US6927694B1 (en) * 2001-08-20 2005-08-09 Research Foundation Of The University Of Central Florida Algorithm for monitoring head/eye motion for driver alertness with one camera
CN201337458Y (zh) * 2009-01-10 2009-11-04 山西智济电子科技有限公司 人员疲劳状态实时监测装置
CN101814137A (zh) * 2010-03-25 2010-08-25 浙江工业大学 基于红外眼态识别的疲劳驾驶预警系统
CN101950355A (zh) * 2010-09-08 2011-01-19 中国人民解放军国防科学技术大学 基于数字视频的驾驶员疲劳状态检测方法
CN102752458A (zh) * 2012-07-19 2012-10-24 北京理工大学 一种驾驶员疲劳检测手机与检测单元
CN104013414A (zh) * 2014-04-30 2014-09-03 南京车锐信息科技有限公司 一种基于移动智能手机的驾驶员疲劳检测系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446811A (zh) * 2016-09-12 2017-02-22 北京智芯原动科技有限公司 基于深度学习的驾驶员疲劳检测方法及装置
CN108108651A (zh) * 2016-11-25 2018-06-01 广东亿迅科技有限公司 基于视频人脸分析的驾驶员非专心驾驶检测方法及系统
CN107358167A (zh) * 2017-06-19 2017-11-17 西南科技大学 一种基于主动红外视频的打哈欠判别方法
CN107358218A (zh) * 2017-07-24 2017-11-17 英锐科技(深圳)有限公司 疲劳检测方法和使用该方法的疲劳检测系统
CN107704836A (zh) * 2017-10-17 2018-02-16 电子科技大学 基于物体检测的疲劳驾驶检测方法
CN107704836B (zh) * 2017-10-17 2021-10-08 电子科技大学 基于物体检测的疲劳驾驶检测方法
CN107992813A (zh) * 2017-11-27 2018-05-04 北京搜狗科技发展有限公司 一种唇部状态检测方法及装置
CN108154111A (zh) * 2017-12-22 2018-06-12 泰康保险集团股份有限公司 活体检测方法、系统、电子设备及计算机可读介质
CN108154111B (zh) * 2017-12-22 2021-11-26 泰康保险集团股份有限公司 活体检测方法、系统、电子设备及计算机可读介质
CN112419670A (zh) * 2020-09-15 2021-02-26 深圳市点创科技有限公司 融合关键点定位及图像分类的驾驶员疲劳驾驶检测方法、设备、介质

Also Published As

Publication number Publication date
CN104574819B (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN104574819A (zh) 一种基于嘴巴特征的疲劳驾驶检测方法
CN104574820B (zh) 一种基于眼睛特征的疲劳驾驶检测方法
CN102289660B (zh) 一种基于手部姿态跟踪的违规驾驶行为检测方法
CN110532976A (zh) 基于机器学习和多特征融合的疲劳驾驶检测方法及系统
CN101593425B (zh) 一种基于机器视觉的疲劳驾驶监控方法及系统
Garcia et al. Vision-based drowsiness detector for real driving conditions
CN108446645B (zh) 基于深度学习的车载人脸识别方法
CN105286802B (zh) 基于视频信息的驾驶员疲劳检测方法
CN107330378A (zh) 一种基于嵌入式图像处理的驾驶员行为检测系统
CN105956548A (zh) 驾驶员疲劳状况检测方法和装置
CN102436715A (zh) 疲劳驾驶检测方法
CN108647708A (zh) 驾驶员评估方法、装置、设备和存储介质
CN103020579A (zh) 人脸识别方法及系统、人脸图像的眼镜框去除方法与装置
CN106056079A (zh) 一种图像采集设备及人脸五官的遮挡检测方法
CN104269028A (zh) 一种疲劳驾驶检测方法及系统
CN103077423A (zh) 基于视频流的人群数量估计、局部人群聚集状态以及人群跑动状态检测方法
CN110147738A (zh) 一种驾驶员疲劳监测预警方法及系统
CN105404862A (zh) 一种基于手部跟踪的安全驾驶检测方法
CN106997452A (zh) 活体验证方法及装置
CN111626272A (zh) 一种基于深度学习的驾驶员疲劳监测系统
CN107909009A (zh) 一种基于路面学习的障碍物检测方法与装置
CN108108651B (zh) 基于视频人脸分析的驾驶员非专心驾驶检测方法及系统
CN103325123A (zh) 一种基于自适应神经模糊推理系统的图像边缘检测方法
Rani et al. Development of an Automated Tool for Driver Drowsiness Detection
Lang et al. The study of driver fatigue monitor algorithm combined PERCLOS and AECS

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant