FeatureBasedTracking
De Transport
Révision de 9 juin 2011 à 23:46 par NicolasSaunier (discuter | contributions)
The goal of this page is to record the objectives of the development of a vision-based road user tracking tool at Ecole Polytechnique and Carleton University.
General Objectives
- Feature-based tracking, using any "standard" feature tracker, eg KLT
- look at fast features and the opencv sample video_homography
- Compensating small camera vibration (could work for small re-calibrations)
- an idea is to use features on background objects
- Generic features
- Semi-automated tracking
- Other vehicle/road user tracking methods, eg using background subtraction, tracking by detection (HoG detection)...
Summer 2011 project by Ananda Narayanan
Expected list of features for the program (following http://n.saunier.free.fr/saunier/stock/saunier06feature-based.pdf)
- feature-based tracking using the KLT implementation of OpenCV, that can be easily extended to use other types of features (eg the fast features used in the opencv sample video_homography)
- it should include at least the following constraints on motion regularity to avoid errors and improve results
- features have a minimum length, minimum displacement over the last n frames, the angle between two successive displacement vectors and the ratio of their norm may not be too large (if not, the feature track is disrupted: if the feature is too short, it is discarded)
- features in the same group should have a minimum temporal overlap, there is a minimum number of features in a group of moving objects + the connection and segmentation distances
- it should include at least the following constraints on motion regularity to avoid errors and improve results
- clean and modular design that can be easily extended: speed should be reasonable
- in particular, the steps of feature tracking and grouping can be performed separately or together
- use of a homography to transform coordinates from image to world space
- simple memory management using smart pointers and as much as possible const references for function arguments
- using for example the Boost library http://www.boost.org/doc/libs/1_46_1/libs/smart_ptr/smart_ptr.htm
- clean interface using the command line and a configuration file
- saving all trajectory information for features and moving objects using the project https://bitbucket.org/trajectories/trajectorymanagementandanalysis (if possible, re-use data structure from the same project to avoid time-consuming type conversions)
If time allows:
- cross-platform compilation
- test of various thresholds and other constraints to improve tracking
- motion-compensation
- GUI for the correction of results