逐步求精的分层眼镜检测算法

时间:2024-08-06 22:41:33 硕士毕业论文

逐步求精的分层眼镜检测算法

  1.引言

逐步求精的分层眼镜检测算法

  眼镜是人脸图像最常见的佩饰物,自动判断图像中的人脸是否佩戴眼镜,并能计算眼镜位置和形状的眼镜检测方法,对提高人脸识别算法性能,人脸对象媒体生成具有十分重要的影响。
  由于受眼镜形状的多样性、眼睛特征的显著性以及图像质量等因素的影响,鲁棒的眼镜检测仍然存在许多难点。早期的眼镜检测主要采用图像处理和模板匹配的方法:根据像素灰度值的不连续变化来检测眼镜的下边框和眼镜鼻梁;通过两眼之间区域的边缘信息来检测眼镜;使用三维Hough 变换方法检测眼镜。这类方法计算简单,但容易受到噪声干扰,检测准确率较低。小波特征也被用来进行眼镜检测,但该算法对初始人脸位置的要求很高。
  本文依据类 Haar 特征和级联AdaBoost 目标检测思想,从样本学习的分类规则出发,提出一种逐步求精的分层眼镜检测方法。本文首先定位具有显著特征的眼睛区域,从而圈定眼镜检测的背景区域,以鼻梁上方的镜架横梁区域作为检测目标,从而克服了眼镜形状的多样性难点。与传统的直接检测算法相比,本文提出的眼镜检测算法在检测精度上有大幅度的提高。


  2.分类问题的样本选择规则

  目标检测判断某个检测窗口是否为检测目标,是一个分类问题,而眼镜检测就是两类分类问题。对分类问题来说,分类的复杂度取决于两个因素:来自同一类别的不同个体之间的特征值波动和属于不同类别样本特征值间的差异。说明正样本(检测目标)和负样本(检测背景)分布对分类器设计及性能的影响,当检测目标越复杂或者检测目标结构相对固定时,与检测背景的相似程度越低,正样本分布也越集中。相反,检测背景越单一,分布范围越小,负样本分布就相对比较集中。
  从上述规则可知,检测目标和检测背景对于目标检测性能影响很大,因此对检测目标及背景的选择可有效提高目标检测的准确率。
  眼镜检测的检测目标是眼镜,但由于眼镜的形状多样,镜框包括宽边、窄边甚至无框,而所有眼镜在鼻梁上方的镜架横梁区域特征比较一致,可选择该区域作为检测目标。
  选择眼睛作为检测背景,因为眼睛结构比眼镜结构复杂,定位眼睛要容易很多,而且根据眼睛位置确定检测目标,可以极大地缩小检测背景区域,提高眼镜检测精度。
  据此,一种逐步求精的眼镜检测方法的基本思想是:对一幅输入人脸图像,首先定位眼睛位置,估计眼镜检测的背景区域,然后用眼镜分类器进行眼镜检测。


  3.检测背景区域估计

  依据眼睛位置估计眼镜检测的背景区域,既可以排除眼睛干扰又缩小了检测的背景区域。用左眼和右眼位置分别作为检测背景区域的左右边缘,由于眼镜镜框横梁位于鼻梁上方的区域与眼睛位置基本平齐,可以根据眼睛的上下坐标估计该区域的上下边缘,确定在该区域内检测是否佩戴眼镜,从而实现人脸图像的眼镜检测。以下将叙述眼睛定位和如何根据眼睛位置确定背景区域。
  人眼定位采用基于统计的眼睛定位算法。首先依据类Haar 特征和级联AdaBoost 目标检测算法,训练产生左眼、右眼和双眼三个分类器。利用训练好的分类器进行在线检测。
  检测过程如图2 所示,输入一幅通过人脸检测并且旋转归一化到正面的人脸图像,通过积分投影方法将左半边脸和右半边脸分开,分别用左眼和右眼分类器在对应区域进行检测,同时用双眼分类器在上半部分人脸进行检测,最后根据左眼、右眼和双眼检测结果确定眼睛的精确位置。
  由于三个分类器同时使用,使得检测结果具有互补性,同时训练样本包含了各种眼睛情况,眼睛定位结果对光照、姿态及眼睛闭合等具有很强的鲁棒性,检测正确率高。
  根据眼睛位置将左右眼位置作为背景区域的左右边缘,眼睛的上下坐标作为区域的上下边缘,估计出检测背景区域。


  4. 眼镜检测

  在确定的检测背景区域进行眼镜检测的过程分为训练和检测两个阶段:依据样本选择规则,训练时选取的正样本为手工裁剪的位于鼻梁上方的眼镜镜框横梁区域,负样本依据眼睛定位结果裁剪出的背景区域,在训练过程中通过程序自动在上述背景区域随机裁剪出与正样本同样大小的区域作为负样本。
  正负样本确定后,采用类 Haar 特征和级联AdaBoost 的思想训练得到眼镜检测分类器。利用训练后的分类器在背景区域内进行眼镜检测,可以判断人脸图像是否佩戴眼镜。


  5. 实验结果及分析

  所提出的眼镜检测方法事实上是一种包括检测背景区域估计和眼镜分类的级联结构,其累积误差相当于两个分部误差的乘积,两部分的性能对于整体性能都有影响。因此,本节设计了两组实验对背景区域估计和眼镜分类两部分的性能分别进行仿真测试:(1) 选择BioID 眼睛测试数据库评估眼睛定位的准确率,从而验证检测背景区域估计的准确度;(2) 选择中科院人脸数据库测试眼镜分类器的检测性能。

  5.1 眼睛定位硕士毕业论文
  大部分研究人员常用的人眼定位测试图像数据库有 BioID 库和JAFFT 库:BioID 库由1521 幅人脸图像组成,人脸在光照、姿态、位置、旋转及眼睛状态等方面变化比较明显,对眼睛的定位难度明显高于JAFFT 库,因此我们选择BioID 库。
  可以看出Zhou 等的眼睛定位算法在BioID 库上的定位准确率为94.18% ,Tang 等[10]的算法在相同情况下的定位准确率为99.605% ,而本文提出的眼睛定位算法的准确率达到了99.737% 。因为本文提出的眼睛检测具有平面人脸旋转不变性,所以整体定位准确率要好于前两种算法,同时受光照、姿态及眼睛闭合状态等因素的影响较少,可以保证眼镜检测的性能。

  5.2 眼镜检测
  中科院人脸数据库中包含 2602 幅人脸图像,其中1309 幅佩戴眼镜,1293 幅人脸图像没有佩戴眼睛,选择该库测试眼镜检测算法的性能。对比实验设计如下:在检测到人脸图像并进行旋转归一化以后,不进行眼睛定位,直接检测眼镜,眼镜检测分类器将整个眼镜区域作为正样本,上半部分人脸作为负样本,训练得到分类器后,在中科院的数据库上直接检测;用本文提出的逐步求精眼镜检测方法,即先进行背景区域检测,然后进行眼镜检测。
  本文算法的性能比直接检测的方法好了很多,这是因为:1)本文算法避免了眼睛特征的干扰,缩小了检测的背景区域;2) 由于眼睛定位准确率很高,并且在定位失败时可以通过误差处理机制保证目标候选区域的正确性,这可以有效地降低眼睛定位失败对眼镜检测误差的累积。
  为了更有效地证明本文算法的高精度,给出本文提出的眼镜检测和直接的眼镜检测方法在中科院人脸数据库上的ROC 曲线。纵坐标表示在佩戴眼镜人脸图像中的检测正确率,横坐标表示在没有佩戴眼镜人脸图像中的检测错误比率。从图4 可以看出本文的方法要优于直接检测的方法。


  6. 结论

  本文在对基于类 Haar 特征和级联AdaBoost 的目标检测算法进行分析的基础上,结合目标和背景区域选择规则,提出一种逐步求精的分层眼镜检测方法。本文首先定位具有较高复杂度且易检的眼睛区域,根据眼睛位置计算鼻梁上方的眼镜镜框横梁区域,确定眼镜检测的背景区域,采用类Haar 特征和级联AdaBoost 训练得到眼镜检测分类器,完成在背景区域的眼镜检测。该方法充分利用了眼睛区域特征的显著性,克服了由于眼镜形状的多样性所带来的噪声干扰,有效提高了人脸图像眼镜检测算法的检测精度。

硕士专业提供工程硕士论文代写服务

【逐步求精的分层眼镜检测算法】相关文章:

基于MIMO的分层空时码检测算法研究06-15

若干种垂直分层空时码检测算法的研究及其性能比较10-19

话音激活检测(VAD)算法的研究05-21

MIMO接收端的ITS检测算法09-07

入侵检测模式匹配算法的研究与改进08-29

MCMC算法在MIMO系统检测中的应用09-24

自适应道路检测算法研究09-17

V-BLAST简化检测算法的研究06-01

V-BLAST检测算法的研究及性能分析10-03

MIMO系统中ZF及MMSE检测算法的研究07-03