首页 理论教育 人脸识别技术:基于脸部特征信息进行身份识别的生物识别

人脸识别技术:基于脸部特征信息进行身份识别的生物识别

时间:2023-07-02 理论教育 版权反馈
【摘要】:(一)概述人脸识别技术,是基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别技术主要是通过人脸图像特征的提取与对比来进行的。人脸识别系统将提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。现在人脸活体检测技术的研究显得异常重要。

人脸识别技术:基于脸部特征信息进行身份识别的生物识别

(一)概述

人脸识别技术,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行一系列相关技术操作,通常也叫作人像识别、面部识别。

人脸识别技术主要是通过人脸图像特征的提取与对比来进行的。人脸识别系统将提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。

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

(二)技术原理

1.人脸检测(Face Detection)

人脸检测的作用是检测出图像中人脸所在位置。

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

2.人脸配准(Face Alignment)

人脸配准所实现的目标是定位出人脸上五官关键点坐标。

当前效果较好的一些人脸配准技术基本通过深度学习框架实现。这些方法都是基于人脸检测的坐标框,按某种事先设定的规则将人脸区域抠取出来,缩放到固定尺寸,然后进行关键点位置的计算。另外,相对于人脸检测,或者是后面将提到的人脸特征提取的过程,人脸配准算法的计算耗时都要少很多。

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

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

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

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

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

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

5.人脸比对(Face Compare)

人脸比对算法实现的目标是衡量两个人脸之间的相似度。

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

6.人脸验证(Face Verification)

人脸验证是判定两个人脸图是否为同一人的算法。

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

7.人脸识别(Face Recognition)

人脸识别是识别出输入人脸图对应身份的算法。

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

8.人脸检索(Face Retrieval)

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

人脸检索通过将输入的人脸和一个集合中的所有人脸进行比对,根据比对后的相似度对集合中的人脸进行排序。

9.人脸聚类(Face Cluster)

人脸聚类是将一个集合内的人脸根据身份进行分组的算法。

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

10.人脸活体(Face Liveness)

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

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

①用偷拍的照片假冒真实人;

②在公开场合录的视频或网上公开的视频片段行骗;

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

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

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

(三)识别方法

1.几何特征的人脸识别方法

几何特征可以是眼、鼻、嘴等的形状和它们之间的几何关系(如相互之间的距离)。这些算法识别速度快,需要的内存小,但识别率较低。

2.基于特征脸(PCA)的人脸识别方法

特征脸方法是基于KL变换的人脸识别方法,KL变换是图像压缩的一种最优正交变换。高维的图像空间经过KL变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以转成低维线性空间。假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法的基本思想。这些方法需要较多的训练样本,而且完全基于图像灰度的统计特性。目前有一些改进型的特征脸方法。

3.神经网络的人脸识别方法

神经网络的输入可以是降低分辨率的人脸图像、局部区域的自相关函数、局部纹理的二阶矩等。这类方法同样需要较多的样本进行训练,而在许多应用中,样本数量是很有限的。

4.弹性图匹配的人脸识别方法

弹性图匹配法在二维的空间中定义了一种对于通常的人脸变形具有一定的不变性的距离,并采用属性拓扑图来代表人脸,拓扑图的任一顶点均包含一特征向量,用来记录人脸在该顶点位置附近的信息。该方法结合了灰度特性和几何因素,在比对时可以允许图像存在弹性形变,在克服表情变化对识别的影响方面收到了较好的效果,同时对于单个人也不再需要多个样本进行训练。

5.线段Hausdorff距离(LHD)的人脸识别方法

心理学研究表明,人类在识别轮廓图(如漫画)的速度和准确度上丝毫不比识别灰度图差。LHD基于从人脸灰度图像中提取出来的线段图,它定义的是两个线段集之间的距离,与众不同的是,LHD并不建立不同线段集之间的一一对应关系,因此它更能适应线段图之间的微小变化。实验结果表明,LHD在不同光照条件下和不同姿态情况下都有非常出色的表现,但是它在大表情的情况下识别效果不好。

6.支持向量机(SVM)的人脸识别方法

近年来,支持向量机是统计模式识别领域的一个新热点,它试图使学习机在经验风险和泛化能力上达到一种妥协,从而提高学习机的性能。支持向量机主要解决的是一个二分类问题,它的基本思想是试图把一个低维的线性不可分的问题转化成一个高维的线性可分的问题。通常的实验结果表明,SVM有较好的识别率,但是它需要大量的训练样本(每类300个),这在实际应用中往往是不现实的。而且支持向量机训练时间长,方法实现复杂,核函数的取法没有统一的理论。

