姿態估計的兩個數據集COCO和MPII的認識


 

 

 

COCO      數據集                                                                                               

MPII數據集 Posetrack數據集
數據集格式   COCO數據集的標注格式

0 - r ankle, 1 - r knee, 2 - r hip,3 - l hip,4 - l knee, 5 - l ankle, 6 - l ankle, 7 - l ankle,8 - upper neck, 9 - head top,10 - r wrist,11 - r elbow, 12 - r shoulder, 13 - l shoulder,14 - l elbow, 15 - l wrist

 

0 - r ankle, 1 - r knee, 2 - r hip,3 - l hip,4 - l knee, 5 - l ankle, 8 - upper neck, 9 - head top,10 - r wrist,11 - r elbow, 12 - r shoulder, 13 - l shoulder,14 - l elbow, 15 - l wrist

關鍵點數量 17  16 14
是否有mask  有   
評估標准

 

 

   

state of art算法

                                                                                                                                                   

     

目前主流的pose estimation方法:

pose-track和CPM的異同點:多了一個PAFs

目前存在的問題與常用解決思路:

現階段有哪些大牛活躍在這個領域,並且目前的研究方向是什么:



 

COCO數據集keypoint標注:

 {0-nose    1-Leye    2-Reye    3-Lear    4Rear    5-Lsho    6-Rsho    7-Lelb    8-Relb    9-Lwri    10-Rwri    11-Lhip    12-Rhip    13-Lkne    14-Rkne    15-Lank    16-Rank} 

但是在 openpose 訓練時轉換成了如下順序

 {0-'nose', 1-'neck', 2-'Rsho', 3-'Relb', 4-'Rwri',5-'Lsho', 6-'Lelb', 7-'Lwri', 8-'Rhip', 9-'Rkne', 10-'Rank', 11-'Lhip', 12-'Lkne', 13-'Lank', 14-'Leye', 15-'Reye', 16-'Lear', 17-'Rear', 18-'pt19'}

其中 1-‘neck' 是openpose增加的一個,也能認為是人體中心點。。但是18-'pt19' 是背景類,最后會被剔除

%%MATLAB code
s_vec = net.forward(input_data); scores = cat(3, s_vec{2}(:,:,1:end-1), s_vec{1});

在Keypoint Annotations中,有個flag v 的定義:  v=0 :沒標記(x=y=0)  ||  v=1 : 標記了但不可見  ||  v=2 : 標記了且可見

↑參考:http://blog.csdn.net/happyhorizion/article/details/77894205



MPII數據集標注:

  { 0 - r ankle, 1 - r knee, 2 - r hip,3 - l hip,4 - l knee, 5 - l ankle, 6 - pelvis, 7 - thorax,8 - upper neck, 9 - head top,10 - r wrist,11 - r elbow, 12 - r shoulder, 13 - l shoulder,14 - l elbow, 15 - l wrist }

openpose在訓練時,剔除了6 - pelvis(盆骨), 7 - thorax(胸部)兩個點,並增加了一個 center 點,共計輸出是15個keypoint的heatmap和1個背景(要剔除)。

  對應heatmap中的順序為:{ 0-'nose', 1-'neck', 2-'Rsho', 3-'Relb', 4-'Rwri',5-'Lsho', 6-'Lelb', 7-'Lwri', 8-'Rhip', 9-'Rkne', 10-'Rank', 11-'Lhip', 12-'Lkne', 13-'Lank', 14-'center' }

 

14-'center' 這個點是由 2,3,12,13四個位置坐標取平均得到的!!!!!!!

else if(np == 43){
    //int MPI_to_ours_1[15] = {9, 8,12,11,10,13,14,15, 2, 1, 0, 3, 4, 5, 7};
    //int MPI_to_ours_2[15] = {9, 8,12,11,10,13,14,15, 2, 1, 0, 3, 4, 5, 6};
    int MPI_to_ours_1[15] = {9, 8,12,11,10,13,14,15, 2, 1, 0, 3, 4, 5, 3};
    int MPI_to_ours_2[15] = {9, 8,12,11,10,13,14,15, 2, 1, 0, 3, 4, 5, 2};
    int MPI_to_ours_3[15] = {9, 8,12,11,10,13,14,15, 2, 1, 0, 3, 4, 5, 13};
    int MPI_to_ours_4[15] = {9, 8,12,11,10,13,14,15, 2, 1, 0, 3, 4, 5, 12};
    jo.joints.resize(np);
    jo.isVisible.resize(np);

    for(int i=0;i<15;i++){
//      jo.joints[i] = (j.joints[MPI_to_ours_1[i]] + j.joints[MPI_to_ours_2[i]]) * 0.5;
      jo.joints[i] = (j.joints[MPI_to_ours_1[i]] + j.joints[MPI_to_ours_2[i]]+j.joints[MPI_to_ours_3[i]] + j.joints[MPI_to_ours_4[i]]) * 0.25;
      if(j.isVisible[MPI_to_ours_1[i]]==2 || j.isVisible[MPI_to_ours_2[i]]==2){
        jo.isVisible[i] = 2;
      }
      else {
        jo.isVisible[i] = j.isVisible[MPI_to_ours_1[i]] && j.isVisible[MPI_to_ours_2[i]];
      }
    }
  }

 

 

 



 

center map 是什么:

center map(綠色)是一個提前生成的高斯函數模板,用來把響應歸攏到圖像中心。長這樣: 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM