点击我爱计算机视觉标星,更快获取CVML新技术


几天前一篇arXiv新上论文《Face Recognition: From Traditional to Deep Learning Methods》,对人脸识别技术发展经历的几个时期进行了分类,为我们展开了计算机视觉中最为活跃的人脸识别技术发展波澜壮阔的四十年。

作者信息:

作者为来自学术界英国赫特福德大学和工业界GBG plc公司的研究人员。

文中指出,自上世纪七十年代开始,人脸识别已成为计算机视觉和生物特征识别技术中研究最热门的方向之一。 基于人工设计的特征和传统的机器学习技术的传统方法目前已经被使用大规模数据集训练的深度神经网络所取代。

在该文中,作者提供了一个既全面回顾又力求最新的人脸识别算法文献综述,包括传统方法(基于几何,基于整体,基于特征和混合方法)和深度学习方法。

人脸识别问题面临的挑战

如下所示:

人脸识别面临诸多技术挑战,比如人头部姿态变化,跨年龄人面部变化,光照变化,表情变化,人脸被遮挡等。

人脸识别系统模块

通常人脸识别系统包含如下几大模块:

1)人脸检测Face Detection

从图像中找到人脸并返回人脸包围框坐标。

2)人脸对齐(或称人脸配准)Face Alignment

检测人脸特征点,并据此进行仿射变换,对人脸进行尺度和角度的归一化。最新的技术甚至在这一步将人脸正面化。

3)人脸表示Face Representation

从人脸图像像素中计算提取人脸紧凑且具鉴别性的特征向量,或者称为模板(template)。

理想的特征是能够从同一个体的人脸不同图像中提取相似的特征向量。

4)人脸匹配Face Matching

将两幅图像的特征向量进行比较,得到相似分数,用于表示这两幅人脸图像属于同一个人的似然性。

下图是人脸检测和对齐的示意图:

人脸特征提取是所有流程中最重要的步骤,该论文的焦点也以介绍该部分技术文献梳理为主线。

人脸特征提取文献梳理

作者按照技术出现的时间顺序和技术特点,分成5个大类。

1)基于几何的方法Geometry-based Methods

早期的人脸识别方法使用特定的边缘和轮廓检测找到人脸特征点,并据此计算特征点之间相互位置和距离,用来衡量两幅人脸图像的相似程度。

这些方法往往在极少个体(10-20个人)的人脸数据库中进行实验,但在早期使得计算机来识别人脸称为可能。

2)基于整体的方法Holistic Methods

这类方法对图像整体进行投影操作提取特征。

包括我们熟悉的主分量分析(PCA)、线性鉴别分析(LDA),通过寻找一组投影向量将人脸图像降维,再将低维特征送入类似SVM等机器学习分类器进行人脸分类。

局部保持投影(LPP)是这个方向另一个重要算法,实践证明LPP往往优于PCA、LDA。

这个方向还有一项重要工作是图像稀疏表示(sparse representation),及由此衍生的稀疏表示分类器,以重建误差最小衡量分类结果。

以LFW数据集(Labeled Faces in the Wild)评估为衡量标准,这一类基于整体变换的方法中,取得最高精度的是joint Bayesian方法,达到92.4%的精度。

3)基于特征的方法Feature-based Methods

在人脸图像中的不同位置提取局部特征的方法,这种方法往往比基于整体的方法更具鲁棒性。

较早的基于特征的方法比如模块特征脸(modular eigenfaces),还有类似在图像块中提取HOG、LBP、SIFT、SURF特征(这些特征更具鉴别性),将各模块局部特征的向量串联,作为人脸表示。

4)混合方法Hybrid Methods

先使用基于特征的方法(比如LBP、SIFT)提取局部特征,再使用子空间方法(比如PCA、LDA)投影获取低维、鉴别特征,将基于整体和基于特征的方法相结合的方法。

这一类方法中有不少基于Gabor+子空间方法。

大量文献中LBP特征是这一类方法中重要的局部特征。

由于此处文献很多,基本涉及到使用不同的分块方法、使用不同的局部特征(Gabor、LBP、SIFT、LTP、LPQ等)、使用不同的子空间方法(PCA、LDA、MFDA、Laplacian PCA、Kernel PCA、kernel LDA等)的不同排列组合。

(这简直是一个最容易想到论文idea的方向。。。。)

在这一类方法中,GaussianFace在LFW上获得了最好的精度98.52%,几乎匹敌很多后来出现的深度学习方法。

5)基于深度学习的方法Deep Learning Methods

深度学习尤其是深度卷积神经网络方法最大的优势是可以从数据集中学习特征,如果数据集能够覆盖人脸识别中常遇到的各种情况,则系统能够自动学习克服各种挑战的特征。

在早期的神经网络研究中也有用于人脸识别的报道,但由于数据集不够大,网络不够深,效果也一般,没能吸引大家的注意力。

在CNN改进人脸识别的文献中,DeepFace和DeepID是先驱,成功吸引众多学者研究该方向。

DeepFace的出现将LFW上state-of-the-art人脸识别方法误差降低了27%!

深度学习成功用于人脸识别三大要素:大规模数据集、先进的网络架构、有针对性的损失函数。

大规模数据集

业界陆续建立公开了可供深度学习训练的多个大规模数据集,提供了技术发展的充足燃料,如下表:

先进的网络架构

在网络架构上,受惠于ImageNet图像分类比赛的先进网络,比如VGG网络、GoogleNet,和近年来十分流行的残差网络,使得构建更深和更高capacity网络成为可能。

残差单元示意图:

有针对性的损失函数

最开始大家将人脸识别建模为图像分类问题,使用普通的softmax作为损失函数。

