yunusstalha / multi-object-tracking

Implementation of Multi Object (Target) Tracking Pipeline in Python. JPDAF-GNN.
5 stars 0 forks source link

Demos not working #1

Open ghost opened 3 weeks ago

ghost commented 3 weeks ago

Hi, I saw the README demonstrating the JPDA and GNN multi object trackers and I was interested to try these but it appears that none of the demos are working out of the box.

In the case of the jpda_tracker.py file I get the error measurement_update() missing 1 required positional argument: 'time' in for i in range(len(candidate_tracks)): (part of def main(measurements).

Thanks,

yunusstalha commented 3 weeks ago

I was not maintaining this repo for a while. Give me 7-10 days to add my recent updates with some examples.

ghost commented 3 weeks ago

Amazing - thanks for that

ghost commented 3 weeks ago

Also curious, have you determined how scalable JPDA or (or your implementation of JPDA is?) i.e. how many tracks can it process simultaneously?

yunusstalha commented 2 weeks ago

I did not work on extensive testing, but my laptop (with average processing power) could handle up to 10-12 measurements with 3-4 tracks. This implementation is more optimized than the brute force search, but again, JPDA is quite a costly algorithm that depends on both the number of measurements at time t and the number of tracks. If you check the paper I attached (written by Bar-Shalom itself), you will see that JPDAF is not a scalable approach. Parallelization of the classical approach could work faster, especially if you are using GPU. I also struggled a lot while working on JPDAF; if I had time, I would try implementing this with CUDA.

https://www.onera.fr/sites/default/files/297/OnJPDAComplexity-TechnicalNote2021-04-21.pdf

ghost commented 2 weeks ago

I did not work on extensive testing, but my laptop (with average processing power) could handle up to 10-12 measurements with 3-4 tracks. This implementation is more optimized than the brute force search, but again, JPDA is quite a costly algorithm that depends on both the number of measurements at time t and the number of tracks. If you check the paper I attached (written by Bar-Shalom itself), you will see that JPDAF is not a scalable approach. Parallelization of the classical approach could work faster, especially if you are using GPU. I also struggled a lot while working on JPDAF; if I had time, I would try implementing this with CUDA.

https://www.onera.fr/sites/default/files/297/OnJPDAComplexity-TechnicalNote2021-04-21.pdf

Thanks, that makes sense, on the contrary how many tracks do you think your approach to the GNN algorithm could handle? It seems like in your example the GNN approach deals well with clutter.