0.摘要
- 论文主要提出了一种实时的手跟踪方案,从单目RGB图像上预测手的skeleton。
- 方法的pipeline包括2个模型:(1)手掌检测模型(palm detector);(2)手骨骼估计模型(hand landmark model)。
1. Introduction
- 论文的主要贡献:
(1)一个高效的two-stage手跟踪pipeline,可以在移动设备上实时的跟踪多个手。
(2)一个手姿态估计模型,能够在RGB图像上预测2.5D的手姿态。
(3)一个开源的手跟踪pipeline,作为 ready-to-go的方案,可以运行在多个平台上,如Android, iOS, Web (Tensorflow.js) 和 desktop PCs。
2. 框架
- 本文的手跟踪pipeline包括两个模型: (1)一个手掌检测器,通过预测一个有方向性的手的bounding box在输入的整张图片上进行手定位。 (2)一个hand landmark模型,在手掌检测器根据bounding box裁剪之后的手图片上运行,并返回高保真的2.5D landmarks.
- 在实时的跟踪方案中,我们从上一帧的landmark预测中推导出一个边界框作为当前帧的输入,从而避免了在每一帧上应用检测器。相反,检测器只应用于第一帧或手预测表明手丢失时。
2.1 BlazePalm Detector
- 检测手是一个复杂的任务,模型需要检测很大范围跨度的尺寸的手(~20x),需要检测遮挡和自遮挡的手。与人脸检测相比,人脸有高对比度模型,人手没有类似的特征,使其只通过视觉特征检测相对困难。
- 首先,训练一个palm detector 代替palm detector ,因为检测刚性物体,如手掌或拳头的bounding box会非常容易,与检测具有关节手指的hand相比。此外,palm是更小的目标,non-maximum suppression 算法能够更好的工作,即使在双手自遮挡的情况下,如握手。另外,手掌能够只用正方形bounding box模型化,可以忽略其他长宽比,因此可以减少anchors的数量。
- 其次,使用了一个类似FPN的encoder-decoder特征提取器来应对大场景环境感知,即使是小目标。
- 最后,在训练过程中最小化 focal loss,以支持高尺度方差产生的大量anchors。
- 手掌检测器网络结构如下:
- 进行了消融实验的对比:
2.2 Hand Landmark Model
进行完手掌检测后,在手定位范围内通过 hand landmark model回归出精确的21个 hand landmarks的2.5D坐标。
模型有3个输出:
(1)21个hand landmarks,包含x,y,和相对的depth。
(2)表示输入图像中手存在的概率的手标志(hand flag)。
(3)二值分类的handedness,如左手或右手。
3. Dataset and Annotation
本文用到3个数据集:
- In-the-wild dataset:包括6K个各种各样的手图像,如不同的背景纹理、不同的光照、不同的手外表。缺点是数据集不包含复杂的手结构。
- In-house collected gesture dataset:10K数据,包含各种不同角度的可能的手势。缺点是只采集了30个人的手,且背景有限。
- Synthetic dataset:渲染的手模型包括24个bones,36个混合形状(控制手指和手掌的厚度),5种纹理肤色。共100K的图像。
- 对于 palm detector,只使用in-the-wild dataset进行训练。
- 对于hand landmark model,使用所有数据集训练。
标注了21个landmarks在真实世界的图片上,在合成图像上使用投射的3D关节的ground truth。
对于 hand presence,我们选择真实世界图像的子集作为正样本,并在排除标注的手区域作为负样本的区域上取样。
对于handedness,我们用handedness标注真实世界图像的子集以提供此类数据。
4. Results
在不同数据集上的验证结果:
训练了3种模型,经过对比,Full model可以兼顾准确率和时间。
5. MediaPipe graph for hand tracking
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删