后来出现的triplet loss、centre loss损失函数使得人脸识别推广能力大大增强。

triplet loss优化目标:

xp与xa为同一个体,xn与xa为不同个体。

而近年来一些在softmax函数上引入间隔(margin)的损失函数也大大改进了结果。

softmax引入间隔示意图:

目前取得state-of-the-art效果的softmax margin类型一览:

目前,在人脸识别的研究开发中,基于深度学习的方法已经完全成为主流。

原论文参考文献众多,不再一一列出,感兴趣的朋友请阅读原论文。

论文地址:

https://arxiv.org/abs/1811.00116v1

论文下载:

在“我爱计算机视觉”微信公众号对话界面回复“人脸识别综述”,即可收到百度云下载地址。

加群:

加入52CV-人脸识别专业讨论群,扫码添加52CV君拉你入群:

(请务必注明:人脸)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:928997753。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

【点赞与转发】就是一种鼓励

人脸识别的前世今生:从人工特征的百花齐放到深度学习的一统江湖相关推荐

  1. ai前世识别_ai人脸识别查找前世今生

    在午夜梦回之时你是否也曾幻想过自己的前世今生?点击ai人脸识别查找前世今生软件,上传你的照片,ai智能人类识别系统将会根据你的长相自动识别查找相符合的前世样貌,生成前世照片,非常的简单有趣,使用ai人 ...

  2. 人脸识别标注的68个特征

    人脸识别标注的68个特征.如图 图一标注从1开始,实际应从0开始到67 !!! 图一 图一 人脸识别的68个特征标注顺序. 鼻尖 30   鼻根 27   下巴 8   左眼外角 36   左眼内角 ...

  3. 人脸识别技术在智慧城城市建设中的深度应用

    人脸识别技术在智慧城城市建设中的深度应用 本文由本人发表于<中国安防>第144期-2017年10月刊智慧城市栏目 佳都新太科技股份有限公司 徐建明 1.   人脸识别技术在智慧城市应用中的 ...

  4. DL之RBM:(sklearn自带数据集为1797个样本*64个特征+5倍数据集)深度学习之BRBM模型学习+LR进行分类实现手写数字图识别

    DL之RBM:(sklearn自带数据集为1797个样本*64个特征+5倍数据集)深度学习之BRBM模型学习+LR进行分类实现手写数字图识别 目录 输出结果 实现代码 输出结果 实现代码 from _ ...

  5. 从特征描述符到深度学习:计算机视觉发展20年

    转自:http://cs2.swfc.edu.cn/~zyl/ 赵毅力的视觉研究博客 从特征描述符到深度学习:计算机视觉发展20年 Author: Tomasz Malisiewicz 翻译:赵毅力( ...

  6. 人脸识别经典算法一:特征脸方法(Eigenface)

    这篇文章是撸主要介绍人脸识别经典方法的第一篇,后续会有其他方法更新.特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的.特征脸用到的理论基础PCA在另一篇博客里:特征脸(Eig ...

  7. 人脸识别——脸部属性辅助(特征融合)

    <A Deep Face Identification Network Enhanced by Facial Attributes Prediction> 2018,Fariborz Ta ...

  8. 深度特征提取方法_基于深度学习的文本数据特征提取方法之Glove和FastText

    作者:Dipanjan (DJ) Sarkar 编译:ronghuaiyang 导读 今天接着昨天的内容,给大家介绍Glove模型和FastText模型,以及得到的词向量如何应用在机器学习任务里. ( ...

  9. python深度文字识别_【OCR技术系列之四】基于深度学习的文字识别(3755个汉字)...

    上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...

最新文章

  1. javascript闭包简单实例
  2. Tensorflow yolov3 Intel Realsense D435 单摄像头下各模块识别时间测试
  3. maven如何将本地jar安装到本地仓库
  4. python 使用期物处理并发
  5. XenDesktop 学习笔记1之DDC
  6. 郑州计算机五年大专学校排名,河南郑州大专院校最新排名2019,盘点河南省5所最好专科学校名单...
  7. 电脑计算机显示向程序发送命令时出现问题,Win7系统Excel向程序发送命令时出现错误怎么解决?...
  8. cmd 编译class 文件
  9. C2——cesium加载城市级三维管网模型的方案
  10. 检测点云中的目标(ROS2 Tao-PointPillars)
  11. AirDisk存宝 【S3\S6简易使用说明】
  12. 高速电路设计与仿真之Model Integrity篇(IBIS模型介绍)
  13. Hadoop流程---从tpch到hive
  14. python练习15:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
  15. 跟女神表白用计算机,终于跟女神表白了,她听后没说什么
  16. 回顾:Java影响者考虑了Java 11和JDK的状态
  17. JavaWeb(尚硅谷补充实操版)-中
  18. Java--捕鱼达人
  19. c语言版票务管理系统,求救求救 票务管理系统 好人一生平安
  20. IDEA版本选择下载

热门文章

  1. 设计模式学习笔记——策略(Strategy)模式
  2. C. 啊对对对 (南阳理工oj—21第二次招新赛)
  3. win7桌面计算机没了,win7系统桌面的计算机图标没了的解决方法
  4. 我们注意到您的计算机目前处于离线状态_你为什么会选择用反渗透设备离线清洗设备?...
  5. python docx表格宽度_RPA手把手——python-docx 设置 word 文档中表格格式
  6. python flask oauth_Flask之 flask_httpauth(HTTPTokenAuth)
  7. c语言函数简单注释模板,C语言中的Doxygen注释模板
  8. jupyter notebook python环境_jupyter Notebook环境搭建
  9. python sorted下标_Python学习教程(Python学习路线):第七天-字符串和常用数据结构
  10. 笑谈软件工程:烽烟中的敏捷