来自:CVPR 2014   作者:Yi Sun ,Xiaogang Wang,Xiaoao Tang

题目:Deep Learning Face Representation from Predicting 10,000 Classes

主要内容:通过深度学习来进行图像高级特征表示(DeepID),进而进行人脸的分类。

长处:在人脸验证上面做,能够非常好的扩展到其它的应用,而且夸数据库有效性;在数据库中的类别越多时,其泛化能力越强,特征比較少,不像其它特征好几K甚至上M,好的泛化能力+只是拟合于小的子训练集。

主要过程:採用卷积神经网络(CNN)方法,而且採用CNN最后一层的激活值输出作为features,不同的人脸区域放入CNN中提取特征,形成了互补、过全然的特征表示。(form complementary and over-complete representations)。

通过深度卷积网络来学习高级的过全然特征(有监督),CNN的最后一层激活值作为输出,

详细细节:

採用3个尺度,10个人脸region,60个patch,训练60个CNN网络,每一个提取两个160维的特征(两个是由于: extracts two 160-dimensional DeepID vectors from a particular patch and its horizontally flipped counterpart.),所以最后一张人脸图像的特征的维度是:160*2*60=19200维。

CNN的结构例如以下:

说明:共5层网络,越往上的神经元的个数就越少,到最后就剩下160个神经元的输出,上面的Face patches 是进过对齐过后的的人脸块,也就是说已左(右)眼为中心的人脸区域块,嘴角为中心的人脸区域块等等,这样就有多个不同的输入块输入到CNN中,文章採用了把倒数第二层的输出+倒数第一层的输出作为特征(这应该是採用12年的Le Cun 那篇文章的track)。最后再把不同的块所输出的特征连接起来,就形成了一个终于一张人脸的特征。然后再用各种分类器对其特征进行分类。

採用Max-Pooling,softmax;

输入图像:39*31*k 个人矩形脸图像块+31*31*k  (这里k在彩色图像时为3,灰度时k为1)个人脸正方形块(由于后面要考虑到是全局图像还是局部图像,且须要考虑到尺度问题),使用ReLU非线性处理;

注意到【Weights in higher convolutional layers of our ConvNets are locally shared to learn different mid- or high-level features in different regions [18]. r in Equation 1  indicates a local region where weights are shared. In the third convolutional layer,
weights are locally shared in every 2  2 regions, while weights in the fourth convolutional layer are totally unshared.】

不同的输入图像:

当中局部图像是关键点(每一个图像一个关键点)居中,不同的区域大小和不同的尺度图像输入到CNN中,其CNN的结构可能会不同样,可是最后的特征的都是160维度,最后将全部的特征级联起来。

最后一层的特征是第三层和第四层全相连(比較特殊的地方),由于这样能够添�尺度特征,由于第三层和第四层学习到的特征的尺度是不一样的。

特点:提取的特征非常Compact,仅仅有160*k,k不大。自然就具有判别力了。

在训练CNN中,训练数据的类别越多,其性能越好,可是会在训练模型中出现故障,也就是太慢。

CNN的输出是特征,而不是输出类别,

分类

採用Joint Bayesian 来进行人脸的verification;也採用了神经网络来比較,可是联合贝叶斯的效果比較好;

实验

由于在LFW中大部分人的图像个数是有限的,非常多人仅仅有一张图片;所以採用了新的数据库来训练模型:CelebFaces :八万多幅,五千多人,每一个人差点儿相同16张图片,

===============

方法比較:

当前的人脸识别方法:过全然的低级别特征+浅层模型。

ConvNet 可以有效地提取高级视觉特征。

已有的DL方法:

1. Huang【CVPR2012】的生成模型+非监督;

2. Cai 【2012】的深度非线性度量学习;

3 Sun【CVPR2013】的监督学习+二类分类(人脸校验 verfication),是作者去年写的。而这一篇文章是多类分类问题(identification),并且这篇文章中,有10000类的人脸类别。

================

结果:在有对齐人脸的情况下,可以在LFW数据库上识别率达到97.5%。(其训练数据不是LFW,有其它的训练数据来训练模型)。

