ARFoundation之路-人脸检测增强之一

版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。

  在AI物体检测识别领域,最先研究的是人脸检测识别,目前技术发展最成熟的也是人脸检测识别。人脸检测识别已经广泛应用于安防、机场车站闸机、人流控制、安全支付等众多社会领域,也广泛应用于直播特效、美颜、Animoji等娱乐领域。

(一)人脸检测概念

  人脸检测(Face Detection)是利用计算机在数字图像或视频中自动定位人脸的过程,人脸检测不仅检 测人脸在图像视频中的位置,还应该检测出其大小与方向(姿态)。人脸检测是有关人脸图像分析应用的 基础,包括人脸识别和验证、监控场合的人脸跟踪、面部表情分析、面部属性识别(性别、年龄、微笑、 痛苦)、面部光照调整和变形、面部形状重建、图像视频检索等等。这几年,随着神经网络的发展,人脸 检测成功率与准确率大幅度提高,并逐渐开始实用化,如机场火车站人脸验票、人脸识别身份认证等等。

  人脸识别(Face Recognition)是指利用人脸检测技术确定两张人脸是否对应同一个人,人脸识别技术 是对人脸检测技术的扩展和应用,也是很多其他应用的基础。目前,ARCore 仅提供人脸检测,而不提供人 脸识别功能。

  人脸跟踪(Face tracking)是指将人脸检测扩展到视频序列,跟踪同一张人脸在视频序列中的位置。理 论上来讲,任何出现在视频中的脸都可以被跟踪,也就是说,在连续视频帧中检测到的人脸可以识别为同 一个人。人脸跟踪不是人脸识别的一种形式,它是根据视频序列中人脸的位置和运动进行推断人脸是否为 同一人的技术。

   人脸检测属于模式识别的一类,但人脸检测成功率受到很多因素的影响,影响人脸检测成功率的因素主要有下表 中所述情形。

影响因素 描述
图像大小 人脸图像过小会影响检测效果,人脸图像过大会影响检测速度,图像大小反映在实际应用场景 就是人脸离摄像头的距离。
图像分辨率 越低的图像分辨率越难检测,图像大小与图像分辨率直接影响摄像头识别距离。目前 4K 摄像 头看清人脸的最远距离是 10 米左右,移动手机检测距离要更小一些。
光照环境 过亮或过暗的光照环境都会影响人脸检测效果。
模糊程度 实际场景主要是运动模糊,人脸相对于摄像头的移动经常会产生运动模糊。
遮挡程度 五官无遮挡、脸部边缘清晰的图像有利于人脸检测。有遮挡的人脸会对人脸检测成功率造成影响。
采集角度 人脸相对于摄像头角度不同也会影响人脸检测效果。正脸最有利于检测,偏离角度越大越不利于检测。

  随着人工智能持续发展,在全球信息化、云计算、大数据的支持下,人脸检测识别技术也会越来越成 熟,同时应用面会越来越大,可以预见,由以人脸检测为基础的人脸识别将会呈现网络化、多识别融合、 云互联的发展趋势。

(二)人脸检测技术基础

  人头部是一个三维结构体,普通在描述人体头部时采用欧拉角来精确的描述头部的姿态,这里的欧拉角源自于笛卡尔左手坐标系,并规定绕 Y 轴逆时针旋转角度为正,绕 Z 轴顺时针旋转角度为正,如下图所示。在人脸检 测中,通常把绕 Y 轴旋转叫做 y 欧拉角,绕 Z 轴旋转叫 r 欧拉角,我们平时做的摇头动作就是 y 欧拉角, 而偏头的动作就是 r 欧拉角,如下图2 所示,绕 X 轴旋转在人脸检测中通常很少用到。

在这里插入图片描述
在这里插入图片描述
  人脸检测的复杂性之一就是人体头部是一个三维结构体,且是一个动态的三维结构体,摄像机捕捉到 的人脸很多时候都不是正面,而是有一定角度且时时处于变化中。当然,人脸检测的有利条件是人脸有很 多特征,如下图所示,可以利用这些特征做模式匹配。但在很多人脸检测技术中(包括ARCore),人脸特征并不是人脸 轮廓检测的前提,换句话说,人脸检测是独立于人脸特征的,且通常是先检测出人脸轮廓再进行特征检测, 因为特征检测需要花费额外的时间,会对人脸检测效率产生影响。

在这里插入图片描述
  人脸具有对称性,人脸特征会分布在 Y 轴两侧一定角度内,通常来说,人脸特征分布情况符合下表所示规律。

Y 欧拉角 人脸特征
小于-36 度 左眼、左嘴角、左耳、鼻底、左脸颊
-36 度至-12 度 左眼、左嘴角、鼻底、下嘴唇、左脸颊
-12 度至 12 度 左嘴角、右嘴角、上下嘴唇、鼻底
12 度至 36 度 右眼、右嘴角、鼻底、下嘴唇、右脸颊
大于 36 度 右眼、右嘴角、右耳、鼻底、右脸颊

  人脸检测不仅需要找出人脸轮廓,还需要检测出人脸姿态(包括人脸位置与方向)。为了解决人脸姿 态问题,一般的做法是制作一个三维人脸正面“标准模型”,这个模型需要非常精细,因为它将影响到人 脸姿态估计的精度。在有了这个三维标准模型之后,对人脸姿态检测的思路是在检测到人脸轮廓后对标准 模型进行旋转,以期标准模型上的特征点与检测到的人脸特征点重合。从这个思路我们可以看到,对姿态 检测其实是个不断尝试的过程,然后选取特征点吻合得最好的标准模型姿态作为人脸姿态。简单的说就是 先制作一个人皮面具,努力尝试将人皮面具套在人脸上,如果成功则人皮面具的姿态必定是人脸的姿态。

  如前所述,虽然人脸的结构是确定的,还有很多特征点可供校准,但由于姿态和表情的变化、不同人 的外观差异、光照、遮挡等影响,准确的检测处于各种条件下的人脸仍然是较为困难的事情。幸运的是, 随着深度神经网络的发展,在一般环境条件下,目前人脸检测准确率有了非常大的提高,甚至在某些条件 下超过了人类。

参考文献

1、《ARCore之路-Unity开发从入门到实践》

发布了89 篇原创文章 · 获赞 104 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/yolon3000/article/details/99886116