【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

[Abstract]

本文的工作解决了一个新的和具有挑战性的问题,即从单一RGB图像估计完整的3D手的形状和姿势。目前基于单目RGB图像的手的三维分析方法主要集中于估计手关键点的三维位置,但这不能充分表达手的三维形状。相反,本文提出了一种基于图卷积神经网络(Graph Convolutional Neural Network, Graph CNN)的方法来重建完整的手部三维网格 (mesh),其中包含了更丰富的手部三维形状和姿势信息。为了在完全监督下训练网络,本文创建了一个包含 GroundTruth 三维网格和三维姿态的大规模合成数据集。当在没有3D GroundTruth 数据的情况下对网络进行微调时,本文提出了一种弱监督方法,即利用深度图 (depth) 作为训练过程中的弱监督。通过对本文提出的新数据集和两个公共数据集的广泛评估,表明,我们所提出的方法可以产生精确和合理的三维手部网格,并可以实现优越的三维手部姿态估计精度,与最先进的方法相比。
(摘要指出之前的手部姿态估计方法大多止步于回归三维手部关键点的坐标,作者认为这种抽象后的手部关键点坐标并不能反映手部形态的细节,所以提出了本文的方法用于得到一个更准确的手部shape)

【Introduction】

基于视觉的三维手部分析在虚拟现实(VR)和增强现实(AR)中有着广泛的应用,是一个非常重要的课题。然而,尽管经过多年的研究,由于手的形状、姿势、手势、遮挡等的多样性和复杂性,它仍然是一个悬而未决的问题。在过去的十年中,我们见证了从深度图像中估计三维手部姿态的快速发展。考虑到RGB相机比深度相机更广泛,一些最近的工作开始从单目RGB图像中研究3D手部分析,主要集中在估计稀疏的3D手部关节位置,但忽略了密集的3D hand shape。然而,许多身临其境的VR和AR应用往往需要精确估计三维手的姿势和形状。

(从这一段的背景介绍以及应用意义来看,作者所提出的方法主要应用于AR/VR领域,在一些虚拟现实的应用中,的确需要更加逼真和精细化的手部模型。所以,作者顺势指出之前研究的痛点:仅仅得到关节点没有进一步得到3D hand shape)

这促使我们提出了一个更具挑战性的任务:如何从单个RGB图像中联合估计手部关节的三维位置,以及手部表面的完整三维网格?在这项工作中,我们开发了一个合理的解决方案,如下图所示。
(由下图可以看到,本文的方法不仅能获得2D和3D的手部关键点还能获得准确的2D和3D手部shape)
【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image_第1张图片
以前也有人研究过单视图三维手部姿态估计任务,但主要是在可控设置中,在这种情况下,深度传感器是可用的(之前的方法必须依赖深度传感器)。其基本思想是通过迭代优化,将生成式3D手模型拟合到输入深度图像中。相比之下,这里我们考虑从单目RGB图像估计三维手的形状,这还没有被广泛研究(没有被广泛研究,所以作者说他解决了一个新的问题)。在RGB图像中缺乏明确的深度线索,使得这项任务难以通过迭代优化方法解决。在这项工作中,我们采用端到端方式训练的深度神经网络,直接从单个RGB图像恢复3D手网格。具体地说,我们预先定义了一个代表手表面的三角形网格的拓扑结构,目的是利用深度神经网络估计网格中所有顶点的三维坐标。要实现这一目标,有几个挑战。

(这段作者大致讲了思路:首先有一个初始三维网格手模型,然后领用深度学习细化三维网格模型,使之精细化)

第一个挑战是三维手网格生成的输出空间的高维性。与稀疏的手骨架三维关节位置估计(如21个关节)相比,使用传统的CNN估计密集网格顶点(如1280个顶点)的三维坐标要困难得多。一个简单的解决方法是遵循人体形状估计中常用的方法,即回归预定义的可变形手模型的低维参数,如MANO。

在本文中,我们认为输出的三维手网格顶点实质上是图结构数据,因为一个三维网格可以很容易地表示为一个GRAPH。为了输出这样的图结构数据并更好地利用图中网格顶点之间的拓扑关系,受最近关于图卷积网络的研究的启发,我们提出了一种新的基于图卷积网络的方法。具体地说,我们采用带上采样和非线性激活的层次图卷积,从骨干网提取的图像特征中生成三维手网格顶点。有了这样一个端到端可训练的框架,我们的基于Graph cnn的方法可以更好地表示变化很大的三维手形,也可以更好地表达三维手形的局部细节。
除了模型上的挑战,另一个挑战是缺乏真实世界图像的GroundTruth 3D手网格训练数据。在真实世界的RGB图像上手动标注GroundTruth3D手网格是非常费力和耗时的。因此,我们选择创建一个包含三维手网格和三维手姿势的地面真实值的大规模合成数据集,以供训练。然而,由于它们之间的领域差距,在合成数据集上训练的模型通常对真实数据集产生不满意的估计结果。为了解决这个问题,受到启发,我们提出了一种新的弱监督方法,利用深度图作为一个弱监督的3D网格生成,因为深度图可以很容易地由RGB-D相机在收集GroundTruth训练数据时捕获。更具体地说,当对真实数据集进行微调时,我们将生成的3D手网格渲染到图像平面上的深度图,并将深度图相对于参考深度图的损失最小化,如图3所示。注意,在测试期间,我们只需要一个RGB图像作为输入来估计完整的3D手的形状和姿势。

(让我们来梳理一下作者解决问题的思路。作者想要解决目前尚未有许多人研究的基于单目RGB图像的手部形态的估计问题,解决问题需要数据和模型。数据方面,因为之前研究的人不多,所以没有现成可用的数据集,所以作者自己创建了一个数据集。因为采集真实数据集并标注并不好实现,所以作者选择使用合成数据集。作者又希望模型的泛化能力强,所以想出了使用弱监督来修正。模型方面呢,因为一般的手部shape估计大家为了方便基本上都用MANO,所以作者也使用了MANO)

[Contributions]

① 提出了一个全新的端到端训练的卷积神经网络模型,实验结果证明该方法可以得到一个更细致的结果
②通过将生成的3D网格渲染到图像平面上的深度图,并利用参考深度图作为弱监督,我们提出了一个现实世界数据集上的弱监督训练pipeline,不需要对真实世界图像的3D手网格或3D手姿势进行任何注释。
③提出了一个大型合成数据集,包含3D关键点标注以及手部表面的3D hand mesh。

【Method】

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image_第2张图片
这篇论文的思路可以给手里数据集比较少的同学参考。
我们先把网络一分为二:直接监督pipeline与弱监督pipeline
直接监督pipeline很好理解,是一个端到端的网络。输入为single RGB Image输出为 3D hand mesh以及 3D hand pose。输出使用GroundTruth作为监督。
弱监督pipeline,其实跟直接监督相差不大,唯一的区别就是因为没有标注,网络生成的3D hand mesh无法使用GroundTruth作为监督,下一步是让生成的mesh映射到depthmap上,使用真实的depth map做监督。这样便可以达到指导 hand mesh网络学习的目的。

你可能感兴趣的:(姿态估计,计算机视觉)