bmartacho / UniPose

We propose UniPose, a unified framework for human pose estimation, based on our “Waterfall” Atrous Spatial Pooling architecture, that achieves state-of-art-results on several pose estimation metrics. Current pose estimation methods utilizing standard CNN architectures heavily rely on statistical postprocessing or predefined anchor poses for joint localization. UniPose incorporates contextual seg- mentation and joint localization to estimate the human pose in a single stage, with high accuracy, without relying on statistical postprocessing methods. The Waterfall module in UniPose leverages the efficiency of progressive filter- ing in the cascade architecture, while maintaining multi- scale fields-of-view comparable to spatial pyramid config- urations. Additionally, our method is extended to UniPose- LSTM for multi-frame processing and achieves state-of-the- art results for temporal pose estimation in Video. Our re- sults on multiple datasets demonstrate that UniPose, with a ResNet backbone and Waterfall module, is a robust and efficient architecture for pose estimation obtaining state-of- the-art results in single person pose detection for both sin- gle images and videos.
Other
211 stars 44 forks source link

About evaluation of PCKh in evaluate.py #32

Open yeongjoon opened 3 years ago

yeongjoon commented 3 years ago

Hi, I used your code to train the UniPose model.

However, In the part of calculating the PCKh in your evaluation code, I was a little confused.

In line 70 in evaluate.py,

image

I think you declared the "norm" variable to use the distance.

Actually, in calc_dists function in line 5, you use the "norm" variable to normalize the distance from prediction to target.

image

Here I have 2 questions.

FIrst, when normalizing the distance, I don't understand the reason you divided the norm with 10. As far as I know, I think the "np.ones((pred.shape[0], 2)) * np.array([h,w])" should be the norm.

Second, when calculating the PCKh starting from line 91.

image

When you are defining the headLength variable, which is used as a standard when calculating PCKh, I think you are calculating the head length of the object using original target points(which is not normalized).

I think this leads to comparing the normalized distance between the target and the prediction with the original distance(not normalized).

Thank you.