人體姿態估計演算法之open pose

2021-10-03 02:51:21 字數 1459 閱讀 2413

一,openpose是一種自底向上的演算法:

openpose人體姿態識別專案是美國卡耐基梅隆大學(cmu)基於卷積神經網路和監督學習並以caffe為框架開發的開源庫。可以實現人體動作、面部表情、手指運動等姿態估計。適用於單人和多人,具有極好的魯棒性。是世界上首個基於深度學習的實時多人二維姿態估計應用,基於它的實例如雨後春筍般湧現。

檢測所有的關鍵點,再group成不同的人,是當前比較流行的人體姿態評估演算法之一。

openpose 大獲成功的一部分原因是它在 github 上開源了其實現**(並配有詳細的說明文件。

和很多自底向上的方法一樣,openpose 首先檢測出影象中所有人的關節(關鍵點),然後將檢出的關鍵點分配給每個對應的人。下圖展示了 openpose 模型的架構。

二,openpose演算法:

1.輸入一幅影象,經過vgg19卷積網路提取特徵,得到一組特徵圖,然後分成兩個岔路branch1&2,分別使用 cnn網路提取part confidence maps(置信度) 和 part affinity fields(關聯度);

2.得到這兩個資訊後,我們使用圖論中的 bipartite matching(偶匹配) 求出part association,將同乙個人的關節點連線起來,由於paf自身的向量性,使得生成的偶匹配很正確,最終合併為乙個人的整體骨架;

3.最後基於pafs求multi-person parsing—>把multi-person parsing問題轉換成graphs問題—>hungarian algorithm(匈牙利演算法)(匈牙利演算法是部圖匹配最常見的演算法,該演算法的核心就是尋找增廣路徑,它是一種用增廣路徑求二分圖最大匹配的演算法。)

三,關鍵點熱圖與向量圖(heatmap&vectmap):

如,一共有19個關鍵點,就會生成19個通道的熱圖,每乙個通道為某個關節的熱圖分布(也就是概率圖)。同時會生成192個通道的向量圖,為什麼是192呢?因為向量圖分為兩個方向,乙個是x方向、乙個是y方向。

heatmap生成關鍵點熱力圖,未在圖內且未標註的關鍵點生成的heatmap所有值都為0。一共19個heatmap,其中最後乙個代表背景。

vectormap 向量叉乘,vectormap是heatmap的兩倍為38個(19*2),因為有19條的關鍵點連線線,每一條線使用向量表示,分別有x軸的map,以及y軸的map。

四,coco keypoints 標註 以及tf-openpose的標註的不同

人體姿態估計總述

人體姿態估計簡述 一 總述 人體姿態估計分為單人姿態估計和多人姿態估計,其中單人姿態估計的識別率達到了90 加,已經沒有很大提公升空間,近些年來比較熱門的是在coco資料集上做多人姿態估計識別率的提公升。多人姿態估計分為bottom up和top down。其中bottom up運算速度快,幾乎能做...

人體姿態估計 CPN(三)

個人解讀 模型結構 演算法效果 出處 曠世科技 face 2018cvpr tensorflow pytorch 這篇文章開發的多人姿態估計模型cpn級聯金字塔網路,是2017年coco人體關鍵點挑戰賽的冠軍,使用top down策略,那麼同樣適用於單人姿態估計,在coco測試集上取得map 73....

通道估計演算法

對通道估計的演算法也有了諸多了解,包括常見的rls lms mmse等,還有最近在研究的壓縮感知通道估計,包括貪婪演算法的mp omp sp以及凸優化演算法中的ls0 ls0 bfgs ls0 fr。總的來說,對於快衰落 通道隨時間變化比較快的,短波無線通道就是 通道通道的估計都需要用到已知序列。在...