基于LBP模板匹配的人眼状态检测

2016-09-20 08:14付雅慧欧阳纯萍刘志明
现代计算机 2016年21期
关键词:像素点算子灰度

付雅慧,欧阳纯萍,刘志明

(南华大学计算机科学与技术学院,衡阳 421000)

基于LBP模板匹配的人眼状态检测

付雅慧,欧阳纯萍,刘志明

(南华大学计算机科学与技术学院,衡阳 421000)

提出一种基于LBP算子模板匹配的人眼状态检测方法。首先,对实验中用到的图像进行LBP算子计算,对样本图像和原始图像的各个像素点进行相似度计算,得相似度矩阵。之后再通过模板匹配,得出眼睛的精确区域。最后根据一定的比例系数和相应的公式来识别眼睛的状态。实验表明,基于LBP算子的模板匹配可以更好突出眼睛的纹理特征,从而得到更高的正确率。

眼睛状态检测;LBP;模板匹配

0 引言

现如今社会压力越来越大,疲劳工作的人越来越多,而许多恶性事件正是由于疲劳工作引起的。

通过检测人眼睛的状态可以判断人是否处于疲劳状态下,从而可以做出预警工作。同时眼睛的状态还可以应用于活体识别等生物领域。因此,对于人眼状态的检测是一项非常有意义的研究课题。

目前对于人眼状态的判断的研究主要有以下几种方法:

(1)基于Hough变换的方法

当人的眼睛睁开的时候,虹膜是清晰可见的,而虹膜又是圆形的,所以可以用基于Hough变化的方法来检测圆形,从而来检测是否有虹膜。但是这种方法很大程度上依赖于已经确定的人眼的范围,并且会受到眼睫毛、眼睑等各方面的干扰,当眼睛睁开的范围较小时,虹膜不是完整的,对圆形的检测有干扰,正确率随之下降。基于最初的Hough变化曹菊英[1]提出了通过水平投影和Hough变化的组合检测的方法,这种方法的正确率有所提高,但是这种方法受到光照的影响很大。

(2)基于颜色特征的方法

眼睛睁开时和闭合时的颜色是有着明显的不同的,睁开时人眼内有大量的黑色,而闭合时眼睛部分基本接近于肤色。因此Pooeh.R.Tabrizi[2]认为可以通过统计眼睛内的白色色素的比例直接判断眼睛的状态,但是这种方法会受到光线和周围环境的影响,因此准确率还有待提高。

(3)其他方法

杨英[3]刘艳丽[4]等提出了基于神经网络的状态检测;秦华标[5]提出了基于红外光源的状态检测;刘春辉[6]提出了基于模板匹配的方法。以上的这些方法都可以用于眼睛状态的检测。

本文使用的是基于LBP的模板匹配检测方法。是将LBP计算和模板匹配组合起来的一种方法,通过将原有图像转换为LBP图像,突出其边缘的特征,进而进行模板匹配,使得模板匹配时特征更加明显,匹配得到的结果更加准确。此方法不受光线和外界环境的影响,可以准确地判断眼睛是睁开还是闭合。

1 眼睛状态检测系统框架设计

对眼睛状态的检测是指判断当前图像人的眼睛是处于睁开状态还是闭合状态,根据这一目标主要开展以下工作:(1)对所有的图像进行灰度转换和高斯滤波预处理。(2)将得到的图像进行LBP算子计算,转为LBP图像。(3)通过各个像素点的LBP值计算得到相似度矩阵,从而计算出两幅图像的相似度。(4)根据图像的相似度值和相应的公式判断得出眼睛的状态。

图1 系统框架设计

2 眼睛状态检测方法

2.1 图像预处理

在实验开始前,应对要用到的图像进行预处理,LBP计算是以像素点的灰度值进行比较,所以应将所有的图像转化为灰度图。为了使图像更加细腻,我们对得到的灰度图进行去噪处理,即将其进行高斯滤波转化。经过以上两步预处理后的图像就可以用于LBP计算了。

2.2 LBP 介绍

