MVIG-SJTU / AlphaPose

Real-Time and Accurate Full-Body Multi-Person Pose Estimation&Tracking System
http://mvig.org/research/alphapose.html
Other
7.92k stars 1.97k forks source link

Slow on GPU #303

Closed commilfo closed 5 years ago

commilfo commented 5 years ago

AlphaPose is called "real-time system".

I use Google Cloud Compute Engine machine: 2x CPU, 13Gb memory, 1x NVIDIA Tesla K80 12Gb, on Linux. A video 1024x576, 18 seconds @ 30 fps with up to 40 people takes AlphaPose about 73 mins in total to process (generate alpha-pose-results.json): ./run.sh --video input/8.mp4 --outdir output/8_mp4

21:47:29

183/183 [05:01<00:00, 1.53s/it] pose estimation with RMPE MPII 10/14940 ETA: 1h10m | step 267ms

23:00:26

It loads CPU up to 80% and GPU up to 89% (though sometimes it's down to 24-50%) That is, 18 seconds video takes 73 mins (4380 secs) with AlphaPose. Real-time?

There's another library for human body detection, OpenPose, and it is mentioned here in AlphaPose readme as a slower solution. OpenPose does the same task with about 1sec-1sec speed with similar pose finding quality, 18sec video takes around 24sec. Real-time.

18s - 4380s (AP) 18s - 24s (OP)

Can you comment on this? Why is there such a drastic difference? Is there an issue with my configuration\run parameters, else?

Fang-Haoshu commented 5 years ago

Hi, this is because you are using the master branch. The fast one is the pytorch branch. For the speed comparison, openpose made an evaluation here:

https://github.com/CMU-Perceptual-Computing-Lab/openpose/raw/master/doc/media/openpose_vs_competition.png