人脸识别研究解读

人脸识别概述:人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别区别于其他生物特征识别方法的五项优势,有非侵扰性、便捷性、友好性、非接触性、可扩展性。

人脸识别技术原理:人脸识别的五大技术流程,包括人脸图像的采集与预处理、人脸检测、人脸特征提取、人脸识别和活体鉴别;目前人脸识别的主要方法,包括基于特征脸的方法、基于几何特征的方法、基于深度学习的方法、基于支持向量机的方法和其他综合方法。

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

2014 年前后,随着大数据和深度学习的发展,神经网络重受瞩目,并在图像分类、手写 体识别、语音识别等应用中获得了远超经典方法的结果。香港中文大学的 Sun Yi 等人提出 将卷积神经网络应用到人脸识别上,采用 20 万训练数据,在 LFW 上第一次得到超过人类 水平的识别精度,这是人脸识别发展历史上的一座里程碑。 自此之后,研究者们不断改进网络结构,同时扩大训练样本规模,将 LFW 上的识别精 度推到 99.5%以上。人脸识别发展过程中一些经典的方法及其在 LFW 上的精度,都有一个 基本的趋势:训练数据规模越来越大,识别精度越来越高。

人脸识别流程

(1)人脸图像的采集

采集人脸图像通常情况下有两种途径,分别是既有人脸图像的批量导入和人脸图像的实时采集。一些比较先进的人脸识别系统甚至可以支持有条件的过滤掉不符合人脸识别质量要求或者是清晰度质量较低的人脸图像,尽可能的做到清晰精准的采集。

既有人脸图像的批量导入:即将通过各种方式采集好的人脸图像批量导入至人脸识别系统,系统会自动完成逐个人脸图像的采集工作。

人脸图像的实时采集:即调用摄像机或摄像头在设备的可拍摄范围内自动实时抓取人脸图像并完成采集工作。

(2)人脸图像的预处理

人脸图像的预处理的目的是在系统对人脸图像的检测基础之上,对人脸图像做出进一步的处理以利于人脸图像的特征提取。

人脸图像的预处理具体而言是指对系统采集到的人脸图像进行光线、旋转、切割、过滤、降噪、放大缩小等一系列的复杂处理过程来使得该人脸图像无论是从光线、角度、距离、大小等任何方面来看均能够符合人脸图像的特征提取的标准要求。

在现实环境下采集图像,由于图像受到光线明暗不同、脸部表情变化、阴影遮挡等众多外在因素的干扰,导致采集图像质量不理想,那就需要先对采集到的图像预处理,如果图像预处理不好,将会严重影响后续的人脸检测与识别。

(3)人脸检测

一张包含人脸图像的图片通常情况下可能还会包含其他内容,这时候就需要进行必要的人脸检测。也就是在一张人脸图像之中,系统会精准的定位出人脸的位置和大小,在挑选出有用的图像信息的同时自动剔除掉其他多余的图像信息来进一步的保证人脸图像的精准采集。

人脸检测是人脸识别中的重要组成部分。人脸检测是指应用一定的策略对给出的图片或者视频来进行检索,判断是否存在着人脸,如果存在则定位出每张人脸的位置、大小与姿态的过程。人脸检测是一个具有挑战性的目标检测问题,主要体现在两方面:

人脸目标内在的变化引起:(1)人脸具有相当复杂的细节变化和不同的表情(眼、嘴的 开与闭等),不同的人脸具有不同的外貌,如脸形、肤色等;(2)人脸的遮挡,如眼镜、头发和头部饰物等。

外在条件变化引起:(1)由于成像角度的不同造成人脸的多姿态,如平面内旋转、深度旋转以及上下旋转等,其中深度旋转影响较大;(2)光照的影响,如图像中的亮度、对比度的变化和阴影等;(3)图像的成像条件,如摄像设备的焦距、成像距离等。

人脸检测的作用,便是在一张人脸图像之中,系统会精准的定位出人脸的位置和大小,在挑选出有用的图像信息的同时自动剔除掉其他多余的图像信息来进一步的保证人脸图像的精准采集。人脸检测重点关注以下指标:

