基于隐马尔科夫模型的人脸识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于隐马尔科夫的人脸识别

1人脸检测及常用算法

人脸检测,指的是从输入的图像(或者视频)中确定人脸的位置、大小和姿态的过程, 是进行人脸识别的基础,也是实现人脸识别功能的一个关键环节。

人脸检测是一种计算机视觉中的模式识别问题,就是将所有的人脸作为一个模式,而非人脸作为另一种模式,人脸检测的核心问题就是将人脸模式和非人脸模式区别开来。人脸检测的算法主要分为两大类,基于先验知识的和基于后验知识的学习和训练的算法。

常见人脸检测的算法有:基于特征子脸人脸检测算法:该算法将所有人脸的集合视作一个人脸子空间,通过检测样本与子空间之间的投影距离检测样本中是否存在人脸;基于模板匹配的人脸检测算法:该算法先设计一个代表标准人脸的模板,将进行检测的样本与标准模板进行比对,通过考察样本与标准模板的匹配程度,设置合理的阈值来检测样本中是否存在人脸;神经网络人脸检测算法:该算法是一种学习算法,用于学习的训练集分为属于人脸图像的训练集和非人脸图像的训练集两类,通过学习从而产生分类器进行人脸检测;基于纹理模型的算法,对于人脸图像的灰度共生矩阵进行计算可以获得倒数分差、惯量相关特征这三个特征矩阵,然后通过迭代计算求得人脸图像矩阵中的参数。使用这种方法取得的模型就被称为人脸纹理模型。若人脸姿态有旋转,通过对眼睛进行定位可以计算出人脸的旋转角度或者使用投影直方图FFT 变换等方法确定人脸旋转的方向,再进行人脸检测。

1.1Haar 特征

Harr 特征是一种矩形特征,在特征提取时由四类特征组成特征模板—边缘特征、圆心环绕特征、线性特征和特定方向的特征。特征模板包括白色矩形和黑色矩形两种。白色矩形内像素和(Sum 白)减去黑色矩形像素和(Sum 黑)就是模板的特征值。Haar 特征反映的是图像中相邻矩形区域的灰度变化。

Haar 特征的每一个特征值feature 可以表示为:

()i N

i i r rectsum feature ⨯=∑=1

ω

其中i ω表示矩形的权重,()i r rectsum 表示矩形所包围图像的灰度值之和。Paul Viola 和

Michacl Joncs 提出积分图算法提高图像举行特征的计算速度。

对于对象中的任意一点()y x ,A ,其灰度值为()y x i ,,积分图()()∑'

≤≤'''=y y x x y x i y x ii ,,,,

经过对图片的一次遍历,就可以得到图像中每一个点的积分图的值。

假设需要计算矩形 D 的特征,其顶点为点 1、2、3、4。这样,矩形 D 的

特征为()()()()1324ii ii ii ii feature d +--=。

1.2AdaBoost

AdaBoost (the Adaptive Boosting Algorithm )算法是一种用于分类器训练的算法该分类器算法,是一种基于统计模型的迭代算法。核心思想在于将一系列弱分类(Basic Classifier )器通过一定的方式进行叠加(Boost )后形成一个分类能力很强的强分类器(Strong Classifier )。

首先,获得用于训练的样本库,样本库需包含正负样本。就人脸识别而言,即需获得人脸图片与非人脸图片,选择人脸图片时需考虑样本的多样性,选择非人脸图片时需要考虑样本是否具有代表性。在选取了合适的样本集合后对其进行循环处理,每次循环处理后可以得到一个假设。接下来对这个假设进行验证,得到使用该假设进行分类的错误率。在开始下一轮循环之前依据该错误率调整每个样本所占的权重。在实际训练过程中,第一次使所有样本的权重相同进行训练,从而得到一个弱分类器。然后使用这个得到的弱分类器进行人脸图片与非人脸图片的分类,得到分类结果。依据结果降低可正确分类的样本的权重,提高被错误分类的样本所占的权重再进行训练,从而得到一个新的分类器,之后重复上述步骤进行循环训练。这样,经过 T 次循环训练之后,就得到了T 个弱分类器,将这 T 个弱分类器经过加权叠加,就得到了强分类器,理论上将,无穷多个大于50%的弱分类器的联合,其分辨正确率可以达到100%。

1.3分类器

最初的弱分类器可能只是一个最基本的Haar-like 特征,计算输入图像的Haar-like 特征值,和最初的弱分类器的特征值比较,以此来判断输入图像是不是人脸。比较输入图片的特征值和弱分类器中特征,一定需要一个阈值,当输入图片的特征值大于该阈值时才判定其为人脸。训练最优弱分类器的过程实际上就是在寻找合适的分类器阈值,使该分类器对所有样本的判读误差最低。

具体操作过程:

1、对于每个特征 f ,计算所有训练样本的特征值,并将其排序。

2、扫描一遍排好序的特征值,对排好序的表中的每个元素,计算下面四个值: 全部人脸样本的权重的和t1; 全部非人脸样本的权重的和t0;

在此元素之前的人脸样本的权重的和s1; 在此元素之前的非人脸样本的权重的和s0

3、求出每个元素的分类误差)))11(0()),00(1min((s t s s t s r -+-+=,在表中寻找r 值最小的元素,则该元素作为最优阈值。有了该阈值,就生成一个最优弱分类器。

强分类器的诞生需要T 轮的迭代,具体操作如下: 1、归一化权重:

==

n j i

t i

t i t w w q 1

,,,

2、对每一个特征f ,训练一个弱分类器h ,计算此f 特征的加权错误率f e :

()i i i i f y p f x h q e -=∑θ,,,

3、选取具有最小错误率 f e 的弱分类器h

4、调整权重

i e t j i j i w w -+=1,,1β,其中0=i e 表示x 被正确分类,1=i e 表示被错误分类,t

t

t εεβ-=

1 5、级联成强分类器

(){

()else 21

1011∑∑===≥ττ

ααt t t

t x h x C

,其中t

t βα1log = 将多个训练出来的强分类器按照一定的规则串联起来,形成最终正确率很高的级联分类器。对于人脸需要进行多尺度检测,通常是不断初始化搜索窗口size 为训练时的图片大小,不断扩大搜索窗口,进行搜索。

级联分类器在进行串联时的原则是“先重后轻”,即将重要特征构成的结构比较简单的分类器放在前面,而后一级的分类器都比前一级使用更为复杂的矩形特征,由于靠前的分类器用于判断的特征相对简单,例如

只有一两个矩形框,这种分类器并不能满足人脸检测的需求,但是能够迅速筛选掉大量不是人脸的子窗口。这样,虽然后续分类器的矩形特征在增多,但是由于需要进行后续检测的子窗口的数量大为减少,整体计算量在减少,极大地提升了人脸检测的速度,并且保证了最后的得到的人脸检测结果伪正(false positive )的可能性非常低。

2人脸识别算法

人脸识别是对对某张特定人脸图片进行身份确认,关键在于在人脸共性特征中寻找不同人物的个性特征并以有效的算法(计算机可以理解并加以运算)进行描述和区分。常用的识别算法有:

1、基于几何特征的识别算法—1966 年,Bledsoe 就提出了基于几何特征的人脸识别算法,选取的几何特征是人脸面部特征点之间的距离和比例。

2、基于 PCA 的识别算法—输入的人脸图像描述为“特征脸”的线性组合,不同的人脸特性用构成该种线性组合的系数来进行描述,其关键技术是PCA

3、基于隐马尔可夫模型的识别算法—以二维离散余弦变换特征提取获得观察向量,构建起人脸的 EHMM 模型。之后,利用 EM (Expectation Maximization )算法(B-W 算法)进行训练,训练后得到每个人对应的 EHMM 模型。这样在识别阶段就可以计算得到人脸图片观察向量属于每个人物 EHMM 模型的概率,用于该概率进行比较,选择概率大者为匹配结果,从而完成识别工作。

其他的还有基于神经网络的识别算法、基于支持向量机识别算法、三维人脸识别算法等等。

相关文档
最新文档