人脸验证:Joint Bayesian

转载网址

《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

两张人脸分别表示为 x1 x2 HI 表示两个人脸属于同一个人, HE 表示两个人脸属于不同人。人脸验证问题就转变为将 Δ=x1x2 进行分类的问题,也就是判断 P(HI|Δ) P(HE|Δ) 的大小。根据贝叶斯公式: 

P(HI|Δ)=P(Δ|HI)P(HI)P(Δ)
P(HD|Δ)=P(Δ|HD)P(HD)P(Δ)

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

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

P(HI|Δ)P(HD|Δ)=P(Δ|HI)P(Δ|HD)

把似然比拿出来可以写成 
r(x1,x2)=logP(Δ|HI)P(Δ|HD)

根据 r(x1,x2) 就可以判断两张脸是不是属于同一个人,若 r(x1,x2)>0 P(HI|Δ) 大于 P(HE|Δ) ,可以认为是同一个人。根据实际要求,还可以调节 r(x1,x2) 的阈值。这种方法最后只需要求解 P(Δ|HI) P(Δ|HD)

Joint Formulation

经典的贝叶斯脸方法是研究 Δ=x1x2 ,而本文将两张脸 {x1,x2} 进行联合建模。最后的人脸验证问题就变成了比较 P(HI|x1,x2) P(HE|x1,x2) 的大小,与上文一样,最后也可以转化为求解 P(x1,x2|HI) P(x1,x2|HD) 。此时的 r(x1,x2) 表示为 

r(x1,x2)=logP(x1,x2|HI)P(x1,x2|HD)

A naive formulation

最简单的想法就是 P(x1,x2|HI) P(x1,x2|HD) 都是高斯分布:

P(x1,x2|HI)=N(0,ΣI)
P(x1,x2|HE)=N(0,ΣE)

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

A joint formulation

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

prior

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

x=μ+ϵ

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

μ=N(0,Sμ)
ϵ=N(0,Sϵ)
有了这个先验条件,就可以对 P(x1,x2|HI) P(x1,x2|HD) 进行表示。

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

HI 假设中,身份变量 μ1,μ2 是相同的,差异变量 ϵ1,ϵ2 是独立的。 P(x1,x2|HI) 的协方差矩阵为: 

ΣI=[Sμ+SϵSμSμSμ+Sϵ]

HE 假设中, μ ϵ 都是独立的: 

ΣI=[Sμ+SϵSμSμSμ+Sϵ]

最终的似然比 
r(x1,x2)=logP(x1,x2|HI)P(x1,x2|HD)=xT1Ax1+xT2Ax22xT1Gx2

其中
A=(Sμ+Sϵ)1(F+G)
(F+GGGF+G)=(Sμ+SϵSμSμSμ+Sϵ)1

这样求 P(x1,x2|HI) P(x1,x2|HD) 的任务就变成了求 Sμ Sϵ 。只要求出这两个值就可以得到 r(x1,x2) ,就可以确定是不是同一个人。

Model learning

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

E-step

这一步是已知 Sμ Sϵ μ ϵ 。对于一个人而言,他的 μ 是一个固定的值,多张照片就对应着多个 ϵ 值。 
假如一个人有m张照片 x=[x1;x2;...;xm] ,引入隐变量 h=[μ;ϵ1;...;ϵm] ,那么:

x=Ph,whereP=IIII000I0000

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

E(h|x)=ΣhPTΣ1xx

结合作者给的补充材料,最终可以得到 
μ=i=1mSμ(F+mG)xi
ϵj=xj+i=1mSϵGxj

M-step

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

Sμ=cov(μ)
Sϵ=cov(ϵ)

Initialization

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

结果

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

roc

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值