当前位置: > 投稿>正文

人脸识别难点大全,<算法+4个实现步骤+5个难点>

04-19 互联网 未知 投稿

关于【人脸识别难点大全】,今天犇犇小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

1、人脸识别难点大全:人脸识别背后的秘密(算法+4个实现步骤+5个难点)

人脸识别是身份识别的一种方式,目的就是要判断图片和视频中人脸的身份时什么。

本文将详细介绍人脸识别的4个特点、4个步骤、5个难点及算法的发展轨迹。

什么是人脸识别?

人脸识别是 计算机视觉-computer Vision 领域里很典型的应用。

人脸识别的目的就是要判断图片和视频(视频是由图片构成的)中人脸的身份是什么。

人脸识别是身份识别的一种,它跟身份证识别、指纹识别、虹膜识别都是相似的。可以将人脸识别和大家熟悉的身份证做对比:

人脸识别难点大全,<算法+4个实现步骤+5个难点>

  1. 录入信息(开通身份证 – 录入人脸信息)
  2. 将信息存入数据库(身份证信息 – 人脸信息)
  3. 当需要验证身份时,将新采集信息和数据库信息作比对(扫身份证 – 刷脸)

人脸识别有4个特点

人脸识别和其他身份识别相比,有4个特点:

人脸识别难点大全,<算法+4个实现步骤+5个难点>

  1. 便捷性。人脸是生物特征,不需要携带类似身份证的东西
  2. 非强制性。识别的过程甚至不需要对象的配合,只要拍摄到人脸就可以进行识别,例如安防领域就是如此。
  3. 非接触性。不需要跟设备进行接触,相比指纹更加安全一些。
  4. 并行处理。一张照片里有多个人脸时可以一起处理,不像指纹和虹膜,需要一个一个来。

基于以上特点,人脸识别正在被广泛的应用在各个领域。大家在生活中随处都可以看到人脸识别的应用。

人脸识别的 4 个步骤

人脸识别的过程中有4个关键的步骤:

  1. 人脸检测
  2. 人脸对齐
  3. 人脸编码
  4. 人脸匹配

人脸识别难点大全,<算法+4个实现步骤+5个难点>

下面详细说明一下这4个步骤。

人脸检测

人脸检测的目的是寻找图片中人脸的位置。当发现有人脸出现在图片中时,不管这个脸是谁,都会标记出人脸的坐标信息,或者将人脸切割出来。

可以使用方向梯度直方图(HOG)来检测人脸位置。先将图片灰度化,接着计算图像中像素的梯度。通过将图像转变成HOG形式,就可以获得人脸位置。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

人脸识别难点大全,<算法+4个实现步骤+5个难点>

人脸对齐

人脸对齐是将不同角度的人脸图像对齐成同一种标准的形状。

先定位人脸上的特征点,然后通过几何变换(仿射、旋转、缩放),使各个特征点对齐(将眼睛、嘴等部位移到相同位置)。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

人脸编码

人脸图像的像素值会被转换成紧凑且可判别的特征向量,这也被称为模板(template)。理想情况下,同一个主体的所有人脸都应该映射到相似的特征向量。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

人脸匹配

在人脸匹配构建模块中,两个模板会进行比较,从而得到一个相似度分数,该分数给出了两者属于同一个主体的可能性。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

人脸识别的 5 个难点

人脸图像在现实世界中的呈现具有高度的可变性。所以人脸识别也是最有挑战性的生物识别方法之一。人脸图像可变的地方包括:

  1. 头部姿势
  2. 年龄
  3. 遮挡
  4. 光照条件
  5. 人脸表情

人脸识别难点大全,<算法+4个实现步骤+5个难点>

人脸识别算法的发展轨迹

人脸识别领域,也是从传统机器学习算法过度到深度学习算法的。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

传统机器学习算法

在机器学习阶段,人脸识别也经历了3个重要的阶段:

  1. 几何特征阶段
  2. 表象特征阶段
  3. 纹理特征阶段

深度学习算法

在深度学习阶段,算法的发展也同样经历了3个阶段:

  1. 从最开始的 VGG 网络到 Inception 网络再到 Resnet 网络,网络模型总体上呈现出更深,更宽的趋势。
  2. 旷视、商汤为代表的在学术公开竞赛中取得好成绩的这些厂商,开始发展实际业务为起点,通过不断扩大他们的实际数据集合,算法性能也在逐渐的提升。
  3. 进一步增加数据量以提升算法性能以外,与第一阶段相反,大家开始在不降低识别性能的基础上,研究网络的轻量化。轻量化的主要目的有两个,一个是提升算法的速度,甚至能够部署到移动端;另外一个就是便于硬件实现,从而将人脸识别算法直接做成一个硬件模块。

想要详细了解不同阶段的技术细节,可以看这篇文章《一文看懂人脸识别技术发展脉络》

人脸识别的典型应用

人脸识别的应用变得越来越广泛,只要跟身份识别相关的未来都有可能使用人脸识别。下面列几个典型的应用场景。

  1. 门禁系统
  2. 安防系统
  3. 无人超市
  4. 电子护照及身份证
  5. 自主服务系统(如ATM)
  6. 信息安全系统,如刷脸支付
  7. 娱乐型应用,如抖音里的部分道具

2、人脸识别难点大全,一文了解人脸识别

导读:在本文中,我们将会接触到一个既熟悉又陌生的概念——人脸识别。之所以熟悉,是因为人脸识别技术在我们日常生活中应用极其广泛,例如火车站刷脸验票进站、手机人脸解锁等;之所以陌生,是因为我们可能并不了解人脸识别的原理,不了解人脸识别的任务目标、发展历程与趋势。

那么,在本文中,我们将会对人脸识别技术的概念、应用、目标等做简要介绍,以便读者对这项技术有一个立体的认识。

作者:王天庆

如需转载请联系华章科技

人脸识别技术是如今十分热门的一项技术,掌握人脸识别技术的优势不言而喻。下面,我们将首先介绍人脸识别的基本概况。

01 何为人脸识别

人脸识别技术由来已久,这个概念没有一个严格的定义,一般有狭义与广义之分。

狭义的表述一般是指:以分析与比较人脸视觉特征信息为手段,进行身份验证或查找的一项计算机视觉技术。

从表述上看,狭义的人脸识别技术其实是一种身份验证技术,它与我们所熟知的指纹识别、声纹识别、指静脉识别、虹膜识别等均属于同一领域,即生物信息识别领域。因此,狭义上的人脸识别一般指的是通过人脸图像进行身份确认或查找的场景。

▲图1-1 北京站“刷脸”进站使用提示

人脸识别的另外一个典型应用是手机解锁。随着iPhone X的诞生,苹果手机家族增添了一项新的身份验证方式,即所谓的Face ID。而苹果公司官方宣称,基于Face ID的识别准确率要远高于基于指纹识别的Touch ID。

实际上,通过人脸识别来解锁手机并不算什么新鲜事。早在Android 4.0时期,这项功能就已经集成在操作系统中了。只不过,由于种种原因,这项功能并未取得比较好的效果,因此无论是谷歌还是手机制造厂商都没有对此进行宣传,自然也不会被大众所了解。

值得一提的是,据说苹果公司在这项技术上的研发时间长达5年之久,直至iPhone X才搭载了完备的人脸识别功能,可见高精度的人脸识别技术并不是一种简单的技术。

上面的两个例子只是人脸识别应用的冰山一角,人脸识别技术的典型应用场景可以总结为如下几个场景。

1. 身份认证场景

这是人脸识别技术最典型的应用场景之一。门禁系统、手机解锁等都可以归纳为该种类别。该方法与传统的钥匙开锁、指纹识别、虹膜识别等均属于身份认证。这需要系统判断当前被检测人脸是否已经存在于系统内置的人脸数据库中。如果系统内没有该人的信息,则认证失败。

2. 证件验证场景

证件验证与身份认证相似,也可称为人脸验证,是判断证件中的人脸图像与被识别人的人脸是否相同的场景。在进行人脸与证件之间的对比时,往往会引入活体检测技术。

