Optical Flow Submission Format

Optical Flow will be evaluated on the pixels in the rectified view of the left event camera. Only the forward optical flow will be evaluated for simplicity.

Prediction Timestamps and Image Indices

The evaluation script evaluates the submission at specific timestamps that correspond to image timestamps at a 2 Hz rate.

These timestamps and corresponding image file indices are specified in the following zip file, also available on the download page: test_foward_optical_flow_timestamps.zip

The zip file contains

  • timestamps in microseconds corresponding to the reference time (from) and target time (to). The optical flow is always the pixel displacement from the reference time to the target time. Note that the difference between reference and target time is approximately 100 ms. The 2 Hz instead, corresponds to an approximately 500 ms difference between subsequent reference timestamps.
  • indices corresponding to the image file names for each sequence. These images are captured at the reference time.

While the indices are redundant information with respect to the provided timestamps, they can be used

  • to directly associate timestamps to image files.
  • to name the predicted optical flow files for the submission.

Submission Format

Upload a zip file with exactly the following content:

├── interlaken_00_b
│   ├── 000820.png
│   ├── 000830.png
│   ├── ...
│   └── 001380.png
├── interlaken_01_a
│   └── ...
├── thun_01_a
│   └── ...
├── thun_01_b
│   └── ...
├── zurich_city_12_a
│   └── ...
├── zurich_city_14_c
│   └── ...
└── zurich_city_15_a
    └── ...
  • IMPORTANT: Not all test sequences should be submitted, but only the ones specified in the test_foward_optical_flow_timestamps.zip introduced above.
  • Each directory contains the same number of png files as the number of timestamps specified in the corresponding csv file.
  • The filenames should be of the form xxxxxx.png where xxxxxx consists of the file index filled with ASCII ‘0’ (zero) digits from the left to contain 6 digits. For example, the index 80 would correspond to the filename 000080.png (e.g. '80'.zfill(6) + '.png' in Python). This naming is not strictly enforced but highly recommended. Internally, the evaluation script sorts the filenames within a directory based on the lexicographical order of the ASCII encoding (e.g. sorted(glob(...))). The submitted files are then evaluated in that order with the ground truth. The correct order is guaranteed with the suggested naming convention.

Optical Flow PNG Format

The optical flow format must be identical to the one provided in the dataset.

Optical flow maps must be saved as 3-channel 16-bit PNG files. Each pixel I[y,x] contains the value of the optical flow multiplied by 128 added to 2^15:

I[y,x,1] = (uint16)(flow_x[y,x] * 128 + 2^15)
I[y,x,2] = (uint16)(flow_y[y,x] * 128 + 2^15)
I[y,x,3] = 0 or 1
  • set the values in the 3rd channel to either 0 or 1. It will only be used to verify that the channel order is according to expectations. The performance of the submission is independent of the values in this channel (evaluation will be performed on pixels with valid ground truth).
  • Note that the channel order (1, 2, 3) is (R, G, B). Due to this, we recommend writing the raw data with imageio instead of OpenCV (which uses 1,2,3 -> B,G,R order by default):imageio.imwrite(path_to_file, data_array, format='PNG-FI')

Verification of the Submitted Format

We provide a script on GitHub to verify whether the submission format is correct.