FeatureBasedTracking : Différence entre versions

De Transport
Ligne 12 : Ligne 12 :
 
==Summer 2011 project by Ananda Narayanan==
 
==Summer 2011 project by Ananda Narayanan==
  
Expected list of features for the program:
+
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)
 
* 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)
Ligne 21 : Ligne 21 :
 
** in particular, the steps of feature tracking and grouping can be performed separately or together
 
** 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
 
* 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 arguments of functions
 +
** 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
 
* 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)
 
* 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)

Version du 9 juin 2011 à 23:46

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

  1. Feature-based tracking, using any "standard" feature tracker, eg KLT
    • look at fast features and the opencv sample video_homography
  2. Compensating small camera vibration (could work for small re-calibrations)
    • an idea is to use features on background objects
  3. Generic features
  4. Semi-automated tracking
  5. 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
  • 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 arguments of functions
  • 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

Resources