Accurate and efficient 3D hand pose regression for robot hand teleoperation using a monocular RGB camera论文解析
论文链接:https://www.sciencedirect.com/science/article/pii/S0957417419304634
论文出处:Expert Systems with Applications, 2019,SCI一区,top期刊
项目网站:http://www.rovit.ua.es/dataset/mhpdataset/
研发团队:坎特大学计算机研究所
1. 概述
- 本文提出了一种基于深度学习的框架,能够实现准确的、实时的3D hand pose estimation,仅使用单个RGB帧作为输入。
- pipeline 由2个深度卷积神经网络结构组成。第1个负责人手图像的检测;第2个负责推导手部关节的3D位置,即手势姿态。
- 自制了数据集,包含手部图像和相应的3D关节标签。
- 提出的方法在自制数据集和Stereo Hand Pose Tracking公共数据集上实现了5mm以内的3D手姿态平均误差。
- 将本文方法应用到机器人手势遥操作上,取得了很高的成功率。
2. Introduction
- 存在的问题:
(1)多自由度物体(如人手)的姿态估计仍然是没有解决的问题
(2)人手姿态估计增加了额外的复杂性,如自相似性(self-similarity)和自遮挡(self-occlusion)。
(3)手-物交互(hand-object interactions)中的人手姿态估计问题会更加困难。 - 本文思路:
(1)提出了一个使用单目RGB摄像机的实时、准确的3D hand pose estimation。
(2)首先使用RCNN (region convolutional neural network)来对输入图片进行人手的检测。
(3)将裁剪的人手图像传到一个CNN网络中来回归人手关节的3D位置。
(4)在自定义的数据集(custom dataset)上训练,在公共数据集上测试和验证。 - 主要贡献
(1)大范围、多角度的数据集,提供多人手姿态的groundtruth标签。各种场景下的多角度人手姿态,包括复杂场景、遮挡场景、第一视角场景、不同肤色等。
(2)一个简单、有效的,基于2个连续CNN的单目3D hand pose estimation。
(3)在一个机器人遥操作系统中证实了方法的准确性。
3. Related work
3.1 基于RGB-D的3D hand pose estimation
- DeepHand,2016CVPR基于深度学习的框架,在合成数据集上训练,得到人手的深度特征。这些特征由空间和时间的邻域(spatial and temporal neighborhood)组成。得到鲁棒的、无抖动的3D手势姿态估计。方法建立在手区域的位置已经检测出来的基础上。
- Real-time continuous pose recovery of human hands using convolutional networks,2014ACM Transactions on Graphics.使用一个CNN网络来计算3D人手姿态,再使用预定义的合成手势姿态(predefined synthetic hand poses)来进行微调,即逆运动学姿态回归。这篇文章介绍了一个有趣的进展:将人手的物理约束考虑进去。
3.2 基于单目RGB的3D hand pose estimation
- ColorHandPose3D,2017 ICCV.使用3个CNN网络实现了单目RGB图像的3D姿态估计。第一个CNN用来对人手进行像素级别的分割;第二个CNN用来估计人手的2D关节点;第三个CNN训练将检测的关节点映射到3D坐标空间。
- 还有一些基于多角度RGB摄像头的手部姿态估计算法。但是这些方法都对摄像头的标定非常敏感,而且需要先进行深度估计。
3.3 相关数据集
-
NYU Hands:包括从RGB-D摄像机获得的8252张测试集和72757张训练集,以及手姿态信息的label。每一帧都由3个Kinect相机获得:1个前视,2个测视。训练集仅仅包含作者的手部数据(Jonathan Tompson),测试集包含2个人的数据(Murphy Stein and Jonathan Tompson)。也提供每帧的合成渲染手姿态数据。
-
ICVL Hands:只有深度图像数据的手姿态数据集。16个关节,位置为(x,y,z)。16个关节顺序为:Palm, Thumb root, Thumb mid, Thumb tip, Index root, Index mid, Index tip, Middle root, Middle mid, Middle tip, Ring root, Ring mid, Ring tip, Pinky root, Pinky mid, Pinky tip.
-
MSRA Hands:hand tracking数据集。使用Intel’s Creative Interactive Gesture Camera采集,包含6个subjects的右手。图像尺寸320x240,(x, y, z) 3D坐标。21个手部关节:wrist, index_mcp, index_pip, index_dip, index_tip, middle_mcp, middle_pip, middle_dip, middle_tip, ring_mcp, ring_pip, ring_dip, ring_tip, little_mcp, little_pip, little_dip, little_tip, thumb_mcp, thumb_pip, thumb_dip, thumb_tip. The corresponding *.jpg file is just for visualization of depth and ground truth joints.
-
HANDS 2017:RGB-D传感器采集。包括21个关节,深度图像是从Intel RealSense SR300采集的,640 × 480像素。数据集是从 BigHand2.2M和 First-Person Hand Action (FHAD)采样得到的。
-
HANDS 2019:包括2D/3D的手检测、分割、姿态估计。
3.4 论文创新点
- 提出了一个简单且有效的基于深度学习的手部姿态估计方法,仅需要从单个RGB图像中能够准确的定位和进行3D hand pose estimation。
- 搭建了一个多视角的数据采集平台,能够制作出人手图像的大范围数据集,和3D空间的标签。
- 进行了机器人手势遥操作的应用。
4. 3D手姿态回归
-
论文主要目标是从single RGB图像中估计出3D hand pose。
-
采用商用摄像头,分辨率为640x480,频率为30hz。
-
pipeline包含2个CNN
(1)HandLocNet :用来预测人手的位置。输入裁剪的人手图像到第二个CNN。
(2)HandPoseNet:将裁剪的RGB人手图像回归出3D的hand pose。 -
两个CNN网络都使用采集的多视角、大范围数据集。
4.1 手的模型表示
- 手的模型表示:21个手关节的3D位置 j_i=(x_i, y_i, z_i), J=21.和hand orientation(α_x, α_y, α_z)组成。
4.2 HandLocNet
- 人手检测网络采用yolo900,使用浅层的版本,实现速度和准确率的平衡。
- 能在challenging的场景下检测网络,如:clutter, occlusions, novel viewpoints, skin color, object interaction。
- HandLocNet先在PASCAL VOC数据集上进行预训练,再在自制手部数据集上进行迁移训练。
- 结果实例如下:
4.3 3D手关节回归
- 裁剪的图片经过resize成 224 × 224 的RGB图像,输入到HandPoseNet网络中。
- 网络框架使用ResNet50,经过修改用来回归标准化(normalized)的3D手关节。
- 标准化(normalized)指的是手掌方向位置的3D关节,即平移和旋转不变。
- 网络的全连接层被修改用来回归手关节的位置(x,y,z),并且网络能估计手的orientation:αx, αy,αz.
- 在自制的数据集上训练。
4.4 Large-scale multi-view hand pose dataset
-
论文提出了一个大范围、多视角的人手姿态估计数据集,称为:LSMVHandPoses。
-
包含一个半自主的ground truth手姿态标注设备,上图左侧。基于LeapMotion的。
-
多视角采集设备使用4个RGB的摄像头,标定每个摄像机,计算内参、外参、每个cam与LeapMotion之间的旋转平移矩阵。
-
可以用来进行2D、3D的hand pose eatimation,和2D hand localization。
-
数据集的信息包括:
(1)由LeapMotion获得的3D关节点。
(2)上下左右4个角度摄像机拍摄的RGB人手图像。
(3)每个cam坐标系下3D关节点映射的2D关节点。
(4)每个cam坐标系下3D关节点映射的2D bounding box。 -
数据集包含20,500 帧图像,21个场景,每帧有4个RGB图像和9种不同的标签。
-
一共超过80,000个RGB图像和超过184,500个标签。
5. 结果
- 误差( LSMVHandPose数据集):
- 误差( Stereo Hand Pose Tracking数据集)
- 姿态估计示意图:
- 遥操作实验(控制AR-10手和Shandow 手),在仿真环境下: