1. 程式人生 > >六種人體姿態估計的深度學習模型和程式碼總結(轉載)

六種人體姿態估計的深度學習模型和程式碼總結(轉載)

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

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

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

1.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

2.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/

3.Realtime Multi-Person Pose Estimation

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

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

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

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

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

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

4.AlphaPose

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

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

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

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

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

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

5.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

6.DeepPose

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

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

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

DeepPose是第一個將深度學習應用到人類姿態估計上的應用,並且取得了當時頂尖的結果,成為了其他方法的baseline。

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

小結

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

原文地址:modelzoo.co/blog/deep-learning-models-and-code-for-pose-estimation

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