转载网址

《Bayesian Face Revisited: A Joint Formulation》论文解读


这篇文章发表于ECCV2012,来自MSRA的孙剑组。论文原文见:

http://home.ustc.edu.cn/~chendong/JointBayesian/

概述

本文要解决的问题是获得人脸特征以后如何判断是不是同一个人。经典的贝叶斯人脸识别方法是为两个人脸的差异进行建模,但是作者看到这种方法降低了可分性。本文将两个人脸进行联合建模,并使用了一个先验条件简化了计算,模型的学习使用了EM算法。本文的方法优于经典的Bayesian face,在LFW数据集取得了92.4%的正确率。本文中人脸特征采用的是高维LBP特征(维度高达100k)。

Bayesian Face

两张人脸分别表示为表示两个人脸属于同一个人,表示两个人脸属于不同人。人脸验证问题就转变为将进行分类的问题,也就是判断的大小。根据贝叶斯公式: 


其中,先验概率,判断两个脸是不是同一个人只需要比较上面两个后验概率的大小。

将上面两个式子相除,可得: 


把似然比拿出来可以写成 

根据就可以判断两张脸是不是属于同一个人,若大于,可以认为是同一个人。根据实际要求,还可以调节的阈值。这种方法最后只需要求解

Joint Formulation

经典的贝叶斯脸方法是研究,而本文将两张脸进行联合建模。最后的人脸验证问题就变成了比较的大小,与上文一样,最后也可以转化为求解。此时的表示为 

A naive formulation

最简单的想法就是都是高斯分布:

这里的两个协方差矩阵可以从训练数据中得到。文章指出,这样有两个缺点:(1)如果人脸的特征维数是d维,那么协方差矩阵维数就是2d维,训练数据不足会导致结果不可靠;(2)数据不是完全独立的,导致不是块对角的。

A joint formulation

为了得到更精确的模型,本文引入了人脸表示的先验知识。

人脸验证:Joint Bayesian

图中左边表示人脸在特征空间上的分布,不同的人在特征空间上处于不同的位置。由于不同的角度、光照、表情等影响,同一个人在特征空间上并不是一个点,而是在一个位置的多个点组成。这样就可以把人脸这一随机变量变成两个独立随机变量的和。

其中,表示身份, 表示同一个人脸的不同的变化差异(角度、光照、表情等)。这里可以认为 

有了这个先验条件,就可以对进行表示。

由这个先验条件可以知道,也是0均值的高斯分布。

假设中,身份变量是相同的,差异变量是独立的。的协方差矩阵为: 

假设中,都是独立的: 


最终的似然比 

其中

这样求的任务就变成了求。只要求出这两个值就可以得到,就可以确定是不是同一个人。

Model learning

为了估计两个矩阵,文章使用了EM-like算法,和EM算法一样,分为E步和M步。

E-step

这一步是已知。对于一个人而言,他的是一个固定的值,多张照片就对应着多个值。 
假如一个人有m张照片,引入隐变量,那么:

当给定一个观察值为时,隐变量的期望值为:


结合作者给的补充材料,最终可以得到 

M-step

现在根据E-step中得到的值更新参数。由上面的E步可知,每个人都有一个对应的值和m个值,现有许多个人,那么就会有许多个和多个值,可以很容易的估计出

Initialization

第一次需要初始化,只要用一个随机的正定矩阵即可,比如随机数据的协方差矩阵。

结果

本文使用WDRef数据集进行训练,最终在LFW数据集上取得了92.4%的正确率。

人脸验证:Joint Bayesian

总结

本文主要解决的是获得人脸特征以后如何进行分类的问题,人脸特征提取仍然使用了之前的LBP和LE特征,文章的创新点在于将两个人脸表示进行联合建模。在人脸联合建模的时候,又使用了人脸的先验知识,将两张人脸的建模问题变为单张人脸图片的统计计算。本文数学推导众多,涉及到概率和矩阵的很多推导,我只写出了作者的一些关键结论,其中的更多推导需要结合论文和作者的参考材料才能继续进行。在DeepID中,最后获取特征以后也是使用了Joint Bayesian方法进行人脸确认。与别的方法相比,Bayesian方法仍有很强的生命力。

相关文章: