人脸检测概念

人脸检测功能可定位数字图片或视频等视觉媒体中的人脸。当检测到人脸时,它具有关联的位置、大小和方向;并且可以搜索眼睛和鼻子等特征点。

以下是我们在机器学习套件的人脸检测功能中使用的一些术语:

  • 面部跟踪将面部检测扩展到视频序列。系统可以逐帧跟踪出现在视频中任意时长的任何人脸。这意味着,在连续的视频帧中检测到的人脸可以被识别为同一个人。请注意,这并不是一种人脸识别形式;人脸跟踪仅根据人脸在视频序列中的位置和动作进行推断。

  • 特征点是指人脸内的兴趣点。左眼、右眼和鼻基底部都是特征点。机器学习套件能够在检测到的面部上查找特征点。

  • 轮廓是一组与面部特征形状相一致的点。机器学习套件能够找到面部的轮廓线。

  • 分类决定了是否出现了某些面部特征。例如,人脸可以按照眼睛是睁开还是闭着,或者脸部是否有微笑进行分类。

人脸朝向

以下术语描述了人脸相对于镜头的角度:

  • 欧拉 X:如果欧拉 X 角为正,表示面部向上。
  • 欧拉 Y:如果欧拉 Y 角为正,表示面部朝向镜头右侧;如果面部为负,则朝向左侧。
  • 欧拉 Z:如果欧拉 Z 角为正,表示人脸相对于镜头逆时针旋转。

当同时设置 LANDMARK_MODE_NONECONTOUR_MODE_ALLCLASSIFICATION_MODE_NONEPERFORMANCE_MODE_FAST 时,机器学习套件不会报告检测到的面部的欧拉 X、欧拉 Y 或欧拉 Z 角。

地标

特征点是指面部的一些关键点。左眼、右眼、鼻基都是特征点。

机器学习套件在不查找地标的情况下检测人脸。 地标检测是一个可选步骤,默认情况下处于停用状态。

下表总结了在给定关联人脸的欧拉 Y 角的情况下可检测到的所有特征点:

欧拉 Y 角 可检测到的特征点
< -36 度 左眼、左嘴、左耳、鼻基、左脸颊
-36 度到 -12 度 左嘴、鼻基、嘴巴底部、右眼、左眼、左脸颊、左耳尖
-12 度到 12 度 右眼、左眼、鼻基、左脸颊、右脸颊、左侧嘴巴、右侧嘴巴、嘴巴底部
12 度到 36 度 右嘴、鼻基、嘴巴底部、左眼、右眼、右脸颊、右耳尖
> 36 度 右眼、右嘴、右耳、鼻基、右脸颊

检测到的每个特征点都包含它在图片中的关联位置。

轮廓

轮廓是一组表示面部特征形状的点。下图说明了这些点如何映射到人脸。点击图片将其放大:

机器学习套件检测到的每个特征轮廓都由固定数量的点表示:

椭圆形脸 36 点 上唇(上部) 11 点
左眉毛(上侧) 5 点 上唇(底部) 9 点
左眉毛(下侧) 5 点 下唇(上部) 9 点
右眉毛(上侧) 5 点 下唇(底部) 9 点
右眉毛(下侧) 5 点 鼻梁 2 分
左眼 16 点 鼻部下方 3 分
右眼 16 点
左脸颊(中心) 1 个端点
右脸颊(中心) 1 分

当您一次性获得所有面部的轮廓时,您会获得一个由 133 个点组成的数组,这些点将映射到如下所示的特征轮廓:

特征轮廓的索引
0-35 椭圆形脸
36-40 左眉毛(上侧)
41-45 左眉毛(下侧)
46-50 右眉毛(上侧)
51-55 右眉毛(下侧)
56-71 左眼
72-87 右眼
88-96 上唇(底部)
97-105 下唇(上部)
106-116 上唇(上部)
117-125 下唇(底部)
126、127 鼻梁
128-130 鼻部底部(请注意,中心点位于索引 128 处)
131 左脸颊(中心)
132 右脸颊(中心)

分类

分类用于指示是否出现了某些面部特征。 机器学习套件目前支持两种分类:睁眼笑容

分类是一个确定性值。它表示出现面部特征的置信度。例如,笑容分类的值为 0.7 或以上表示一个人很有可能在笑。

这两个分类都依赖于特征点检测。

另请注意,“睁眼”和“微笑”分类仅适用于正面的人脸,即欧拉 Y 角较小(介于 -18 度到 18 度之间的人脸)。

最小面尺寸

最小人脸大小是所需的人脸大小,表示为头部宽度与图片宽度的比率。例如,值 0.1 表示要搜索的最小人脸大约为所搜索图片宽度的 10%。

最小人脸大小是在性能与准确性之间的权衡:将最小大小设置得较小,可让检测器找到较小的人脸,但检测时间会更长;设置为较大可能会排除较小的人脸,但运行速度会更快。

最小人脸大小并非硬性限制;检测器可能会发现略小于指定大小的人脸。

后续步骤

在 iOS 或 Android 应用中使用人脸检测: