BlazePose: On-device Real-time Body Pose tracking
一. 論文簡介
主要做的貢獻如下(可能之前有人已提出):
這里不說跟蹤,僅關注關鍵點估計部分
- 通過關鍵點檢測到人手大概位置,在做手回歸,最后再做估計
- 通過heatmap輔助訓練回歸關鍵點
注意:Holistic mode 是這篇論文的一個整體應用,其中跟蹤部分可以使用任何跟蹤方法,注意創新點是關鍵點估計

二. 模塊詳解
2.1 heatmap和直接回歸同時使用

論文使用的網絡很清晰明了,類似hourglas結構
- heatmap+offset
這部分是谷歌在2017年的論文:Towards Accurate Multi-person Pose Estimation in the Wild,使用了自家的方法,但是從現在的論文和開源代碼來看,offset使用率基本沒有。所以大家復現此論文都是直接使使用heatmap來替代heatmap+offset
- 關於梯度傳播問題
這部分真是一個創新點,虛線部分只進行前向傳播,實線部分進行前向+反向。tensorflow的實現:tensorflow1、tensorflow2,pytorch的實現如何?
其實實現很容易,就是直接把輸入當做是一個值(requires_grad=False)即可,但是你得考慮不再下一層傳播,但是在當前層傳播。
# 這里給出筆者想法,未實際使用
# 方法一:
#直接創建一個新的值
input_public = Tensor([2,64,64,32])#公用的數據
data_forward = deepcopy(input_public)
data_forward.require_grad = False # 就是復制一份,然后將梯度去除即可
# 方法二:
#直接使用分離值
input_public = Tensor([2,64,64,32])#公用的數據
data_forward = input_public.detach()#直接將數據分離出來
- 關於網絡復現
完全按照論文去復現基本不可能,因為網絡小模塊未給出,skip-gate也未給出。這是是查看google-media 給出的模型進行構建。其實按照這種思路,直接使用shufflenet、mobilenet進行構建也完全可以,但是得有時間嘗試模型的優劣。
2.4 總結
- 挺好的一篇工業級論文,數據未開源、代碼未開源,復現很難