Bayesian Face Revisited: A Joint Formulation论文笔记

论文笔记

Bayesian Face Revisited: A Joint Formulation

摘要

一种对贝叶斯人脸识别方法的改进。

问题

人脸识别问题主要分为人脸确认(verification)和人脸识别(identification),前者是确认两张脸是否食欲同一个人,后者用于确定人脸的身份。本论文主要处理verification问题。

问题描述:
  • 假设1:两张脸属于同一个人
  • 假设2:两张脸不属于同一个人

基于最大后验,通过对数似然比判断

r(x1,x2)=logP(Δ|HI)P(Δ|HE)r(x1,x2)=log⁡P(Δ|HI)P(Δ|HE)
两个前提

每张脸都由两个高斯隐变量表示:
- 固有身份变量
- 其他因素导致的变化

朴素公式

假设两张脸的联合分布为高斯的,即

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

其中ΣI,ΣEΣI,ΣE分别是同一个人和不同人的协方差矩阵。

这种方法直接从统计数据中直接训练得到协方差矩阵。有两个因素可能会限制效果:
1. 我们假设人脸特征为d维的特征,而我们需要从更高的维度空间(2d)中计算出协方差矩阵,由于训练缺乏足够多的独立的训练数据,所以我们得到的可能是一种不可靠的统计结果。
2. 由于数据集中训练样本不完全独立,因此∑E有可能不是(blockwise)块对角线矩阵。而上面的公式中要求x1,x2必须相互独立。

联合公式

人脸由两个高斯变量的和表征:

x=μ+ϵx=μ+ϵ

这里xx代表人脸,μ代表固有身份,ϵϵ代表脸部变化(光照,姿态,表情等)。

隐变量μμ,ϵϵ服从高斯分布N(0,Sμ),N(0,Sϵ)N(0,Sμ),N(0,Sϵ)

有了以上先验知识,{x1,x2}{x1,x2}的联合分布为一个零均值的高斯分布,两张脸的协方差为

cov(xi,xj)=cov(μi,μj)+cov(ϵi,ϵj),i,j{1,2}cov(xi,xj)=cov(μi,μj)+cov(ϵi,ϵj),i,j∈{1,2}

HIHI假设下,本征变量μ1,μ2μ1,μ2是相同的,而且ϵ1,ϵ2ϵ1,ϵ2是相互独立的,因此分布P(x1,x2|HI)P(x1,x2|HI)可以通过下式得到:

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

HEHE假设下,μ,ϵμ,ϵ都是独立的,因此分布P(x1,x2|HE)P(x1,x2|HE)可以通过下式得到:
ΣE=[Sμ+Sϵ00Sμ+Sϵ]ΣE=[Sμ+Sϵ00Sμ+Sϵ]

通过简单的推导,可以得到对数似然比的闭式解
r(x1,x2)=logP(x1,x2|HI)P(x1,x2|HE)=xT1Ax1+xT2Ax22xT1Gx2r(x1,x2)=logP(x1,x2|HI)P(x1,x2|HE)=x1TAx1+x2TAx2−2x1TGx2

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

这个对数似然比形式有三个有趣的性质:
1. 矩阵A和G都是负半定矩阵
2. 如果A=G负的对数似然比将会退化成马氏距离
3. 特征在经过任何的满秩的线性变化之后,这个对数似然比矩阵都是不变的
训练模型

可以使用LDA(线性判别分析)来得到协方差矩阵,不过为了更高的准确度,我们使用一个类似EM算法来求解

E步(Expectation)

对每一个有m张图像的物体,隐变量h=[μ;ϵ1;;ϵm]h=[μ;ϵ1;…;ϵm] 和观测值x=[x1;;xm]x=[x1;…;xm] 之间的关系为

x=Ph,where P=IIII000I000Ix=Ph,where P=[II0⋯0I0I⋯0⋮⋮⋮⋱⋮I00⋯I]

隐变量服从分布
hN(0,Σh)h∼N(0,Σh)

其中Σh=diag(Sμ,Sϵ,,Sϵ)Σh=diag(Sμ,Sϵ,…,Sϵ).

由此我们可以得到

xN(0,Σx)x∼N(0,Σx)

其中
Σx=Sμ+SϵSμSμSμSμ+SϵSμSμSμSμ+SϵΣx=[Sμ+SϵSμ⋯SμSμSμ+Sϵ⋯Sμ⋮⋮⋱⋮SμSμ⋯Sμ+Sϵ]

由观测xx我们可以得到隐变量hh的期望:
E(h|x)=ΣhPTΣ1xxE(h|x)=ΣhPTΣx−1x

直接计算上式的代价是很高的,空间复杂度是计算复杂度分别为O(m2d2),O(d3m3)O(m2d2),O(d3m3),不过利用结构特点,可以将空间复杂度和时间复杂度降低到O(d2),O(d3+md2)O(d2),O(d3+md2).
M步(maximization)

在这一步,更新参数{Sμ,Sϵ}{Sμ,Sϵ}的值:

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

其中μ,ϵμ,ϵ是E步中计算得的隐变量的均值
初始化

在本实现中,SμSϵ初始化为随机的正定矩阵。例如,可以从一些随机数据中得到的协方差矩阵作为初始值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值