深扒人脸识别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

智能推荐

软件测试流程包括哪些内容?测试方法有哪些?_测试过程管理中包含哪些过程-程序员宅基地

文章浏览阅读2.9k次,点赞8次,收藏14次。测试主要做什么?这完全都体现在测试流程中,同时测试流程是面试问题中出现频率最高的,这不仅是因为测试流程很重要,而是在面试过程中这短短的半小时到一个小时的时间,通过测试流程就可以判断出应聘者是否合适,故在测试流程中包含了测试工作的核心内容,例如需求分析,测试用例的设计,测试执行,缺陷等重要的过程。..._测试过程管理中包含哪些过程

政府数字化政务的人工智能与机器学习应用:如何提高政府工作效率-程序员宅基地

文章浏览阅读870次,点赞16次,收藏19次。1.背景介绍政府数字化政务是指政府利用数字技术、互联网、大数据、人工智能等新技术手段,对政府政务进行数字化改革,提高政府工作效率,提升政府服务质量的过程。随着人工智能(AI)和机器学习(ML)技术的快速发展,政府数字化政务中的人工智能与机器学习应用也逐渐成为政府改革的重要内容。政府数字化政务的人工智能与机器学习应用涉及多个领域,包括政策决策、政府服务、公共安全、社会治理等。在这些领域,人工...

ssm+mysql+微信小程序考研刷题平台_mysql刷题软件-程序员宅基地

文章浏览阅读219次,点赞2次,收藏4次。系统主要的用户为用户、管理员,他们的具体权限如下:用户:用户登录后可以对管理员上传的学习视频进行学习。用户可以选择题型进行练习。用户选择小程序提供的考研科目进行相关训练。用户可以进行水平测试,并且查看相关成绩用户可以进行错题集的整理管理员:管理员登录后可管理个人基本信息管理员登录后可管理个人基本信息管理员可以上传、发布考研的相关例题及其分析,并对题型进行管理管理员可以进行查看、搜索考研题目及错题情况。_mysql刷题软件

根据java代码描绘uml类图_Myeclipse8.5下JAVA代码导成UML类图-程序员宅基地

文章浏览阅读1.4k次。myelipse里有UML1和UML2两种方式,UML2功能更强大,但是两者生成过程差别不大1.建立Test工程,如下图,uml包存放uml类图package com.zz.domain;public class User {private int id;private String name;public int getId() {return id;}public void setId(int..._根据以下java代码画出类图

Flume自定义拦截器-程序员宅基地

文章浏览阅读174次。需求:一个topic包含很多个表信息,需要自动根据json字符串中的字段来写入到hive不同的表对应的路径中。发送到Kafka中的数据原本最外层原本没有pkDay和project,只有data和name。因为担心data里面会空值,所以根同事商量,让他们在最外层添加了project和pkDay字段。pkDay字段用于表的自动分区,proejct和name合起来用于自动拼接hive表的名称为 ..._flume拦截器自定义开发 kafka

java同时输入不同类型数据,Java Spring中同时访问多种不同数据库-程序员宅基地

文章浏览阅读380次。原标题:Java Spring中同时访问多种不同数据库 多样的工作要求,可以使用不同的工作方法,只要能获得结果,就不会徒劳。开发企业应用时我们常常遇到要同时访问多种不同数据库的问题,有时是必须把数据归档到某种数据仓库中,有时是要把数据变更推送到第三方数据库中。使用Spring框架时,使用单一数据库是非常容易的,但如果要同时访问多个数据库的话事件就变得复杂多了。本文以在Spring框架下开发一个Sp..._根据输入的不同连接不同的数据库

随便推点

EFT试验复位案例分析_eft电路图-程序员宅基地

文章浏览阅读3.6k次,点赞9次,收藏25次。本案例描述了晶振屏蔽以及开关电源变压器屏蔽对系统稳定工作的影响, 硬件设计时应考虑。_eft电路图

MR21更改价格_mr21 对于物料 zba89121 存在一个当前或未来标准价格-程序员宅基地

文章浏览阅读1.1k次。对于物料价格的更改,可以采取不同的手段:首先,我们来介绍MR21的方式。 需要说明的是,如果要对某一产品进行价格修改,必须满足的前提条件是: ■ 1、必须对价格生效的物料期间与对应会计期间进行开启; ■ 2、该产品在该物料期间未发生物料移动。执行MR21,例如更改物料1180051689的价格为20000元,系统提示“对于物料1180051689 存在一个当前或未来标准价格”,这是因为已经对该..._mr21 对于物料 zba89121 存在一个当前或未来标准价格

联想启天m420刷bios_联想启天M420台式机怎么装win7系统(完美解决usb)-程序员宅基地

文章浏览阅读7.4k次,点赞3次,收藏13次。[文章导读]联想启天M420是一款商用台式电脑,预装的是win10系统,用户还是喜欢win7系统,该台式机采用的intel 8代i5 8500CPU,在安装安装win7时有很多问题,在安装win7时要在BIOS中“关闭安全启动”和“开启兼容模式”,并且安装过程中usb不能使用,要采用联想win7新机型安装,且默认采用的uefi+gpt模式,要改成legacy+mbr引导,那么联想启天M420台式电..._启天m420刷bios

冗余数据一致性,到底如何保证?-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏9次。一,为什么要冗余数据互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量。水平切分会有一个patition key,通过patition key的查询能..._保证冗余性

java 打包插件-程序员宅基地

文章浏览阅读88次。是时候闭环Java应用了 原创 2016-08-16 张开涛 你曾经因为部署/上线而痛苦吗?你曾经因为要去运维那改配置而烦恼吗?在我接触过的一些部署/上线方式中,曾碰到过以下一些问题:1、程序代码和依赖都是人工上传到服务器,不是通过工具进行部署和发布;2、目录结构没有规范,jar启动时通过-classpath任意指定;3、fat jar,把程序代码、配置文件和依赖jar都打包到一个jar中,改配置..._那么需要把上面的defaultjavatyperesolver类打包到插件中

VS2015,Microsoft Visual Studio 2005,SourceInsight4.0使用经验,Visual AssistX番茄助手的安装与基本使用9_番茄助手颜色-程序员宅基地

文章浏览阅读909次。1.得下载一个番茄插件,按alt+g才可以有函数跳转功能。2.不安装番茄插件,按F12也可以有跳转功能。3.进公司的VS工程是D:\sync\build\win路径,.sln才是打开工程的方式,一个是VS2005打开的,一个是VS2013打开的。4.公司库里的线程接口,在CmThreadManager.h 里,这个里面是我们的线程库,可以直接拿来用。CreateUserTaskThre..._番茄助手颜色

推荐文章

热门文章

相关标签