一种眼睛状态检测的组合方法

点赞:15837 浏览:69962 近期更新时间:2024-01-29 作者:网友分享原创网站原创

摘 要: 眼睛状态检测具有广泛的应用.为克服目前单个算法的不足,进一步提高眼睛状态检测的准确率,在此首先介绍了2种眼睛状态检查方法,即模板匹配方法和投影方法,然后对这2种方法进行组合提出了一种新的组合方法.组合方法首先利用模版匹配方法对眼睛状态做出判断,然后通过与预先设定的阈值比较,对第一步无法做出判断的图像再利用投影法进一步判断.通过对300个眼睛图像进行检测,准确率达到了94.8%.试验结果表明了该组合方法较单个检测方法具有更好的可靠性和准确性,同时适中的复杂性也说明该算法的可行性.

关 键 词 : 眼睛状态检测; 模板匹配; 水平投影; 组合方法

中图分类号: TN96434 文献标识码: A 文章编号: 1004373X(2013)08010103

0 引 言

眼睛是人脸面部最主要的组成部分,眼睛状态的检测算法的应用范围也越来越广泛.例如,针对机车驾驶员的疲劳检测中,可以通过眼睛状态变化的检测及时反映驾驶员的疲劳情况,有效防止交通意外的发生;在人脸识别过程中可以通过眼睛状态检测,判断所取人脸是否为活体.此外,通过眼睛状态还可以为表情识别和人机接口提供大量的信息.目前,眼睛状态检测方法有很多,综合来说可以把它们分为2类[1]:一种是基于特征分析的眼睛状态检测方法;另一种是基于模式分类的眼睛状态检测方法.基于特征分析的方法主要有模板匹配方法、投影方法、检测瞳孔[2]、Hough 变化检测虹膜[3]等.基于模式分类的检测方法主要有神经网络[4]、支持向量机(SVM) 、隐马尔可夫模型(HMM)[5]等方法,此类方法根据样本自动学习规则或知识的方法将眼睛状态检测的问题转化为判断图像区域是睁眼还是闭眼的分类问题.

这些方法各有优势,但也存在明显不足:对人脸、偏转角度、背景、光照等有一定的条件制约;计算量偏大,处理较慢等.

针对这些问题有研究人员采用组合算法来提高检测性能,李英等提出了眼睛状态检测的组合方法[6].该方法是将灰度模板的方法、Fisher 方法、投影的方法、找眼睛上眼睑的方法以及Hough变化的方法相结合来检测眼睛状态,提高了抗光照影响能力和检测的准确率.但是该方法计算复杂而且费时,因此不能适用于有实时性要求的检测系统.本文提出了一种新的组合方法即通过模板匹配方法和投影方法相结合实现眼睛状态的检测,以达到充分利用单个算法的优点来提高检测性能的目的.实验结果表明该方法能有效地提高眼睛状态检测的准确率,同时满足检测系统实时性的要求.

一种眼睛状态检测的组合方法参考属性评定
有关论文范文主题研究: 关于驾驶员的论文范例 大学生适用: 硕士毕业论文、自考毕业论文
相关参考文献下载数量: 32 写作解决问题: 如何写
毕业论文开题报告: 论文任务书、论文设计 职称论文适用: 技师论文、职称评初级
所属大学生专业类别: 如何写 论文题目推荐度: 优质选题

1.模板匹配方法和投影方法介绍

1.1 模板匹配方法

模板匹配[7]基本原理是在图像的搜索区内逐点平移参考模板图像,遍历搜索区内的每一个位置点,同时根据某个相似性测度原则,计算搜索区内该位置点的图像区域和参考模板的相关值,然后根据相关值的大小来判定跟踪点的位置.

应用模板匹配方法来判断眼睛的睁开和闭合状态算法简单且相对精确度较高,在灰度空间,通过计算被检图像和2个状态模板的相似度来判断眼睛睁开和闭合状态,如果它和睁眼模板的相似度大于和闭眼模板的相似度就认为眼睛是睁开的,反之相反.

首先,制作睁闭眼的模板.睁眼模板通过选取100幅睁眼图像,利用缩放把它们变成尺度统一的标准图像,例如说[m×n].通常采用线性重采样插值等方法进行尺度变换,以保证人眼在图像平面中的尺度不变性[8].其次,将这些图像转化为灰度图像并它们进行灰度均匀化,也就是说, 找一个灰度直方图分布比较均匀的开眼图象, 使每幅图的灰度直方图都和此图象灰度直方图几乎一致.最后,将得到的这100幅图像灰度进行平均,就得到了睁眼的灰度模板.用同样的方法可得到闭眼的模板.如图1所示.

