Bayesian Face Revisited A Joint Formulation
贝叶斯在人脸识别中的作用
人脸识别问题是多类小样本问题,因此直接用人脸图像作为模式进行贝叶斯分类难以实现。用两幅图像灰度差作为模式矢量,若x1,x2属于同一人则称为类内模式,不同人则为类间模式。从而将人脸识别的多分类问题转化为和的二分类问题。
如果S(△)>1/2这认为属于同一个人
通过最大后验概率(MAP)理论,我们可以通过求P(△|Hi)来代替S(△),识别方面概率差别不大,但运算速度确有很大提高。
测试的对数似然比为:
如果P(△|Hi)很大,P(△|He)很小,r值很大,则判断为同一个人;
如果P(△|Hi)很小,P(△|He)很大,r值很小,则判断为不同人;
如果,两者同时很小,或很大,这其中一个分类错误,无法断定。
如上图,class 1 代表 两种脸为同一张脸,class 2 代表两种脸不是同一张脸。贝叶斯方法是基于给定两张脸的差分X-Y模型。把两种脸的2维空间投影到一维空间。
模型的差分X-Y等于2维空间的点投影到一维上,再验证两张脸。虽然能捕捉主要的信息,但在上图投影在原点范围是不可分的。就像上面分析的,两种条件下,有一种条件分类失败,就会让最后验证值R不确定,造成不可分Inseparable。
因此本论文,提出直接在(x1,x2)联合下建立2维模型,而且在同样的框架下-贝叶斯分类。算法的具体思路:1.求(x1,x2)的概率分布假设分高斯分布。2.模型、用EM-like算法训练参数。3.每个脸等于两个独立的潜在变量之和,不同人的脸的变化+相同人脸的变化。4.给定学习模型,我们获得联合分布(x1,x2),再log可能的闭合表达比例r,能在测试阶段获得有效的计算。
A Naive Bayesian
(x1,x2)概率分布假设为高斯分布,然后求P(x1,x2|Hi),p(x1,x2|He),这两种概率分布P(x1,x2|Hi)=N(0, ∑I),p(x1,x2|He)= N(0, ∑E)。再用R求两种概率的商,来验证x1,x2的相似性。 得到的结果后面验证要比传统的贝叶斯人脸好。上面这种方法是从统计数据中,直接训练协方差矩阵∑I,∑E。有两个因素限制了贝叶斯性能:
1.数据集中训练样本不完全独立,这∑E不是(blockwise)块对角线矩阵。而上面的公式要求x1,x2相互独立
2.人脸特征为d维特征,那么协方差矩阵为高于2d维的矩阵。
A joint formulation
左图:是不同人的脸变化分布 右图:是同一个人的脸变化分布。
在左边,一个人的人脸有且只有一张,特征成高斯分布。右边人脸空间是同一个人的脸变化分布,也成高斯分布。左右空间是相互独立。每个人脸对象是左identity和右intra-personal variation之和所以每个人脸可以表达为:
x = µ+ ε
其中µ表示人脸的区分特征,就是人与人之间的差异,ε表示同一人脸自身的变换量(姿态,光照,表情),x为去均值后的人脸,如x1或x2.显然,由于µ,ε为高斯分布N(0,Su),N(0,Se)(Su,Se为未知的协方差矩阵),以上这些特征和相关假设作为人脸先验知识。
Model learning
模型主要训练Su,Se,来求r(x1 ,x2 )。Su,Se可以很好近似逼近。用EM算法来求Su,Se。
首先设定,人数为N,每个人相应人脸张数为m(这里每个人的m不一样。比如这篇paper提供的WDRef数据集里,m的范围是2~40)。每一张人脸特征维数为d。
1. 计算所有人脸特征均值。(所有人脸特征个数为:N*m)
2. 所有人脸特征减去均值作为下面使用的人脸特征。(这一步是为了达到样本特征零均值的目的)
3. 用每个人的人脸特征计算其均值。
4. 所有人脸特征减去其相对应人的均值。(这里目的是将每个人特征拆分成上文所述的两部分µ,ε)
5. 分别计算两部分对应的协方差矩阵(注:Su对应样本个数为N,Se对应样本个数为N*m),用EM算法来求Su,Se。
Initialization:
Su,Se用随机的正定矩阵进行初始化,例如实际实现是可以用单位矩阵进行初始化。论文有对几类不同的初始化进行对比,结果发现对精度的影响不大。
E-step:
每个人有m张图像,潜在变量h=[u;e1;...;em]和x=[x1;...;xm]:
h服从高斯分布N(0, ∑h),这里∑h=diag(Su,Se,...,Se),x服从高斯分布N(0, ∑x)而:
求h在x条件下的最大期望,寻找参数下的潜在变量最大似然估计或最大后验概率的算法,期望公式:
(公式推导见http://www.zhihu.com/question/28086678)
直接计算期望的复杂度较高,辅助材料中对它进行了简化参见(论文'Supplemental material for 'Bayesian Face Revisited A Joint Formulation')
我们可以先计算:
因为,对于对角线上的元素我们可以得到:
这里m为每个人的的样本张数,对于非对角线上的元素,我们得到:
由上面两个公式可得:
把F代入得:
综上得到
首先通过已知的协方差矩阵Su,Se求解对应的F和G,然后由F,G,去求解对应的u,e两部分
M-step:
通过u,e计算Su, Se:
将Su,Se通过EM算法进行迭代,直至收敛。
6. 计算相识度
当r(x1,x2)大于一定阈值时认为是同一个人,否则则为不同人;