基于图像处理的疲劳检测算法研究

2017-04-19 05:21刘牧洲王忠
关键词:肤色眼部人脸识别

刘牧洲,王忠

(四川大学 电气信息学院,成都,610025)

基于图像处理的疲劳检测算法研究

刘牧洲,王忠

(四川大学 电气信息学院,成都,610025)

首先对驾驶员图像采用同态滤波算法增强对比度,并用直方图均衡法进行预处理。再采用基于RGB、HIS等肤色模型的人脸检测方法与腐蚀、膨胀算法对图像进行优化,提取出脸部图像。最后通过水平与垂直投影检测眼部图像,并与眉毛区域相区分。

直方图均衡;人脸识别;人眼识别;图像处理

近年来,由疲劳驾驶引发的交通事故时有发生。有调查数据显示,全球每年至少有100多万人死于各种交通事故,其中由疲劳驾驶引发的事故高达15万起,造成直接经济损失125亿美元。在我国,因疲劳驾驶而造成的交通事故约占总数的20%,特大交通事故的40%以上,以及交通死亡率的82%[1]。目前在驾驶员疲劳检测方面的研究主要是针对驾驶员的外部行为,生理信号以及车辆参数。外国学者Knpling等人通过监测驾驶员眼部的活动,例如眼睛的开闭与转动,来判断驾驶员的疲劳程度。PERCLOS方法正是出于这样一种思路。

本文将采用数字图像处理的方法对驾驶员进行疲劳检测,并对基于肤色模型的人脸识别算法进行改进,从而对眼部图像进行提取,同时保证算法的精度。

1 图像预处理

光照对于人脸图像的影响非常大,从而使算法产生误判,所以有必要采用同态滤波器对图像进行预处理。同态滤波算法能够在频域中对图像亮度进行压缩,同时增强图像的对比度。通过这种算法,图像的亮度将被调整,从而解决各部分照明不均的问题。明亮区域的图像细节不会被损失,并且暗区的图像细节会得到增强,光线不足对图像造成影响将被很好地弥补[2]。经过同态滤波后,再把图像作灰度化处理,之后再作直方图均衡。这样一来,每个灰度级上都会有图像的像素信息分布,且概率密度相对平均,从而使图像的对比度在整体上得到了增强[3]。

2 人脸识别

2.1 基于肤色模型的人脸识别

作为人脸的一大特征,肤色不会受头部姿态、面部表情以及部分遮挡的影响,近年来被广泛运用于人脸检测[4,5]。人脸检测往往先从肤色入手,通过对肤色的识别,脸部的图像信息将与背景图像分离,之后再进行后续的特征提取与识别。

2.1.1 肤色的RGB模型及其归一化

在正常光照下,各点的像素值满足R>G>B;当光线过暗时,有R>B>G;在极少的情况下会有R

根据这个模型构造出的识别掩模见图1。可以看出,尽管面部皮肤能够基本完整地识别出来,很多非皮肤区域也被误判为脸部图像,因此单靠RGB模型来识别人脸是不合理的,此时需要结合其他肤色模型。

图1 RGB肤色模型识别结果Fig.1 Recognition of RGB skin color model

Soriano在2000年提出了归一化RGB空间中肤色像素的多项式模型[7],2003年Chiang对此进行了改进[8]。多项式模型与统计肤色模型(如高斯模型)相比,复杂而繁琐的矩阵运算可以省去,从而能够十分可观地降低算法的复杂度。

多项式模型由两个r-g平面的二次多项式与一个圆方程构成:

fupper(r)=aur2+bur+cu

(1)

flower(r)=alr2+bl+cl

(2)

W(r,g)=(r-0.33)2+(g-0.33)2

(3)式中,系数au,bu,cu,al,bl和cl分别等于-1.3767,1.0743,0.1452,0.7760,0.5601和0.1766。

在RGB空间下,多项式(1)与(2)分别用来估计肤色像素的上下边界分布。同时为了将白色的像素点从图像中剔除,此处也定义了圆方程(3)。肤色像素在R轴上的分量应该落在区间[0.2,0.6]的范围内。因而在多项式(1)(2)与圆方程(3)的基础上,再遵循如下四条规则,即能提取出肤色图像:

