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

De Transport
(Free Online Datasets)
 
(18 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
==Methods for the detection, tracking and classification of road users==
 
==Methods for the detection, tracking and classification of road users==
  
* '''Feature-based tracking''' is the main and a relatively easy detection and tracking algorithm
+
* more recent deep learning-based methods
 +
** https://github.com/timmeinhardt/trackformer https://github.com/ifzhang/ByteTrack
 +
** test better optical flow methods (http://sintel.is.tue.mpg.de/results): https://learnopencv.com/optical-flow-using-deep-learning-raft/#raft
 +
* '''Feature-based tracking''' is the main and a relatively easy detection and tracking algorithm ([[Ideas for Feature-basedTracking Improvements|ideas for improvements]])
 
** my paper http://n.saunier.free.fr/saunier/stock/saunier06feature-based.pdf and the paper it is based upon http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.599&rep=rep1&type=pdf
 
** my paper http://n.saunier.free.fr/saunier/stock/saunier06feature-based.pdf and the paper it is based upon http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.599&rep=rep1&type=pdf
 
** Some slightly older information http://wiki.polymtl.ca/transport/index.php/FeatureBasedTracking
 
** Some slightly older information http://wiki.polymtl.ca/transport/index.php/FeatureBasedTracking
Ligne 14 : Ligne 17 :
 
** Efficient 3D Object (Cars) Detection using Multiple Pose-Specific Classifiers http://www.bmva.org/bmvc/2011/proceedings/paper20/paper20.pdf
 
** Efficient 3D Object (Cars) Detection using Multiple Pose-Specific Classifiers http://www.bmva.org/bmvc/2011/proceedings/paper20/paper20.pdf
  
 +
* [[TrajectoryReconnection|Reconnecting trajectories]] in cases of lost trajectories within the same camera view or across cameras
 
* '''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]]
Ligne 57 : Ligne 61 :
 
==Traffic Intelligence==
 
==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).  
+
See https://trafficintelligence.confins.net and follow instructions there for installation and use, including OpenCV.  
  
Traffic Intelligence is developed under an '''open source [http://www.opensource.org/licenses/mit-license.php MIT license]''' and I would like additions to be under the same license.  
+
Traffic Intelligence is developed under an '''open source [http://www.opensource.org/licenses/mit-license.php MIT license]''' and I would like additions to be under the same license.
  
 
==Cameras==
 
==Cameras==
Ligne 66 : Ligne 70 :
 
* Panasonic, eg http://www.panasonic.com/business/psna/products-surveillance-monitoring/network-security-cameras/fixed-cameras-color/WV-SP509.aspx
 
* Panasonic, eg http://www.panasonic.com/business/psna/products-surveillance-monitoring/network-security-cameras/fixed-cameras-color/WV-SP509.aspx
 
* use portable personal video recorders such as archos (old technology?)
 
* use portable personal video recorders such as archos (old technology?)
* CMOS sensors, eg http://www.thorlabs.com/NewGroupPage9.cfm?ObjectGroup_ID=2916, http://www.edmundoptics.com/onlinecatalog/Browse.cfm?categoryid=1569  
+
* CMOS sensors, eg http://www.thorlabs.com/NewGroupPage9.cfm?ObjectGroup_ID=2916, http://www.edmundoptics.com/onlinecatalog/Browse.cfm?categoryid=1569
 +
More information on this [[Survol des équipements vidéos pour collection de données|wiki page]]
  
==Free Online Datasets==
+
==Datasets==
 
+
[[Public_Transportation_Datasets]]
* Old synthetic and traffic video data http://i21www.ira.uka.de/image_sequences/
+
* MIT car data http://cbcl.mit.edu/software-datasets/CarData.html and person data http://cbcl.mit.edu/software-datasets/PedestrianData.html
+
* UIUC car detection http://cogcomp.cs.illinois.edu/Data/Car/ and CMU car data http://vasc.ri.cmu.edu/idb/html/car/
+
* UCSD method for people counting with dataset http://www.svcl.ucsd.edu/projects/peoplecnt/
+
* PETS datasets http://www.cvg.rdg.ac.uk/slides/pets.html
+
** 2009: people tracking with multiple cameras http://www.cvg.rdg.ac.uk/PETS2009/ (http://www.cvg.rdg.ac.uk/PETS2009/a.html)
+
** 2001: people and cars ftp://ftp.pets.rdg.ac.uk/pub/PETS2001/
+
* CityCars and CityPedestrians http://www.psi.toronto.edu/index.php?q=flobject%20analysis
+
* Gavrila http://www.gavrila.net/Research/Pedestrian_Detection/Daimler_Pedestrian_Benchmark_D/daimler_pedestrian_benchmark_d.html
+
* INRIA dataset used by N. Dalal (HoG classifiers) http://pascal.inrialpes.fr/data/human/
+
* Multi-View Car Dataset EPFL  http://cvlab.epfl.ch/data/pose/
+
* Multiple object type (including cars) from multiple view http://www.vision.caltech.edu/savarese/3Ddataset.html
+
* ETH datasets http://www.vision.ee.ethz.ch/datasets/index.en.html
+
* VIRAT Video Dataset (surveillance, road users, car parks) http://www.viratdata.org/
+
* NGSIM dataset: highways and urban corridors taken from multiple cameras on high buildings, with the computed results http://ngsim-community.org/
+
* The PASCAL Visual Object Classes Homepage contains sets of images of objects of various types, including people, bicycles, cars, etc. http://pascallin.ecs.soton.ac.uk/challenges/VOC/ (see also MIT SUN dataset http://groups.csail.mit.edu/vision/SUN/ and Caltech http://www.vision.caltech.edu/Image_Datasets/Caltech256/, MIT CBCL StreetScenes http://cbcl.mit.edu/software-datasets/streetscenes/)
+
* KITTI vision benchmark suite (images+lidar) http://www.cvlibs.net/datasets/kitti/ (object detection benchmark http://www.cvlibs.net/datasets/kitti/eval_object.php) and Karlsruhe objects http://www.cvlibs.net/datasets/karlsruhe_objects.html
+
 
+
* Amazing online open source tool for annotation (and using Amazon mechanical turk) http://mit.edu/vondrick/vatic/
+
 
+
Image datasets of known objects are useful to train and test object classifiers
+
  
 
==Resources==
 
==Resources==

Version actuelle en date du 5 novembre 2021 à 13:32

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