(四)识别流程

人脸识别是由一系列的相关问题组成的:

①首先找到一张图片中的所有人脸。

②对于每一张脸来说,无论是光线明暗或是面朝别处,它依旧能够识别出是同一个人的脸。

③能够在每一张脸上找出可用于与他人区分的独特之处,如眼睛多大、脸有多长等。

④最后将这张脸的特点与已知所有人脸进行比较,确定这个人是谁。

第一步:找出所有的面孔

很显然,在人脸识别的流程中得首先找到图片中的人脸。我们在使用手机或相机拍照时都会有人像模式,它能轻松地检测出人脸的位置,帮助相机快速对焦。

我们得感谢保罗·比奥拉(Paul Viola)和迈克尔·琼斯(Michael Jones)在2000年发明了一种能够快速在廉价相机上运行的人脸检测方法——相机对焦,人脸检测在相机上的应用才成为主流。然而现在我们有更可靠的解决方案HOG(Histogram of Oriented Gradients),即方向梯度直方图,这是一种能够检测物体轮廓的算法。

首先我们把图片灰度化,因为颜色信息对于人脸检测而言没什么用。

分析每个像素及其周围的像素时,根据明暗度画一个箭头,箭头的指向代表了像素逐渐变暗的方向,如果我们重复操作每一个像素,最终像素会被箭头取代。这些箭头被称为梯度(gradients),它们能显示出图像从明亮到黑暗流动的过程。

分析每个像素对我们来说有点不划算,因为它太过细节化了,可能会使我们迷失在像素的海洋里,所以我们应该从更高的角度观察明暗的流动。

为此我们将图像分割成16×16像素的小方块。在每个小方块中,计算出每个主方向有多少个梯度(有多少指向上、指向右上、指向右等)。然后用指向性最强的那个方向箭头来代替原来那个小方块。

最终,我们把原始图像转换成了一个非常简单的HOG表达形式,它可以很轻松地捕获面部的基本结构。

为了在HOG图像中找到脸部,我们需要做的是,于已知的一些HOG图案中,找到看起来最相似的部分。这些HOG图案都是从其他面部训练数据中提取出来的。

第二步:脸部的不同姿势(www.xing528.com)

我们已经找出了图片中的人脸,那么如何鉴别面朝不同方向的人脸呢?

对于电脑来说,朝向不同的人脸是不同的东西,为此我们得适当地调整扭曲图片中的人脸,使得眼睛和嘴总是与被检测者重叠。

为了达到目的,我们将使用一种面部特征点估计(face landmark estimation)的算法。其实还有很多算法都可以做到,但我们这次使用的是由瓦希德·卡奇米(Vahid Kazemi)和约瑟菲娜·沙利文(Josephine Sullivan)在2014年发明的方法。

这一算法的基本思路是找到68个人脸上普遍存在的点(即特征点,landmark)。

●下巴轮廓17个点(0~16)

●左眉毛5个点(17~21)

●右眉毛5个点(22~26)

●鼻梁4个点(27~30)

●鼻尖5个点(31~35)

●左眼6个点(36~41)

●右眼6个点(42~47)

●外嘴唇12个点(48~59)

●内嘴唇8个点(60~67)

有了这68个点,我们就可以轻松地知道眼睛和嘴巴在哪儿了,后续我们将图片进行旋转、缩放和错切,使得眼睛和嘴巴尽可能地靠近中心。

现在人脸基本上对齐了,这使得下一步更加准确。

第三步:给脸部编码

我们还有个核心的问题没有解决,那就是如何区分不同的人脸。

最简单的方法就是把我们第二步中发现的未知人脸与我们已知的人脸做对比。当我们发现未知的面孔与一个以前标注过的面孔看起来相似的时候,就可以认定他们是同一个人。

我们人类能通过眼睛大小、头发颜色等信息轻松地分辨不同的两张人脸,可是电脑怎么分辨呢?没错,就是量化它们,测量出他们的不同,那要怎么做呢?

如何测量人脸的数值呢,如耳朵大小、鼻子长度、眼睛的颜色?

实际上,对于人来说这些信息很容易分辨,可是对于计算机,这些值没什么价值。实际上最准确的方法是让计算机自己找出他要收集的测量值。深度学习比人类更懂得哪些面部测量值比较重要。

