MVIG-SJTU / AlphaPose

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

Stuck while estimating poses #658

Closed RSKothari closed 4 years ago

RSKothari commented 4 years ago
^CException ignored in: <module 'threading' from '/home/rakshit/miniconda3/envs/alphapose/lib/python3.6/threading.py'>
Traceback (most recent call last):
  File "/home/rakshit/miniconda3/envs/alphapose/lib/python3.6/threading.py", line 1294, in _shutdown
    t.join()
  File "/home/rakshit/miniconda3/envs/alphapose/lib/python3.6/threading.py", line 1056, in join
    self._wait_for_tstate_lock()
  File "/home/rakshit/miniconda3/envs/alphapose/lib/python3.6/threading.py", line 1072, in _wait_for_tstate_lock
    elif lock.acquire(block, timeout):
KeyboardInterrupt

This happens quite often for a few videos. There is no set mechanism to determine when this will happen, it just happens, despite using the --sp flag (which ideally should shut off multi-threading).

Fang-Haoshu commented 4 years ago

Hi, does it still occurs in the latest master branch? I recently updated the code to fix potential problems. --sp enables multi-threading in fact, and without --sp it uses multi processing.

RSKothari commented 4 years ago

I pulled your latest branch yesterday morning. With and without --sp makes no difference to the behaviour. The process still gets stuck because it expects a thread to finish. Perhaps the number of thread is too high? What would be handy is if you gaze a no thread, no multiprocessing option. I understand this would make everything slower but reliable. That is, I could leave the process on for a few days and not keep checking if it worked or not.

Fang-Haoshu commented 4 years ago

Good idea, I will work on that. BTW, how long is your video? And would it be possible to share some similar vids? I hope to reproduce this error and fix it in the future.

RSKothari commented 4 years ago

While I cannot share the data I'm working with due to NDA, I could point you to an example video repository which is publicly available. This repo comes from the work, and credits, if any, should be given to them.

RSKothari commented 4 years ago

@Fang-Haoshu Could you explicitly state the difference between category_id and idx keys? I've enabled tracking.

While I'm certain idx corresponds to person identity, it would be good to see it stated officially. Does AlphaPose enable re identification? Does it assign a new integer to the same person if the track breaks?

Fang-Haoshu commented 4 years ago

Hi, category_id just means human and is always 1. idx is the tracking id for each human.

We use human-reid as the tracking module now. Although the performance is already the state-of-the-art on PoseTrack dataset, it would still fail sometimes. Thus, it will assign a new id if the tracks breaks