[论文翻译]A 3D Spatial Transformer Network Approach in Unconstrained Poses(人脸识别3D-STN)

在这里插入图片描述

0 摘要

面部对齐包括在已知语义的图像上找到一组标志点。然而,这种地标点的语义在2D方法中常常丢失,在2D方法中,landmarks要么移动到可见的边界,要么随着人脸姿态的变化而被忽略。为了在大姿态下提取一致的对齐点,在对齐步骤中必须考虑人脸的三维结构。然而,从单个二维图像中提取三维结构通常首先需要对齐。我们提出了一种新的方法,通过三维空间变换网络(3D-STN)同时提取人脸的三维形状和语义上一致的二维对齐,从而对三维模型的摄像机投影矩阵和翘曲参数进行建模。通过使用一个通用的三维模型和一个薄板样条(TPS)翘曲函数,我们能够生成特定于主题的三维形状,而不需要很大的三维形状基础。此外,我们提出的网络可以在一个端到端的框架中,对来自300W-LP数据集的完全合成数据进行训练。与其他三维方法不同,我们的方法只需要一次通过网络,结果是比实时对齐更快。对我们的模型在野外标注的面部地标(AFLW)和AFLW2000-3D数据集的评估表明,我们的方法比其他3D对齐方法具有最先进的性能。

在这里插入图片描述
在这里插入图片描述

1 Intro

稳健的人脸识别和分析依赖于人脸特征的精确定位。在建模人脸时,感兴趣的地标点由位于面部特征形状边界的点组成,例如眼睛、嘴唇、嘴等。在处理野外采集的人脸图像时,标志点的面部遮挡成为离角人脸的常见问题。由于人脸上物体的变化,如胡须、太阳镜和其他有噪声的物体,预测每个标志点的遮挡状态是一个挑战。另外,现在感兴趣的人脸图像通常包含偏离角度的姿势、光照变化、低分辨率和部分遮挡。

许多复杂的因素可能会影响真实场景中人脸图像的外观,对这些因素提供容忍度是研究人员面临的主要挑战。在这些因素中,姿势往往是最重要的要处理的因素。众所周知,由于人脸姿态偏离正视图,大多数人脸识别系统都很难实现鲁棒性。为了处理大范围的姿态变化,有必要利用人脸的三维结构信息。然而,现有的许多三维人脸建模方法都存在计算量大、复杂度高等缺点。虽然可以通过使用深度传感器或在视频中逐帧跟踪结果来减轻这些问题,但当必须将其应用于无法获得视频和深度信息的实际大规模无约束人脸识别场景时,这可能会造成困难。三维通用弹性模型(3D-GEM)方法是一种从单个二维图像中高效可靠的三维建模方法。Heo等人认为,当分解出面部特征的二维空间位置时,人脸的深度信息并不是非常有区别的。在我们的方法中,我们遵循这一思想,并观察到与其他方法相比,使用一个简单的变形到输入图像的平均形状可以生成相当精确的三维模型。

1.1. 我们的贡献

(1) 我们采取的方法是使用一个简单的平均形状,并使用参数化的,非线性翘曲的形状,通过对齐的图像,能够建模任何看不见的例子。在许多依赖于三维变形模型(3DMM)的方法中,一个关键的缺陷是它需要足够的数据样本来建模看不见的样本。然而,在三维人脸的情况下,大多数数据集都非常小。

(2) 我们的方法是在一个端到端的深度学习框架中有效地实现的,允许对齐和三维建模任务相互依赖。这确保了对齐点在物体变化的姿态上语义上是一致的,这也允许更一致的3D模型生成和在野外图像上的前处理,如图1和2所示。

在这里插入图片描述
在这里插入图片描述
(3) 我们的方法只需要一次通过网络,就可以实现比实时处理更快的图像,其性能优于其他二维和三维对齐方法。

2. 相关工作

自从1995年主动形状模型(ASM)[14]的第一次工作以来,已经有很多关于面部对齐的研究。一个全面的文献综述在脸对准超出了这项工作的范围。本文主要研究了最近的卷积神经网络(CNN)方法来解决人脸对齐问题。特别是那些旨在利用三维方法获得鲁棒对准结果的方法。

2.1. 人脸对齐方法

虽然主成分分析(PCA)及其变体被成功地用于面部形状和外观的建模,但是在面部对齐方面已经取得了许多进展。地标位置可以通过从学习的特征空间回归直接预测。熊丙奇等人提出了全局监督下降法(GSDM)来解决二维人脸对齐问题。将目标函数划分为多个梯度方向相似的区域。然后为每个区域构造一个单独的级联形状回归器。Yu等人结合了具有群体稀疏性的三维姿态地标模型,以指示最佳地标。这类方法在地标定位方面表现出了更高的性能。然而,这些方法都依赖于手工制作的功能。近年来,基于CNN的人脸对齐方法取得了良好的效果。3DDFA通过CNN和DDN将密集的三维人脸模型拟合到图像中,提出了一种结合几何约束的级联框架来定位人脸和其他非刚性物体中的标志点。近年来,形状回归已被广泛应用于各种面部定位方法中。

最近有一些研究人类头部旋转、非线性统计模型和三维形状模型的研究。非线性统计模型方法在实时应用中是不切实际的。基于视图的方法为每个视点模式使用单独的模型。传统上,模式被指定为算法设计的一部分,并且问题可能出现在模型之间的中点。

2.2. CNNs用作3D建模

虽然从图像估计三维模型并不是一个新的问题,但从单个图像建模对象的挑战性任务一直是一个挑战。当然,这是由于图像的模糊性,其中深度信息被删除。近年来,随着深度学习(尤其是CNN)在从图像中提取显著信息方面的成功,人们对如何利用CNN进行三维物体建模进行了许多探索。这些方法中的许多都是为了创建一个自然图像的深度估计。虽然在不受控制的图像上的结果令人印象深刻,但事实上,这些模型是非常普遍的,这意味着它们在应用于特定的对象时,例如脸部,往往会受到影响。事实上,很多时候,场景中人脸的深度估计往往相当平坦。通过限制方法的范围,可以使得到的三维模型更加精确。哈斯纳等人利用一个三维人脸模型,能够在看不见的图像中对人脸进行正面化,最终目标是通过限制匹配者必须学习的变化来提高人脸识别能力。然而,与其他方法一样,这种方法需要在输入面上使用地标。

2D的方法不可避免地会遇到可见性和自遮挡问题。如Zhu等人所示,地标行进的问题,即地标趋向于移动到可见边界,在从纯二维对齐估计三维模型时可能会引起问题。但是,可以通过在对齐步骤中使用面部的三维模型来缓解此问题,如中所述。这两种方法都利用了一个下垫的三维可变形模型(3DMM),并试图将模型与输入图像相匹配,以找到2D标志点。当然,这需要一个使用的基础,而巴塞尔面子模型(BFM)是一个非常流行的模型。然而,BFM只由100个男性和100个女性扫描组成。由于任何基础都只能重新创建基础样本的组合,这会严重限制这些模型拟合以前从未见过的异常面或表达式的能力。尽管最近有人努力生成更精确的3dmm,但生物识别领域的研究人员既没有数据也没有模型。因此,我们建议使用一个平滑的翘曲函数薄板样条(TPS)来扭曲平均形状以适应输入图像并生成新的三维形状。在这种方式下,任何新的脸都可以建模,即使它的形状不能被BFM重建。

3. 3D Spatial Transformer Networks

为了模拟人脸从一个视点到另一个视点的真实变化,有必要在图像中同时拥有对象的真实3D模型和用于捕捉图像的相机的特性,通常以相机投影矩阵的形式。然而,真正的三维模型和摄像机投影矩阵的知识几乎总是不可用的。Jaderberg等人在他们关于空间变换网络的工作中,使用深网络来估计仿射变换或二维薄板样条(TPS)变换的参数。然后使用这些参数生成一个新的采样网格,该采样网格可用于生成转换后的图像。

我们的方法是找到未知的摄像机投影矩阵参数和以类似方式生成头部三维模型所需的参数。摄像机投影参数和翘曲参数(在这种情况下是TPS扭曲)都可以通过使用任何结构的图像生成的深度特征来估计。TPS参数可用于扭曲人脸模型,以匹配网络估计的真实三维形状,而摄像机投影参数可用于从2D图像中纹理化3D坐标。此外,可以根据摄像机参数确定面部的姿势,从而为三维模型生成可见性地图。这允许我们只对图像中可见的顶点进行纹理处理,而不是由面本身遮挡的顶点。我们模型的架构如图3所示。第3.1、3.2和3.3节详细说明了如何创建可微模块,以利用由深度网络估计的摄像机投影和TPS参数来扭曲和投影3D模型到2D图像平面以进行纹理采样。
在这里插入图片描述

