来源:http://blog.csdn.net/ice_actor/article/details/78603042

1.什么是人脸识别

  这部分演示了百度总部大楼的人脸识别系统,员工刷脸进出办公区,在这个演示中主要应用到了人脸识别技术和活体检测。 人脸识别的术语: 1)face verification:输入图像、名字ID判断输入图像是不是名字ID指定的用户 2)face recognition:有一个包含K个用户的数据库,拿到一幅图片,然后判断图片中的人是不是在数据库中,在输出指定用户name,不在就输出未识别。   人脸识别要比人脸验证要困难的多,在人脸验证中准确率99%也许可以接受,但是放到包含100个用户的人脸识别数据集下,这个误差就会被放大,意味着1%的概率会出错。在后续我们首先构建人脸验证系统作为基本模块,如果准确率够高就可以把它用在识别系统上。人脸验证系统的难点在于解决one-shot learning(一次学习)问题。

2. one-shot learning

  one-shot的意思是你需要通过单单一张图片,就能去识别这个人,但是在深度学习中只有一个训练样本时,它的表现并不好,那么如何去解决这个问题呢?   假如员工数据库有四个员工,当某个员工来的时候,你想通过人脸识别系统判断他是不是四个员工之一,系统需要做的是仅仅通过一张照片,来识别前面这个人。所以在one-shot学习问题中只能通过一个样本来进行学习以能够认出同一个人,大多数人脸识别系统都要解决这个问题,因为在你的数据库中每个雇员可能都只有一张照片。有一种办法是将人的照片输入卷积神经网络,使用softmax单元输出5个标签,分别对应四个员工和四个都不是,但是这样的效果并不好,假如有新的员工加入你的团队,你就需要重新训练你的神经网络,这个确实有些糟糕。

要让人脸识别做到一次学习,为了能有更好的效果,你需要做的是学习similarity函数,详细的说就是下图中d表示的函数,d以两张图片作为输入,然后输出这两张图片的差异值,如果是同一个人的两张照片,希望输出一个很小的值,如果是两个差异很大的人的照片d输出一个很大的值。这样新加入一个员工只许将其的照片加入到数据库中即可,不需要重新训练模型。

3.Siamese网络

  Siamese网络就是实现上节函数d的训练,你经常会看到如下的网络结构,输入一个图像经过一系列的卷积、池化和全连接层最终得到一个特征向量,有时候会将其输入softmax单元来做分类,但是在这里我们不需要将其输入softmax单元。加入输出的特征向量大小是128维,将其命名为f(x),你可以将其看成输入图像的编码。

从上面的描述可知,计算两个图片的网络结构有着同样的参数,所以实际只需要训练一个网络,它计算得到的编码可以用于计算函数d,换句话说其实就是神经网络的参数定义了一个编码函数f(x)可以将图片转换成向量编码。所以我们需要做的就是训练这个网络,使其在两张图片是同一个人的时候距离函数尽可能的小,不是同一个人的时候距离函数尽可能的大。

详细内容请参考上述原文!

