深度学习论文笔记-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,好的泛化能力+只是拟合于小的子训练集。
主要过程:採用卷积神经网络(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的更多相关文章
- 深度学习概述教程--Deep Learning Overview
引言 深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...
- 贝叶斯深度学习(bayesian deep learning)
本文简单介绍什么是贝叶斯深度学习(bayesian deep learning),贝叶斯深度学习如何用来预测,贝叶斯深度学习和深度学习有什么区别.对于贝叶斯深度学习如何训练,本文只能大致给个介绍. ...
- 深度学习论文笔记:Fast R-CNN
知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...
- 深度学习加速器堆栈Deep Learning Accelerator Stack
深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...
- 深度学习论文笔记:Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of Planetary Gearboxes
这篇文章将深度学习算法应用于机械故障诊断,采用了“小波包分解+深度残差网络(ResNet)”的思路,将机械振动信号按照故障类型进行分类. 文章的核心创新点:复杂旋转机械系统的振动信号包含着很多不同频率 ...
- 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives
(聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...
- 最实用的深度学习教程 Practical Deep Learning For Coders (Kaggle 冠军 Jeremy Howard 亲授)
Jeremy Howard 在业界可谓大名鼎鼎.他是大数据竞赛平台 Kaggle 的前主席和首席科学家.他本人还是 Kaggle 的冠军选手.他是美国奇点大学(Singularity Universi ...
- 深度学习阅读列表 Deep Learning Reading List
Reading List List of reading lists and survey papers: Books Deep Learning, Yoshua Bengio, Ian Goodfe ...
- 深度学习框架Caffe —— Deep learning in Practice
因工作交接需要, 要将caffe使用方法及整体结构描述清楚. 鉴于也有同学问过我相关内容, 决定在本文中写个简单的tutorial, 方便大家参考. 本文简单的讲几个事情: Caffe能做什么? 为什 ...
随机推荐
- JS三级折叠菜单特效 自动收缩其它级
真的很不错!很实用,在IE6.IE7.IE8.FF.chrome等浏览器都正常运行,去掉CSS中 #menu ul中 {height:100px; overflow:auto;} 即可高度自适应 &l ...
- Mybaits+SpringMVC项目(含代码生成工具源码)
大家下载下来修改数据库配置应该就能运行起来,里面有一个SM的简单案例了,还有说明文件. 运行效果 工具类可以生成Springmvc+mybatis的相关类和配置文件,并具有增删查改的功能, ...
- 【转】简单内存泄漏检测方法 解决 Detected memory leaks! 问题
我的环境是: XP SP2 . VS2003 最近在一个项目中,程序退出后都出现内存泄漏: Detected memory leaks! Dumping objects -> {98500} n ...
- c#写入Mysql中文显示乱码 解决方法 z
mysql字符集utf8,c#写入中文后,全部显示成?,一个汉字对应一个? 解决方法:在数据库连接字符串中增加字符集的说明,Charset=utf8,如 MySQLConnection con = n ...
- 有关T-SQL的10个好习惯(转)
1. 在生产环境中不要出现Select * 这一点我想大家已经是比较熟知了,这样的错误相信会犯的人不会太多.但我这里还是要说一下. 不使用Select *的原因主要不是坊间所流传的将*解析成具体的列需 ...
- codeforces 681D Gifts by the List dfs+构造
题意:给你一个森林,表示其祖先关系(自己也是自己的祖先),每个人有一个礼物(要送给这个人的固定的一个祖先) 让你构造一个序列,使得的对于每个人,这个序列中第一个出现的他的祖先,是他要送礼物的的那个祖先 ...
- 查看系统或者Jmeter的Properties
工作台-非测试元件-Property Display,可以显示系统或者Jmeter的Properties
- npm + webpack +react
踏上征途 在开始之前,你需要把你的 Node.js 和 NPM 都更新到最新的版本.访问 nodejs.org 查看安装详情.我们将会使用 NPM 安装一些工具. 开始使用 Webpack 非常简单, ...
- ldconfig报错 :libstdc++.so.6.0.18-gdb.py不是一个elf文件
今天安装wxWidgets,输入ldconfig竟然提示 /usr/lib64/libstdc++.so.6.0.18-gdb.py 不是一个elf文件,开头魔数错误 摸不着头脑,上网搜了一下,有说是 ...
- 如何阅读Java源码
刚才在论坛不经意间,看到有关源码阅读的帖子.回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动.源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 说到技术基础,我打个比方吧, ...