自动人脸检测原理

自动人脸检测原理

转载自:http://b2museum.cdstm.cn/identification/rljc-3.htm

   对人脸检测的研究最初可以追溯到 20 世纪 70 年代,早期的研究主要致力于模板匹配、子空间方法,变形模板匹配等。近期人脸检测的研究主要集中在基于数据驱动的学习方法,如统计模型方法,神经网络学习方法,统计知识理论和支持向量机方法,基于马尔可夫随机域的方法,以及基于肤色的人脸检测。目前在实际中应用的人脸检测方法多为基于Adaboost学习算法的方法。

   Adaboost算法是一种用来分类的方法,它的基本原理就是“三个臭皮匠,顶个诸葛亮”。它把一些比较弱的分类方法合在一起,组合出新的很强的分类方法。

   例如下图中

自动人脸检测原理_第1张图片

   需要用一些线段把红色的球与深蓝色的球分开,然而如果仅仅画一条线的话,是分不开的。

a
b
c
d

图1

   使用Adaboost算法来进行划分的话,先画出一条错误率最小的线段如图1,但是左下脚的深蓝色球被错误划分到红色区域,因此加重被错误球的权重,再下一次划分时,将更加考虑那些权重大的球,如c所示,最终得到了一个准确的划分,如下图所示。

   人脸检测的目的就是从图片中找出所有包含人脸的子窗口,将人脸的子窗口与非人脸的子窗口分开。

   大致步骤如下:

   在一个20*20的图片提取一些简单的特征(称为Haar特征),如下图所示。

   它的计算方法就是将白色区域内的像素和减去黑色区域,因此在人脸与非人脸图片的相同位置上,值的大小是不一样的,这些特征可以用来区分人脸和分人脸。

自动人脸检测原理_第2张图片

   目前的方法是使用数千张切割好的人脸图片,和上万张背景图片作为训练样本。训练图片一般归一化到20*20的大小。在这样大小的图片中,可供使用的 haar 特征数在 1 万个左右,然后通过机器学习算法——adaboost 算法挑选数千个有效的Haar特征来组成人脸检测器。

自动人脸检测原理_第3张图片

   学习算法训练出一个人脸检测器后,便可以在各个场合使用了。使用时,将图像按比例依次缩放,然后在缩放后的图片的 20*20 的子窗口依次判别是人脸还是非人脸。

自动人脸检测原理_第4张图片

人脸检测的流程

   人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。

   目前人脸检测技术在门禁系统、智能监控系统中已得到了很好的应用。另外,目前的笔记本电脑中也陆续开始使用人脸识别技术作为计算机登录的凭证。近年来,在数码相机和手机中也集成了人脸检测算法,作为一个新的功能提供用户使用。在这些应用中,人脸检测都是发挥着至关重要的作用。

你可能感兴趣的:(自动人脸检测原理)