Stone-Soup icon indicating copy to clipboard operation
Stone-Soup copied to clipboard

CLEAR MOT Associator

Open kopytjuk opened this issue 1 year ago • 4 comments

Implements the Classification of Events, Activities, and Relationships (CLEAR) Multi-Object Tracking (MOT) association scheme. This assigns a single track trajectory to a single GT trajectory.

image

Image from [1]

In one of the next PRs I would like to implement MOTP and MOTA metrics.

[1] Bernardin, K., Stiefelhagen, R. Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics. J Image Video Proc 2008, 246309 (2008). https://doi.org/10.1155/2008/246309

kopytjuk avatar May 16 '24 16:05 kopytjuk

Hey @kopytjuk Thanks for the PR. I think this would be a great addition 👍

sdhiscocks avatar May 21 '24 10:05 sdhiscocks

Hey @kopytjuk Thanks for the PR. I think this would be a great addition 👍

Hey @sdhiscocks, thanks for the reply - the PR is ready for review!

kopytjuk avatar May 27 '24 17:05 kopytjuk

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.65%. Comparing base (ab6af2b) to head (d7ab2c1). Report is 137 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1017      +/-   ##
==========================================
+ Coverage   93.60%   93.65%   +0.05%     
==========================================
  Files         202      203       +1     
  Lines       12990    13104     +114     
  Branches     2651     2674      +23     
==========================================
+ Hits        12159    12273     +114     
  Misses        588      588              
  Partials      243      243              
Flag Coverage Δ
integration 65.91% <27.04%> (-0.37%) :arrow_down:
unittests 89.30% <99.18%> (+0.08%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar May 27 '24 17:05 codecov[bot]

Hey @sdhiscocks, thanks for your suggestion - I added that - it makes the code definitely more clear and more performant as well!

I changed parts of the code and tried to hide implementation details within private methods. I think the code is ready to review now. Building up on the associations, I would like to implement the MOTA & MOTP metrics in my next PR :)

kopytjuk avatar Jul 01 '24 18:07 kopytjuk

Thanks again for the contribution.

Just noted one minor change required to include new module in docs:

diff --git a/docs/source/stonesoup.dataassociator.rst b/docs/source/stonesoup.dataassociator.rst
index dd9d52be..6e2d0034 100644
--- a/docs/source/stonesoup.dataassociator.rst
+++ b/docs/source/stonesoup.dataassociator.rst
@@ -31,6 +31,12 @@ Track-to-track Association
 .. automodule:: stonesoup.dataassociator.tracktotrack
     :show-inheritance:
 
+CLEAR MOT Association
+---------------------
+
+.. automodule:: stonesoup.dataassociator.clearmot
+    :show-inheritance:
+
 Trees
 --------------------------
 

sdhiscocks avatar Jul 17 '24 13:07 sdhiscocks