LBP指局部二值模式,英文全称:Local Binary Patterns。主要用于纹理特征的提取,而且是针对局部图像的纹理特征进行提取。

原始的LBP算子是以3×3大小的窗口为基础,以窗口中心点像素为阈值,与其周围8个点的像素进行比较,如果周围点的像素值比中心点小,则该点位置标记为0,否则标记为1。这样便可得到由周围点组成的一个8位二进制值(通常转化为十进制),该值就是窗口中心像素点的LBP值,可以用来表示该区域图像的纹理特征。如图2所示。

将得到的二进制值转换为十进制便可以用来代表该点的LBP值,用于以后的计算。

LBP算法还经过不断的改进和优化,有圆形LBP算子、LBP旋转不变模式、LBP等价模式等,我们的系统采用原始的3×3 LBP算子,所以对其他的方法不予过多的介绍。之所以采用LBP算子来提取纹理的特征,是因为其不会受到光线的影响。它是与周围像素点进行对比,得到像素差值,在同一幅图像中如果收到光线影响,那么所有的点都会受到光线的影响,但它们之间还是保持着固定的差值,这便使得LBP的结果是准确的,不会随着光线的改变而改变。

图2 LBP算子计算

2.3 图像匹配

根据图像相似度来确定两幅图像是否匹配,图像的相似度可以用LBP矩阵来进行计算,每一幅图像通过计算各个像素点的LBP值都可以得到一幅LBP矩阵。对矩阵中的每个点都进行如图3的计算:

图3 相似度计算

对于其中的两个像素点的LBP值进行异或运算,若异或为0,则相似度加1。如上图所示,这两个像素点相似度为2。计算出每个像素点的相似度之后便可以得到整幅图像的相似度矩阵,将相似度矩阵内所有值相加便得到两幅图像的相似度,用于后期眼睛状态的判断与比较。

2.4 识别眼睛状态

经过图像匹配之后,便可以识别眼睛的状态,这里将眼睛状态分为两种,睁眼与闭眼。本系统使用的睁闭眼样本如图4所示,将摄像头采集到的眼睛部分与睁闭眼样本进行图像匹配,使用2.3图像匹配中介绍的方法。

首先我们可以用OpenCV的haarcascade级联分类器确定出眼睛的大致位置,然后用睁眼和闭眼的样本和当前位置匹配,得到相似度最高的睁眼和闭眼的位置,分别记其相似度为SO和SC,令S=SO-SC。若眼睛处于睁开状态则S达到最大值S_MAX,若眼睛处于闭合状态则S达到最小值S_MIN。我们需要确定一个阈值,使得可以判断出何时为睁眼何时为闭眼。阈值的公式如下:

Threshold=S_MIN+(S_MAX-S_MIN)×Ratio

其中Ratio为睁闭眼分界的系数,可以根据睁闭眼样本的情况自行确定,0≤Ratio≤1。当S≥Threshold时,眼睛为睁开状态;否则,眼睛为闭合状态。

图4 睁闭眼样本

3 系统实现和结果

3.1 改变图像尺寸

因为样本的尺寸是固定的,而摄像头采集的视频中人脸大小是随着人脸与摄像头间距离的变化而不停变化着的,所以不能直接用摄像头采集到的图像去和样本进行匹配。一般情况下人的眼睛和脸的尺寸大小是成一固定比例,我们可以选择固定样本的尺寸,改变摄像头采集的图像的尺寸,反之,也可以。在本系统中使用前者,样本图像的尺寸是知道的,通过眼睛和人脸的比例关系计算出应将摄像头采集到的人脸图像调整为多大尺寸。

3.2 进行LBP计算

进行LBP计算前需对图像进行预处理。首先将原始图像转化为灰度图,得到灰度图 如图7。然后对灰度图进行高斯滤波处理,去除图像的噪声得到高斯滤波后的图像,如图8。

图5 原始图像

图6 获取人脸及改变尺寸图像

图7 灰度图

图8 高斯滤波图

经过这两步预处理之后,对图像进行LBP计算,根据上述方法,计算出样本和采集到的图像的LBP值。

图9 样本睁眼LBP图

