openvinotoolkit / openvinotoolkit/open_model_zoo

Bug causes degraded performance with latest version of multi_camera_multi_target_tracking_demo

Open
#3,588 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
4.4k
Forks
1.4k
Avg merge
4d 13h
Merged PRs (30d)
4

Description

We have recently upgraded our OpenVino version from 2021.2 to 2022.2. We are running the Python demo of multi_camera_multi_target_tracking_demo installed using https://pypi.org/project/openvino-dev/ Ubuntu* 20.04 long-term support (LTS), using WSL
Our command line: python multi_camera_multi_target_tracking_demo.py -i ./Data/filename.mp4 --config ./configs/person.py -m "./intel/person-detection-retail-0013/FP32/person-detection-retail-0013.xml" --m_reid "./intel/person-reidentification-retail-0286/FP32/person-reidentification-retail-0286.xml"
We observe the following:

  1. What is most worrying is that the performance of the tracker is degraded - mostly by getting less tracks since many more tracks are merged. After investigating this issue - I found a problematic area but I haven't managed to figure it out. In the file mc_tracker in function _compute_detections_assignment_cost line 526 the cluster distance is calculated : reid_dist_clust = clusters_vec_distance(self.tracks[idx].f_clust, features[j]) I have found that this value (in the latest version) is sometimes 0.0. This I found is caused by a cluster being updated to the exact embedding of the current frame (therefore obtaining an exact 0.0 distance) but I can't figure out how the cluster can be updated in that same frame.
  2. If we run the command line we get the message:
    FATAL: exception not rethrown
    Aborted
    If we add "--history_file "./Data/filename_b.json" this message disappears.

This is really important to us since we created a solution based on this code base.
Adding our test clip:
https://user-images.githubusercontent.com/68502115/200169839-42426075-04b2-48b2-9e2e-f1bbdfb8725d.mp4
Thanks
Zvi

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Python multi_camera_multi_target_tracking_demo and inspect mc_tracker, especially _compute_detections_assignment_cost around line 526 and the clusters_vec_distance call. Reproduce the tracking degradation with the provided command and clip, then compare runs with and without --history_file. Done means explaining and correcting the merged-track behavior and the FATAL abort, with both reproductions no longer occurring.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.