LCAS / bayestracking

C++ framework for Bayesian Filter Tracking (UKF, EKF, Particles)
Other
143 stars 51 forks source link

adding data association taking labels into account #12

Open marc-hanheide opened 9 years ago

marc-hanheide commented 9 years ago

starting point is looking at https://github.com/LCAS/bayestracking/blob/master/include/bayes_tracking/multitracker.h#L254 and creating another data association alg named LABELLEDNN.

Use the AssociationMatrix amat (with M being the number of observations and N being the number of trackers) to assign costs. This is already done by the algorithm. All we need to do is set the cost to DBL_MAX when the labels do not match up. Observations observation_t already have a flag field that we can use as it's not used anywhere else to "tag" the observations. But then each "filter" filter_t also needs to keep track of the assign "tag", so that they can be matched. Maybe extend https://github.com/LCAS/bayestracking/blob/master/include/bayes_tracking/multitracker.h#L59 to facilitate this.

@pet1330 can you have a look at this?

pet1330 commented 9 years ago

Takes are taken into account when using NN, but not when using NNJPDA. I have not yet checked if the way I have achieved this is back compatible, but it shouldn't be too hard to make back compatible. (I'll test it tomorrow to check, and then do a pull request) If I get time I'll try and look into making NNJPDA work with labels as well.

marc-hanheide commented 9 years ago

I suppose NNJPDA isn't exactly easy as there is no strict 1:1 assignment as it's probabilistic. Just make sure it is backward compatible and the change set is as small as possible.

pet1330 commented 9 years ago

Yeah, my IDE auto formatted the code. I'll revert the formatting so there aren't so many changes and ensure it is back compatible :smile:

pet1330 commented 9 years ago

I've opened a pull request. See #13

pet1330 commented 7 years ago

closed by #13