HOPE-Net: A Graph-based Model for Hand-Object Pose Estimation解讀
一、文章來源
- CVPR 2020
- Indiana University Bloomington & University of Washington,
- Bardia Doosti, Shujon Naha等
- code: http://vision.sice.indiana.edu/projects/hopenet
二、簡介
本文提出一種輕量級的網絡,可實時的用於手-物品的姿態估計。文中,作者使用了兩個級聯的自適應圖卷積神經網絡(GCN)用於建模,第一個GCN用於二維空間下的姿態估計,後一個用來估計三維座標下的姿態。本文在速度和精度上都取得了不錯的效果。
三、 實驗動機
- 爲什麼聯合檢測手和物品呢?
我們在手拿東西的時候,手的姿勢和物品的形狀是息息相關的,檢測手的姿勢可以提供關於物體的姿勢和身份的線索,而物體的姿勢可以約束握住它的手的姿勢。因此,兩者是不可分離的。 - 先進行2D估計再進行3D估計的原因?
基於檢測的模型在檢測2D手關鍵點方面表現更好,但在3D中,由於高度的非線性和巨大的輸出空間,基於迴歸的模型更爲流行
四、 Contributions
- 提出輕量級的可實時的檢測人手和物品的網絡——HOPENet,只需輸入RGB即可準確地估計
- 提出Adaptive Graph U-Net,包括graph convolution, pooling and unpooling 層
- 取得state of the art
五、 網絡結構
解讀:
- 首先對數據進行預處理,生成.npy格式的數據
- 然後用ResNet10(或者ResNet50)提取特徵,Figure 2中的“2D Keypoints Predictor”是對提取的特徵後接全連接層進行預測,下面一路特徵不做任何處理
- 再將上下兩路特徵cat在一起送入第一個GCN,來預測2D下的手和物品的姿勢
- 最後將第一個GCN的輸出作爲Adaptive Graph U-Net的輸入來預測3D姿態
- 文中共計3個loss函數,將其相加最爲總的loss
六、 各模塊分析
- Image Encoder and Graph Convolution
本文使用了輕量級的殘差網絡ResNet10用於特徵的提取,輸入的圖像經過特徵提取器後得到2048維的特徵向量,然後使用一個全連接層來初步的預測2D下的關鍵點座標,然後將2048維的特徵向量與經過全連接層預測的兩個x, y座標(2維)拼接起來,構成2050維的向量,送到GCN中學習節點之間的關係,此處的GCN主要是要來修改更新節點的座標 - Adaptive Graph U-Net
該模塊主要包括graph convolution、pooling和unpooling。對於輸入的2D座標,來估計3D座標的位置,Figure 3中的pooling表示將節點減少將近一半,unpooling表示將節點增加將近一倍,紅色箭頭表示特徵沒有通過pooling和unpooling操作,紅色箭頭與黑色箭頭匯合表示cat操作。
七、 實驗結果
- Figure 5表示2D預測的精度,說明GCN的有效性;
- Figure 6表示3D預測的精度,說明在GCN的基礎之上,加上Adaptive Graph U-Net可以提升預測的精度。
八、 感想
在該論文中,作者巧妙地將GCN和U-Net結合用於姿態的估計,在速度和精度上都取得了不錯的效果。但是,在該論文中還可以加入其他attention模塊來提升性能,數據增強部分可以改進。