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

  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)
    • 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
  • 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