3.1. Camera Projection Transformers

为了能够对设计用于模拟面部三维变换的网络进行端到端的训练,必须创建执行摄像机投影的可微模块。这将是ST grid generator的一部分。三维点如何映射到相机坐标的建模是由众所周知的相机投影方程表示的

在这里插入图片描述

其中 p c p_c pc是相机坐标系中的齐次二维点, p w p_w pw是世界坐标系中的齐次3D点, M M M是3x4相机投影矩阵。由于射影几何中尺度的模糊性,这种关系只在尺度上被定义,因此是约等于而不是恒等式。摄影机投影矩阵只有11个自由度,因为它也只能按比例定义。因此,该模型将前一层估计的11个参数作为长度11向量 a a a的输入。为了在新的网格生成器上执行反推,必须计算生成的网格相对于 a a a的导数。

由于方程式1仅按比例定义,因此本模块的最终输出必须除以比例因子。首先将摄影机投影矩阵重写为
在这里插入图片描述
其中 a i a_i ai是向量 a a a的第 i t h i^{th} ith个元素,摄像机投影模块的最终输出可以写成
在这里插入图片描述
相对于M的每一行的梯度可以显示为
在这里插入图片描述
利用链式规则,可以找到网络相对于输入的损失梯度:
在这里插入图片描述
由于M只按比例定义,所以M的最后一个元素可以定义为常数,这意味着只有该梯度的前11个元素被用于在a上实际执行反向传播。由于M涉及许多对2D和3D点,所以计算每对点的梯度并将其加在一起得到最终的梯度用于更新a。

3.2. 3D Thin Plate Spline Transformers

在建模人脸的三维结构时,常规模型无法表示图像中可能看到的各种形状。因此,必须使用一些扭曲模型的方法来处理看不见的形状。薄板样条(TPS)翘曲在许多应用中得到了广泛的应用。TPS翘曲具有非常理想的特性,即在给定一组控制点和期望的目的点的情况下,提供一种平滑的参数化翘曲的闭合形式。Jaderberg等人展示了2D-TPS空间变换器如何使非线性变换的输入图像得到良好的标准化。将TPS应用于三维点集遵循非常相似的过程。如文[25]所述,TPS参数将从某种深度网络中估计,并作为输入传递到3D网格生成器模块。

一个3D-TPS函数的形式为
在这里插入图片描述
其中 b 1 x b_{1x} b1x, b 2 x b_{2x} b2x, b 3 x b_{3x} b3x, b 4 x b_{4x} b4x是函数的参数, c j c_j cj是第 j j j个用于控制函数参数的控制点。 U ( r ) = r 2 l o g ( r ) U(r)=r^2log(r) U(r)=r2log(r)。这种功能通常是通过使用已知的控制点 c j c_j cj和扭曲三维对象中的对应点建立一个线性方程组来学习的。该函数用于查找单个坐标的变化,在方程6的情况下,查找x坐标的变化。同样,为每个维度创建一个这样的函数,即f∆x(x,y,z),f∆y(x,y,z)和f∆z(x,y,z)。然后,3D TPS模块将把这三个函数的参数作为输入,并将三维结构上新转换的点输出为
在这里插入图片描述
这意味着3D TPS模块必须从一开始就将通用模型的所有3D顶点和通用模型上的控制点作为固定参数指定。这将允许模块通过TPS参数指定的翘曲来扭曲指定的模型。

如3.1所述,必须计算相对于输入参数的损耗梯度,以便在该模块上执行反向传播。通常,通过计算输出相对于输入参数的梯度,可以使用链式规则来找到这一点。因为通用模型中的每个3D顶点都会给出一个3D顶点作为输出,所以首先计算其中一个点上的梯度 p i = ( x i , y i , z i ) p_i=(x_i,y_i,z_i) pi=(xi,yi,zi)就比较容易了。可以证明
在这里插入图片描述
其中 θ Δ x \theta_{\Delta_x} θΔx f Δ x f_{\Delta_x} fΔx的参数。同样的, θ Δ y \theta_{\Delta_y} θΔy θ Δ z \theta_{\Delta_z} θΔz的梯度与第二行或第三行中的非零值相同。关于参数的最终损耗梯度可以计算为
在这里插入图片描述
由于这仅适用于单个点,因此可以再次计算每个点的梯度,并为每个参数集添加梯度,以获得可用于更新网络先前层的每个参数集的最终梯度。

3.3. Warped Camera Projection Transformers

在transformer network的摄像机投影模块中,为了充分利用TPS弯曲的三维点,该模块必须将 warped coordinates作为输入。这意味着这样一个模块还必须对三维坐标以及摄像机投影参数进行反推。由于3.1已经规定了如何计算相对于摄像机投影参数的损耗梯度,所以剩下要做的就是计算该模块中3D坐标的损耗梯度。对方程3的输出点 p w p_w pw求导数
在这里插入图片描述
然而,由于 p w p_w pw处于齐次坐标中,而且我们只需要相对于x、y和z坐标的梯度,所以实际梯度变为
在这里插入图片描述
其中
在这里插入图片描述
m i j m_{i_j} mij m i m_i mi的第 j j j个元素。对于每个三维点独立计算该梯度,并在链规则中使用
在这里插入图片描述
然后,它可以用于对每个 p w p_w pw执行反向传播。

3.4. 2D Landmark Regression

为了进一步提高地标精度,我们在网络中增加了地标细化阶段。此阶段将前一阶段的投影二维坐标视为初始点,并估计每个点的偏移量。为了提取每个点的特征向量,在基本模型的最后一个卷积层上附加一个3×3的卷积层,然后在1×1的卷积层上增加非线性度,得到一个具有D通道的特征映射。然后将每个初始点投影到该特征映射图上,沿通道方向提取其D维特征向量。请注意,初始点通常不与要素地图上的栅格对齐。因此,采用双线性插值法对特征向量进行采样。

给定每个地标的特征向量,通过一个完全连接的(FC)层输出偏移量,即δx和δy,然后将偏移量加到初始位置的坐标上。对于每个地标,我们使用一个独立的FC层。我们不为所有地标共享FC层,因为每个地标都应该有一个独特的偏移行为。例如,眼球中心在回归后可能向左移动,而眼角可能向右移动。此外,有时两个初始地标可能由于某个姿势而投影到同一位置。我们希望它们移动到不同的位置,即使它们具有相同的特征向量。

3.5. 3D Model Regression From 2D Landmarks

一旦执行二维回归,三维模型和二维地标之间的映射将被破坏。虽然这在稀疏面部对齐的情况下不一定是个问题,但是如果需要更密集的方案,则必须重新训练整个模型。为了避免这种情况,我们创建了一个新的三维模型,通过找到投影到新的二维地标的一组新的三维坐标,并扭曲三维模型以适应这些新的点,从而创建一个映射到这些二维地标的新三维模型。为了找到新的三维坐标,我们需要使用我们估计的摄像机投影矩阵,在三维空间中通过每个2D地标反向投影光线。与给定齐次二维点 p 2 D i p_{2D}^i p2Di相关的点射线方程定义为
在这里插入图片描述
其中A和B分别是估计摄像机投影矩阵的前三列和最后一列。这些光线表示3D中所有可能投影到图像中确定位置的点。然后我们找到射线上与原始三维坐标pi3D最近的点pi′3D,作为新的3D点,如图4所示。这些新的对应关系被用来执行模型的TPS翘曲。翘曲后,模型上的地标点将精确投影到回归的二维地标上,恢复三维模型与二维图像之间的映射。这个新模型可以被投影到图像上,以生成更精确的三维模型纹理。这种风格的翘曲可以用来移动我们选择的三维坐标。这意味着中和表情,特别是微笑,是很容易做到的使用纹理从回归三维形状。虽然由于没有看到非微笑图像,非微笑形状将不那么准确,但是它仍然给出令人信服的定性结果,如图5所示,这表明它可能是未来工作的一个值得探索的途径,特别是在人脸识别方面。
在这里插入图片描述
在这里插入图片描述

4. Experiments

(暂略,后面有空补充。我先要梳理下前面的理论部分。)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值