不理解的地方:



深度学习论文笔记-Deep Learning Face Representation from Predicting 10,000 Classes的更多相关文章

  1. 深度学习概述教程--Deep Learning Overview

          引言         深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...

  2. 贝叶斯深度学习(bayesian deep learning)

      本文简单介绍什么是贝叶斯深度学习(bayesian deep learning),贝叶斯深度学习如何用来预测,贝叶斯深度学习和深度学习有什么区别.对于贝叶斯深度学习如何训练,本文只能大致给个介绍. ...

  3. 深度学习论文笔记:Fast R-CNN

    知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...

  4. 深度学习加速器堆栈Deep Learning Accelerator Stack

    深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...

  5. 深度学习论文笔记:Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of Planetary Gearboxes

    这篇文章将深度学习算法应用于机械故障诊断,采用了“小波包分解+深度残差网络(ResNet)”的思路,将机械振动信号按照故障类型进行分类. 文章的核心创新点:复杂旋转机械系统的振动信号包含着很多不同频率 ...

  6. 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives

    (聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...

  7. 最实用的深度学习教程 Practical Deep Learning For Coders (Kaggle 冠军 Jeremy Howard 亲授)

    Jeremy Howard 在业界可谓大名鼎鼎.他是大数据竞赛平台 Kaggle 的前主席和首席科学家.他本人还是 Kaggle 的冠军选手.他是美国奇点大学(Singularity Universi ...

  8. 深度学习阅读列表 Deep Learning Reading List

    Reading List List of reading lists and survey papers: Books Deep Learning, Yoshua Bengio, Ian Goodfe ...

  9. 深度学习框架Caffe —— Deep learning in Practice

    因工作交接需要, 要将caffe使用方法及整体结构描述清楚. 鉴于也有同学问过我相关内容, 决定在本文中写个简单的tutorial, 方便大家参考. 本文简单的讲几个事情: Caffe能做什么? 为什 ...

随机推荐

  1. C#中的值类型(value type)与引用类型(reference type)的区别

    ylbtech- .NET-Basic:C#中的值类型与引用类型的区别 C#中的值类型(value type)与引用类型(reference type)的区别 1.A,相关概念返回顶部     C#中 ...

  2. golang学习之指针、内存分配

    func pointer_test() { //空指针,输出为nil var p *int fmt.Printf("p: %v\n", p) //指向局部变量,变量值初始为0 va ...

  3. Drawer Layout

    http://developer.android.com/training/implementing-navigation/nav-drawer.html#DrawerLayout <menu ...

  4. 擦亮自己的眼睛去看SQLServer之简单Select(转)

    摘要:这篇文章主要和大家讨论几乎所有人都熟悉,但不少人又陌生的一条select语句. 这篇文章主要和大家讨论几乎所有人都熟悉,但不少人又陌生的一条select语句.不知道大家有没有想过到底是什么东西让 ...

  5. delphi7 开发布局

    delphi7界面布局(就是各种框框,代码管理器之类的东东)好了的,为什么以打开个新项目或者下次进入开发界面是环境的布局全部变了,如何才能锁定窗口布局? 在菜单栏最右边,有一个按钮save curre ...

  6. linux命令——ll

    一.ll命令 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名. Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便. 如果要使用此命令,可以作如下修改:打 ...

  7. [Irving]字符串相似度-字符编辑距离算法(c#实现)

    编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字 ...

  8. Windows7 64位系统下无法安装网络打印机的解决方法

    背景: 公司一台HP LaserJet 1010 打印机连在一台Windows XP的电脑上,而我的是windows7 64位系统,无法安装驱动解决办法:1:去惠普官网上下载对应的64位驱动(什么Vi ...

  9. ARM指令集----寻址方式

    ARM指令集可以分为跳转指令,数据处理指令,程序状态寄存器传输指令,LOAD/Store指令,协处理器指令和异常中断产生指令6类 ARM指令集的寻址方式 数据处理指令的操作数的寻址方式 字以及无符号字 ...

  10. 五指CMS 3.0 手动升级方法