人脸识别如何做到one-shot learning?(转)的更多相关文章

  1. [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...

  2. 论文阅读:Face Recognition: From Traditional to Deep Learning Methods 《人脸识别综述:从传统方法到深度学习》

     论文阅读:Face Recognition: From Traditional to Deep Learning Methods  <人脸识别综述:从传统方法到深度学习>     一.引 ...

  3. 深度挖坑:从数据角度看人脸识别中Feature Normalization,Weight Normalization以及Triplet的作用

    深度挖坑:从数据角度看人脸识别中Feature Normalization,Weight Normalization以及Triplet的作用 周翼南 北京大学 工学硕士 373 人赞同了该文章 基于深 ...

  4. 人脸识别必读的N篇文章

    一,人脸检测/跟踪 人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置和大小:对于跟踪而言,还需要确定帧间不同人脸间的对应关系. 1, Robust Real-time Object Dete ...

  5. DeepID人脸识别算法之三代(转)

    DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,目前最强人脸识别算法,已经三 ...

  6. Python 3 利用 Dlib 19.7 实现摄像头人脸识别

    0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的: 可以自动从摄像头中抠取人脸图片存储到本地: 根据抠取的 ...

  7. 第三十七节、人脸检测MTCNN和人脸识别Facenet(附源码)

    在说到人脸检测我们首先会想到利用Harr特征提取和Adaboost分类器进行人脸检测(有兴趣的可以去一看这篇博客第九节.人脸检测之Haar分类器),其检测效果也是不错的,但是目前人脸检测的应用场景逐渐 ...

  8. 学习笔记TF058:人脸识别

    人脸识别,基于人脸部特征信息识别身份的生物识别技术.摄像机.摄像头采集人脸图像或视频流,自动检测.跟踪图像中人脸,做脸部相关技术处理,人脸检测.人脸关键点检测.人脸验证等.<麻省理工科技评论&g ...

  9. 项目总结二:人脸识别项目(Face Recognition for the Happy House)

    一.人脸验证问题(face verification)与人脸识别问题(face recognition) 1.人脸验证问题(face verification):           输入       ...

随机推荐

  1. PHP面向对象之重载

    重载技术overloading 重载的基本概念 重载在“通常面向对象语言”中的含义: 是指,在一个类(对象)中,有多个名字相同但形参不同的方法的现象: 类似这样: class   C{ functio ...

  2. linux 上传下载

    xshell yum就是傻瓜式的安装软件,你要装什么,yum什么就行了,红帽系统才有yum,乌班图和debian是没有的 输入命令:sudo yum -y install lrzsz rz  上传 从 ...

  3. HDU4258_Covered Walkway

    题目是一个很典型的斜率优化的题目.题意就不说了. 是这样的,对于双端优先队列,我们共有队首和队尾两个删除操作,来保证对于任意一个i,第一个元素都是最优的. 我们把dp的转移方程列出来就直达其状态为f[ ...

  4. Struts按着配置文件的加载的顺序,后面文件和前面文件相同的配置,后面的会把前面的文件的值覆盖

    Struts按着配置文件的加载的顺序,后面文件和前面文件相同的配置,后面的会把前面的文件的值覆盖

  5. 【bzoj3560】DZY Loves Math V 欧拉函数

    题目描述 给定n个正整数a1,a2,…,an,求 的值(答案模10^9+7). 输入 第一行一个正整数n. 接下来n行,每行一个正整数,分别为a1,a2,…,an. 输出 仅一行答案. 样例输入 3 ...

  6. [HNOI2006]最短母串问题 AC自动机

    题面:洛谷 题解: 如果我们对这些小串建出AC自动机,那么我们所求的大串就是要求满足遍历过所有AC自动机上的叶子节点,且经过步数最少的串.如果有多个步数相同的串,要输出字典序最小的串. 在AC自动机上 ...

  7. Unity3D for VR 学习(7): 360°全景照片

    在VR应用中,有一个相对简单的虚拟现实体验,那就是360°全景照片浏览器, 他可以使得手机拍照的”全景”照片,  得以”恢复”当时拍照的场景全貌,  这个创意的确比单纯的2d图片更有震撼力一些,故本文 ...

  8. NYOJ--7

    原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=7 分析:x与y分开考虑,分别排序,邮局定在最中间的两个数之间就可以了. 街区最短路径问题 ...

  9. intellij 插件结构(文件结构以及概念层面上的结构)

    1.插件内的文件 2.插件类加载器 3.插件组件(component) 4.插件的扩展以及扩展点(Extensions.Extension Points) 5.插件的Action 6.插件的Servi ...

  10. mybatis中的resultMap与resultType、parameterMap与 parameterType的区别

    Map:映射:Type:Java类型 resultMap 与 resultType.parameterMap 与  parameterType的区别在面试的时候被问到的几率非常高,项目中出现了一个小b ...