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
406 stars 134 forks source link

Expected Likelihood Particle Filters #802

Open sglvladi opened 1 year ago

sglvladi commented 1 year ago

This PR adds the following Tracker classes:

The above are single/multi target implementations of the approach described in [1]. Essentially, these implement (J)PDA for particle filtering, but can also work with (G)NN data associators.

A running example can be found here.

[1] Marrs, A., Maskell, S., and Bar-Shalom, Y., “Expected likelihood for tracking in clutter with particle filters”, in Signal and Data Processing of Small Targets 2002, 2002, vol. 4728, pp. 230–239. doi:10.1117/12.478507.

A-acuto commented 1 year ago

Hey, I don't know if it is my implementation that it is not working fine or something more complex, but if I use a JPDA data associator in a simple Particle filter (so no ELPF) I get this error: ValueError: Length of weights not compatible with specified axis. A "not working" example can be found here, if in the example you switch to a distance based data associator it is working fine.

codecov[bot] commented 6 months ago

Codecov Report

Attention: Patch coverage is 94.50549% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 93.52%. Comparing base (8c8f9ee) to head (4fe0fc0).

Files Patch % Lines
stonesoup/tracker/particle.py 94.50% 2 Missing and 3 partials :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #802 +/- ## ========================================== - Coverage 93.54% 93.52% -0.03% ========================================== Files 202 203 +1 Lines 12930 13021 +91 Branches 2640 2655 +15 ========================================== + Hits 12096 12178 +82 - Misses 590 594 +4 - Partials 244 249 +5 ``` | [Flag](https://app.codecov.io/gh/dstl/Stone-Soup/pull/802/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | Coverage Δ | | |---|---|---| | [integration](https://app.codecov.io/gh/dstl/Stone-Soup/pull/802/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | `66.13% <75.82%> (+0.08%)` | :arrow_up: | | [unittests](https://app.codecov.io/gh/dstl/Stone-Soup/pull/802/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl) | `89.20% <92.30%> (-0.01%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dstl#carryforward-flags-in-the-pull-request-comment) to find out more.

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