所以,解决方案是训练一个深度卷积神经网络,训练它为脸部生成128个测量值。

每次训练要观察三个不同的脸部图像:

①加载一张已知的人的面部训练图像;

②加载同一个人的另一张照片;

③加载另外一个人的照片。

然后,算法查看它自己为这三个图片生成的测量值。接着,稍微调整神经网络,以确保第一张和第二张生成的测量值接近,而第二张和第三张生成的测量值略有不同。

我们要不断地调整样本,重复以上步骤百万次,这确实是个巨大的挑战,但是一旦训练完成,它能够轻松地找出人脸。

从图像中生成的128个测量值

这128个测量值是什么呢?

其实我们不用关心这些数值,这对我们也不重要。我们要关心的是,当看到同一个人两张不同的照片时,网络要能得到几乎相同的数值。

第四步:从编码中找出人的名字

最后一步实际上是最简单的一步,我们需要做的是找到数据库中与测试图像的测量值最接近的那个人。

如何做呢?我们利用一些现成的数学公式,计算两个128D数值的欧氏距离:

这样我们得到一个欧式距离值,系统将给它一个认为是同一个人欧氏距离的阈值,即超过这个阈值我们就认定他们是同一个人。

人脸识别就这样达成了,我们再回顾一下流程:

①使用HOG找出图片中所有人脸的位置。

②计算出人脸的68个特征点并适当的调整人脸位置,对齐人脸。

③把上一步得到的面部图像放入神经网络,得到128个特征测量值,并保存它们。

④与我们以前保存过的测量值一并计算欧氏距离,得到欧氏距离值,比较数值大小,即可得到是否是同一个人的答案。

(五)优点与缺点

1.优点

人脸识别的优点:自然性、不被察觉、非接触性、非强制性、并发性。

自然性,是指该识别方式同人类(甚至其他生物)进行个体识别时所利用的生物特征相同,放松自然,不必做作。另外具有自然性的识别还有虹膜识别、语音识别、体形识别等。

不被察觉性,这让该识别方法不令人反感,并且因为不容易引起人的注意而不容易被欺骗。

非接触性,用户不需要设备直接接触。

非强制性,被识别的人脸图像信息可以主动获取。

并发性,即实际应用场景下可以进行多个人脸的分拣、判断及识别。

2.缺点

①人脸的结构都相似。这样的特点对于利用人脸进行定位是有利的,但是对于利用人脸区分人类个体是不利的。

②人脸的外形很不稳定,不同表情可以引起脸部的不同变化,而在不同观察角度,人脸的视觉图像也相差很大。

③人脸识别还受光照条件(如白天和夜晚、室内和室外等)、人脸的遮盖物(如口罩墨镜、头发、胡须等)、年龄等多方面因素的影响。

④在智能锁上如果人脸采集摄像头固定的话,不便于不同身高的人群使用。

⑤人脸属于暴露性特征,在一定技术手段下易被复制。

(六)应用

锁具行业:智能锁的人脸识别。

金融行业:联网核查、刷脸支付、VIP客户识别等。

社保行业:离退休人员信息采集及身份信息核查。

教育行业:考生信息采集和身份识别。

公安行业:公安人脸照片比对、抓捕罪犯。

企事业单位:工作人员考勤、出入控制。

运输行业:进出车站检查票、证、人是否一致,而证件照片往往是多年前的照片,安检员很难辨认,辨别度很低。但是,活体人脸识别的准确性十分突出,中国人脸识别技术已十分成熟,即使同性双胞胎也能精准分辨。

智慧城市建设:对信息的结构化存储、分析、挖掘,人脸的结构化云识别储存是构建整个智慧城市的基础数据之一。

门禁系统:受安全保护的地区可以通过人脸识别辨识试图进入者的身份。人脸识别系统可用于企业、住宅、门禁人脸识别,如人脸识别门禁考勤系统。

摄像监视系统:可在机场、体育场、超级市场等公共场所对人群进行监视,如在机场安装监视系统以防止恐怖分子登机。如果银行的自动提款机、用户卡片和密码被盗,就会被他人冒取现金,而应用人脸识别就会避免这种情况的发生。

考勤系统:对人员进行每天的考勤记录。

智能锁识别开启系统:随着以指纹为主的智能锁的普及和深入,人脸识别技术因其非接触性和不被察觉性的优点,必将快速应用到智能锁中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