深扒人脸识别60年技术发展史_人脸识别发展历史-程序员宅基地

技术标签: 深扒人脸识别60年技术发展史  人工智能  

“他来听我的演唱会,门票换了手铐一对”。最近歌神张学友变阿SIR,演唱会上频频抓到罪犯,将人脸识别技术又一次推到了大众的视线中。要说人脸识别技术的爆发,当属去年9月份苹果iPhone x的发布,不再需要指纹,只需要扫描面部就可以轻松解锁手机。任何技术一旦进入智能手机这个消费市场,尤其是被苹果这个标志性的品牌采用,就意味着它将成为一种趋势,一个智能设备的标配。

在智能手机快速崛起的这几年,其密码锁经历了从数字密码、手势解锁到指纹识别的升级,发展到如今的虹膜识别和人脸识别。可以预料的是,由于全面屏幕的普及和更为安全、便捷的 FaceID 技术的出现,在不久的将来,指纹识别也将被智能手机厂商们所抛弃,完成它的历史使命。

那么人脸识别到底是一项怎样的技术,这期《趣科技》,与非网小编就将带大家走进人脸识别,聊聊这项黑科技。

人脸识别是啥玩意儿?

人脸识别技术,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术,通常也叫做人像识别、面部识别。传统的人脸识别技术主要是基于可见光图像的人脸识别,这也是人们熟悉的识别方式。简单的来说就是一个让计算机认出你的过程。

人脸识别技术主要是通过人脸图像特征的提取与对比来进行的。人脸识别系统将提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。这一过程又分为两类:一类是确认,是一对一进行图像比较的过程,另一类是辨认,是一对多进行图像匹配对比的过程。

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。

人脸识别技术发展

早在20世纪50年代,认知科学家就已着手对人脸识别展开研究。20世纪60年代,人脸识别工程化应用研究正式开启。当时的方法主要利用了人脸的几何结构,通过分析人脸器官特征点及其之间的拓扑关系进行辨识。这种方法简单直观,但是一旦人脸姿态、表情发生变化,则精度严重下降。

1991年,著名的“特征脸”方法第一次将主成分分析和统计特征技术引入人脸识别,在实用效果上取得了长足的进步。这一思路也在后续研究中得到进一步发扬光大,例如,Belhumer成功将Fisher判别准则应用于人脸分类,提出了基于线性判别分析的Fisherface方法。

由剑桥人脸数据集的特征分解获得的前四个特征向量

21世纪的前十年,随着机器学习理论的发展,学者们相继探索出了基于遗传算法、支持向量机(Support Vector Machine, SVM)、boosting、流形学习以及核方法等进行人脸识别。 2009年至2012年,稀疏表达(Sparse Representation)因为其优美的理论和对遮挡因素的鲁棒性成为当时的研究热点。

与此同时,业界也基本达成共识:基于人工精心设计的局部描述子进行特征提取和子空间方法进行特征选择能够取得最好的识别效果。Gabor及LBP特征描述子是迄今为止在人脸识别领域最为成功的两种人工设计局部描述子。这期间,对各种人脸识别影响因子的针对性处理也是那一阶段的研究热点,比如人脸光照归一化、人脸姿态校正、人脸超分辨以及遮挡处理等。也是在这一阶段,研究者的关注点开始从受限场景下的人脸识别转移到非受限环境下的人脸识别。LFW人脸识别公开竞赛在此背景下开始流行,当时最好的识别系统尽管在受限的FRGC测试集上能取得99%以上的识别精度,但是在LFW上的最高精度仅仅在80%左右,距离实用看起来距离颇远。

2013年,MSRA的研究者首度尝试了10万规模的大训练数据,并基于高维LBP特征和Joint Bayesian方法在LFW上获得了95.17%的精度。这一结果表明:大训练数据集对于有效提升非受限环境下的人脸识别很重要。然而,以上所有这些经典方法,都难以处理大规模数据集的训练场景。

2014年前后,随着大数据和深度学习的发展,神经网络重受瞩目,并在图像分类、手写体识别、语音识别等应用中获得了远超经典方法的结果。香港中文大学的Sun Yi等人提出将卷积神经网络应用到人脸识别上,采用20万训练数据,在LFW上第一次得到超过人类水平的识别精度,这是人脸识别发展历史上的一座里程碑。

表1 人脸识别经典方法及其在LFW上精度对比

自此之后,研究者们不断改进网络结构,同时扩大训练样本规模,将LFW上的识别精度推到99.5%以上。如表1所示,我们给出了人脸识别发展过程中一些经典的方法及其在LFW上的精度,一个基本的趋势是:训练数据规模越来越大,识别精度越来越高。

人脸识别十大关键技术

1、人脸检测(Face Detection)

“人脸检测(Face Detection)”的作用就是要检测出图像中人脸所在位置。

人脸检测算法的输入是一张图像,输出是人脸框坐标序列,具体结果是0个人脸框或1个人脸框或多个人脸框。输出的人脸坐标框可以为正方形、矩形等。

人脸检测算法的原理简单来说是一个“扫描”加“判定”的过程。即首先在整个图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸大小以及图像内容相关。在实际算法时,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、“人脸数量上限”的方式来加速算法。

举例说明:绿色矩形框标注的即为人脸检测算法检测到的人脸位置

2、人脸配准(Face Alignment)

“人脸配准(Face Alignment)”所实现的目的是定位出人脸上五官关键点坐标。

人脸配准算法的输入是“一张人脸图像”和“人脸坐标框”,输出是五官关键点的坐标序列。五官关键点的数量是预先设定好的一个固定数值,常见的有5点、68点、90点等等。
当前效果的较好的一些人脸配准技术基本通过深度学习框架实现。这些方法都是基于人脸检测的坐标框,按某种事先设定规则将人脸区域抠取出来,缩放到固定尺寸,然后进行关键点位置的计算。另外,相对于人脸检测,或者是后面将提到的人脸特征提取的过程,人脸配准算法的计算耗时都要少很多。

举例说明:输入图像以及输出结果如下,绿色圆点标注出了五官位置。

3、人脸属性识别(Face Attribute)

“人脸属性识别(Face Attribute)”是识别出人脸的性别、年龄、姿态、表情等属性值的一项技术。这在有些相机APP中有所应用,可以自动识别摄像头视野中人物的性别、年龄等特征并标注出来。

一般的人脸属性识别算法的输入是“一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的属性值。人脸属性识别算法一般会根据人脸五官关键点坐标将人脸对齐,具体过程为旋转、缩放、抠取等操作后,将人脸调整到预定的大小和形态,以便之后进行属性分析。

人脸的属性识别包括性别识别、年龄估计、表情识别、姿态识别、发型识别等等方面。一般来说每种属性的识别算法过程是独立的,但是有一些新型的基于深度学习实现的算法可以实现同时输出年龄、性别、姿态、表情等属性识别结果。

举例说明:人脸属性识别输出结果如下

4、人脸提特征(Face Feature Extraction)

“人脸提特征(Face Feature Extraction)”是将一张人脸图像转化为可以表征人脸特点的特征,具体表现形式为一串固定长度的数值。

人脸提特征过程的输入是 “一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的一个数值串(特征)。人脸提特征算法实现的过程为:首先将五官关键点坐标进行旋转、缩放等等操作来实现人脸对齐,然后在提取特征并计算出数值串。

举例说明:人脸特征提取过程

5、人脸比对(Face Compare)

“人脸比对(Face Compare)”算法实现的目的是衡量两个人脸之间相似度。

人脸比对算法的输入是两个人脸特征人脸特征由前面的人脸提特征算法获得,输出是两个特征之间的相似度。

举例说明:人脸对比过程,输出结果为相似度96%

6、人脸验证(Face Verification)

“人脸验证(Face Verification)”是判定两个人脸图是否为同一人的算法。

它的输入是两个人脸特征,通过人脸比对获得两个人脸特征的相似度,通过与预设的阈值比较来验证这两个人脸特征是否属于同一人。

举例说明:人脸验证过程如下,相似度96%大于阈值75%,判定属于同一个人

7、人脸识别(Face Recognition)

“人脸识别(Face Recognition)”是识别出输入人脸图对应身份的算法。

它的输入为一个人脸特征,通过和注册在库中N个身份对应的特征进行逐个比对,找出“一个”与输入特征相似度最高的特征。将这个最高相似度值和预设的阈值相比较,如果大于阈值,则返回该特征对应的身份,否则返回“不在库中”。

举例说明:人脸识别过程如下,判断结果为输入图像为注册库中的jason

8、人脸检索(Face Retrieval)

