Video-based transportation data collection

De Transport
Révision de 5 novembre 2021 à 13:32 par NicolasSaunier (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

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

See https://trafficintelligence.confins.net and follow instructions there for installation and use, including OpenCV.

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

Cameras

More information on this wiki page

Datasets

Public_Transportation_Datasets

Resources