Monocular Real-time Hand Shape and Motion Capture using Multi-modal Data


Monocular Real-time Hand Shape and Motion Capture using Multi-modal Data

一. 論文簡介

從單張圖像中恢復 2D keypoints + 3D keypoints + mesh,在數據量不充足的情況下進行弱監督。

主要做的貢獻如下(可能之前有人已提出):

  1. DetNet
  2. IKNet
  3. 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)

tensorflow代碼


三. 缺點

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM