論文閱讀筆記 — 3D人體姿態辨識 Learning to Fuse 2D and 3D Image Cues for Monocular Body Pose Estimation

Original article was published by Hung-Chih Chiu on Artificial Intelligence on Medium


論文閱讀筆記 — 3D人體姿態辨識 Learning to Fuse 2D and 3D Image Cues for Monocular Body Pose Estimation

這周要跟大家介紹的3維人體動作模型原始論文連結如下:

這周介紹的論文與上周介紹的論文是屬於同一團隊在前後年所發表的文章, 前一篇介紹連結如下:

可以發現這兩篇在大架構上有相似的部分, 但是針對模型實作的細節有更進一步的優化, 而模型預測的結果如圖1

圖1 模型在Human3.6m, HumanEva與KTH Multiview Football下預測結果, (a, e)為原始圖檔, (b, f)為預測2維座標高斯分布, (c, g)為預測結果, (d, h)為真值

模型架構如圖2, 與前一篇的架構類似, 一樣分為兩路, 上路負責2維座標點的特徵擷取, 下路則是負責影像特徵的擷取, 主要差異在於2維座標預測所採用的骨幹網路不同, 以及上下兩路經模型擷取的特徵如何進行融合的方法也不同.

圖2 模型架構

前一篇所使用的2維關鍵點預測為U-Net, 本篇論文所採用的則是Stacked Hourglass架構, Hourglass架構是很常見的backbone網路, 藉由堆疊多層類似沙漏的架構, 優化2維關鍵點的位置, 作者也提到經他們觀察, 更精準的2維座標有助於最後3維關鍵點的推論. 關於Stacked Hourglass的說明可以參考我先前的介紹:

而將2維關鍵點的特徵與影像特徵的結合也如前面論文所述的分為幾種做法, 如圖3所示, 分別為在一開始就把影像與2維關鍵點的heatmap結合的Early fusion (圖3(a)), 放在最後一層才結合的Late fusion(圖3(c)), 或是在之間任一層結合的圖3(b).

圖3 2維關鍵點Heatmap與影像特徵接合方式

要描述上述幾種結合方式, 可以用下列這個式子來表示, 式子中l代表模型中某一層的feature, 而整個模型共有L層. Il代表第l層的影像特徵, Xl代表第l層的2維關鍵點特徵, Zl則是第l層的fusion stream. concat(Il, Xl)代表將第l層的影像特徵與關鍵點特徵做concatenation. wl的數值在0~1之間, 代表第l層融合的權重, wl的選擇會決定Zl與concat(Il, Xl)的比重.I0就是輸入影像, 大小為3*H*W, X0為透過模型所得到的J個2維關鍵點的heatmap, 大小為J*H*W, J會依據使用的資料集不同而有不同數值.

Z0定義如下, 為I0與X0的concatenation

ZL+1就是我們所要的最終3維關鍵點的輸出, 定義如下

l為我們要進行融合的層數, 藉由調整l值, 我們可以決定要在哪一層對影像的特徵與2維關鍵點的特徵進行融合, 當w為1也就是Early fusion, 作者定義了β用以決定在哪一層進行融合如下:

如圖3(b)所示, 就是在β=4的時候將兩邊特徵進行融合, 為了要讓wl可以透過網路學習在哪一個l層進行轉換, 作者將wl定義如下:

β如前所述代表從哪一層開始進行融合, α則代表要多快的將wl從0轉換到1, 如圖4所示, 每個小區塊下面的數字則代表feature map的深度, 高度與寬度:

圖4 模型融合過程

圖4中第一列就是影像特徵的擷取, Il, 第2列則是2維關鍵點的Heatmap特徵擷取, Xl, 第3列則是融合的特徵擷取, Zl, 最下面則代表wl, wl由哪一層開始融合, 以及融合的速度則由β與α決定, 最終的3為關鍵點輸出為ZL+1, 而整個融合網路作者定義為f如下:

而Loss function定義如下, 就是fusion網路輸出的3維關鍵點與ground truth yn的L2 loss, 並加入了α的regularization, α的初始直設為0.1, β初始值則是選擇中間的層數, regularization的參數λ則為5×10³.

本篇模型使用的資料集有Human3.6m, HumanEva-I, KTH Multiview Football II與LSP, 其中Human3.6m有17個關鍵點, HumanEva為15個, KTH為14個, LSP則是14個關鍵點的2D資料. 同樣作者也比較了不同fuse的方式造成最後結果的差異如表1, 使用可以訓練的w所用的fusion得到最佳的效果.

表1 Human3.6m資料集下不同融合策略得到的3D關鍵點誤差(mm)

另外作者也比較了不同動作下β, α以及w隨著訓練變化的情形如圖5. 圖5(a)列出β與α隨訓練次數增加而變化的情形, 圖5(b)則是w的變化情形. 從圖中可以看到fusion隨著訓練次數的增加, fusion層數逐步往後移, 以及轉換的斜率更陡峭的情形(與α值相關), 作者認為這是因為後面層數學到的特徵更豐富, 彼此之間更沒有關聯, 因此網路經學習後會把fusion的層數逐步往後移, 作者並在原始論文中列出了最後一層各個參數之間的關聯度.

圖5 在Human3.6m資料集下β, α以及w隨訓練次數變化情形

同時作者也比較了是否使用regularization對最後結果的影響如表2, 可以看到regularization加快了融合的速度, 也有較好的精確度.

表2 比較regularization對最後結果的影響

最後列出在Human3.6m資料集下與其他模型的比較結果如表3所式.

表3 Human3.6m資料集下與其他模型比較結果