或许大家对活体检测技术并不陌生,就是我们在使用互联网产品时经常会出现的“眨眨眼、摇摇头、点点头、张张嘴”的人脸识别过程,这个过程我们称之为基于动作指令的活体检测。活体检测还可以借由红外线、活体虹膜、排汗等方法来实现。

不难理解,引入活体检测可以有效地增加判断的准确性,防止攻击者伪造或窃取他人生物特征用于验证,例如使用照片等平面图片对人脸识别系统进行攻击。

3. 人脸检索场景

人脸检索与身份验证类似,二者的区别在于身份验证是对人脸图片“一对一”地对比,而人脸检索是对人脸图片“一对多”地对比。例如,在获取到某人的人脸图片后,可以通过人脸检索方法,在人脸数据库中检索出该人的其他图片,或者查询该人的姓名等相关信息。

这与我们在数据库中进行查询是一样的,但人脸检索要比在数据库中查询常规数据复杂得多,例如该以何种方式才能建立高效的人脸图片检索索引呢?

人脸检索的应用场景非常多,一个典型的例子是在重要的交通关卡布置人脸检索探头,将行人的人脸图片在犯罪嫌疑人数据库中进行检索,从而比较高效地识别出犯罪嫌疑人。

4. 人脸分类场景

我们这里指的人脸分类主要包括判断人脸图片中的人脸是男人还是女人,所属的年龄区间是怎样的,是什么样的人种,该人的表情是什么等。当然,人脸分类能够实现的功能远不止于此,在很多场景中具有重要的应用价值。

例如,社交类App可以通过用户上传的自拍图片来判断该用户的性别、年龄等特征,从而为用户有针对性地推荐一些可能感兴趣的人。

5. 交互式应用场景

美颜类自拍软件大家或许都很熟悉,该类软件除能够实现常规的磨皮、美白、滤镜等功能外,还具有“大眼”“瘦脸”、添加装饰类贴图等功能。

而“大眼”“瘦脸”等功能都需要使用人脸识别技术来检测出人眼或面部轮廓,然后根据检测出来的区域对图片进行加工,从而得到我们看到的最终结果。

添加装饰类贴图也是在这个基础上实现的,可以认为这是一种AR(增强现实)应用。其实,交互式的应用场景远不止于此,还有许多游戏也属于这种交互式的应用场景。

6. 其他应用

上面所述的内容是人脸识别中应用比较广泛的领域。其实,除这些领域外,人脸识别还有许多其他的应用。

例如,人脸图片的重建技术可以应用到通信工程领域,实现低比特率的图片与视频传输;基于人脸识别技术,可以实现人脸图片的合成,甚至直接将一个视频中的人脸完全替换为另外一个人的脸。其中一个经典的项目是DeepFake,利用该项目可以实现“视频换脸”功能,实现的效果足以以假乱真。

我们可以在日常生活中体会到人脸识别技术为我们的生活带来的便利。随着技术的进一步发展,将会有越来越多的人脸识别相关项目落地。在后面的实战内容中,我们将会围绕这些应用场景,具体介绍其原理与实现方法。

03 人脸识别的目标

我们已经介绍了人脸识别的不同应用场景。在不同的应用场景下,人脸识别的目标可能是不相同的。但是,对于绝大多数的人脸识别应用场景,人脸识别的目标是类似的。

人脸识别的大致流程可以描述为:通过人脸识别模型判断图片中是否存在人脸,如果存在人脸,则定位到该人脸的区位,或者提取该人脸图像的高级特征,作为该人脸图像的特征向量,并用在后续对图片的处理中。

由于人脸识别的应用场景不同,上述步骤的选择和侧重点也不尽相同。例如:

  • 定位人脸在图片中的位置,可以用于诸如AR等贴图操作;
  • 通过定位人脸的关键点,可以对人脸图片进行几何变换,通过几何变换可以实现对图像中人脸的校正,与此同时,得到的人脸关键点还可以用来实现诸如“瘦脸”等操作;
  • 如果想要实现的功能并不是对人脸图片的几何变换,而是对图片中的人脸进行特定判断,如判断图片中人脸的性别、年龄等,那么此时的目标是提取出图片中人脸的高级特征,然后根据提取出来的高级特征,使用分类器进行分类,即可以实现诸如性别识别、年龄判断等功能;
  • 对于人脸对比,一个可行的思路仍然是提取图片中人脸的高级特征,然后对这两个特征进行对比,从而得出一个相似度数值,通过比较该数值与预设阈值的大小,从而判别两张图片中的人脸是否属于同一个人。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

