人体姿态估计算法之open pose
一,openpose是一種自底向上的算法:
? ? ? ? OpenPose人體姿態(tài)識別項目是美國卡耐基梅隆大學(CMU)基于卷積神經(jīng)網(wǎng)絡(luò)和監(jiān)督學習并以Caffe為框架開發(fā)的開源庫。可以實現(xiàn)人體動作、面部表情、手指運動等姿態(tài)估計。適用于單人和多人,具有極好的魯棒性。是世界上首個基于深度學習的實時多人二維姿態(tài)估計應用,基于它的實例如雨后春筍般涌現(xiàn)。
? ? ? ? 檢測所有的關(guān)鍵點,再group成不同的人,是當前比較流行的人體姿態(tài)評估算法之一。OpenPose 大獲成功的一部分原因是它在 GitHub 上開源了其實現(xiàn)代碼
(https://github.com/CMU-Perceptual-Computing-Lab/openpose),并配有詳細的說明文檔。
和很多自底向上的方法一樣,OpenPose 首先檢測出圖像中所有人的關(guān)節(jié)(關(guān)鍵點),然后將檢出的關(guān)鍵點分配給每個對應的人。下圖展示了 OpenPose 模型的架構(gòu)。
?
二,openpose算法:
1.輸入一幅圖像,經(jīng)過VGG19卷積網(wǎng)絡(luò)提取特征,得到一組特征圖,然后分成兩個岔路Branch1&2,分別使用 CNN網(wǎng)絡(luò)提取Part Confidence Maps(置信度) 和 Part Affinity Fields(關(guān)聯(lián)度);
2.得到這兩個信息后,我們使用圖論中的 Bipartite Matching(偶匹配) 求出Part Association,將同一個人的關(guān)節(jié)點連接起來,由于PAF自身的矢量性,使得生成的偶匹配很正確,最終合并為一個人的整體骨架;
3.最后基于PAFs求Multi-Person Parsing—>把Multi-person parsing問題轉(zhuǎn)換成graphs問題—>Hungarian Algorithm(匈牙利算法)(匈牙利算法是部圖匹配最常見的算法,該算法的核心就是尋找增廣路徑,它是一種用增廣路徑求二分圖最大匹配的算法。)
三,關(guān)鍵點熱圖與矢量圖(heatmap&vectmap):
如,一共有19個關(guān)鍵點,就會生成19個通道的熱圖,每一個通道為某個關(guān)節(jié)的熱圖分布(也就是概率圖)。同時會生成192個通道的矢量圖,為什么是192呢?因為矢量圖分為兩個方向,一個是X方向、一個是Y方向。
heatmap生成關(guān)鍵點熱力圖,未在圖內(nèi)且未標注的關(guān)鍵點生成的heatmap所有值都為0。一共19個heatmap,其中最后一個代表背景。
vectormap 向量叉乘,vectormap是heatmap的兩倍為38個(19*2),因為有19條的關(guān)鍵點連接線,每一條線使用向量表示,分別有x軸的map,以及y軸的map。
四,coco keypoints 標注 以及tf-openpose的標注的不同
總結(jié)
以上是生活随笔為你收集整理的人体姿态估计算法之open pose的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubantu分区知识
- 下一篇: Microsoft Hololens开发