Video-based transportation data collection : Différence entre versions

De Transport
(Free Online Datasets)
(Methods for the detection, tracking and classification of road users)
Ligne 10 : Ligne 10 :
 
** kernel density estimation based background subtraction http://cvlab.epfl.ch/software/emvisi2/index.php
 
** kernel density estimation based background subtraction http://cvlab.epfl.ch/software/emvisi2/index.php
 
* '''Object detection/classification''': http://lear.inrialpes.fr/people/triggs/pubs/Dalal-cvpr05.pdf, available in OpenCV, which can be used for tracking by detection, e.g. in http://www.vision.ee.ethz.ch/showroom/tracking/
 
* '''Object detection/classification''': http://lear.inrialpes.fr/people/triggs/pubs/Dalal-cvpr05.pdf, available in OpenCV, which can be used for tracking by detection, e.g. in http://www.vision.ee.ethz.ch/showroom/tracking/
** '''tracking by detection''': http://www.vision.ee.ethz.ch/~bremicha/tracking/
+
** '''tracking by detection''': http://www.vision.ee.ethz.ch/showroom/tracking/
 
* '''Volume estimation''': the basic method relies on background subtraction and fitting volumes for the various road users (rectangular cuboid/prism for vehicles and cylinder for pedestrians). Some initial papers are http://www.sciencedirect.com/science/article/pii/S1077314207000392, http://www.springerlink.com/content/tr6558j731331m78/, http://iris.usc.edu/outlines/papers/2005/song-nevatia-iccv.pdf
 
* '''Volume estimation''': the basic method relies on background subtraction and fitting volumes for the various road users (rectangular cuboid/prism for vehicles and cylinder for pedestrians). Some initial papers are http://www.sciencedirect.com/science/article/pii/S1077314207000392, http://www.springerlink.com/content/tr6558j731331m78/, http://iris.usc.edu/outlines/papers/2005/song-nevatia-iccv.pdf
 
* [[VideoAnnotation|Video annotation and semi-automated tracking for performance evaluation]]
 
* [[VideoAnnotation|Video annotation and semi-automated tracking for performance evaluation]]
  
 
Other resources
 
Other resources
 +
* TRB SHRP2 report on Site-Based Video System Design and Development http://onlinepubs.trb.org/onlinepubs/shrp2/SHRP2_S2-S09-RW-1.pdf
 
* Zu Kim at California PATH http://gateway.path.berkeley.edu/~zuwhan/
 
* Zu Kim at California PATH http://gateway.path.berkeley.edu/~zuwhan/
 
* EPFL, in particular Pascal Fua, http://cvlab.epfl.ch/software/index.php
 
* EPFL, in particular Pascal Fua, http://cvlab.epfl.ch/software/index.php

Version du 13 décembre 2012 à 18:21

Methods for the detection, tracking and classification of road users

Other resources

Software Development

Because I am relying on OpenCV for computer vision functionality, and because C++ is fast, the previous software was written in C++. For the same reasons, the core most computationally intensive functions should be written in C++ (although the python wrappers are more and more usable). The most up to date documentation is at http://opencv.itseez.com.

The platform of choice for development is Linux (e.g. the Ubuntu distribution). I would like to have the code cross-platform, ie the C++ should compile at least under Windows and Linux, which is not too difficult if using the right tools (g++, make or CMake).

I am If you are not familiar with any of the following topic, please read more:

  • C++: see below. I recommend the use of smart pointers for ease of memory management (avoiding memory leaks in a program meant to process hours of video without crashing is essential). See Boost shared pointers http://www.boost.org/doc/libs/1_46_1/libs/smart_ptr/smart_ptr.htm
  • Version Control: I refuse to work in teams without software version control. I use mercurial which has a fairly low barrier to entry and good documentation. http://mercurial.selenic.com
  • Test-driven development: writing tests takes a bit more time when developing, but helps in testing and ensures that the software still matches its specifications when refactoring later. I have used the Boost test library and it does the job http://www.boost.org/doc/libs/1_47_0/libs/test/doc/html/index.html, Google test is getting famous and is used in OpenCV.
  • Computer vision algorithms: see above
  • Python is nice for visualization, and the binding to OpenCV seem now robust enough for prototyping.

It is very important for me to develop quality software that can be easily maintained over the long term, hence the emphasis on version control, smart pointers and tests.

Traffic Intelligence

Clone with Mercurial from https://bitbucket.org/Nicolas/trafficintelligence/wiki/Home and follow instructions there for installation and use, including OpenCV and the Library for Trajectory Management, providing I/O functions and several trajectory distances (https://bitbucket.org/trajectories/trajectorymanagementandanalysis).

Traffic Intelligence is developed under an open source MIT license and I would like additions to be under the same license.

Cameras

Free Online Datasets

Image datasets of known objects are useful to train and test object classifiers

Resources