“人脸检索”是查找和输入人脸相似的人脸序列的算法。

人脸检索通过将输入的人脸和一个集合中的说有人脸进行比对,根据比对后的相似度对集合中的人脸进行排序。根据相似度从高到低排序的人脸序列即使人脸检索的结果。

举例说明:人脸检索过程如下,右侧绿框内排序序列为检索结果

9、人脸聚类(Face Cluster)

“人脸聚类(Face Cluster)”是将一个集合内的人脸根据身份进行分组的算法。
人脸聚类也通过将集合内所有的人脸两两之间做人脸比对,再根据这些相似度值进行分析,将属于同一个身份的人划分到一个组里。

在没有进行人工身份标注前,只知道分到一个组的人脸是属于同一个身份,但不知道确切身份。

举例说明:人脸聚类过程如下,右侧绿框内按身份的分组结果为聚类结果

10、人脸活体(FaceLiveness)

“人脸活体(FaceLiveness)”是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法。

在我们生活环境中,人脸认证系统中主要容易受到这种手段欺骗:

(1)用偷拍的照片假冒真实人;

(2)在公开场合录的视频或网上公开的视频片段;

(3)用计算机辅助软件设计的三维模型欺骗;

(4)用蜡或塑料等材质构造的三维雕像欺骗。

现在所以人脸活体检测技术的研究显得异常重要。对于照片欺骗,主要是根据分辨率、三位三维信息、眼动等来进行区分;对于视频欺骗,根据三维信息、光线等来区分。

人脸识别技术的主要用途

1、人脸识别技术应用于铁路安防系统

随着技术的进步,人员组织的不断复杂化,铁路安全形势不断面临新的挑战。火车票实名制有效阻止了不法分子进入车站,但是,目前铁路客运安全检查,基本还是靠安检员来检查票、证、人是否一致,而证件照片往往是多年前的照片,安检员很难辨认,辨别度很低。而人脸识别技术,准确度高、便捷性好,运用于铁路安防系统,将极大的提高安防系统,强化通关,让不法分子无空子可钻。另外,人脸识别技术还能助力强化追溯,支持在超大的人像库中定位查找对象,这将有力协助公安部门侦破案件,或抓捕在逃案犯。

2、人脸识别技术应用于教育领域

近年来,从中考、高考等升学考试,到执业资格、晋级升职等等考试,均不同程度地出现了替考现象,而利用人脸识别技术实现证件内照片特征和实时人脸照片特征比对识别,辨别考生身份,可防止考场替考现象的发生。人脸识别技术还可应用于校园,能有效地对进入校园的可疑人员做到预警。

3、人脸识别技术推进于智能城市建设

随着人类社会的不断发展,未来城市将承载越来越多的人口,为实现城市可持续发展,建设智慧城市已成为当今世界城市发展不可逆转的历史潮流。而在智慧城市的建设过程中,需注重对信息的结构化存储、分析挖掘,人脸的结构化云识别储存是构建整个智慧城市基础数据之一,是智慧城市云储存体系中的不可或缺的一部分。通过智慧城市的高速数据传输链及结构化的数据筛选,可将人脸大数据与智慧城市中其它的大数据之间碰撞出火花,更加凸显出人脸识别“用”的价值。

如今,人脸识别技术不再仅仅局限在考勤、门禁行业的简单应用,而是凭借其人脸的唯一匹配性以及安全优势,受到高安全性环境应用领域的青睐。而厦门云脉技术近年来致力于人脸识别核心技术的研发与产品化,并推动其与各行业相结合,依托自研的人脸识别算法以及成熟的OCR识别技术,为切实解决不同行业难题,推出了不同的人脸识别解决方案。云脉人脸识别技术识别速度快,精度高,不受一些化妆、眼镜等因素影响。

人脸识别的技术难点

人脸识别虽说发展到现在3、40年的时间了,但它一直存在的几个难点,到现在也没能彻底解决。

1、光照问题

光照问题是机器视觉重的老问题,在人脸识别中的表现尤为明显。由于人脸的3D结构,光照投射出的阴影,会加强或减弱原有的人脸特征。

2、表情姿态问题

