人脸验证算法Joint Bayesian详解及实现(Python版)
Tags: JointBayesian DeepLearning Python
本博客仅为作者记录笔记之用,不免有很多细节不对之处。
还望各位看官能够见谅,欢迎批评指正。
博客虽水,然亦博主之苦劳也。
Bayesian Face Revisited: A Joint Formulation
============================
研究人脸识别方向快一年多了,虽没有什么大的成果,不过总归还算有些许小收获。
在下不才,未能像师兄张雨石 那般洋洋洒洒写下注:本文乃大水文,大神请勿逗留)。
我们知道,人脸识别有两个大方向:
Face Verification,判断两张人脸是否为同一个人。
Face Identification,从一个人脸库中找到给定的这张人脸对应的身份。
本文要重点介绍的Joint Bayesian 就是用来实现第一个(face verification)功能的。本文主要是针对Bayesian Face Revisited: A Joint Formulation 这篇文章的笔记。这篇论文仅通过高维LBP跟Joint Bayesian这两个方法结合,就把LFW 数据集上的人脸验证准确率轻松刷到了92.4%. 香港中文大学团队的DeepID2将七个联合贝叶斯模型使用SVM进行融合,最终达到了99.15%的结果。
一个Naive的想法
如果这个任务交给你,你最开始会怎么想?如何判断两张图片是否为同一个人?
提取这两张图片的特征,然后得出两张图片的差异? -
通过差异来判断,差异为何种情况时为同一个人,否则为不同人?
我们假装专业一点,用x1,x2 分别表示两张图片,Hi表示这两张图片为intra-personal(同一个人),用 He 表示extra-personal(不同人)。用 △ 表示 x1-x2 (两者差异)。
假装我们能够写下如下公式(反正我肯定写不出来):