GANerated Hands for Real-Time 3D Hand Tracking from Monocular RGB

本文提出一种从单目RGB摄像头实时获取3D手部姿态的方法,结合卷积神经网络和运动学3D模型,实现了对遮挡和变化视角的鲁棒处理。通过GeoConGAN网络生成训练数据,提升模型泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

GANerated Hands for Real-Time 3D Hand Tracking from Monocular RGB

(适用于单目RGB的实时三维手部跟踪)

Franziska Mueller1,2 Florian Bernard1,2 Oleksandr Sotnychenko1,2 Dushyant Mehta1,2

Srinath Sridhar3 Dan Casas4 Christian Theobalt1,2

1 MPI Informatics 2 Saarland Informatics Campus 3 Stanford University 4 Univ. Rey Juan Carlos

 

figure 1: 作者提出一种从单目RGB输入的3D手势跟踪方法。我们的方法兼容无约束的视频输入,比如来自youbube视频(left)和健壮的遮挡(左中)。我们使用一个现成的RGB摄像头来显示实时的3D手动跟踪结果(右中角)

 

论文地址:paper链接地址paper补充文件

训练数据:合成数据集

 

 

摘要:作者的跟踪方法将卷积神经网络和运动学3D模型结合起来,对未知数据,能鲁棒的对遮挡和可变摄像头视点进行归纳,从而使手部的运动更加平滑。为了训练CNN,作者提出一种基于几何一致的image-to-image的转化网络。更具体的说,作者使用神经网络将 “合成” 图像转化成“ 真实” 图像,这样,生成的图片与真实的图片之间具有相同的统计分布。为了训练这个 translation 网络,作者在转换过程中结合了 adversarial loss(对抗损失) 和 cycle-consistency loss (循环一致性损失)与 geometric consistency(几何一致性损伤)

 

Highlights

  • Problem
    • 如何能直接从单目RGB摄像头得到手势姿态关键点的3D世界坐标?
    • 如何获取精确的3D hand pose annotation
  • Solutions
  1. 文章提出了一种能够保持手部姿态不变的image-to-image transferGeoConGAN来生成训练数据;
  2. 文章提出的GeoConGAN不需要paired-image输入(原因是采用CycleGAN网络设计GeoConGANCycleGAN具有一个重要的特性,即不需要配对数据就可以训练网络);
  3. 文章采用了kinematic hand model来提高有物体遮挡情况下手势姿态回归的精度;
  4. 文章采用ProjLayer层细化2D3D关节点坐标位置;

 

论文核心内容

1.  Hand Tracking System(系统架构)

2. Generation of Training Data(训练数据如何生成)

3. Hand Joints Regression(手势关节点回归)

4. Kinematic Skeleton Fitting(运动学骨架拟合,细化2D和3D坐标精度)

 

  • Hand Tracking System

      本文的目的是提出一种单目RGB3D手势跟踪系统。总的系统如图2,给定RGB视频流使用CNN手关节点预测网络(ResNet),预测2D heatmap3D关节点位置。ResNet的训练输入是image-to-image转换网络GeoConGAN的输出生成的图片。GeoConGAN的输出图片——即GANerated图像——更适合于训练CNN,使其在真实图像上工作。在回归之后,作者通过最小化拟合能量来拟合预测2D3D骨架,这对于实现健壮的3D手姿态跟踪有几个关键的优势:它增强了生物力学的合理性;可以恢复绝对的3D位置;此外,还能够在多帧上实现稳定性。

 

  • Generation of Training Data

     由于在数百幅真实的手势图像中标记3D关节点位置是不可行的,因此通常使用的是合成的图像。合成图像的主要优点是真实3D关节点位置已知,但重要的缺点往往是真实感差。合成图片间的差异限制了CNN的泛化能力。为了处理这种不一致性,作者提出一个 image-to-imagetranslation 网络(GeoConGAN),客观的将合成图转为真实图。最重要的是,网络使用未经配对的真实和合成图像。注意,对于真实的和合成的数据,作者只使用前景分割后的图像,这些手势图都是白色背景的,这有助于训练和使网络聚焦在手势区域。

