人脸识别简史与近期进展

2016-03-29 刘昕 深度学习大讲堂

自动人脸识别的经典流程分为三个步骤:人脸检测、面部特征点定位(又称FaceAlignment人脸对齐)、特征提取与分类器设计。一般而言,狭义的人脸识别指的是"特征提取+分类器"两部分的算法研究。

在深度学习出现以前,人脸识别方法一般分为高维人工特征提取(例如:LBP,Gabor等)和降维两个步骤,代表性的降维方法有PCA,LDA等子空间学习方法和LPP等流行学习方法。在深度学习方法流行之后,代表性方法为从原始的图像空间直接学习判别性的人脸表示。


一般而言,人脸识别的研究历史可以分为三个阶段。在第一阶段(1950s-1980s),人脸识别被当作一个一般性的模式识别问题,主流技术基于人脸的几何结构特征。在第二阶段(1990s)人脸识别迅速发展,出现了很多经典的方法,例如Eigen Face, Fisher Face和弹性图匹配,此时主流的技术路线为人脸表观建模。在第三阶段(1990s末期到现在),人脸识别的研究不断深入,研究者开始关注面向真实条件的人脸识别问题,主要包括以下四个方面的研究:1)提出不同的人脸空间模型,包括以线性判别分析为代表的线性建模方法,以Kernel方法为代表的非线性建模方法和基于3D信息的3D人脸识别方法。2)深入分析和研究影响人脸识别的因素,包括光照不变人脸识别、姿态不变人脸识别和表情不变人脸识别等。3)利用新的特征表示,包括局部描述子(Gabor Face, LBP Face等)和深度学习方法。4)利用新的数据源,例如基于视频的人脸识别和基于素描、近红外图像的人脸识别。


2007年以来,LFW数据库成为事实上的真实条件下的人脸识别问题的测试基准。LFW数据集包括来源于因特网的5,749人的13,233张人脸图像,其中有1680人有两张或以上的图像。LFW的标准测试协议包括6000对人脸的十折确认任务,每折包括300对正例和300对反例,采用十折平均精度作为性能评价指标。


自从LFW发布以来,性能被不断刷新。2013年之前,主要技术路线为人造或基于学习的局部描述子+测度学习。2014年之后,主要技术路线为深度学习。


2014年以来,深度学习+大数据(海量的有标注人脸数据)成为人脸识别领域的主流技术路线,其中两个重要的趋势为:1)网络变大变深(VGGFace16层,FaceNet22层)。2)数据量不断增大(DeepFace400万,FaceNet2亿),大数据成为提升人脸识别性能的关键。


在前DL时代,以VIPL实验室三代半SDK为例,关键技术点包括1)分块人脸特征融合:Gabor特征+LPQ特征。 2)子空间学习进行特征降(PCA+LDA)。3)融合多尺度的人脸归一化模板。SDK3.5的相关技术在FRGC实验4上取得了0.1%错误接受率条件下96%的确认率,至今依然是FRGC数据集上最好结果。


需要指出的是,虽然深度学习强调特征学习,但学习特征并不是DL的专利。在前DL时代,利用浅层模型从图像中直接学习表示和基于人造描述子学习语义表示(例如学习中层属性表示的Attributes and Simile Classifier和学习高层语义表示的Tom-vs-Pete)的工作都见于相关文献。


2014年,Facebook发表于CVPR14的工作DeepFace将大数据(400万人脸数据)与深度卷积网络相结合,在LFW数据集上逼近了人类的识别精度。其中DeepFace还引入了一个Local Connected卷积结构,在每个空间位置学习单独的卷积核,缺点是会导致参数膨胀,这个结构后来并没有流行起来。



DeepID家族可以看作是DL时代人脸识别领域的一组代表性工作。最早的DeepID网络包括四个卷积层,采用softmax损失函数。DeepID2在DeepID网络的基础上,同时考虑了分类损失(identityloss) 和确认损失(verification loss),这两种损失在Caffe深度学习框架中分别可以采用softmaxwithloss层和contrastiveloss层来实现。DeepID2+网络则是在DeepID2的基础上,增加了每一层的辅助损失函数(类似Deep Supervised Network)。


Google发表于CVPR2015的工作FaceNet采用了22层的深层卷积网络和海量的人脸数据(800万人的2亿张图像)以及常用于图像检索任务的Triplet Loss损失函数。值得一提的是,由于人脸类别数达到800万类,如果使用softmax loss,输出层节点将达到800万个,需要至少32GB显存(假设上一个隐层节点1024个,采用单精度浮点数),而Triplet Loss则不需要额外占用显存。FaceNet在LFW数据集上十折平均精度达到99.63%,这也是迄今为止正式发表的论文中的最好结果,几乎宣告了LFW上从2008年到2015年长达8年之久的性能竞赛的结束。

