kitti-optical-flow-eval
Occlusion Aware Unsupervised Learning of Optical Flow From Video — Jianfeng Li et al. (arXiv:2003.01960, 2020)
What this evaluates
Evaluates the accuracy of unsupervised optical flow estimation methods on standard driving scenes. It measures the pixel-wise displacement error between predicted and ground-truth flow fields to quantify estimation quality.
Datasets
- KITTI2012 — total ?; splits: train (40864), val (3822)
Metrics
EPE(primary) — range: other- Average Euclidean distance between estimated and ground-truth optical flow vectors across all pixels.
Input / output format
Input: Consecutive video frames (e.g., frame t and frame t+1) resized to 832x256.
Output: A 2-channel optical flow field representing horizontal and vertical displacement per pixel.
Scoring recipe
def compute_epe(pred_flow, gt_flow):
diff = pred_flow - gt_flow
epe = np.mean(np.sqrt(diff[..., 0]**2 + diff[..., 1]**2))
return epe
Common pitfalls
- The paper does not specify whether EPE is computed over the entire image or only valid ground-truth pixels, which can significantly affect reported values.
- The method is trained unsupervised using photometric loss but evaluated on supervised KITTI benchmarks, creating a potential train-test distribution mismatch.
Evidence (verbatim from paper)
For evaluation, we use end-point error (epe) which is defined as the average Euclidean distance between estimated and ground-truth optical flows.
Citation
@misc{li2020occlusion,
title={Occlusion Aware Unsupervised Learning of Optical Flow From Video},
author={Jianfeng Li et al.},
year={2020},
note={arXiv:2003.01960}
}
- arXiv: 2003.01960