▲图1-2 一种人脸对比解决方案的流程图

从上面的介绍中我们可以看出,不同人脸识别应用的很多步骤都是重合的,其差异仅在于操作层次的深浅。通过合理选择、组合对人脸图片的操作层次,就可以实现我们预期的目标。

这个实现过程可以说是“万变不离其宗”,最核心的技术便是提取人脸图像的高级特征,我们将会在后续的例子中逐步印证这一点。

04 人脸识别的一般方法

我们首先以人脸对比场景为例,介绍一种人脸对比的可行思路。

我们在前文中提到过,虽然人脸识别的应用很广泛,而且用到的具体技术也不尽相同,但是,有很多步骤其实是类似的。以人脸对比为例,一种可行的解决方案如图1-2所示。

下面我们简要介绍一下其中的一些关键步骤。

1. 图像预处理

在很多计算机视觉项目中,往往需要进行图片的预处理操作。这主要是因为输入的图片常存在不合规范的地方,甚至会干扰系统的后续工作。

如图片带有噪声,或者图片尺寸不符合系统要求等,这些都是预处理这一步需要做的事。而对应的处理方法可以是对图片进行滤波等操作,从而使图片更加符合系统要求。如图1-3所示,分别为带有椒盐噪声的图片和经过中值滤波处理后的图片。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

▲图1-3 带有椒盐噪声的图片(左图)与经过中值滤波处理后的图片(右图)

2. 人脸检测

顾名思义,人脸检测就是用来判断一张图片中是否存在人脸的操作。如果图片中存在人脸,则定位该人脸在图片中的位置;如果图片中不存在人脸,则返回图片中不存在人脸的提示信息。

对于人脸识别应用,人脸检测可以说是必不可少的一个重要环节。人脸检测效果的好坏,将直接影响整个系统的性能优劣。如图1-4所示,灰色矩形框代表了从图片中检测到的人脸图像位置。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

▲图1-4 人脸检测示意图

3. 人脸校正

人脸校正又可以称为人脸矫正、人脸扶正、人脸对齐等。我们知道,图片中的人脸图像往往都不是“正脸”,有的是侧脸,有的是带有倾斜角度的人脸。这种在几何形态上似乎不是很规整的面部图像,可能会对后续的人脸相关操作造成不利影响。于是,就有人提出了人脸校正。

我们可以大致认为,人脸校正是对图片中人脸图像的一种几何变换,目的是减少倾斜角度等几何因素给系统带来的影响。因此,人脸校正一般也被认为是对人脸图像的几何归一化操作。人脸校正一般被用在人脸对比等存在后续人脸特征提取的应用场景中。

但是,随着深度学习技术的广泛应用,人脸校正并不是被绝对要求存在于系统中。深度学习模型的预测能力相对于传统的人脸识别方法要强得多,因为它以大数据样本训练取胜。也正因如此,有的人脸识别系统中有人脸校正这一步,而有的模型中则没有。

4. 人脸特征点定位

人脸特征点定位是指在检测到图片中人脸的位置之后,在图片中定位能够代表图片中人脸的关键位置的点。常用的人脸特征点是由左右眼、左右嘴角、鼻子这5个点组成的5点人脸特征点,以及包括人脸及嘴唇等轮廓构成的68点人脸特征点等。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

▲图1-5 定位到的5个人脸特征点

图1-5所示的就是对人脸图片进行特征点定位后标定的人脸特征点。通过对图片中人脸特征点的定位,可以进行人脸校正,也可以应用到某些贴图类应用中。

5. 人脸特征提取

