六種人體姿態估計的深度學習模型和代碼總結

姿態估計的目標是在RGB圖像或視頻中描繪出人體的形狀,這是一種多方面任務,其中包含了目標檢測、姿態估計、分割等等。有些需要在非水平表面進行定位的應用可能也會用到姿態估計,例如圖形、增強現實或者人機交互。姿態估計同樣包含許多基於3D物體的辨認。

在這篇文章中,Model Zoo的作者彙總了幾種開源的深度學習模型以及針對姿態估計的代碼,論智對其進行了編譯,如有遺漏請在評論中補充。

DensePose

創作這篇文章的初衷就來源於Facebook研究所的DensePose,上週,Facebook公佈了這一框架的代碼、模型和數據集,同時發佈了DensePose-COCO,這是一個爲了估計人類姿態的大型真實數據集,其中包括了對5萬張COCO圖像手動標註的由圖像到表面的對應。這對深度學習研究者來說是非常詳細的資源,它對姿態估計、身體部位分割等任務提供了良好的數據源。

DensePose的論文中提出了DensePose-RCNN,這是Mask-RCNN的一種變體,可以以每秒多幀的速度在每個人體區域內密集地迴歸特定部位的UV座標。它基於一種能將圖像像素通過卷積網絡映射到密集網格的系統——DenseReg。模型的目標是決定每個像素在表面的位置以及它所在部分相對應的2D參數。

DensePose借用了Mask-RCNN的架構,同時帶有Feature Pyramid Network(FPN)的特徵,以及ROI-Align池化。除此之外,他們在ROI池化的頂層搭建了一個全卷積網絡。想了解DensePose更多的技術細節,請閱讀原論文。

論文地址:arxiv.org/abs/1802.00434

GitHub地址:github.com/facebookresearch/Densepose

數據集地址:github.com/facebookresearch/DensePose/blob/master/INSTALL.md#fetch-densepose-data

OpenPose

OpenPose是由卡內基梅隆大學認知計算研究室提出的一種對多人身體、面部和手部形態進行實時估計的框架。

OpenPose同時提供2D和3D的多人關鍵點檢測,同時還有針對估計具體區域參數的校準工具箱。OpenPose可接受的輸入有很多種,可以是圖片、視頻、網絡攝像頭等。同樣,它的輸出也是多種多樣,可以是PNG、JPG、AVI,也可以是JSON、XML和YML。輸入和輸出的參數同樣可以針對不同需要進行調整。

OpenPose提供C++API,以及可以在CPU和GPU上工作(包括可與AMD顯卡兼容的版本)。

GitHub地址:github.com/CMU-Perceptual-Computing-Lab/openpose

數據集地址:domedb.perception.cs.cmu.edu/

Realtime Multi-Person Pose Estimation

這一模型和上面的OpenPose高度相關,同時特徵模型能與多種框架相關聯。論文的作者提供了一種自下而上的方法,對多人的姿態進行實時估計,不需要用任何人物探測器。

這種方法運用了一種非參數表示,我們稱爲Part Affinity Fields(PAFs),用它可以學習將圖中人物和其身體部位聯繫到一起。有關該技術的具體細節和理論,可以閱讀原文。

另外,這一方法最棒的特徵之一就是它可以在多種不同的框架中實現,針對不同框架,已經公開了相關代碼和模型:

OpenPose C++:github.com/CMU-Perceptual-Computing-Lab/openpose
TensorFlow:github.com/ZheC/Realtime_Multi-Person_Pose_Estimation
Keras(1):modelzoo.co/model/keras-realtime-multi-person-pose-estimation
Keras(2):github.com/michalfaber/keras_Realtime_Multi-Person_Pose_Estimation
PyTorch(1):github.com/tensorboy/pytorch_Realtime_Multi-Person_Pose_Estimation
PyTorch(2):github.com/DavexPro/pytorch-pose-estimation
PyTorch(3):github.com/MVIG-SJTU/AlphaPose/tree/pytorch
MXNet:github.com/dragonfly90/mxnet_Realtime_Multi-Person_Pose_Estimation
論文地址:arxiv.org/abs/1611.08050

GitHub地址:github.com/ZheC/Realtime_Multi-Person_Pose_Estimation

AlphaPose

AlphaPose是一款精準的多人姿態評估工具,並聲稱是第一款開源系統。AlphaPose既可以在圖片、視頻或多圖中進行姿態估計,也能在畫面中對動作進行追蹤。它的輸出形式非常廣泛,包括PNG、JPG和AVI等具有關鍵點的圖片形式,也有JSON格式的輸出,這一特點也使其成爲衆多應用受歡迎的工具。

目前,這一工具支持TensorFlow和PyTorch兩種實現。AlphaPose利用一種區域性的多人動作估計框架將不精準的人類邊界框該進程精確的動作估計。這裏有三種元素:對稱空間轉換網絡(SSTN)、參數化姿態非極大抑制(NMS)以及姿態導向的生成器(PGPG)。更多技術細節請查看原論文。

論文地址:arxiv.org/abs/1612.00137

GitHub地址:github.com/MVIG-SJTU/AlphaPose

Human Body Pose Estimation

該模型利用MPII人類姿勢數據集進行訓練,這是一個內容十分豐富的數據集,專門針對人類姿態估計。目前只有TensorFlow的實現。

這項研究將人類姿態估計的任務應用到真實的圖片中,他們的方法既解決了動作識別,也能進行估計,與之前先檢測人類動作在對此進行推測的技術有所區分。在實施過程中用到了基於CNN的探測器和整數線性規劃法。

ArtTracker論文:arxiv.org/abs/1612.01465

DeeperCut論文:arxiv.org/abs/1605.03170

網站地址:pose.mpi-inf.mpg.de/

GitHub地址:github.com/eldar/pose-tensorflow

DeepPose

相比於前面幾種方法來說,DeepPose算是比較“古老”的了,論文發佈與2014年,提出了一種基於深度神經網絡的姿態估計方法,是基於DNN向身體關節迴歸的問題。它以一種整體的方式估計姿態,並且表述起來非常簡潔強大。

目前網上還沒有官方實現過程。但是有人做出了復現結果:

Chainer:github.com/mitmul/deeppose
TensorFlow:github.com/asanakoy/deeppose_tf
DeepPose是第一個將深度學習應用到人類姿態估計上的應用,並且取得了當時頂尖的結果,成爲了其他方法的baseline。

論文地址:static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/42237.pdf

小結
姿態估計是計算機視覺領域一個非常熱門的話題,Facebook最近發佈的DensePose讓人越來越多地關注這個問題。進行姿態估計有很多方法,現有的資源一定可以對你有所啓發。如果你有其他的好方法,請在下面留言分享!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章