g>flower(r)&g

(4)

W(r,g)≥0.04

(5)

r>0.2&r<0.6

(6)

R-G>20

(7)

用这个模型进行人脸识别,可得到图2中的两组结果。

图2 算法改进后的人脸识别结果Fig.2 Results of face recognition by improved algorithm

2.1.2 肤色的HIS模型

[9],通过实验,可以得到如下HIS模型的实验结果,图3的两组结果就是通过上述规则进行识别后的图像。每组中的左图为原图像,中图为光线均衡后的图像,右图为根据HIS肤色模型规则识别后的图像。从实验结果来看,人脸识别的效果不如2.1.1中的归一化RGB模型。由于文献[9]中给出的阈值只是一个统计值,实际上针对不同的图像,有必要对阈值进行调整,以获得最佳效果。

图3 HIS肤色模型的识别结果Fig.3 Results of HIS skin model recognition

2.2 基于形态学人脸识别的提取和改进

通过观察以上人脸识别的掩模结果可知,不管采取哪种方法,最终的识别结果都会或多或少地出现一些成簇的黑白点,这是由人脸肤色的特殊性决定的。为了去除这些黑白点,可以采用腐蚀算法。

2.2.1 腐蚀算法

根据腐蚀算法,得到以下结果。

图4 腐蚀算法Fig.4 Corrosion algorithm

图4中左图为原始彩色图像,中图给出的是基于归一化RGB肤色模型的人脸识别结果,右图是经过20次腐蚀算法处理后的结果。可以看到,通过腐蚀算法的处理,面部的黑色像素点以及眼睛、眉毛等部位的黑色像素点都被腐蚀得相当干净。由于背景区域中黑色像素也或多或少地受到腐蚀算法的影响,因此背景区域中的白色像素点也被一定程度地放大;同时面部轮廓也被扩大。这样一来就需要解决如下两个问题,首先是将背景区域中的杂质像素去掉,其次是把面部轮廓缩小。这里考虑使用腐蚀算法的逆运算——膨胀算法。

2.2.2 膨胀算法

图5中,右图为对左图进行20次膨胀算法后的结果。从中可知,左图背景区域的白色杂质点完全消失,而且人脸的轮廓被明显缩小。

图5 膨胀结果Fig.5 Results of corrosion algorithm

Matlab环境下的相关代码如下:

se=strel(′disk′,5);

fori=1∶20

AA2=imclose(AAAA,se);

End

2.3 人脸识别的结果

通过以上算法,最后可以得到一个图像掩模,将其与原始图像的像素矩阵进行“与”运算,就能提取出面部的图像信息,如图6。

图6 面部图像提取Fig.6 Extraction of face image

图6中,左图为原始图像,中图为未经过腐蚀和膨胀运算的提取结果,右图为最终结果。

3 人眼检测

3.1 人脸图像的切割

提取到面部图像后,先进行粗略的切割,从而降低后续处理的复杂度。切割后的图像如图7,左图与中图为正常状态下检测到的人脸图像,右图为疲劳状态下的人脸图像。

图7 不同状态下的人脸图像Fig.7 Face image of different situations

3.2 利用投影的方法对眼部区域定位

面部图像中,灰度最大的是眼部区域。可以考虑先将脸部图像作灰度化处理,再把灰度图像二值化,最大程度地保留眼部的图像信息。

3.2.1 投影定位方法

图8(a) 仿真结果Fig.8(a)Simulation result

图8(b) 仿真结果Fig.8(b)Simulation result

对图7中正常状态下的两幅脸部图像作二值化处理,再将处理结果进行投影,结果为图8(a)与图8(b)。水平投影为左图,右图为垂直投影。四幅图中的极值位置对应眼睛与眉毛在脸部图像中的坐标。眼睛与眉毛的横向位置由水平投影的极值点给出,纵向位置则由垂直投影的极值点给出。取两条线的交点,即可获得眼部图像的区域。

3.2.2 改进算法,分辨眼部与眉毛所在区域

眉毛与眼睛的区别在于,图像二值化后,眉毛区域的下方会比眼部区域多出黑色的像素点,由此可对两者进行区分。对左眼区域的算法如下:

flag=0;

fori=leftheight:leftheight+a/2

memory=flag;

ifleft(i,flagleft)~=left(i-1,flagleft)

flag=flag+1;

电网调度中的监控系统是自动化的电网调度系统能够安全、高效运转的的重要组成部分。为了适应电网调度自动化的需要,目前已经引进了现代化的监控手段和设备,然而在使用的过程中还存在两种错误倾向:一种是将一切都寄托在设备上忽视了在监控系统运行中人的作用,另一种是仍然采用传统的监控技术,将新式技术装备束之高阁。这两种错误倾向的存在会严重影响先进设备优势的发挥,不利于电网调度的安全高效。

end

ifflag==2

leftheight=i;

break;

end

end

flag=0;

图9 改进后的眼部图像识别结果Fig.9 Recognition of eye area by improvedalgorithm

算法思路为,从检测到的人眼位置开始,依次向下判断像素的值,直到图像中间位置为止。如果检测到像素值从1变为0,又变为1,或者是直接从0变为1,则之前检测到的应该是眉毛所在的区域,否则可确认之前检测到的是眼部区域。

4 结 语

本文通过对比两种肤色模型下的人脸图像提取方法,在MATLAB环境下对算法进行实验,并作出改进,采用膨胀与腐蚀算法提取出完整的脸部图像;之后在人眼检测中,采用匹配投影的方法,对眼部与眉毛区域进行分辨,提高了识别精度。

参考文献:

[1]万静,袁泽,张雪超.复杂背景下基于人脸的自适应肤色检测[J].计算机应用与软件,2016,33(11):148-152.

[2]何俊,房灵芝,蔡建峰,等.基于ASM和肤色模型的疲劳驾驶检测[J].计算机工程与科学,2016,38(7):1447-1453.

[3]周利琴,谷林.基于高斯肤色模型的人脸区域及下巴检测[J].西安工程大学学报,2015,29(6):751-755.

[4]盛光磊,王丽娟.基于肤色模型与改进Adaboost算法的人脸检测[J].软件导刊,2015,14(6):180-182.

[5]Dalrymple K A, Duchaine B. Impaired face detection may explain some but not all cases of developmental prosopagnosia[J].Developmental Science,2016,15(3):440-451.

[6]Ban Y, Kim S K, Kim S, et al. Face detection based on skin color likelihood[J]. Pattern Recognition,2014,47(4):1573-1585.

[7]Hong S H, Lee J W, Lama R K, et al. Real-time face detection and phone-to-face distance measuring for speech recognition for multi-modal interface in mobile device[J]. Multimedia Tools and Applications,2016,75(12):6717-6735.

[8]宋凌怡.基于肤色模型的人脸检测与人眼定位[J].吉林大学学报理学版,2015,53(6):1246-1250.

[9]姜兆普,许勇,赵检群.基于眼部特征的疲劳检测算法[J].计算机系统应用,2014,23(8):90-96.

Research on the detection of driver’s fatigue based on image processing

LIU Muzhou,WANG Zhong

(School of Electrical and Information Engineering,Sichuan University,Chengdu 610065,China)

During the processing of extracted image of driver,the homomorphic filter was used to enhance the contrast of the image,and then the histogram equalization method was used during the preprocessing.Methods based on RGB and HIS skin color model,as well as corrosion and swelling algorithms were all used to get the image of driver’s face.Finally,detection of the eye was achieved by vertical and horizontal projection,image of the eyebrow being distinguished at the same time.

histogram equalization;face recognition;recognition of human eyes;image processing

1672-7010(2017)01-0059-05

2016-11-10

刘牧洲(1993-),男,湖南新化人,硕士研究生,四川大学电气信息学院,从事信号与信息处理研究

TP391.41 < class="emphasis_bold">文献标志码:A

A

猜你喜欢
肤色眼部人脸识别
人脸识别 等
Conversation in a house
揭开人脸识别的神秘面纱
人的肤色为什么不同
为什么人有不同的肤色?
人脸识别技术的基本原理与应用
为什么要做眼部检查
戴眼罩有助消除眼部疲劳
如何消除用电脑后的眼部疲劳
肤色检测和Hu矩在安全帽识别中的应用