Deep Learning Face Representation from Predicting 10,000 Classes论文笔记

Deep Learning Face Representation from Predicting 10,000 Classes论文笔记(2015.03.24)

一、基本思路

作者利用卷积神经网络(Convolutional Neural Network,CNN)对大量样本进行训练,提取Deep hidden identity feature(DeepID)特征,然后利用这些特征进行人脸验证(Face Verification)。在LFW(Labeled Faces in the Wild)库上测试达到97.20%的效果,使用某种Transfer Learning的算法后,达到97.45%的最终效果。整个过程分为两个阶段。

第一阶段为DeepID 学习过程,训练多个深度卷积神经网络(Deep ConvNets)对输入的人脸块(face patches)进行特征提取。目的是对输入的人脸块进行分类,训练网络参数,使网络具备较好的网络泛化能力。这一步为有监督训练,即每个face patch对应于一个类别标签。每个ConvNet 的输出节点数目是相同的160,所有的这些ConvNets的输出(不是那个预测类别信息的输出,是该预测类别信息的前一层,即160维)就是提取到的特征,称为Deep hidden identity feature(DeepID)。

第二阶段为Face Verification过程,将上一阶段训练好的DeepID特征连起来,送到联合贝叶斯(Joint Bayesian,JB)或者一个神经网络( Neural Network,NN)进行Face Verification。整个过程可用下面两幅图来说明(以NN进行Face Verification为例):

第一阶段:DeepID

第二阶段:Face Verification

二、 ConvNet网络结构

下面将对ConvNet的结构进行详细讲解,结构图Figure2如下:

可以看到,这个网络结构与一般的卷积神经网络的结构十分相似,由4个卷积层(除第4个卷积层外,每一个卷积层后面接一个Max-pooling层)组成的网络,每个卷积后面都有相应函数式ReLU,这个是被实验证明了(参考文献[20]中提到)比sigmoid函数的有更好的拟合能力。特别之处在于DeepID那一层与第4个卷积层和第3个Max-pooling层全连接。作者在文章中解释说这样做的是因为第4层卷积层含有的神经元的个数太少,成为信息传递的瓶颈,这也就是作者所谓的多层次卷积网络(Multi-scale ConvNets)。第4个卷积层提取到的特征比第3个max-pooling层具备更多的全局性特征。最后,将DeepID层连接到softmax进行分类,并给出分类种类概率。提取到的特征是对类间具有很好的判别性的,相当于增加了类间的距离。

三、 特征提取

对人脸图片标记5个点(5 facial landmarks),包括两个眼睛,鼻尖(nose tip),和两个嘴角,然后以这5个点为中心对齐(alignment)。按照3个尺度将原图裁剪出60个patches(包括原图本身)。特征就是从这60个face patches提取出来的,这60个face patches包括10个不同的区域,3种尺度的灰度图或RGB图。下面Figure3图显示了10个人脸区域,3种尺度。

对于1张人脸图,一共训练60个ConvNets,每个ConvNet提取两个160维的特征,即一个face patch和该face patch水平翻转后的相对应的face patch。相当于镜像。最后1张图片提取的DeepID特征共19200维(160*60*2)。 ConvNet输入为39*31*k的矩形patch或31*31*k的正方形patch,k=1是灰度图,k=3是RGB三通道图。输入尺寸发生变化,后面的卷积层的尺寸也相应发生变化。但是无论如何,DeepID层都是固定的160维,不发生改变。

四、 Face Verification(NN)

在此,对Figure4进行分析。该部分的神经网络的输入是60组(group),即前面那60个ConvNets的输出,只是每一组变成了640维,这是因为要进行Face Verification,当然得输入两张人脸图片,来判定这两张人脸图片是不是来自同一个人。每张320维,故每组共640维。这里需要注意的是,从face patch学习到的毕竟是局部特征,将这些face patch组合起来再训练一个神经网络,这样从局部特征中学到一种全局性的特征。第一个隐藏层和这60组是局部连接的,这样做是迫使该隐藏层能够学习到该局部face patch压缩的特征表示,之后这个隐藏层和跟它节点数目相同的隐藏层进行全连接,以求学到全局特征。最后再接一个二分类器,来判定是否来自同一个人。隐藏层的相应的也使用了ReLU,并且同时对所有隐藏层节点使用了dropout方式。使用dropout对于使用梯度法来训练网络是必须的,因为不用dropout而学习高维特征会带来梯度扩散(gradient diffusion)问题(过拟合问题)。

关于dropout理论可参见参考文献[16]以及博客:http://www.cnblogs.com/tornadomeet/p/3258122.html

有关JB的内容可以参见参考文献[8],以及文献作者的官方网站:http://home.ustc.edu.cn/~chendong/JointBayesian/

五、 实验分析

作者首先是利用CeleFaces库(87625张人脸图片,5436个人,平均每人16张图片)来做实验,随机选取这个库的80%的人(4393)做DeepID的训练学习,剩下的20%的人(1043)做JB/NN的训练学习(在连接之前,首先用PCA降维到150维)。之后,在LFW库上进行测试。

为了证明Figure1中Identity classes与测试精度的关系,作者在训练DeepID的时候采用1个patch,即一整张图作为输入,Identity classes分别设置为136,272,544,1087,2175和4393。最终得到的联合贝叶斯网络和神经网络Face Verification 精度如图Figure6:

Figure6指出,随着Identity classes的增多,准确率也在提高。红色线为联合贝JB准确率,蓝色线为NN,Identity classes从136增长至4349,32倍的过程中,准确率增长了10.13%(JB)和8.42%(NN)。联合贝叶斯网络准确率显然高于NN,所以最终实验作者采用的是JB。这个实验也说明,随着网络输入种类(人数)的增大,能够提高网络的泛化能力,更利于提取的DeepID特征进行分类。

Figure8,三组(pairs)头像经过Deep ConvNets后的DeepID层的160维的可视化,为了方便显示,每行32维,共5行。我们可以发现,同一个人的两张头像的160维特征可视化比较类似,不同人的两张头像差距就比较大了。这也印证了前文所说的,“提取到的特征是对类间具有很好的判别性的,相当于增加了类间的距离”。

作者为了证明patch与准确率的关系,在Identity classes = 4349的情况下,将patch大小调整为1,5,15,30和60,实验精度如Figure9所示,说明了随着patch的增多,不论是采用JB还是NN,准确率都会上升。同样的,JB的准确率明显高于NN,平均高1.8%,最终准确率为96.05%。

最后,为了进一步提高实验精度,作者对训练库进行完善,扩充CeleFaces库为CeleFaces+库(202599张人脸图片,10177个人,平均每人19张图片),之后在CeleFaces+库上训练,LFW库上测试。

实验中,作者是采用了CeleFaces+库中8700个人用于DeepID训练学习,1477个人用于联合贝叶斯网络/神经网络训练学习,每张图片采用100 patches,5 scales。一张图片通过Deep ConvNets得到32000维的DeepID特征向量,再通过PCA降维得到150维特征向量,这个特征向量维度在LFW库上测试可以得到97.20%的精度。

作者在文中也提到,由于数据库贡献的特征不同,网络在CeleFaces+库中具备的泛化能力,不一定适合于LFW库,为了解决这个问题,作者在联合贝叶斯网络中采用CeleFaces+库中1477个人的图片和LFW库中9/10图像分别作为源域数据和目标域数据,并在LFW库上做十字交叉验证,得到的精度为97.45%,这个准确率逼近于自然人人脸验证水平97.53%。最后作者给出了目前几种流行算法的相关数据,如下表所示:

参考博客:

1.DeepID人脸识别算法之三代http://blog.csdn.net/stdcoutzyx/article/details/42091205#comments

2.深度学习论文笔记-Deep Learning Face Representation from Predicting 10,000 Classes http://blog.csdn.net/chenriwei2/article/details/31415069

时间: 2024-11-07 06:27:35

Deep Learning Face Representation from Predicting 10,000 Classes论文笔记的相关文章

深度学习论文阅读笔记--Deep Learning Face Representation from Predicting 10,000 Classes

来自:CVPR 2014   作者:Yi Sun ,Xiaogang Wang,Xiaoao Tang 题目:Deep Learning Face Representation from Predicting 10,000 Classes 主要内容:通过深度学习来进行图像高级特征表示(DeepID),进而进行人脸的分类. 优点:在人脸验证上面做,可以很好的扩展到其他的应用,并且夸数据库有效性:在数据库中的类别越多时,其泛化能力越强,特征比较少,不像其他特征好几K甚至上M,好的泛化能力+不过拟合于

Deep Learning Face Representation by Joint Identification-Verification

Deep Learning Face Representation by Joint Identification-Verification 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/41497545 这篇文章是论文Deep Learning Face Representation by Joint Identification-Verification的笔记. 1. Main Contribution 这篇论文使用deep le

Deep Learning 23:dropout理解_之读论文“Improving neural networks by preventing co-adaptation of feature detectors”

理论知识:Deep learning:四十一(Dropout简单理解).深度学习(二十二)Dropout浅层理解与实现.“Improving neural networks by preventing co-adaptation of feature detectors” 感觉没什么好说的了,该说的在引用的这两篇博客里已经说得很清楚了,直接做试验吧 注意: 1.在模型的测试阶段,使用”mean network(均值网络)”来得到隐含层的输出,其实就是在网络前向传播到输出层前时隐含层节点的输出值都

Deep Learning 17:DBN的学习_读论文“A fast learning algorithm for deep belief nets”的总结

1.论文“A fast learning algorithm for deep belief nets”的“explaining away”现象的解释: 见:Explaining Away的简单理解 2.论文“A fast learning algorithm for deep belief nets”的整个过程及其“Complementary priors”的解释: 见:paper:A fast learning algorithm for deep belief nets和 [2014041

Deep Learning and Shallow Learning

Deep Learning and Shallow Learning 由于 Deep Learning 现在如火如荼的势头,在各种领域逐渐占据 state-of-the-art 的地位,上个学期在一门课的 project 中见识过了 deep learning 的效果,最近在做一个东西的时候模型上遇到一点瓶颈于是终于决定也来了解一下这个魔幻的领域. 据说 Deep Learning 的 break through 大概可以从 Hinton 在 2006 年提出的用于训练 Deep Belief

[10 Jun 2015 ~ 11 Jun 2015] Deep Learning in arxiv

1. similarity nets DeepSimNets 2. multi-task Learning Multiple Tasks with Deep Relationship Networks 3. interactive learning system Constructionof a Large-scale Image Dataset using Deep Learning with Humans in the Loop

IJCAI_论文-深度学习-Deep Learning for Event-Driven Stock Prediction

Deep Learning for Event-Driven Stock Prediction Reading time:2019/3/30-2019/4/12  Theme:Deep learning; CNN; NLP Abstract: We propose a deep learning method for eventdriven stock market prediction. First, events are extracted from news text, and repre

[C3] Andrew Ng - Neural Networks and Deep Learning

About this Course If you want to break into cutting-edge AI, this course will help you do so. Deep learning engineers are highly sought after, and mastering deep learning will give you numerous new career opportunities. Deep learning is also a new "s

(转)The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3)

Adit Deshpande CS Undergrad at UCLA ('19) Blog About The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3) Introduction Link to Part 1Link to Part 2 In this post, we’ll go into summarizing a lot of the new and important develo