3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking

MediaPipe Hands: On-device Real-time Hand Tracking论文解析

  • 0.摘要
  • 1. Introduction
  • 2. 框架
    • 2.1 BlazePalm Detector
    • 2.2 Hand Landmark Model
  • 3. Dataset and Annotation
  • 4. Results
  • 5. MediaPipe graph for hand tracking
  • 6. 手势识别的应用

论文链接:https://arxiv.org/pdf/2006.10214.pdf
论文代码:https://google.github.io/mediapipe/solutions/hands.html
参考资料:使用 MediaPipe 实现设备端实时手部追踪
论文出处:2020CVPR Workshop
研发团队:Google Research

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。
  • 手掌检测器网络结构如下:
    3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第1张图片
  • 进行了消融实验的对比:
    3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第2张图片

2.2 Hand Landmark Model

进行完手掌检测后,在手定位范围内通过 hand landmark model回归出精确的21个 hand landmarks的2.5D坐标。
3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第3张图片
模型有3个输出:
(1)21个hand landmarks,包含xy,和相对的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的图像。
    3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第4张图片
  • 对于 palm detector,只使用in-the-wild dataset进行训练。
  • 对于hand landmark model,使用所有数据集训练。
    标注了21个landmarks在真实世界的图片上,在合成图像上使用投射的3D关节的ground truth。
    对于 hand presence,我们选择真实世界图像的子集作为正样本,并在排除标注的手区域作为负样本的区域上取样。
    对于handedness,我们用handedness标注真实世界图像的子集以提供此类数据。

4. Results

在不同数据集上的验证结果:
3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第5张图片
训练了3种模型,经过对比,Full model可以兼顾准确率和时间。
3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第6张图片

5. MediaPipe graph for hand tracking

3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第7张图片

6. 手势识别的应用

3D hand pose:MediaPipe Hands: On-device Real-time Hand Tracking_第8张图片

你可能感兴趣的:(论文笔记,深度学习,计算机视觉,手势姿态估计)