图10 原图睁眼LBP图

图11 样本闭眼LBP图

图12 原图闭眼LBP图

3.3 图像匹配

根据计算出的LBP值,在眼睛的大致区域内进行相似度匹配,用2.4所述的方法,相似度最高的地方便确定为眼睛的精确位置。根据得出的眼睛的精确位置,进行眼睛状态的判断,分别用睁闭眼的样本和采集到的图像进行匹配,根据2.4中提到的公式,来判断是睁眼还是闭眼。

3.4 实验结果

图13

为了检测实验效果,对班级30多名同学进行了眼睛状态的测试。每个同学分别录制了一段1分钟长的视频,其中前40s睁眼,后20s闭眼。将视频分解得到了650W帧的图像,通过程序分析,睁眼图像约350W张。实验正确率达到80%。

4 结语

本文研究了对眼睛状态的识别算法,通过将原始图像转换为LBP图像,分别计算图像与睁闭眼样本的相似度,而后进行模板匹配,得出眼睛的状态结果。但是当眼睛睁开的程度较小的时候,睁眼和闭眼的图像差别不是很大,匹配的时候也会出现不是很准确的情况,所以下一步的工作可以考虑使用改进的LBP算子计算方法,使得特征更加突出。同时对于睁闭眼的临界系数可以通过大量的实验调整到一个最合适的值。

[1]曹菊英,赵跃龙.基于水平投影和Hough查找圆法的人眼状态识别研究[J].科学技术与工程,2007(09)

[2]Pooneh.R.Tabrizi,Reza.A.Zoroofi.Open/Closed Eye Analysis for Drowsiness Detection[C].Image Processing Theory,Tools&Appli cations,2008.IPTA 2008.First Workshops on.23-26 Nov.2008 Page(s):1-7.

[3]杨英,盛敬,杨佳,周巍.基于神经网络的驾驶员觉醒水平双目标监测法[J].东北大学学报(自然科学版),2007(03)

[4]刘艳丽,张恒,刘觉夫.基于眼部状态分类的驾驶员疲劳监测方法研究 [C].Control and Decision Conference,2008.CCDC 2008. Chinese 2-4 July 2008 Page(s):2257-2260.

[5]秦华标,刘军,林建文.一种红外条件下的新型眼睛状态识别算法[J].光电子·激光,2013(12)

[6]刘春辉.基于模板匹配和LK的人眼跟踪研究[D].天津大学,2012.

Eye State Detection Based on LBP Template Matching

FU Ya-hui,OUYANG Chun-ping,LIU Zhi-ming
(School of Computer Science and Technology,University of South China,Hengyang 421000)

Presents the state of the eye detection method based on a LBP operator template matching.First,the image used in the experiment LBP operator is calculated for each pixel of the original image and the sample image similarity calculation to obtain similarity matrix.After through template matching,draws precise regions of the eye.Finally,according to a certain scale factor and the corresponding formula to identify the state of the eye.Experimental results show that the template matching based on LBP operator can better highlight the texture characteristics of the eye,resulting in higher accuracy.

Eye State Detection;LBP;Template Matching

1007-1423(2016)21-0035-04

10.3969/j.issn.1007-1423.2016.21.008

付雅慧(1994-),女,河北省张家口人,本科生,研究方向为计算机图像处理

欧阳纯萍(1979-),女,湖南衡阳人,副教授,硕士生导师,研究方向为自然语言处理、语义网

刘志明(1972-),男,湖南浏阳人,教授,硕士生导师,研究方向为大数据分析、知识工程

2016-05-04

2016-07-12

湖南省哲学社会科学基金(No.14YBA335)

猜你喜欢
像素点算子灰度
采用改进导重法的拓扑结构灰度单元过滤技术
图像二值化处理硬件加速引擎的设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于局部相似性的特征匹配筛选算法
Domestication or Foreignization:A Cultural Choice
Arduino小车巡线程序的灰度阈值优化方案
基于像素点筛选的舰船湍流尾迹检测算法
一类算子方程的正算子解问题的研究
基于canvas的前端数据加密
QK空间上的叠加算子