对于很多人脸识别应用来说,人脸特征提取是十分关键的步骤。例如在性别判断、年龄识别、人脸对比等场景中,将已提取到的人脸特征为主要的判断依据。提取到的人脸特征质量的优劣将直接影响输出结果正确与否。

我们可以认为RGB形式的彩色图片是一个具有红、绿、蓝三通道的矩阵,而二值图像和灰度图像本身在存储上就是一个矩阵,这些图片中的像素点是很多的。而提取到的特征往往是以特征向量的形式表示的,向量的元素一般都不会太多(一般在“千”这个数量级)。

因此,从宏观角度来看,特征提取过程可以看作一个数据抽取与压缩的过程。从数学角度看,其实是一个降维的过程。有关降维的内容,我们将会在后续的部分中详细介绍。

6. 分类器

分类器其实指代的是一种分类算法。例如我们需要判断图片中人脸所属者的性别,在提取到人脸图像的高级特征之后,我们要根据这个提取到的特征来判断其性别。

这个过程其实是一个二分类过程,也就是大家都知道的:在不考虑特殊情况的前提下,人类可以分为两类,不是男人就是女人。判断的依据是前面提到的人脸图像的高级特征,用于判断的算法就是所谓的分类器。

在这里我们介绍了人脸识别中人脸对比场景中涉及的一些具体要素。我们可以看到,人脸对比的一个可行思路是首先进行图片的预处理,然后进行人脸检测判断,最后提取特征并进行对比。人脸对比是人脸识别中比较典型的应用场景,我们可以从这个例子中总结出人脸识别应用的共性。

  1. 图像预处理。目的是减少图片自身因素对系统判断造成的干扰,或者使图片格式更适合系统。常见的处理方式有图片去噪、尺寸转换、灰度化处理等。
  2. 人脸检测。对于人脸识别应用场景,如果图片中根本不存在人脸,那么后续的一切操作都将变得没有意义,甚至会造成错误的结果。而如果识别不到图片中存在的人脸,也会导致整个系统执行的提前终止。因此,人脸检测在人脸识别应用中具有十分重要的作用,甚至可以认为是不可或缺的重要一环。
  3. 特征点定位与特征提取。人脸识别系统如果想要实现一些高级功能,获取特征将是必不可少的部分。对于不同的人脸识别应用场景,其对特征的定义也不尽相同。例如想要在图片中的人脸上自动添加一个眼镜作为装饰物,那么我们需要获取的特征就是双眼在图片中的位置,这样以人眼为特征点的定位将是十分必要的;而对于人脸对比、性别识别等场景,获取能够代表图片中人脸的一个特征向量将是十分必要的。
  4. 对特征的利用。我们已经明确了,获取我们所需的特征是后续操作的重要基础。特征的利用方式前面已经提到几种,诸如使用分类器进行分类、使用比较器进行比较,或者利用定位到的人脸特征点进行图片的贴图。毫无疑问,对特征利用的目的是很明确的,因为这往往就是我们最终想要获取的系统直接输出结果。

上述过程在实现上可能会很复杂,但是对于大多数的人脸识别应用而言,大致的思路是相同的。将上述内容归结为人脸识别系统构建的一般方法,我们将在后续的内容中以这样的思路进行人脸识别系统的设计与实现。

关于作者:王天庆,长期从事分布式系统、数据科学与工程、人工智能等方面的研究与开发,在人脸识别方面有丰富的实践经验。现就职某世界100强企业的数据实验室,从事数据科学相关技术领域的预研工作。

本文摘编自《Python人脸识别:从入门到工程实践》,经出版方授权发布。

人脸识别难点大全,<算法+4个实现步骤+5个难点>

延伸阅读《Python人脸识别》

推荐语:世界100强企业资深AI工程师撰写,全面讲解人脸识别各项基础技术、原理和算法,从零实现工程级人脸识别引擎。

本文关键词:人脸识别的主要困难,人脸识别的缺点不足,人脸识别技术的难点,人脸识别的难点,人脸识别难点大全视频。这就是关于《人脸识别难点大全,<算法+4个实现步骤+5个难点>》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。

猜你喜欢