FeatureBasedTracking : Différence entre versions
De Transport
Ligne 1 : | Ligne 1 : | ||
− | 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. | + | The goal of this page is to record the objectives of the development of a vision-based road user tracking tool at Ecole Polytechnique, McGill University and Carleton University. |
==General Objectives== | ==General Objectives== | ||
Ligne 37 : | Ligne 37 : | ||
==Resources== | ==Resources== | ||
* Open source computer vision projects | * Open source computer vision projects | ||
− | ** http://code.google.com/p/opencv-feature-tracker/ | + | ** OpenCV http://opencv.willowgarage.com/wiki/ |
+ | ** http://code.google.com/p/opencv-feature-tracker/ (Warning: many bugs, not a good basis to build upon) | ||
** https://bitbucket.org/Nicolas/trafficintelligence | ** https://bitbucket.org/Nicolas/trafficintelligence | ||
** https://bitbucket.org/trajectories/trajectorymanagementandanalysis | ** https://bitbucket.org/trajectories/trajectorymanagementandanalysis | ||
+ | * Version Control http://mercurial.selenic.com/ | ||
* C++ | * C++ | ||
** http://en.cppreference.com/w/cpp | ** http://en.cppreference.com/w/cpp | ||
** http://www.parashift.com/c++-faq-lite/ | ** http://www.parashift.com/c++-faq-lite/ |
Version actuelle en date du 20 juillet 2011 à 00:50
The goal of this page is to record the objectives of the development of a vision-based road user tracking tool at Ecole Polytechnique, McGill University 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)
- check that new features are generated at more than the specified minimum feature distance when others are lost
- 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
- 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, accomodate if unavailable (test if it exists or use a configuration parameter)
- 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
- make all tracking parameters available
- 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
Resources
- Open source computer vision projects
- OpenCV http://opencv.willowgarage.com/wiki/
- http://code.google.com/p/opencv-feature-tracker/ (Warning: many bugs, not a good basis to build upon)
- https://bitbucket.org/Nicolas/trafficintelligence
- https://bitbucket.org/trajectories/trajectorymanagementandanalysis
- Version Control http://mercurial.selenic.com/
- C++