ASTRE
Trajectory detection in the a-contrario framework
Table of contents
Description
Our work started with this simple observation: the human visual system is able to perceive motion hidden in high amounts of noise. How far could a computer go?
We propose the ASTRE [1] (A-contrario smooth trajectory extraction) framework based on the a-contrario methodology that defines a (quasi-parameterless) perceptual metric on the trajectories, and an efficient algorithm to extract the trajectory having the best appearance.
The principle of a-contrario algorithms is to control the number of false detections in the noise, and our method is thus resilient to high amounts of noise.
The perceptual metric can also be used to filter the result of any other tracking algorithm, hence reducing the number of false detections.
Paper
[1] M. Primet, L. Moisan, ``Point tracking: an a-contrario approach'', 2011.BibTeX Citation:
@article{ASTRE2011, author = {M. Primet and L. Moisan}, title={Point tracking: an a-contrario approach}, year={2011}, }
Download the code
This program is released under GPL License.
Feel free to use and adapt this code. However, if you use it for your research or in software code, please be so kind as to cite the paper [1].
Also, if you use, adapt or improve the code, we would love to hear about it!
-
Download the code
C source code for the trajectory detection, and Python trajectory visualizer.
- See the ASTRE installation and usage manual
Snow sequence
We filmed a sequence of falling snow flakes in front of a tainted background, and extracted the motion of the snow flakes and of the background to obtain an interesting point cloud sequence to compare point tracking algorithms.
Go to the snow sequence download page for a complete description and the sequence data files.
Examples
-
Detections in high levels of noise
Our algorithm is able to cope with a high density of noise points. This example shows five trajectories hidden in 60 random noise points, that our algorithm is able to detect and extract.
Our algorithm makes very few false detections.
-
Robustness to model variations
Our algorithm is able to detect trajectories with high accelerations, and does not require a global parameter for all trajectories, but is able to adapt its detection thresholds to each trajectory in the data.
-
Robustness to parameter tuning
Only one parameter, easy to set (all detections shown on this page are obtained with the canonical maximal log(NFA) = 0 parameter). Changing the parameter has the effect of adding or removing trajectories, rather than changing completely their appearances.