检测率:识别正确的人脸/图中所有的人脸。检测率越高,检测模型效果越好;
误检率:识别错误的人脸/识别出来的人脸。误检率越低,检测模型效果越好;
漏检率:未识别出来的人脸/图中所有的人脸。漏检率越低,检测模型效果越好;
速度:从采集图像完成到人脸检测完成的时间。时间越短,检测模型效果越好。

(4)人脸特征提取

目前主流的人脸识别系统可支持使用的特征通常可分为人脸视觉特征、人脸图像像素统计特征等,而人脸图像的特征提取就是针对人脸上的一些具体特征来提取的。特征简单,匹配算法则简单,适用于大规模的建库;反之,则适用于小规模库。特征提取的方法一般包括基于知识的提取方法或者基于代数特征的提取方法。以基于知识的人脸识别提取方法中的一种为例,因为人脸主要是由眼睛、额头、鼻子、耳朵、下巴、嘴巴等部位组成,对这些部位以及它们之间的结构关系都是可以用几何形状特征来进行描述的,也就是说每一个人的人脸图像都可以有一个对应的几何形状特征,它可以帮助我们作为识别人脸的重要差异特征,这也是基于知识的提取方法中的一种。

(5)人脸识别

我们可以在人脸识别系统中设定一个人脸相似程度的数值,再将对应的人脸图像与系统数据库中的所有人脸图像进行比对,若超过了预设的相似数值,那么系统将会把超过的人脸图像逐个输出,此时我们就需要根据人脸图像的相似程度高低和人脸本身的身份信息来进行精确筛选,这一精确筛选的过程又可以分为两类:其一是一对一的筛选,即对人脸身份进行确认过程;其二是一对多的筛选,即根据人脸相似程度进行匹配比对的过程。

(6)活体鉴别

生物特征识别的共同问题之一就是要区别该信号是否来自于真正的生物体,比如,指纹识别系统需要区别带识别的指纹是来自于人的手指还是指纹手套,人脸识别系统所采集到的人脸图像,是来自于真实的人脸还是含有人脸的照片。因此,实际的人脸识别系统一般需要增加活体鉴别环节,例如,要求人左右转头,眨眼睛,开开口说句话等。

人脸识别方法:

这里主要介绍基于深度学习的识别方法:

深度学习的出现使人脸识别技术取得了突破性进展。人脸识别的最新研究成果表明,深度学习得到的人脸特征表达具有手工特征表达所不具备的重要特性,例如它是中度稀疏的、对人脸身份和人脸属性有很强的选择性、对局部遮挡具有良好的鲁棒性。这些特性是通过大数据训练自然得到的,并未对模型加入显式约束或后期处理,这也是深度学习能成功应用在人脸识别中的主要原因。

深度学习在人脸识别上有 7 个方面的典型应用:基于卷积神经网络(CNN)的人脸识别方法,深度非线性人脸形状提取方法,基于深度学习的人脸姿态鲁棒性建模,有约束环境中的全自动人脸识别,基于深度学习的视频监控下的人脸识别,基于深度学习的低分辨率人脸识别及其他基于深度学习的人脸相关信息的识别。

其中,卷积神经网络(Convolutional Neural Networks,CNN)是第一个真正成功训练多层网络结构的学习算法,基于卷积神经网络的人脸识别方法是一种深度的监督学习下的机器学习模型,能挖掘数据局部特征,提取全局训练特征和分类,其权值共享结构网络使之更类似于生物神经网络,在模式识别各个领域都得到成功应用。CNN 通过结合人脸图像空间的局部感知区域、共享权重、在空间或时间上的降采样来充分利用数据本身包含的局部性等特征,优化模型结构,保证一定的位移不变性。

基于深度学习的人脸识别技术的广泛应用 :

目前主流的人脸识别技术大多都是针对轻量级的人脸图像数据库,对于未来完全可预见的亿万级的人脸图像数据库则还不太成熟,因此需要重点研究基于深度学习的人脸识别技术。通俗意义上来讲就是,目前国内人口有十三亿之多,由实力雄厚的人脸识别公司牵头在不久的未来建立起一个覆盖全国范围的统一的人脸图像数据库也是可以预见的,那么该人脸图像数据库存储的人脸图像的容量可能会达到数十亿甚至是数百亿的级别,这时候可能就会存在大量表征相似、关键特征点相似的人脸,如果没有基于深度学习的人脸识别技术,建立更为复杂的多样化的人脸模型,那么在实现精准和快速的人脸识别就会比较困难。

