读paper:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, andScore-level Fusion for Face Recognition

今天给大家带来一篇来自CVPR 2017关于人脸识别的文章。

文章题目:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, and

摘要:
文章动机:人脸识别在一个没有约束的环境下,在计算机视觉中是一个非常有挑战性的问题。同一个身份的人脸当呈现不同的装饰,不同的姿势和不同的表情都可以使人脸看起来完全不同。这种相同身份的变化可以压倒不同身份的变化,这样给人脸识别带来更大的挑战,特别是在没有约束的环境下。这些例子包括特征人脸分析,独立主成分分析以及他们的拓展版本。这些方法都是假定人脸图像都是对齐好的另外人脸图像有相似的姿势。但是,在一些自然环境中和实际应用中,这种假设是不存在的。因此减少个人内在的变化,同时扩大人与人之间的不同在人脸识别中是一个重要的课题,特别是在人脸验证中。(关于人脸识别和人脸认证,我将在后面进行补充)

人脸验证只对两张人脸进行分类,要么是一样的要么不是,这个过程要求减少个人内在的变化,同时加大人与人之间的变化,为了完成这个,子空间的认证方法例如:LDA,贝叶斯脸,同一标准的子空间,被提出来。例如LDA通过两个线性空间去逼近个人和人与人之间的人脸变换,同过找到两个线性投影去最大化它们的比值。但是这些方法都有它们的缺点,因为它们的线性和浅层结构,但是个人变化和人与人之间的变化是复杂的,非线性的,同时在一个高维的图像空间被观察,而不是花时间手动的试图去寻找新的图片描述。我们代替的提出了一个方法通过深度神经网络进行监督的特征学习自动地去得到新的表示,和一个新的训练数据类型。

提出的方法:

人脸的预处理:

训练一个深度学习模型需要大量的人脸数据库,因为有成千上万的参数需要训练。他们用爬虫在网上趴下很多的人脸图像,还有一些公开的数据集CASIA webface. 收集好之后,要把原始图像转成标准的图像,主要分为四个步骤:

  • 首先用一个人脸检测器去寻找给出的图片的人脸部分。
  • 第二步,用人脸特征探测器去寻找被检测人脸区域的基准点。
  • 第三步,把对齐的人脸图片装入一个预先定义好的95x95的像素区域,将他们规范成标准人脸照片。
  • 最后,用下采样建立一个图像金字塔,且每一个人脸的像素为:95X95, 67X67,47X47.

说一下图像金字塔:

图像:

多尺度的卷积层块(MCLBS):

示意图如下:

一些说明:1X1的卷积核主要是用来降维,降维之后可以加快网络的训练。这一部分在我的上一篇博客中有说过,这里就暂且不说了。这四个小网络连接成一个输出向量。文章说可以提高特征的层次性。

BN是指Batch Normalization.

关于作用:知乎上说的很好。

人脸的三元组

是标准脸,是此人的另外一张脸,不是这个人的人脸图像。整个网络选择了四百万个这种三元组作为训练样本去得到参数。

损失函数的设置:

损失函数:

Triplet Loss:

经过DCNN映射之后的输出,同理经过DCNN映射之后的输出,经过DCNN 映射之后的输出。是标准脸与负样本脸的距离,是标准脸,与本人的其他脸图片的距离。M是一个边缘限制了不是一个人与是一个人在欧几里得空间的比例。其实在这一段,我都是把他当成LDA来理解,类间越大越好,类内越小越好,也就是求他们的比例。

文章指出如果仅仅用这个作为训练目标,在成对图片之间(就是一个人的两张照片,不成对就是不同的两个人的照片)得到了一个不平衡的距离范围,这就意味着虽然两者的比例固定在一个确定的值上,但是成对图片之间的绝对距离的范围却不是的,因此,文章也考虑了成对之间的不同之处。

Pairwise Loss:

其实就是成对之间的距离之和。

这就是损失函数的目标,很朴素,但是很有效果。一直感觉LDA的思想真是好用。

这是整个网络的结构,其中加上auxiliary classifier loss的目的是防止梯度消失。那么整个网络通过这样训练得到的参数就可以抽取网络的深度的特征。然后代入连续贝叶斯学习中就可以了。

基于本文提到的人脸识别主要包含两个意思:

一种是分类:就比如现在屋子里十个人,是有记录的,现在新来的一个人就可以判定他是具体哪一个,他是一个多分类问题。

第二种是人脸验证问题:就是本文提到的问题,比如支付宝首先采集你的人脸,然后又用一个人脸去判定是不是同一个人,如果是的话,那么就可以登录系统,如果不是的话就不可以登录系统,这是一个典型的二分类问题。

好了这篇文章讲到这里,也没什么好说的了,大家下次再见。

时间: 2024-11-07 18:45:38

读paper:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, andScore-level Fusion for Face Recognition的相关文章

Heterogeneous Multi-task Learning for Human Pose Estimation with Deep Convolutional Neural Network

论文题目Heterogeneous Multi-task Learning for Human Pose Estimation with Deep Convolutional Neural Network, 链接 该篇论文是IJCV 2014的, 文章的核心multi-tasks的joint traning. 直接看图说话, 该论文的核心思想/步骤可以分为两个components: 1对图像里面的person进行detection, 以便裁剪出图像里面的人. 这个显然是必要的, 尤其是图像大而p

Some Improvements on Deep Convolutional Neural Network Based Image Classif ication

本文的大概思想就是: (1)增加训练样本:(2)增加测试样本预测数量:(3)多个CNN模型的融合: 一.增加训练样本的数量 常用的增加样本的方法有:crop.flip及add randomly generated ligthing: 1.传统的crop方法是把图像resize到256*256,然后在进行crop,但是这样会损失掉一部分有用的信息例如下图: 因此本文采用的方法:先将图像的最小的一边放大到256,这样就形成了256*N或者N*256,然后在进行crop: 2.除了随机加入光照噪声以外

论文笔记《ImageNet Classification with Deep Convolutional Neural Network》

一.摘要 了解CNN必读的一篇论文,有些东西还是可以了解的. 二.结构 1. Relu的好处: 1.在训练时间上,比tanh和sigmod快,而且BP的时候求导也很容易 2.因为是非饱和函数,所以基本不会出现梯度消失的情况 Relu只要控制好learing rate,可以说是完胜之前的激活函数,也因此可以帮助我们训练更深层次的网络. 现在对Relu的进一步增强还有研究,有兴趣可以了解. 2.GPU并行计算在当时是个很好思路,不过作者的trick就有点...虽然说是通过cross-validati

人群计数:Single-Image Crowd Counting via Multi-Column Convolutional Neural Network(CVPR2016)

本博文主要是CVPR2016的<Single-Image Crowd Counting via Multi-Column Convolutional Neural Network>这篇文章的阅读笔记,以及对人群计数领域做一个简要介绍. Abstract 这篇论文开发了一种可以从一个单幅的图像中准确地估计任意人群密度和任意角度的人群数目.文章提出了一种简单有效的的多列卷积神经网络结构(MCNN)将图像映射到其人群密度图上.该方法允许输入任意尺寸或分辨率的图像,每列CNN学习得到的特征可以自适应由

ufldl学习笔记与编程作业:Convolutional Neural Network(卷积神经网络)

ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践. 在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl. 于是最近就开始搞这个了,教程加上matlab编程,就是完美啊. 新教程的地址是:http://ufldl.stanford.edu/tutorial/ 本节学习地址:http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/ 一直没更

[notes] ImageNet Classification with Deep Convolutional Neual Network

Paper: ImageNet Classification with Deep Convolutional Neual Network Achievements: The model addressed by Alex etl. achieved top-1 and top-5 test error rate of 37.5% and 17.0% of classifying the 1.2 million high-resolution images in the ImageNet LSVR

ImageNet?Classification?with?Deep?Convolutional?Neural?Networks?阅读笔记 转载

ImageNet Classification with Deep Convolutional Neural Networks 阅读笔记 (2013-07-06 22:16:36) 转载▼ 标签: deep_learning imagenet hinton 分类: 机器学习 (决定以后每读一篇论文,都将笔记记录于博客上.) 这篇发表于NIPS2012的文章,是Hinton与其学生为了回应别人对于deep learning的质疑而将deep learning用于ImageNet(图像识别目前最大的

ImageNet Classification with Deep Convolutional Neural Networks(转载)

ImageNet Classification with Deep Convolutional Neural Networks 阅读笔记 (决定以后每读一篇论文,都将笔记记录于博客上.) 这篇发表于NIPS2012的文章,是Hinton与其学生为了回应别人对于deep learning的质疑而将deep learning用于ImageNet(图像识别目前最大的数据库)上,最终取得了非常惊人的结果,其结果相对原来的state of the art好了非常多(前5选错误率由25%降低为17%). I

2016.4.5 ImageNet Classification with Deep Convolutional Neural Networks

ImageNet Classification with Deep Convolutional Neural Networks http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf 这个网络也叫做alexnet,因为第一作者的名字是alex,这是个经典的网络,因为这个网络在12年的时候在imagenet上面提升了十个点的准确率.第三作者是hinton