Open hardik0 opened 3 years ago
The tracker itself seems to work fine. The problem occurs due to accumaltion of tracks, the more objects we have to track, the more it slows down. You should try to reduce track_clear_thresh
in configs/person.py. Right now it is set to 3000, so old tracks are not cleared and get accumulated. Try to set it to 300 or less, then atleast demo shouldn't slow down so much.
Also encountering this phenomenon and have been searching for answers. In my case I need to set the track_clear_thresh to even higher (9000) in order to reid people who entered the scene over an hour or two ago. Is there a solution for this? Another model rather than the person-reidentification-retail-0277 or person-reidentification-retail-0288? Setting Reid only for a selected (entrance camera) rather than all cameras? Would an NCS2 stick solve this issue? Or if reid didnt have to happen in real time to "reprocess" after hours?
Any suggestions?
@duggydoo the problem is not in performance of reidentification model. The reid model just return numeric descriptor for object, which tracker then have to compare against all previously accumulated descriptors to decide if this is the same object or new one. So, more object's descriptors you keep in history - longer processing of each subsequent frame.
Understood, thank you. So limiting to 300 seconds for example would decrease Reid for people leaving after 300 seconds. That is, if someone walked in got a Reid ID, then left 10 minutes later they would never receive the same Reid number as they are outside of the 300 seconds threshold. And there is no solution (hardware/software/NCS2 stick) that would solve for this?
@duggydoo tracking for big amount of objects is compute heavy task. You should be easily able to track few objects for hours, but if the goal is to identify each object among thousands which has been seen by camera, you better look for targeted optimized application rather then simple demo which just show how to use OpenVINO for inference in tasks similar to tracking.
Hey @sovrasov,
I am running the demo: https://github.com/openvinotoolkit/open_model_zoo/tree/master/demos/multi_camera_multi_target_tracking_demo/python
I have run this on a core i5 with Nvidia GPU and 8 Gigs Ram as well as on a core i9 with 16 Gigs Ram with the time_window set to 1 in the configs/person.pyfile to ensure REID.
The system works great but slows to an absolute crawl within 5 minutes, like 1 frame per 10 seconds at best. The GPU/CPU and memory are not exploited, they are not effected or at a maximum (under 60% utilization) but still the system crawls.
Initially it starts off with 20 or 30 (or more) frames a second but then just bottoms out.
Utilizing the : FP16-INT8\person-reidentification-retail-0277 (for reidentification)
and
FP16-INT8\person-detection-retail-0013.xml (for detection)
Have tried both FP16 and FP32.
When the config is set to time_window=10 then it flies but reidentification is at 10% or 20% accuracy at best, most people are not reidentified, when set to 1 second, all are identified but system crawls to a grinding halt.
Any help would be appreciated.
Thanks