人脸识别简史与近期进展相关推荐

  1. 《人脸识别原理及算法——动态人脸识别系统研究》—1章1.2节人脸识别相关学科的进展...

    本节书摘来自异步社区<人脸识别原理及算法--动态人脸识别系统研究>一书中的1章1.2节人脸识别相关学科的进展,作者 沈理 , 刘翼光 , 熊志勇,更多章节内容可以访问云栖社区"异 ...

  2. 旷视周而进:人脸识别简史与距离对齐技术的应用

    点击我爱计算机视觉标星,更快获取CVML新技术 目录 人脸识别系统简介 引言 基本工作流程 性能判断指标 如何找到好的人脸表示 人脸识别的实际应用挑战 人脸识别系统简介 引言 今天的分享主题是人脸识别 ...

  3. 今晚开播 | 人脸识别的最新进展以及工业级大规模人脸识别实践探讨

    人脸识别已经成为计算机视觉领域最热门的应用之一,很多刚入门的 AI 新手都或多或少接触过人脸识别的相关知识,但是纸上得来终觉浅,在实际应用中,往往会遇到各种各样的问题,比如如何保证不同环境下人脸识别的 ...

  4. 公开课 | 人脸识别的最新进展以及工业级大规模人脸识别实践探讨

    人脸识别已经成为计算机视觉领域最热门的应用之一,很多刚入门的 AI 新手都或多或少接触过人脸识别的相关知识,但是纸上得来终觉浅,在实际应用中,往往会遇到各种各样的问题,比如如何保证不同环境下人脸识别的 ...

  5. 人脸识别发展历史介绍 by 山世光

    1 引言 在我们生存的这个地球上,居住着近65亿人.每个人的面孔都由额头.眉毛.眼睛.鼻子.嘴巴.双颊等少数几个区域组合而成,它们之间的大体位置关系也是固定的,并且每张脸的大小不过七八寸见方.然而,它 ...

  6. 格灵深瞳 CEO 赵勇深度总结:揭开国内智能安防与人脸识别的真实现状

    [转] http://www.leiphone.com/news/201703/FDSaYcZGDi6iLZho.html AI 技术的成熟,使得由人工智能来自动消化海量监控视频数据成为可能.目前,人 ...

  7. 基于深度学习的端到端人脸识别技术:全面调研

    44页,共计371篇参考文献.本文全面介绍了端到端深度学习人脸识别技术,包括人脸检测,人脸预处理和人脸表征等方向,详细介绍了最新的算法设计,评估指标,数据集,性能比较等. The Elements o ...

  8. 得力人脸识别考勤机密码设置_百度大脑人脸识别公有云日均调用量过亿 成为业内第一...

    "刷脸"时代的背后,是技术"一日千里"的快速发展和演进.9月26日,百度来到深圳并召开了百度大脑人脸识别新产品及伙伴计划发布会.会上,百度首次公开人脸识别公有云 ...

  9. python人脸识别框很小_人脸识别:从传统方法到深度学习

    人脸识别:从传统方法到深度学习 这开始于上世纪七十年代,人脸识别成为了计算机视觉领域和生物识别领域最具有研究型的话题之一.传统方法依赖于手工制作模型特征,通过深度神经网络训练大量的数据集的方法也在最近 ...

最新文章

  1. java 必备_Java基础必备
  2. Ubuntu 14.04下安装ns-2.35详细教程
  3. 15.PAE分页(2-9-9-12)
  4. python手机代码识别数字_python实现kNN算法识别手写体数字的示例代码
  5. Hadoop Yarn生产环境核心配置参数
  6. 探讨8.0版本下后台service存活机制及保活
  7. C语言高级编程:预处理中的 # 和 ##
  8. 例子 类的定义与对象的创建 狗的例子
  9. android工程的建立,第一个Android项目HelloWorld的建立及剖析
  10. 1024程序员节持续引爆星城:500万程序员线上线下互动,共迎开源软件、操作系统新时代...
  11. slqite3库查询数据处理方式_SQLite数据库使用 常用命令
  12. AX9000利用docker实现迅雷远程下载
  13. 金蝶迷你版云服务器没有响应,金蝶迷你版登录提示云服务器异常
  14. 移动页面HTML5自适应手机屏幕宽度
  15. 修改bash中PS1命令提示符的颜色
  16. android softkeyboard,如何以编程方式关闭Android Soft KeyBoard?
  17. Roxy-Wi 远程命令执行漏洞 CVE-2022-31137
  18. 【搞定Jvm面试】 JVM 垃圾回收揭秘附常见面试题解析
  19. HTML 元素学习指南
  20. 常见网络钓鱼攻击类型

热门文章

  1. e语言怎么连接mysql_大佬们E语言连接MYSQL输出中文乱码怎么破
  2. 什么叫单模光纤_什么叫单模光纤_单模光纤的特点是什么
  3. leetcode算法题--1比特与2比特字符
  4. DPDK 应用层对网卡进行配置(二十四)
  5. leetcode算法题--最长字符串链
  6. python db api下载_python db api
  7. python安装好后打不开_windows的cmd中输入python后打不开python?
  8. 深入浅出NIO之Channel、Buffer
  9. 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)
  10. javascript对象、类与原型链