基于深度学习人脸识别方法的细分类:

人脸的表达模型分为2D人脸3D人脸。2D人脸识别研究的时间相对较长,方法流程也相对成熟,在多个领域都有使用,但由于2D信息存在深度数据丢失的局限性,无法完整的表达出真实人脸,所以在实际应用中存在着一些不足,例如识别准确率不高、活体检测准确率不高等。

3D人脸模型比2D人脸模型有更强的描述能力,能更好的表达出真实人脸,所以基于3D数据的人脸识别不管识别准确率还是活体检测准确率都有很大的提高。

2D人脸识别模型比较有名的有FaceNet:

官方Tensorflow版Facenet

这个是Facenet的官方github代码地址,里面人脸检测使用的是MTCNN模型,具体的介绍可以稍微再参考下我的这篇文章:

天山老霸王:用Pyqt5开发的基于MTCNN、FaceNet人脸考勤系统.

注意:此模型未包含活体检测,人脸提取特征是一个神经网络,人脸检测是一个神经网络。

3D人脸识别现状
目前3D人脸识别在市场上根据使用摄像头成像原理主要分为:3D结构光、TOF、双目立体视觉。

3D结构光
3D结构光通过红外光投射器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。主要利用三角形相似的原理进行计算,从而得出图像上每个点的深度信息,最终得到三维数据。

基于3D结构光的人脸识别已在一些智能手机上实际应用,如国外使用了超过10亿张图像(IR和深度图像)训练的FaceId;国内自主研发手机厂商的人脸识别。

TOF
TOF简单的说就是激光测距,照射光源一般采用方波脉冲调制,根据脉冲发射和接收的时间差来测算距离。

采用TOF的方式获取3D数据主要在Kinect上实现,Kinect在2009年推出,目的是作为跟机器的交互设备,用在游戏方面。主要获取并处理的是人体的姿态数据。

双目立体视觉
双目是基于视差原理并由多幅图像获取物体三维几何信息的方法。由双摄像机从不同角度同时获得被测物的两幅数字图像,并基于视差原理恢复出物体的三维几何信息,从而得出图像上每个点的深度信息、最终得到三维数据。

由于双目立体视觉成像原理对硬件要求比较高,特别是相机的焦距、两个摄像头的平面位置,应用范围相对3D结构光TOF少。

相比2D人脸识别,可以简单理解为在RGB基础上添加了深度信息,人脸的深度。
按深度信息使用的方法可以分为两类:3D人脸识别、2D+人脸识别。

3D人脸识别
3D人脸识别处理的是3D的数据,如点云、体素等,这些数据是完整的,立体的,能表达出物体各个角度的特征,不管一个人正脸还是侧脸,理论上都是同一个人。但是因为点云等3D数据具有数据量大、而且点云数据具有无序性、稀疏性等特点,3D人脸识别开发难度比较大。

2D+人脸识别
由于3D人脸识别开发难度比较大,于是有2D+人脸识别,其处理方式比较简单,只是将3D的人脸数据分为2D的RGB数据+深度数据。处理的方法为先采用2D的人脸识别方法处理2D的RGB数据,然后再处理深度数据。这样的处理实现起来就相对较快,因为目前的2D人脸识别有一套比较成熟的方法,特别是CNN出现后,2D的人脸识别在各挑战赛、数据集上识别的准确率已经达到甚至超过人类的识别精度。

2D+人脸识别的方法能比较好将2D人脸识别的方法迁移过来,但是这样人为的将深度信息跟RGB信息分开处理不如3D人脸识别准确率高。2D+人脸识别相对2D人脸识别准确率提高不会很大,但是在活体检测的准确率上有一定的提高。
具体可以参考以下文章:

2D与3D人脸识别有什么本质上的区别?.

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天山老霸王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值