与光照问题类似,姿态问题也是目前人脸识别研究中需要解决的一个技术难点。姿态问题涉及头部在三维垂直坐标系中绕三个轴的旋转造成的面部变化,其中垂直于图像平面的两个方向的深度旋转会造成面部信息的部分缺失。针对姿态的研究相对比较的少,目前多数的人脸识别算法主要针列正面、准正而人脸图像,当发生俯仰或者左右侧而比较厉害的情况下,人脸识别算法的识别率也将会急剧下降。面部幅度较大的哭、笑、愤怒等表情变化同样影像着面部识别的准确率。

3、遮挡问题

对于非配合情况下的人脸图像采集,遮挡问题是一个非常严重的问题。特别是在监控环境下,往往彼监控对象都会带着眼镜,帽子等饰物,使得被采集出来的人脸图像有可能不完整,从而影响了后面的特征提取与识别,甚至会导致人脸检测算法的失效。

4、年龄变化

随着年龄的变化,面部外观也在变化,特别是对于青少年,这种变化更加的明显。对于不同的年龄段,人脸识别算法的识别率也不同。一个人从少年变成青年,变成老年,他的容貌可能会发生比较大的变化,从而导致识别率的下降。对于不同的年龄段,人脸识别算法的识别率也不同。

5、人脸相似性

不同个体之间的区别不大,所有的人脸的结构都相似,甚至人脸器官的结构外形都很相似。这样的特点对于利用人脸进行定位是有利的,但是对于利用人脸区分人类个体是不利的。

6、图像质量

人脸图像的来源可能多种多样,由于采集设备的不同,得到的人脸图像质量也不一样,特别是对于那些低分辨率、噪声大、质量差的人脸图像(如手机摄像头拍摄的人脸图片、远程监控拍摄的图片等)如何进行有效地人脸识别是个需要关注的问题。同样的,对于高分辨图像对人脸识别算法的影响也需要进一步的研究。

7、样本缺乏

基于统计学习的人脸识别算法是目前人脸识别领域中的主流算法,但是统计学习方法需要大量的训练。由于人脸图像在高维空间中的分布是一个不规则的流形分布,能得到的样本只是对人脸图像空间中的一个极小部分的采样,如何解决小样本下的统计学习问题有待进一步的研究。

8、海量数据

传统人脸识别方法如PCA、LDA等在小规模数据中可以很容易进行训练学习。但是对于海量数据,这些方法其训练过程难以进行,甚至有可能崩溃。

9、大规模人脸识别

随着人脸数据库规模的增长,人脸算法的性能将呈现下降。

国内研究人脸识别的公司有哪些

2015年以来,已有腾讯、阿里、民生银行等多个行业巨头纷纷加码人脸识别产业。国内外巨头纷纷加码人脸识别技术,将直接助推产业的爆发性增长。想知道具体企业以及方向,可以阅读下方表格:

人脸识别的未来

随着大数据、共享时代的来临,数据安全问题也越发被重视起来,以人脸识别为代表的新一代技术革命已经展开。这些对技术的要求越来越高,既要求数据的准确性,又要保证数据的安全性,人脸识别在这方面大有可为,作为行业的主力军,企业的技术实力与创新能力决定着整个产业的走向,任何一点点技术的创新都可能带来行业的变革。

依托于物联网与人工智能的快速推进,人脸识别应用场景会越来越广泛。随着国家科研机构的研发投入、企业对技术的钻研、市场的推广等,这些都将是人脸识别美好前景的征兆。据业内分析人士认为,未来人脸识别或成为有效身份识别主流,届时,人脸识别就不是什么新鲜词了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42137700/article/details/102909742

智能推荐

java中的volatile关键字的功能详解_volatile 关键字,-程序员宅基地

文章浏览阅读4.6k次。Cookie的应用场景:1,记录用户的登陆状态,提示用户是否记住密码;2,购物车购物功能;我们知道,在web开发过程中,我们都要和cookie打交道,有时候离开了cookie还真玩不转。cookie最典型的应用莫过于登陆提示,最近在做一个小项目,正好要用到cookie的知识,在这里顺便做一下总结。_volatile 关键字,

通过 ICMP 协议实现 Ping Tunnel 建立可穿透网络隧道-程序员宅基地

文章浏览阅读7.1k次。Twitter via Ping Tunnel周四 Cola 没去幼儿园,中午带着他去 KFC 吃东西。回来的时候小林指着西总布胡同说走这条路回去还是原路返回,他说还是..._ping tunnel

基于springboot+vue.js的名城小区物业管理系统(附带文章和源代码设计说明文档ppt)-程序员宅基地

