control//state estimation//multi-target tracking
Multi-target tracking (MTT) is the estimation of the states of several moving objects from a stream of detections that are noisy, incomplete and mixed with false echoes, and it runs in air traffic control, maritime surveillance, defence radars and every car that follows pedestrians and vehicles with camera, radar and lidar. An approach radar sweeps the sky every 4 or 5 seconds and returns a list of echoes: some are aircraft, others rain, birds or reflections from the ground (**clutter**), and some aircraft are missing from the list because the **probability of detection** is less than one. A drone swarm watching a wildfire faces the same list with fire fronts that drift with the wind.
Multi-target tracking (MTT) is the estimation of the states of several moving objects from a stream of detections that are noisy, incomplete and mixed with false echoes, and it runs in air traffic control, maritime surveillance, defence radars and every car that follows pedestrians and vehicles with camera, radar and lidar. An approach radar sweeps the sky every 4 or 5 seconds and returns a list of echoes: some are aircraft, others rain, birds or reflections from the ground (clutter), and some aircraft are missing from the list because the probability of detection is less than one. A drone swarm watching a wildfire faces the same list with fire fronts that drift with the wind.
The tracker keeps one track per target, the estimated history of its state with its own Kalman filter. That part is easy. The hard part is deciding, at every scan, which echo belongs to which track before any filter is updated (data association): an echo given to the wrong track feeds the wrong filter, which corrects with full confidence towards the wrong place, and two tracks that cross can come out with their identities swapped (a track swap). Errors of association are jumps, and no amount of filtering averages them away.
identity swaps, greedy0 identity swaps, global0 lost tracks, greedy1 lost tracks, global0 mean position error, global133 m Over 1200 scans with 5 false echoes per scan, a detection probability of 90 % and noise of 250 m, greedy association never swapped identities and lost one track; global assignment on the same detections never swapped identities and lost none.
Raise the measurement noise and watch the formation pair and the crossings: greedy association swaps identities more often than the global one, while more false echoes and a lower probability of detection create false tracks and lose real ones.
Tracking many targets is mostly associating, and associating is assigning.
Pairing tracks with echoes one to one is an assignment problem, solved exactly in O(n3)O(n^3)O(n3); concentrating several sensors or effectors on targets with diminishing returns is no longer an assignment, and it is NP-hard (weapon-target assignment).
Tracks are born, confirmed and deleted by rules (track management). A new track starts tentative and is confirmed by an M-of-N logic, three detections in four scans for instance, so a single clutter echo does not become an aircraft; it is deleted after several scans without echoes. Lowering the probability of detection starves tracks until they die.
Several sensors watching the same area combine either their raw detections or their finished tracks (track-to-track fusion, a consolidated niche in surveillance), where the danger is counting the same information twice (correlated measurements). Set-based filters that avoid explicit association (random finite sets, the PHD filter) are research with some niche use. Stone Soup is an open framework for building and comparing trackers.
Its input is the output of perception: detections with their false positives and misses, which the tracker treats as evidence to weigh. The radar and lidar that produce them are in radar and lidar.