目錄
Monocular Real-time Hand Shape and Motion Capture using Multi-modal Data
一. 論文簡介
從單張圖像中恢復 2D keypoints + 3D keypoints + mesh,在數據量不充足的情況下進行弱監督。
主要做的貢獻如下(可能之前有人已提出):
- DetNet
- IKNet
- Dataset

二. 模塊詳解
2.1 DetNet
- 2D keypoints detect: 直接heatmap即可
- 3D keypoints detect: 這部分作者參考 Vnet 結構,具體如下圖所示:圖像位置由前面的2D檢測器給出,由3張圖表示camera space(root-relate)XYZ坐標。注意這里是經過歸一化的,一般手勢使用\(ref=|point_{9}-point_{10}|\), \(p_{i}=p_{i}/ref\)。作者說直接平鋪整個map,個人認為這樣不好,使用kernel=9,inference時候取kernel=3然后平均,這樣效果可能更好。實測直接2D效果更好,未在3D項目中使用!

- Delta回歸:這部分是回歸每個joint相對於root的方向。\(dis=distance_{root-point}\), \(point_{xyz}^{A}=\frac{point^{A}-root}{|dis|}\),dis為當前的到root的距離。那么當我們知道A到root的距離,同時知道root的絕對距離,那么就知道A的實際位置:\(Dis_{A}=Dis_{root}+Delta*Dis_{root-A}\),論文中公式(5)也可以立馬推導得到。

2.2 IKNet
- 這里使用的MANO模型,直接使用即可,比較簡單(有深度的得看論文)。
- Shape Estimate: 主要說一下loss,\(l_b(\beta)\)表示b段骨架的長度,\(l_{ref}\)表示歸一化的長度(refer length),\(l_b^{pred}\)表示3D keypoints的檢測結果。最后一項正則化,不比多說,每個論文都要限定一下,一般的范圍是[-1,1]或[-2,2]。

- 逆運動學模型(inverse Kinematics),公式(10)表示余弦差角,四元數實數部分的乘積(直接按照公式去做即可,為啥說是余弦差角?),公式(11)直接監督,公式(12)3D joints監督(mesh的verts直接投影到21或16關鍵點即可),公式(13)正則化懲罰項,和shape最后一項類似。

2.3 Dataset
- 論文中數據來自三個部分
- 直接使用2D數據訓練2Dkeypoints
- 使用Mocap數據訓練2D+3D+mesh,這部分和3D Hand Shape and Pose from Images in the Wild類似,使用mesh生成數據集。
- 使用3D數據訓練2D+3D+mesh(最后一項是弱監督,只計算3D joint loss)

三. 缺點
- mesh僅作為弱監督,是否會增強3D數據擬合能力有待商榷。搭建一個直接預測root-relate模型,在RHD-Hand數據,比這篇論文效果好,30mm達到94.9%。
- 整體看起來不難理解,但模塊太多,設計有點冗余。
- 作者說在某些簡單手勢出先較大誤差,可能數據問題,也可能模型問題。目前作者正在研究第二個版本,期待!!!