匹配计算过程中的相似度R可用式(1)表示:

[R等于i等于1mj等于1naijbiji等于1mj等于1na2ij12i等于1mj等于1nb2ij12] (1)

其中:

[A等于a11a12...a1nam1am2...amn],[B等于b11b12...b1nbm1bm2...bmn]

为了减少光线的影响, 将[A]和[B]做了归一化.将睁闭眼模板在被检图像上平移计算得到一系列相似度值,通过比较分别选取最大的值作为最终的2个相似度值,最后通过比较判断睁闭眼情况.

1.2 投影方法

投影方法的原理[9]:当人闭眼时,闭眼的边缘图通过投影会有两条足够接近的直线(近似),因此可以通过观察投影图像,如果在投影图像中能够检测到两条足够接近的直线,可以认为是闭眼,如果检测不到,可视为睁眼,或者通过其他方法继续检测.

检测步骤:首先,利用边缘提取算子从眼睛被检图像中得到眼睛边缘图;其次,将边缘图进行水平投影.最后,分析投影图,看看是否存在两个足够高的峰(本文实验中设置10个像素),且这两个高峰足够接近(本文实验中设置5个像素).(图2)如果同时满足以上条件,则判断为是闭眼;否则,视为是睁眼.

2.眼睛状态检测的组合算法

上述2种眼睛状态检测方法各有特点.模板匹配的方法其算法简单且相对精确度较高,但相对速度较慢,容易受光照条件影响.投影法检测眼睛状态速度较快,但精度不够高,容易受其他边缘信息影响.由于很多检测系统对检测算法的准确率具有较高的需求,而前面提到的单个算法都不能很好地满足其要求.因此,把上述2种算法进行了有效的组合,这样可以更好的利用每一种算法的优点,以提高检测算法的准确率.具体算法可分为2步:

第1步:利用模板匹配方法检测眼睛状态.检测设被检图像与睁眼模板的相似度为A1,与闭眼模板的相似度为A2,分别求出A1,A2,然后计算其差值的绝对值|A1-A2|.通过预先设置一个阈值K,如果|A1-A2|大于K,则直接得出判断结果,否则进入下一步. 第2步:通过投影法判断被检图像是否满足闭眼条件,如果满足判断为闭眼,否则视为睁眼.

组合算法检测流程图如图3所示.

3.实验结果及分析

虽然现在有很多的人脸数据库可以用来进行人脸检测和识别,但还没有公开的眼睛数据库用来进行眼睛状态检测,本文采用CASPEAL[10],人脸数据库中的图像,从中提取300幅不同光照条件和姿势的左眼图像(人的双眼状态基本相同),睁闭眼分别150幅.所有图像为灰度格式,大小为30×15,模板大小为20×10.部分图像如图4所示.

测试环境为intel Core i32100,3.1 GHz CPU,3 GB内存,操作系统为 Windows XP,在matlab 2010上实现.通过多次测试K取0.02时效果最好.实验结果表1~表3所示,表4为3种方法比较结果


从表3看出表1、表2中出现的错误判断在组合方法中得到了纠正.由表4比较结果看模板匹配方法有较高的检测率,同时耗时也较高,这主要是在计算相似度时比较耗时,模板匹配方法主要对半睁眼情况检测效果不好;投影方法受其他边缘信息影响而检测率比较低,但耗时也较少;组合算法的检测准确率达到94.8%,较单个算法有了明显提高,耗时上仅比模板匹配方法多了0.001 8 ms,总耗时0.012 1 ms也能满足对视频图像(视频图像30 f/s)检测的实时性要求.因此组合算法取得了预期效果.

4.结 语

文结合模板匹配方法和投影方法提出了一种新的眼睛状态检测组合方法,该方法首先采用模板匹配方法计算被检图像与睁闭眼的相似度的差值绝对值,再将差值同预先设定的阈值进行比较,来完成初步判断.最后对于那些第一步无法完成判断的图像(相似度很接近)再由投影方法进一步确认.实验结果证明了组合算法具有更好的可靠性和准确率.