/BrnoCompSpeed

Code for BrnoCompSpeed dataset

Primary LanguagePython

BrnoCompSpeed dataset evaluation code

Dataset published with paper SOCHOR Jakub et al. Comprehensive Data Set for Automatic Single Camera Visual Speed Measurement, IEEE T-ITS

The dataset can be downloaded from our website. BibTeX citation is also on the site.

How to use the code

  1. Install PYTHON2, packages you might NOT have: numpy, scipy, matplotlib, tabulate
  2. Download the dataset and place the results and dataset folders from the downloaded archive on the same level as the code folder (root of the repository).
  • TIP: to save disk space use following command to get and unpack the dataset (WARNING: it has ~200GB)
  • curl https://medusa.fit.vutbr.cz/traffic/data/2016-ITS-BrnoCompSpeed-full.tar | tar xv
  1. (Optional) Modify paths in file code/dataset_info.py
  2. Check file code/config.py. The most important variables are RUN_FOR_SYSTEMS and RUN_FOR_VIDEOS.
  3. Run in code direcotory: python eval.py and wait. The results will be computed, shown and cached in results directory. The script eval.py has several arguments, so you can use --help for explanation of the arguments. I STRONGLY recommend to use ipython, spyder or similar terminals.

Additional information

  • For information about vehicle types from our country (Czech Republic), you can use following datasets: COD20K, BoxCars21k.
  • The dataset itself containes videos, mask, screenshots, and pkl file with the ground truth data
  • The dataset contains extra session0 which was annotated manually and is not included in the paper
  • The session0 is meant to be as training for all the splits (A,B,C - see the paper)

How to generate your own result JSON files

  • Just place them into appropriate subdirectory in the results directory

  • The JSON files should have same structure as the already existing JSON files

  • The structure of the files should be following:

      {
              "camera_calibration": 
      			{"vp1": [x,y], 
      			 "vp2": [x,y], 
                   "pp": [x,y], 
                   "scale": lambda}, (see the paper and supplementary pdf for information how this is used)
              "cars":[
              	{
              		"id": number,
              		"frames", "posX", "posY": each key defining list of positions of the car in the video
              		posX and posY should contain x,y coordinates of a point of the vehicle which is on the road plane
              		and frames should contain frame numbers of the reported points. The length of the vectors must be equal.
              		Examples can be found in the results directory. 
              	}
              ]
              }
      }
    

Contact

{isochor,herout,ijuranek}@fit.vutbr.cz