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