人脸检测是给照片中的每一个人脸指定一个鸿沟框,人脸关键点检测则需要定位特殊的人脸特征,如眼睛中心、鼻尖等。基于二者的两步走步骤是很多人脸推理任务的关键所在,如 3D 重建。
这种步骤的处理过程通常可以表述为:首先执行人脸检测,然后在每一个检测到的人脸鸿沟框中执行关键点检测。接下来,将检测到的关键点与参考 2D 图象或 3D 模型上对应的理想位子举行匹配,然后使用标准步骤求解对齐变幻。因此,「人脸对齐」和「关键点检测」这两个术语有时可以互换使用。
这种步骤应用起来非常成功,但计算成本很高,尤其是那些 SOTA 模型。而且,关键点检测器通常针对由特定人脸检测器生成的鸿沟框特性举行优化,因此一旦人脸检测器更新,关键点检测器就需要重新举行优化。最后,在下图 1 所示的密集人脸图象场景中,准确定位标准的 68 个人脸关键点会变得非常困难,进而加大了计算其姿势和人脸对齐的难度。
为了解决这些问题,来自 Facebook AI 和圣母大学的研究者提出了以下重要视察结果:
首先,计算人脸的 6 自由度(6DoF)刚性变幻比人脸关键点检测要简单。6DoF 指的是在人体在 3D 空间里的活动情况,在 3 自由度(上下俯仰、左右摇摆和滚动)的基础上增加了前 / 后、上 / 下、左 / 右三种移动方式。这一视察结果启发了很多研究者,促使他们提出「跳过关键点检测,直接举行姿势计算」的想法,但这些步骤还是要为检测到的人脸计算姿势。相比之下,Facebook AI 和圣母大学的研究者的目标是在不假设人脸已经被检测到的情况下计算姿势。
其次,6DoF 姿势标签捕获的不仅仅是鸿沟框位子信息。与一些研究者提出的 3DoF 姿势计算不同,6DoF 姿势可以转换为一个 3D-to-2D 的投影矩阵。假设有一个已知的内在相机,姿势可以使 3D 人脸与它在照片中的位子一致。因此,姿势已经捕捉了照片中人脸的位子。然而,虽然增加了两个额外的标量(6D 姿势 vs. 每一个框的四个值),6DoF 姿势还可以提供人脸的 3D 位子和方向信息。最近,有些研究用上了这一视察结果,通过提出鸿沟框和人脸关键点的多任务学习来提高检测准确率。而本文的研究者则将两者结合在单个目标中——直接 regress 6DoF 人脸姿势。
他们提出了一个易于训练的新型及时 6DoF 3D 人脸姿势计算解决方案,可以跳过人脸检测步骤,即使在非常拥挤的图片中也不例外(如图 1)。该步骤在一个基于 Faster R-CNN 的框架中 regress 6DoF 姿势。
这项研究的创新之处在于,它真正摆脱了人脸对齐和关键点检测。「我们视察到,计算人脸的 6DoF 刚性变幻比人脸目标点检测要简单。此外,6DoF 提供的信息要比人脸鸿沟框标签丰富,」研究者解释道。
新步骤的 pipeline 可以描述为:给定一张包含多张人脸的图象,首先计算每张人脸的 6DoF 姿势。由于 6DoF 人脸姿势可以转换为一个外在相机矩阵,进而将 3D 人脸映射到 2D 图象平面,因此预测得到的 3D 人脸姿势也可用于获取准确的 2D 人脸鸿沟框。因此,人脸检测将成为这个过程的副产品,计算开销达到最小。
利用 6DoF 姿势计算替代人脸鸿沟框检测之后,输入图象中所有的 3D 人脸外形都可以得到对齐。而且,由于该姿势将具有已知几何外形的 3D 外形与图象中的面部区域对齐,因此我们可以根据大小和外形调整生成的面部鸿沟框,匹配特定的研究需求。
研究者使用小而快的 ResNet-18 骨干网络构建 img2pose 模型,并在 WIDER FACE 训练集上举行训练(该数据集包含弱监督标签和人工标注的真值姿势标签)。他们在两个领先的基准数据集( AFLW2000-3D 和 BIWI )上测试了 img2pose 的及时推断能力,发现该模型在及时运行时性能超越当前最优的人脸姿势计算器,还在关键点检测方面超越了具备类似复杂度的模型,尽管新模型并没有在鸿沟框标签上举行优化。
以下是论文中的一些实验结果:
论文链接:https://arxiv.org/pdf/2012.07791.pdf
项目链接:https://github.com/vitoralbiero/img2pos