Assignment Algorithms ===================== This example demonstrates various assignment algorithms for data association. .. raw:: html
Overview -------- Assignment algorithms solve the measurement-to-track association problem: - **2D Assignment**: One-to-one matching (Hungarian, Auction) - **Multi-dimensional**: S-D assignment for multi-sensor fusion - **K-best**: Finding multiple good assignments (Murty's algorithm) Algorithms ---------- **Hungarian Algorithm (Kuhn-Munkres)** - Optimal O(n³) solution for 2D assignment - Guaranteed minimum cost assignment **Auction Algorithm** - Bertsekas' auction-based approach - Good for sparse cost matrices .. raw:: html
**Assignment in Action**: The result of optimal assignment showing tracks correctly associated with measurements over time. **Global Nearest Neighbor (GNN)** - Fast suboptimal assignment - Uses gating for efficiency **JPDA** - Joint Probabilistic Data Association - Maintains association probabilities **Murty's K-best** - Finds k best assignments - Used in MHT hypothesis management .. raw:: html
**Multi-Sensor Fusion**: S-D assignment extends 2D methods to fuse measurements from multiple sensors. Key Concepts ------------ - **Cost matrix**: Negative log-likelihood of associations - **Gating**: Statistical test to reduce candidates - **Dummy assignments**: Handling missed detections and clutter Code Highlights --------------- The example demonstrates: - Constructing cost matrices from track-measurement distances - Using ``hungarian()`` for optimal assignment - ``auction_algorithm()`` for iterative bidding - ``murty_kbest()`` for ranked assignments - ``jpda()`` for association probabilities Source Code ----------- .. literalinclude:: ../../../examples/assignment_algorithms.py :language: python :linenos: Running the Example ------------------- .. code-block:: bash python examples/assignment_algorithms.py See Also -------- - :doc:`multi_target_tracking` - Using assignment in MTT - :doc:`performance_evaluation` - Evaluating association quality