mks0601 / TF-SimpleHumanPose

TensorFlow implementation of "Simple Baselines for Human Pose Estimation and Tracking", ECCV 2018
335 stars 90 forks source link

gpu_nms.hpp: No such file or directory #59

Closed wmcnally closed 4 years ago

wmcnally commented 4 years ago

Thank you for this repository.

I am trying to test my model but I am running into issues with NMS. I ran the make file successfully but I am still getting the error below. The "gpu_nms.hpp" file is in the nms directory. Do you know why this might be happening?

fatal error: gpu_nms.hpp: No such file or directory

include "gpu_nms.hpp"

      ^~~~~~~~~~~~~
mks0601 commented 4 years ago

Hmm.. I've never met this problem. Could you remove the build folder and reinstall NMS again?

wmcnally commented 4 years ago

@mks0601 Thank you for your reply. The build folder is removed automatically after running make. I got the same issue after reinstalling.

Do you know the AP using ground-truth bboxes? I got 63.5 after training, which is considerably lower than your results. I thought using the detections with NMS may boost performance, but if that's not the case then I have no reason to pursue this issue any further.

mks0601 commented 4 years ago

If use groundtruth, of course better than the provided AP, but I remember there is no large gap. Anyway, 63.5 seems too low. I remember that some post-processing techniques (e.g., NMS, rescoring) are also important for good AP.

I think you have some problem related with some path thing? Maybe you can add nms directory to your system path.

wmcnally commented 4 years ago

But the AP using ground-truth bboxes should be higher than using detections + NMS + rescoring, correct?

mks0601 commented 4 years ago

Of course. Did you use the same setting as mine?

wmcnally commented 4 years ago

I re-implemented it in TF2 using Keras API and I used the same pre/post-processing code. As I said my AP was 63.5 using ground-truth so something must not be the same. I used ResNet50V2 as my backbone so I will try V1.

wmcnally commented 4 years ago

For anyone who stumbles upon this thread: my problem was that I forgot to set training=True when calling my model in my custom training loop (using TF2 and Keras API). Basically, I was training without batch norm. I was finally able to get an AP of 70.8 using the ground-truth bounding boxes. If anyone is interested in my TF2 implementation, please let me know.