aGeometrically consistent CycleGAN (GeoConGAN

      虽然合成方式能产生大量的手势数据,但是有一个致命的缺陷,如果直接拿合成数据取训练回归网络,泛化往往会比较差,因此提出一个合成图像转真实图像的网络---GeoConGAN

      GeoConGAN网络是基于CyCleGAN, 它使用对抗式鉴别器同时学习循环一致的正向和逆向映射。循环协调性意味着两个硬伤的组合(在任一个方向)是恒等映射。在作者的例子中,作者学习了从合成图像到真实图像的映射(synth2real)以及从真实图像到合成图像的映射(real2synth)。和许多现有的image-to-image translation网络不一样,CycleGAN的优点是它不需要成对的图像,而这对于论文的目的来说是至关重要的,因为这些图像对我们来说是不存在的。

      图3 GeoConGAN网络的输入是(裁剪)在白色背景上的合成和真实的手图像,以及它们各自的轮廓,即前景分割掩膜。其核心是类似于CycleGAN与它的鉴别器和循环一致性损失,以及两个可训练的转换合成器合成的。然而,与CycleGAN不同,作者加入了额外的几何一致性损失(基于交叉熵),以确保real2synthsynth2real过程时保持手的姿态。图4 说明了该损失函数的好处

      为了提取real2synthsynth2real生成的图像的轮廓,我们基于一个简单的UNet训练一个二进制分类网络SilNet,它有3个2步长的卷积和3个反卷积。注意,这是一个相对容易的任务,因为图像具有白色背景。我们选择一个可微网络,而不是简单的门限,使得GeoConGAN的训练更加的柔和。我们的SilNet是在数据的一个不相交子集上预先训练的,并且在训练real2synthsynth2real时是固定的,详情在补充文件中。

b. Data augmentation(数据增强

     当GeoConGAN训练好后,可以通过 synth2real 产生大量真实图像。如图5,给GANerated生成后的图添加场景背景,就可以合成与真实环境统计分布一致的样本。

  • Hand Joints Regression手势关节点回归

     为了从RGB图像回归到手势的关节点,作者训练了CNN---ResNet,它能预测2D3D位置的21个关节点。2D关节点位置在图像空间中以heatmap的形式表示,3D位置表示为相对于根关节的3D坐标。我们发现,回归的2D和3D关节是相辅相成的,因为2D heatmap 能够表示不确定性,而3D位置解决了深度模糊。

     ResNet 如图6所示。基于一个由10个残差块组成的ResNet50体系结构残差网络,此外,作者还使用了一个基于投影层(projection layer)的(可微的)细分模块来更好地结合二维和三维的预测。the ProjLayer 的思想是执行中间3D预测的正投影。从中创建2D高斯heatmap。利用这些热图的(conv)部分进行最终的2D3D预测。图7a 表明这将导致更好的结果。

     训练是基于GANerated图像和合成图像的混合数据,以及相应的3D真实关节点位置。训练集包含了大约440000个样本,其中60%是修正过的。实证研究发现,进一步提高该比例不会改善真实测试数据集的性能。使用相对关节位置训练ResNet。

 

  • Kinematic Skeleton Fitting运动学骨架拟合

      该部分应该对应ResNet中的ProjLayer。作者首先根据DOF手关节自由度模型建立了kinematic hand model 的表示,每个关键点表示为Θ = (t, R, θ),其中,t是关键点的3维世界坐标,R是根节点的rotationθ是每个关节点的自由度的链接角度。

- M(Θ) ∈ R 则表示了由21个关键点构成的手势。
- 通过遍历3个参数的所有取值组合构建了一个 kinematic tree
- 通过公式E(Θ) = E2D(Θ)+E3D(Θ)+Elimits(Θ)+Etemp(Θ) 来计算输入的2D keypoints heatmap3D relative joints 最匹配的hand model

 

- 这个部分有一个细节是,用户需要在相机前的固定位置(论文里是45cm)完成一个初始化操作,来计算手部的scale

 

 

效果

 

      文章在 STB[1] 、 Dexter+Object[2] 和 EgoDexter[3] 数据集上评估了效果, 并主要和Z&B[4]的工作做了比较。具体比较如下,括号中是Z&B 的结果:

    • STB : AUC = 0.965 (0.948)
    • Dexter+object: AUC = 0.64 (0.49)
    • EgoDexter: AUC = 0.54 (0.44)

RegNet网络前馈性能: 

runtime: 13ms/帧  

设备:GTX 1080 Ti

 

GeoConGAN及ResNet训练细节补充

1. GeoConGAN network

      网络设计: GeoConGAN的体系结构是基于CycleGAN,即分别为合成图像和真实图像训练两个条件生成器网络和两个鉴别器网络,并对它们进行仿真。最近,也提出了只使用一个生成器和鉴别器来从未配对数据中丰富合成图像的方法---shrivastava等人。由于缺乏图像对,两者都在条件合成输入和生成输出之前使用L1损失(除了常见的鉴别器损失之外)。这种损失迫使生成的图像在所有方面都与合成图像相似,也就是说,如果合成数据尚未关闭,可能会妨碍生成器产生实际输出。相反,我们决定将循环一致性和几何一致性损失结合起来,使生成器网络能够进一步与合成数据有差距,从而更接近真实环境数据的分布,同时保持手的姿态。作者的GeoConGAN包含了ResNet生成器和最小二乘PatchGAN鉴别器网络。

参数设置

We train GeoConGAN in Tensorflow for 20,000 iterations with a batch size of 8. We initialize theAdam optimizer with a learning rate of 0.0002, β1 = 0.5, and β2 = 0.999.

2. RegNet network

Projection Layer ProjLayer: 3D人体姿态估计的最新工作是集成投影层,利用2D带标注的数据进行3D姿态预测。

      作者仅仅使用投影层作为精细化模块来连接2D3D的预测。使用正射投影,将3D预测值(中间MCP关节点)的原点投影到渲染热图的中心,得到中间相对三维关节点位置的预测。因此,作者处理后的热图也是相对的,不一定是与真实的2D热图对应的像素。因此,作者进一步处理渲染热图,然后将它们反馈到主网络分支。注意,渲染热图是可微的相对于3D预测,这使得ProjLayer的梯度反向传播成为可能。

参数设置

We train RegNet in the Caffe framework for 300,000 iterations with a batch size of 32. We use the AdaDelta solver with an initial learning rate of 0.1 which is lowered to 0.01 after 150,000 iterations. All layers which are shared between our network and ResNet50 are initialized with the weights obtained from ImageNet pre-training. Both, the 2D heatmap loss and the local 3D joint position loss, are formulated using the Euclidean loss with loss weights of 1 and 100, respectively.

 

 

 

 

### 回答1: MediaPipe Hands是一种基于设备的实时手部追踪技术。它是由Google开发的计算机视觉库MediaPipe的一部分,旨在通过摄像头捕捉的视频流对手部进行准确的实时追踪。 Mediapipe Hands利用了深度学习模型和机器学习算法,能够识别视频中出现的双手,并对它们的位置和手势进行跟踪。这项技术可以应用在许多领域,包括虚拟现实、增强现实、手势识别和手势控制等。例如,在游戏中,可以使用Mediapipe Hands实时追踪玩家的手势,将其转化为虚拟角色在游戏中进行相应的动作。 Mediapipe Hands的一个显著特点是其在设备上的实时性能。相比于传统的手部追踪方法,Mediapipe Hands能够在保持高准确性的同时,实现实时的处理和反馈。这得益于其优化的模型架构和高效的计算算法。作为一种基于设备的解决方案,Mediapipe Hands无需依赖云端服务或高性能硬件,可以在较低功耗和资源受限的设备上运行。 此外,Mediapipe Hands还支持多个手势的识别和跟踪。它可以检测手的位置、边界框、手指的位置和手势类别,例如拇指的弯曲、手掌的张开和手势的连续跟踪。这种多样性使Mediapipe Hands成为一个强大而灵活的工具,适用于不同的视觉和交互应用。 总之,Mediapipe Hands是一种基于设备的实时手部追踪技术,具有高准确性、低延迟和多功能的特点。它为虚拟现实、增强现实、手势识别和控制等应用领域提供了一种简单而可靠的解决方案。 ### 回答2: MediaPipe Hands是一个由Google开发的机器学习技术,用于在设备上实现实时手部追踪。它基于深度学习模型,可以从设备的摄像头中识别和跟踪手部的动作和位置。 Mediapipe Hands使用的模型经过训练,可以识别手部的21个关键点,包括手指的关节和指尖。它可以在设备上实时分析摄像头捕捉到的图像,并进行准确的手部追踪。这种技术可以用于手势识别、手势控制和虚拟现实等应用领域。 相比于传统的基于云端的手部追踪技术,Mediapipe Hands的优势在于其实时性和隐私性。由于模型是在设备本地运行,不需要依赖于云端的计算资源,因此可以实现即时的反馈和交互。同时,所有的图像和手部数据都在设备上进行处理,保护了用户的隐私。 除了实时追踪手部的动作和位置外,Mediapipe Hands还可以提供手势识别的功能。通过识别手部的动作和位置,它可以判断用户是点击屏幕、捏取物体还是做出其他手势。这种手势识别能够为用户提供更自然、直观的交互体验,并且可以被广泛应用于手机、平板电脑、AR/VR设备等不同类型的设备上。 总之,Mediapipe Hands是一项强大的机器学习技术,能够在设备上实现实时的手部追踪和手势识别。它为用户提供了更直观、自然的交互体验,并且保护了用户的隐私。这项技术具有广泛的应用潜力,可以用于各种不同的设备和场景。 ### 回答3: Mediapipe Hands是一项在设备上实时手部追踪技术,由谷歌开发。它利用神经网络模型和计算机视觉技术,能够精确地检测和跟踪人手的动作和姿势。 这项技术主要适用于在移动设备和嵌入式系统上进行手部追踪。相比于传统的云端追踪方案,Mediapipe Hands使用了高效的计算机视觉算法,能够在设备本地实时进行处理,无需依赖云端网络服务,有效提高了实时性和隐私性。 利用Mediapipe Hands技术,用户可以通过摄像头捕捉手部的位置和动作,实现手势识别、手势控制等功能。这项技术可以广泛应用于移动游戏、虚拟现实、增强现实、手势交互和人机界面等领域。 Mediapipe Hands的优势在于其快速准确的手部追踪能力。它能够将手部的关键点(如手指、掌心等)精确地识别和跟踪,实现高精度的手部姿势估计。而且,由于是在设备上进行实时处理,其响应速度非常快,可以满足实时交互的需求。 总体而言,Mediapipe Hands是一项在设备上实时追踪手部动作和姿势的技术。它的应用范围广泛,可以用于移动设备和嵌入式系统,提供高精度的手部追踪功能,为用户带来更加现实、交互友好的体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值