基于RGB图像的手势估计(Hand Pose Estimation )文献综述
一、手势估计研究难点
1. 场景
- 手分辨率低(Low-res hand)
- 背景杂乱(Clutter background)
- 手与其它对象交互(Object/surface interaction)
- 手被遮挡(Occlusions/Self-occlusions)
2. 形态
- 不同手势相似(Self-similarity)
- 多自由度(many DoF(Degree of Freedom))
- 多视角(Multiple viewpoints)
- 不同的形状和尺寸
3. 数据集获取困难
二、传统方法
手势估计的传统方法多数是针对RGB-D图像的,不过思路可以迁移到RGB图像上。
1、生成方法(model-based)
首先创建大量的手势;然后选择一个最匹配当前图像的手势。使目标函数(度量输入图像与手模型近似图的相似性)最优化。缺点:初始化复杂、容易陷于局部最优。生成式方法相较判别式应用较少。
2、Approaches 判别方法(appearance-based)
学习图像到手势配置的映射。缺点:图像低分辨率、自我遮挡、快速移动时会产生大量错误。采用local regression(分层)的方法,可以提高对遮挡的鲁棒性,但是易产生抖动。
判别模型 (Data-Driven,Learning Based Methods)
应用举例:(2014.6) Real-Time Continuous Pose Recovery of Human Hands Using Convolutional Networks.
使用CNN提取特征,并为关节位置生成小的热图(heatmaps),然后从特征和小的热图中使用IK(反向 动力学)推断出手的姿势。此方法只能预测关节的2D位置,然后使用深度图算出第三个坐标,这对于隐藏关节是有问题的。精确度受限于heatmap分辨率;因为CNN必须在每个像素位置进行评估,所以创建热图计算量很大。
3、混合方法(Discriminative methods + Generative methods)
应用举例:(2016.4) Spatial Attention Deep Net with Partial PSO for Hierarchical Hybrid Hand Pose Estimation
判别方法产生的手势难以满足运动约束,而生成方法可用于纠正或验证这些手势结果。级联(多阶段)+ 多层 (cascaded (with multiple stages) and hierarchical (with multiple layers))
三、深度学习方法
1、算法流程
2、17ICCV-Learning to Estimate 3D Hand Pose from Single RGB Images
第一个模块采用语义分割网络提取手部区域,输出hand mask,然后根据mask重新resize手部区域大小。第二个模块采用类似CPM的结构定位手部关节点位置,输出21张不同keypoint的score map。第三个模块根据2D的节点位置和先验知识恢复出3D节点位置。
上路预测结点位置信息(即正则化后的手的坐标),以手掌的点为原点,且长度进行了normalize。下路估计相对于实际图片的空间的变换关系(即视角角度)。两个任务用采用相似的网络框架。基于左右手的对称性,会对右手进行翻转。最终将预测结果进行融合得到最后的坐标。
3、17CVPR-Hand Keypoint Detection in Single Images using Multiview Bootstrapping
经典的Openpose中的方法。网络可视化后可以看到2D姿态估计阶段采用类似CPM的网络结构3D估计阶段需要多视角信息,采用Muiti Bootstrapping算法:初始化并产生带有噪音的标签;对于正确的标签进行triangulation;对于错误的标签则进行reprojection和retraining,继续用来改善detector;得益于bootstrapping的过程,即使最初的detector效果较差也不会影响最后结果的准确性。
四、New State-of-the-art
1、18CVPR-GANerated Hands for Real-Time 3D Hand Tracking From Monocular RGB
该文章主要解决视频中手部tracking问题。GeoConGAN部分产生训练数据,将通过软件仿真出来手转化成非常逼真的手,即给假手渲染上真实的肤色和纹理。通过这种image-to-image的translation即可减少训练数据与真实数据之间的gap。RegNet部分,利用上一阶段产生的数据训练并回归2Dheatmap和3D位置。Kinematic Skeleton Fitting部分根据DOF手关节自由度模型,建立了kinematic hand model 的表示,有助于得到鲁棒的3D模型。
2、18CVPR-Cross-Modal Deep Variational Hand Pose Estimation
该文章通过生成的DNN来学习由跨模态训练的潜在空间表示的统计手模型,同时适用于RGB和RGBD图像。很新颖的一种思路。结构:Encoder Pair(q1,q2),Decoder Pair(p1,p2). 这样的设计有助于对隐式空间正则化。
五、相关数据集
https://github.com/xinghaochen/awesome-hand-pose-estimation#datasets
References:
https://blog.****.net/myarrow/article/details/51933651