本文通过EFT方法生成伪3D数据集,只使用该数据集,从头开始训练3D姿势回归器网络,该网络在诸如3DPW等野外基准测试上的表现超过当前的最先进水平例如HMR。
EFT方法可以看作SPIN的改良,即在测试阶段,通过2d重投影loss 微调HMR的参数,从而间接调整SMPL系数,使得当前测试样本在尽可能保留HMR的输出效果的同时,降低2d 重投影误差。显然SPIN则是通过SMPLify接在HMR后面,通过2d重投影loss和 pose相关的先验直接去拟合SMPL系数,达到降低2d 重投影误差的效果,但是因为这里的pose先验采用的其他数据统计得到的,使得这里如何平衡2d loss和pose正则化loss有困难,这也是该论文的一个出发点,认为训练好的回归网络隐含着当前输入图像的pose先验。另外SMPLify的输入是2d关键点,而本文因为优化的是CNN参数,因此输入的是图像,相比SMPLify,输入信息更加丰富,至于论文提到他的这种隐含先验pose比SMPLify用的固定pose先验好,就需要实验证明了。
SMPLify 和 EFT 具体对比
eft的优化参数是模型空间,而SMPLify则直接优化 SMPL参数。SMPLify中使用了大量的先验,如身体交叉约束等。这些约束的权重需要大量的调参,并且泛化效果并不理想。而eft利用预训练模型空间(认为含有隐含先验)和图像信息提供了大量丰富的信息,可以得到更好的SMPL参数。
SMPLify 在拟合3d数据的时候,关于3d这方面主要依赖3D先验,而这个3D先验,通常是在实验室条件下单独学习,缺乏真实感,并且该先验和数据项(如2D关键点错误)之间的平衡很困难。另外SMPLify在优化的时候,迭代修改的是SMPL系数。SMPLify使用的别的数据集得到的先验,且输入条件是2d关键点。
EFT 在拟合3d数据的时候,关于3d这方面也需要依赖3D先验,但是和SMPLify不同,他认为那些训练好的3Dmesh重建网络模型隐含3D先验,例如HMR,SPIN。在优化的时候,迭代修改的是网络权重w,而不是SMPL系数。EFT利用神经网络回归器学到的隐式先验。此外,这个先验条件是特定的RGB输入图像,它包含比2D关键点位置更多的信息。
EFT数据集的好处:
1:不使用真实的3d数据集,例如3dpw,hm36,只使用EFT数据集,效果也可以达到SOTA级别。
2:使用我们的3D伪注释简化了训练3D姿势回归器,并使其更容易合并其他改进,其中我们探讨了两个。首先,我们对数据增强引入极端的图像裁剪来训练回归器,使得网络更好地适用于截断的人体(例如,仅上半身)[52]工作。其次,我们证明了辅助输入,如彩色编码的分割地图[31,32]或DensePose IUV编码[19],可以进一步提高三维人体姿态估计的准确性,优于之前的最先进的方法[27,58,34,12,43],仅仅通过在COCO数据上训练。与之前的方法[52,53,67,45]相比,这些技术更容易在伪gt数据集上实现。
3: 作者认为他的EFT数据足够好,好得都可以作为benchmark了。对当前 Benchmark(例如3dpw,hm36)做补充,因为EFT数据相比他们更加丰富,存在
整个文章的思路:先后分析了目前基于回归的mesh重建方法(HMR)的好坏和拟合方法(SMPLify)的好坏。既然回归有回归的好,依靠学习能力强大的CNN可以针对每一张图得到更好的pose信息即3d信息,拟合有拟合的好,依靠在测试阶段针对单个样本进行拟合,可以更好的2d信息。既然都有优点,就综合一下,显然SPIN做了一个很好的结合,先基于回归的CNN得到pose还不错的SMPL系数结果作为下一步拟合的初始值,可以提升拟合的效果。但是2d loss和先验loss之间的平衡问题依然还在。因此作者提出了EFT。
EFT优点盘点:
与传统的拟合方法(1)相比,(1)EFT能够利用2D关节和RGB图像I进行估计。(2)CNN提供了一个针对当前输入图像的先验,与其他拟合方法使用的输入不可知的先验Lprior相比,该先验更不容易回归平均姿态。与回归方法相比,(1)EFT保持了初始回归位姿的合理性(通过厉害的隐藏先验),但降低了二维重投影误差(拟合的时候,基本只需要控制2d loss,不需要去平衡2dloss 和 对输入不可知的先验Lprior)。即使是由于遮挡或不寻常的姿势而挑战回归量的样本也是如此,这里其实2d loss把控不对,也会出现损害3d信息的危害。
论文简述:
人体可以被一个低维度参数模型来表示,该模型涵盖了身体形状和运动的变化。参数化人体模型通过少量参数表示人体的形状和姿态,同时捕捉对称性和肢体比例等约束条件。三维参数化人体模型被广泛使用,它是估计人体三维姿态和形状的有力先验。其主要思想是通过低维参数对三维人体(包括脸、手和身体)的变形进行建模 :SCAPE-》SMPL-〉SMPL-X等。
这里,我们以SMPL模型[3]为例,尽管可以使用任何其他模型。SMPL参数Θ = (θ, β)由位姿参数θ形状参数β组成,位姿参数θ控制24个体关节相对于父关节的旋转,形状参数β通过10个主变向控制体的形状。首先利用形状参数β求出关节在静止状态下的构型,然后根据骨骼层次结构应用关节旋转Θ得到关节的三维位置J。SMPL还包括一个随骨架变形的网格组件,但我们在这里忽略它,因为主要的损失约束仅是关节的3D位置J。因此,对我们来说,SMPLJ简化为一个函数J = M (Θ)。
那么对于Fitting的方法具体怎么做:3d pose先验约束+好的初始化值,针对单个样本优化。
给定一个人的图像I,目标是找到SMPL的参数Θ,使SMPL输出的J它与目标的姿态相匹配。基于拟合的方法[1,2]采用关节、轮廓、零件标签等二维几何线索,优化模型参数Θ,使三维模型与二维线索拟合。例如,假设给定了人体关节的2D位置r。设π为摄像机投影函数,将三维点映射到其二维图像位置。然后,从二维线索重建三维关节J,达到拟合SMPL模型的目的。
可以发现需要优化的参数为SMPL系数和相机参数π。获得SMPL系数,通过SMPL的LBS相关内部算法的到关节点J,J通过相机参数投影到图像空间得到2d点,通过最小化这个2d点与其对应标注的gt,可以达到间接优化SMPL系数的效果,但是显然只是通过2d监督无法约束到3d坐标的z轴,在没有对应的3d GT情况下,只能使用人们基于实验室内统计得到的关于3d pose的各种先验信息,将这些先验信息作为约束,越多越好。但是这里很明显这些先验趋于一种平均pose,甚至可能仅仅代表实验室里面那些样本,但是有总比没有好。另外拟合方法通常只能在局部进行优化,例如通过梯度下降法,因此成功与否很大程度上取决于初始化的质量[1,2]。这需要特别的步骤来避免糟糕的局部极小值。例如目前有一个一个多阶段的方法,首先调整躯干,然后优化四肢在一起)和平衡数据项和多个先验项之间的权重是至关重要的。
那么对于回归的方法具体怎么做:加入图像信息,收集真实的3D数据集,加入一个CNN,通过优化整个训练集获得一个固定的CNN网络。
基于回归的方法直接从原始图像和关键点预测SMPL参数Θ。映射是通过神经网络Θ = Φw(I)实现的,该神经网络训练于室内3D数据集和野外数据集2D数据集的结合,这是通过优化来实现的
基于回归的方法,因为有真实的3D数据集,所以有更加多样的标签,例如SMPL系数,3D点,2D点,pose的各种先验信息或者约束。
这样通过大量的数据集训练,CNN获得了可能的人体姿势的隐式先验,为三维重建进行了优化。如果将这个当做先验,比SMPLify等使用的那种先验Lprior更强。Lprior是在不同3D数据上分别学习统计得到的,倾向于回归到均值解。但是不可否认的是,拟合和回归方法的目标都设计到最小化2d,拟合方法对每个样本都明确地这样做,获得更准确的2D拟合,而回归方法只在训练时最小化这种损失,这样拟合的方法得到结果贴合度会更好些。
为了结合两者的优点,我们的方法Exemplar Fine-Tuning (EFT)将网络Φ解释为3D关节J的重新参数化J = M(Θ) = M(Φw(I)),作为网络参数w(而不是SMPL参数Θ)的函数。这样,我们可以将Eq.(1)改写为
即将SMPLify中本来是对smpl系数的优化改成CNN参数的优化,同时删除了之前SMPLify中的Lprior,因为认为pose先验已经被网络隐式捕获(这刚好也解决了前面讨论的Lprior和L2D平衡的难题)。另外一个重点是因为认为预训练好的3Dmesh重建网络已经隐含pose的先验信息,因此在微调CNN的参数的时候,通过第二个数据项控制在预训练参数w∗的附近进行优化,即表示被这个约束控制。
问题1:那么如何确保微调时,在w∗的附近变化呢?
当γ值较大的时候,EFT回归到预训练回归网络对观测输入位姿的最佳猜测。因此,在EFT中γ的调节更加容易,并且证明了EFT对γ不敏感。在我们的实验中,我们通过设置γ = 0来使用EFT来生成伪注释,因为这个约束可以隐含完成,即使用和之前训练CNN一样的局部优化器,而不是使用早期停止来进行正则化,在实践中,我们使用少于100次的EFT迭代。
问题2:使用这个CNN隐含的pose先验有啥好处?
(1)传统的拟合方法将回到预测先验隐含的平均姿态,忽略了当前图像信息,只是输入2d关键点。(2)传统的拟合方法容易回到预测先验隐含的平均姿态。
可以发现(2)和 (3)的公式类似,但是(2)是通过训练大量参数去学习模型参数w,(3)是针对某一个样本微调模型参数w,针对下个样本,模型参数w回回到之前的初始值。
4 结果:
我们考虑了EFT的两个应用:为原本只有2D注释的野外数据集创建伪地面真实3D注释,并对现有3D姿态回归器的输出进行后处理以改进它。
实现细节:对于姿态回归器Φ,我们使用了最先进的[8]SPIN网络,为了鲁棒性,我们将SPIN中使用的透视投影模型改为HMR的弱透视投影,这步不会显著影响模型效果。对于EFT,我们使用Adam[53]和默认的PyTorch参数优化Eq.(3),当平均2D关键点重投影误差小于3像素时(通常少于50次迭代就足够了),学习率为5*10- 6,这个学习率足以涵盖好的和坏的初始化, 尽管输入的2D关键点是手工标注的,但它们仍然包含不可忽略的错误。特别是,臀部和脚踝的高度没有得到一致的标注,导致透视缩短,为了补偿,在优化eq.(3)时忽略了髋关节的位置,我们添加了一个损失项来匹配小腿的方向,鼓励重建连接膝盖和脚踝的向量的方向。最后,我们通过检查SMPL形状参数和2D关键点损失的最大值来丢弃样品,如果这些参数分别大于5和0.01,则丢弃。
数据集:我们使用带有2D姿态标注的野外数据集:COCO[18]、MPII[39]和LSP[40,41]。我们认为默认的分割也是[15]用于训练的COCO-Part子集,它只包含完整的12个关键点注释集的实例(闭塞的实例经常会错过关键点)。为此,我们添加了COCO-All,其中包含至少5个关键点注释的所有示例。我们还使用带有3D姿态标注的数据集,包括H36M[19,54]、MPI-INF-3DHP[20]和Panoptic Studio[21]。由于通常需要多视图设置来捕捉这种地面真相,这些数据集是在实验室条件下收集的。我们使用H36M和MPI-INF-3DHP的moshed版本[7,8],并使用提供的3D关键点为Panoptic Studio DB生产SMPL配件(详情请参阅附录)。3DPW数据集[51]是在室外采集的,并带有使用IMU传感器和摄像机获得的3D地面真相。
一波实验证明:
1 EFT VS SMPLify 谁好?
让Amazon Mechanical Turk (AMT)投票,一共随机挑选500张样本,每一个样本让3个人投票,统计方法1:按照票数比较,一共1500票,EFT获得59.6%;如果每一个样本有至少2票算赢,500个样本中,EFT获得61.8%。
2 EFT和 SMPLify 做后处理,谁更好?
在表5中,我们对3DPW数据集进行了定量评价。对于初始化,我们使用不同的回归器Φ在许多不同的数据集上预先训练,提供不同的初始化状态。然后,我们使用EFT和SMPLify后处理来拟合同一套由OpenPose检测器自动获得的2D关键点注释。关键的观察结果是,SMPLify后处理的性能取决于初始化质量、多阶段技巧的使用以及数据和先前项之间的平衡。具体来说,如果初始化已经很好,如表5的最后一行,则SMPLify会降低性能,特别是在使用先前的姿势时。这说明了平衡数据和以前的术语的困难,这在实践中可能很难做到。相比之下,EFT不存在这样的问题,无论初始化质量如何,都能提高准确性。当形状正则化器被完全移除时,这也是正确的。
2.1: 对截断性,增加鲁棒性,为了训练模型对截断更具鲁棒性,我们建议使用极端裁剪来增强训练数据。而同样的挑战最近正在被【52】解决。我们的方法更直接,因为我们已经有完整的3D注释,我们只需要随机裁剪训练图像。在实践中,我们生成随机作物的方式与第4节中描述的Truncated 3DPW数据集相同。在训练过程中,我们以30%的几率触发作物增加,在图2 (d)所示的预计算的包围盒中随机选择一个截断的包围盒。随机截断,随机bbox,左右随机缩放,上下随机缩放?
2.2 为当前的pose回归模型增加额外的输入:最近的方法表明,其他类型的输入编码,如密集姿态或身体部分分割,可以改善三维姿态回归量。我们的方法允许直接将这些额外的输入与原先图像拼接在一起输入。
为了接受6个信道输入(RGB与一个彩色编码的辅助输入连接),我们通过复制初始权值来修改HMR的第一层(即ResNet50的第一层)。
3 Pose先验靠预训练网络,拟合阶段只上2dloss,不担心过拟合,破坏了之前的pose?
在我们的EFT优化中,我们没有使用任何显式的姿态先验项(在eq.(3)中,γ = 0),通过对单个样本过拟合,EFT可能会打破回归器中最初捕获的隐式姿态先验项,潜在地导致结果漂移。
通过对单个样本进行过拟合,EFT可能会破坏回归器的泛化能力,从而破坏它捕获的先验。为了检验这种情况是否可能发生,我们使用相应对单个样本进行了超拟合。20和100次EFT迭代,然后在整个3DPW测试集上评估过拟合回归器的准确性,记录结果的准确性。我们对不同的样品重复这个实验500次,并报告结果如图3所示。同时还比较了SPIN[8]和HMR[7]的性能。值得注意的是,过拟合回归量总体上仍然表现良好,表明尽管EFT,网络仍然保持了良好的性质。特别是,性能至少与HMR基线[7]一样好,偶尔在过拟合单一样本后整体性能有所提高。通过检验,不同样本的影响是不同的,我们发现更有可能干扰回归器的样本包含显著的遮挡或注释错误。注意,在对单个例子应用EFT后,微调网络被丢弃,这一分析只是为了说明微调的效果,但对EFT的有效性没有直接的影响。
4 臀部和脚踝的关键点为啥独立处理?标注短了……
臀部和脚踝的关键点由于宽松的衣服和闭塞,比其他关键点更难被注释者正确定位。这也可以通过检查COCO数据集中注释的2D关键点的标准偏差(称为OKS sigma值)7来观察,其中臀部(1.07)和脚踝(0.89)的值高于肩膀(0.79)和手腕(0.62)。我们在图4中展示了来自COCO数据集的例子,在注释中小腿长度比它应该的短。我们根据经验发现,这种嘈杂的2D定位会在3D中产生伪影,这促使我们在下肢部分使用2D定位,而不是GT定位。