Deep Learning Face Representation by Joint Identification-Verification

本文主要是介绍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 learning学习特征,使用联合贝叶斯模型作为分类器,选取七组特征分别训练分类器,得到的结果使用SVM进行组合,得到的最终模型在LFW(Labeled Face in the Wild)数据集上的人脸验证任务中,达到了99.15%的准确率,目前排名第一。

2. Basic Concepts and Ideas

Face Identification,人脸识别,将一个输入图像进行分类,类别集合会很大。

Face verification,人脸验证,对两个图像进行判断,确认是不是同一个人的图像。

论文的主要创新点就是利用deep learning学习图像特征,具体的创新点就是通过扩大类间距离和缩小类内距离。

3. Pipeline

论文提出的人脸识别算法流程如下:

首先,使用SDM算法抽取人脸上的21个标记,然后根据得到的标记对人脸进行对齐。通过变化位置、尺度、颜色通道,得到200个face patch,对每个face patch,使用该patch及其水平反转的图像进行特征学习。所以,一共需要200个深度卷积神经网络。

注:因为LFW是wild数据,不像AR数据集那样是对齐好的数据,所以需要通过SDM寻找landmark来分patch;SDM算法是CVPR2013年提取的。

第二步,学习特征,论文提出一种学习特征的卷积神经网络框架,称之为DeepID2。构建200个DeepID2来学习上一步得到的patch。每个DeepID2都将输入图像表示成一个160维的向量。

第三步,对每张图像而言,经过200个DeepID2学习到的特征数目为200*160,特征数目太大了。所以论文中使用前向后向贪心算法来选取一些有效且互补的DeepID2向量,以节约时间。注意,特征选择在每个DeepID2向量间进行,也就是一个DeepID2输出的向量,要么全被选中,要么全不被选中。选中的向量对应的patch如图。

faces

第四步,选中25个向量后,每张图像的维度是25*160=4000维。仍然太大,因而使用PCA进行降维,降维后大约有180维。

第五步,对于输出后的向量,就可以使用来进行人脸验证任务了。论文构建了一个联合贝叶斯模型来进行分类。联合贝叶斯模型如下:

equation1

即使用类间距除以类内距的对数值来衡量一个图像对是不是同一个人。在训练集上可以得到一个阈值,当结果值大于阈值时,不是同一个人;当结果值小于阈值时,是同一个人。

4. DeepID2

DeepID2的创新点在于在学习特征的时候,该网络不仅考虑分类准确率,还考虑类间差距。具体的做法就是在目标函数中添加一项类间差距。该添加的创新就在于类间差距是在两个样本间进行衡量的,因而添加类间差距后,训练过程需要变化。

DeepID2所做的第二点小创新就是将卷积层的倒数第一层和倒数第二层都作为最终层的输入。(因为添加了类间差距,所以最终层不能再成为是softmax层了)

DeepID2学习特征的整体卷积神经网络结构图如下:

equation1

4.1 Details of Structure

四层卷积,前三层后面都跟着max-pooling层,第三层卷积的神经单元的参数在2*2的局部区域内共享;第四层卷积则是全连接,参数在神经单元之间不共享。

第三卷积层的输出和第四卷积层的输出以全连接的方式连接到最后一层,最后一层也称为DeepID2层。因为第四层学习到的特征比第三层的更全局一些,所以这样的连接方式被称为是多尺度卷积神经网络。

4.2 Goal functions

在本论文中,使用DeepID2进行学习的目的是得到输出向量,并不是为了使识别率最大化。因而论文添加了类间距项。使用卷积层得到输出向量可用函数表示:

equation1

正确分类的函数就是softmax的目标函数,目的是使交叉熵最小化。

equation1

样本间距最大化的目标函数如下。

equation1

该公式的作用是,当两个样本相同时,则需要最小化它们之间的距离,当两个样本不同时,则需要最小化m与它们的距离值之差,m是一个需要手动调整的参数,提出m的目的在于目标函数需要最小化,而不是最大化。

当样本之间的距离函数时余弦距离时,样本间距最大化的目标函数如下。

equation1

在最终组合目标函数时,将Ident与Verif加权。

4.3 Training process

训练过程如下图。

equation1

5 Experiment

5.1 Experiment datasets

LFW是最终使用模型的数据集,共13233张脸,分属于5749个人。但此数据集太小,所以需要引入外部数据集CelebFace+,拥有202599张脸,分属于10177个人。

将CelebFace+数据集分为CelebFace+A数据集和CelebFace+B数据集。CelebFace+A有8192个人的数据,随机从CelebFace+中选取,用于训练DeepID2学习特征。CelebFace+B是剩余的1985个人的脸,用来进行特征选取和联合贝叶斯概率模型的学习。

在学习DeepID2的时候,CelebFace+A是训练集,CelebFace+B是验证集来确定学习速率,训练迭代次数,目标函数的融合参数lambda。

在特征选择的时候,CelebFace+B中分出500个人的数据作为验证集。

最后,在整个CelebFace+B中训练联合贝叶斯模型。

在LFW上使用训练好的模型进行实验。

5.2 Experiment settings

论文进行了如下几组实验:
  • 考察目标函数融合参数lambda的效果,包括最终效果分析、方差分析、PCA降至2维时的数据分析。
  • 考察信息量的影响,即通过变换训练集的大小(32指数增长到8192),查看效果。
  • 改变用于验证的目标函数即Verif的距离计算方法后的实验效果。考察了一阶范数、余弦距离等。
  • 选取了七组不同的特征集合,然后将模型使用svm进行融合,得到最终结果99.15%。

6 Reference

[1] Sun Y, Chen Y, Wang X, et al. Deep learning face representation by joint identification-verification[C]//Advances in Neural Information Processing Systems. 2014: 1988-1996.

这篇关于Deep Learning Face Representation by Joint Identification-Verification的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/671168

相关文章

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

访问controller404:The origin server did not find a current representation for the target resource

ider build->rebuild project。Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过。由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。 参考:资料

Deep Ocr

1.圈出内容,文本那里要有内容.然后你保存,并'导出数据集'. 2.找出deep_ocr_recognition_training_workflow.hdev 文件.修改“DatasetFilename := 'Test.hdict'” 310行 write_deep_ocr (DeepOcrHandle, BestModelDeepOCRFilename) 3.推理test.hdev

Unity --hinge joint

关节介绍 关节一共分为5大类:链条关节,固定关节,弹簧关节,角色关节和可配置关节。 链条关节(hinge joint):将两个物体以链条的形式绑在一起,当力量大于链条的固定力矩时,两个物体就会产生相互的拉力。固定关节(fixed joint):将两个物体永远以相对的位置固定在一起,即使发生物理改变,它们之间的相对位置也将不变。弹簧关节(spring joint):将两个物体以弹簧的形式绑

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

Learning Temporal Regularity in Video Sequences——视频序列的时间规则性学习

Learning Temporal Regularity in Video Sequences CVPR2016 无监督视频异常事件检测早期工作 摘要 由于对“有意义”的定义不明确以及场景混乱,因此在较长的视频序列中感知有意义的活动是一个具有挑战性的问题。我们通过在非常有限的监督下使用多种来源学习常规运动模式的生成模型(称为规律性)来解决此问题。体来说,我们提出了两种基于自动编码器的方法,以

COD论文笔记 Adaptive Guidance Learning for Camouflaged Object Detection

论文的主要动机、现有方法的不足、拟解决的问题、主要贡献和创新点如下: 动机: 论文的核心动机是解决伪装目标检测(COD)中的挑战性任务。伪装目标检测旨在识别和分割那些在视觉上与周围环境高度相似的目标,这对于计算机视觉来说是非常困难的任务。尽管深度学习方法在该领域取得了一定进展,但现有方法仍面临有效分离目标和背景的难题,尤其是在伪装目标与背景特征高度相似的情况下。 现有方法的不足之处: 过于

One-Shot Imitation Learning

发表时间:NIPS2017 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=4557560538297540609&noteId=2424799047081637376 作者单位:Berkeley AI Research Lab, Work done while at OpenAI Yan Duan†§ , Marcin Andrychow