Acoustic vehicle speed estimation from single sensor measurements

On this page, you can download dataset and codes related to paper

Acoustic vehicle speed estimation from single sensor measurements
Slobodan Djukanović, Jiři Matas, Tuomas Virtanen

Paper abstract:

The paper addresses acoustic vehicle speed estimation using single sensor measurements. We introduce a new speed-dependent feature based on the attenuation of the sound amplitude. The feature is predicted from the audio signal and used as input to a regression model for speed estimation. For this research, we have collected, annotated, and published a dataset of audio-video recordings of single vehicles passing by the camera at a known constant speed. The dataset contains 304 urban-environment real-field recordings of ten different vehicles. The proposed method is trained and tested on the collected dataset. Experiments show that it is able to accurately predict the pass-by instant of a vehicle and to estimate its speed with an average error of 7.39 km/h. When the speed is discretized into intervals of 10 km/h, the proposed method achieves the average accuracy of 53.2% for correct interval prediction and 93.4% when misclassification of one interval is allowed. Experiments also show that sound disturbances, such as wind, severely affect acoustic speed estimation.

You can download the paper here.

VS10 dataset

The VS10 dataset contains video recordings of ten vehicles (Citroen C4 Picasso, Mazda 3 Skyactive, Mercedes AMG 550, Nissan Qashqai, Opel Insignia, Peugeot 3008, Peugeot 307, Renault Captur, Renault Scenic and VW Passat B7) passing by the camera at a known constant speed. Specification of vehicles (engine type, power, transmission type and production year) is given in Table 1 in the paper. The dataset comprises 304 video recordings (MP4 format, full HD resolution, 30 fps, 10-second length), each containing a single drive of a single vehicle. The speed of vehicles ranges from 30 to 105 km/h (exact values given in Table 1 in the paper). The speed is maintained stable by the on-board cruise control, all vehicles were equipped with.

Annotation text files contain the speed of a vehicle and its pass-by-camera instant. Relative time from the beginning of the file, given in seconds with a two-decimal precision, was measured. Precise annotations were obtained by visual screening, i.e., by identifying a video frame when a vehicle starts to exit the camera view, which approximately corresponds to the closest point of approach.

For dataset recording, we used a GoPro Hero5 Session camera. It was installed by the road, at a distance of around 0.5 m from the road and at a height of around 1.2 m. The camera was installed in various positions (both sides of the road and different angles of the camera with respect to the road) in order not to be sensitive to the actual camera position.

The VS10 dataset can be downloaded from two separate folders: Video + annotations and Audio + annotations, given below. It is suitable for both video- and audio-based vehicle speed estimation.

Citroen C4 Picasso (80 km/h)

Mazda 3 (86 km/h)

Mercedes AMG550 (78 km/h)

Nissan Qashqai (82 km/h)

Opel Insignia (70 km/h)

Peugeot 3008 (83 km/h)

Peugeot 307 (82 km/h)

Renault Captur (66 km/h)

Renault Scenic (80 km/h)

VW Passat (85 km/h)

Sample video files of each vehicle. The dataset was recorded on a local road, 622 m long, located 90 m away from the main road Podgorica-Petrovac in Montenegro.

Video + annotations Show dataset

Audio + annotations Show dataset

Implementation of audio-based vehicle speed estimation

The project was implemented in Python 3. In file Instructions.pdf, you can find a short description of each file and folder in the project. We have included .h5 files with features and annotations (folder datasets), as well as results presented in Figs. 6-8 and Tables 2-3 in the paper (folders results).

Python source code Download Preview

  • audio+annotations <DIR>
  • datasets <DIR>
  • results <DIR>
  • Instructions.pdf 125.96 KB
  • feature_extraction.py 3.62 KB
  • fig_MA_detection_histograms.py 3.29 KB
  • fig_MA_predicted_plots.py 3.55 KB
  • fig_speed_estimation_plots.py 2.91 KB
  • join_vehicle_regressions.py 1.22 KB
  • MA_regression_all_vehicles.py 9.17 KB
  • MA_regression_one_vehicle.py 8.82 KB
  • project_tools.py 7.52 KB
  • speed_estimation_SVR.py 3.25 KB
  • tab_print_speed_est_results.py3.14 KB