文章浏览阅读817次,点赞18次,收藏20次。博主介绍:CSDN深耕的技术专家、博客专家、有着常年的工作经验、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战文末获取源码+数据库。

Arthas使用教程 阿里巴巴开源项目、史上最强java线上诊断工具-程序员宅基地

文章浏览阅读1.4w次,点赞31次,收藏263次。什么是 Arthas摘录一段官方 Github 上的简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来._arthas

java 方法注释格式_JAVA注释方法及格式-程序员宅基地

文章浏览阅读2.7k次。2019独角兽企业重金招聘Python工程师标准>>>JAVA注释方法及格式1、单行(single-line)--短注释://……单独行注释:在代码中单起一行注释, 注释前最好有一行空行,并与其后的代码具有一样的缩进层级。如果单行无法完成,则应采用块注释。注释格式:/* 注释内容 */行头注释:在代码行的开头进行注释。主要为了使该行代码失去意义。注释格式:// 注释内容行尾注释:..._方法注释

egret4.X版本项目无法与egret 5.X项目共存解决_egret 4.x老项目升级-程序员宅基地

文章浏览阅读367次。在编译egret 5.X 项目项目中执行egret clean_egret 4.x老项目升级

随便推点

MFC深入浅出-CObject类_cobjectlist mfc-程序员宅基地

文章浏览阅读207次。CObject类 CObject 是大多数MFC类的根类或基类。CObject类有很多有用的特性:对运行时类信息的支持,对动态创建的支持,对串行化的支持,对象诊断输出,等等。MFC从CObject派生出许多类,具备其中的一个或者多个特性。程序员也可以从CObject类派生出自己的类,利用CObject类的这些特性。 本章将讨论 MFC如何设计CObject类的这些特性。首先,..._cobjectlist mfc

jenkins项目构建类型 -----Pipeline流水线项目构建_jenkins中使用jenkins pipline构建npm项目配置步骤-程序员宅基地

文章浏览阅读2.4k次。学习笔记_jenkins中使用jenkins pipline构建npm项目配置步骤

JFrame的使用方法-程序员宅基地

文章浏览阅读2.3w次,点赞38次,收藏245次。JFrame的使用方法JFram是一个GUI的最顶级容器,基本上所有的GUI的组件都在其上面使用。使用方法1.创建一个JFrame对象JFrame jf = new JFrame("我是标题鸭!!!");当然标题的设置也可以使用setTitle();jf.setTitle("我是标题鸭!!!");2.设置窗体的大小和位置在默认情况下,窗体出现在屏幕的最左上角jf.setS..._jfram

机器学习实战 | 自动化特征工程工具Featuretools应用-程序员宅基地

文章浏览阅读1.3w次,点赞7次,收藏70次。本篇讲解使用自动化特征工程工具Featuretools,对数据进行自动化特征工程的方法,并借助于BigMart Sales数据集来演示自动化特征工程的相关应用。_featuretools

eNSP 常用指令_stp region configuration-程序员宅基地

文章浏览阅读4.2k次,点赞21次,收藏80次。作为菜鸟记录下学习eNSP的笔记按照学校讲课进度记录,以网络学习的指令进行补充分类指令进入退出保存system-view 进入配置模式ctrl+z /quit 退出端口配置模式save 保存当前配置记得选Y命名和改名sysname SWC 给设备命名sys name j..._stp region configuration

【光伏功率预测】基于EMD-PCA-LSTM的光伏功率预测模型(Matlab代码实现)_计及相似日的 lstm 光伏出力预测模型研究-程序员宅基地

文章浏览阅读917次。随着电厂规模的不断扩增,电厂的数据量也呈爆炸式的增长,传统的神经网络光伏功率预测模型[7-10]一方面受电厂来源数据的制约,忽略了部分环境因素对光伏功率的影响[11] ,缺乏对多元环境序列信息的有效利用;另一方面,由于光伏功率与多元环境序列信息呈非线性变化,随着网络输入变量的增多,会导致模型收敛速度减慢[12-14] ,并出现过拟合问题;因此,要提高光伏功率预测模型的准确性,不仅要充分利用影响光伏功率的关键环境因素,也要进一步挖掘光伏功率预测与关键环境因素随时间变化的本质特征。长短期记忆神经网络;_计及相似日的 lstm 光伏出力预测模型研究

推荐文章

热门文章

相关标签