dstl / Stone-Soup

A software project to provide the target tracking community with a framework for the development and testing of tracking algorithms.
https://stonesoup.rtfd.io
MIT License
385 stars 127 forks source link

MultiTargetMixtureTracker handling of unassociated detections #800

Closed sglvladi closed 1 year ago

sglvladi commented 1 year ago

It has come to my attention that the way the MultiTargetMixtureTracker handles unassociated detections may not be optimal. More specifically, I am referring to lines 195-218.

The current approach assumes that if any hypothesis has a weight less than the null hypothesis, then its detection should be considered unassociated, which is not necessarily true. It is possible that the weight of a hypothesis may be less that the null hypothesis, yet the detection may still be in the gate of the track.

From a performance point of view, the repetitive check performed on line 217 can be very costly for a high volume of detections.

Continuing, lines 207-209, use the computed mixture from all detections (even those considered unassociated) to form a Prediction object, which is not really a prediction.

I am conscious that this logic was implemented at a time prior to the introduction of the Gater classes and/or the internal gating in the ProbabilityHypothesiser, and was required to initiate any new tracks. However, this is no longer the case.

Having said the above, it would seem sensible to remove this "out-dated" logic from the MultiTargetMixtureTracker. Do people agree/object to this?