Evaluates the accuracy of predicted optical flow fields against ground truth displacements between consecutive video frames. It probes a model's ability to handle occlusions, non-rigid motion, and large displacements in both synthetic and real-world driving scenarios. Use when the user wants to benchmark on Sintel, KITTI 2012, or asks about evaluating this task. Reports end point error.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill optical-flow-epe-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Optical Flow Epe Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-optical-flow-epe-eval)More formats (shields.io, HTML) on the badges page.
---
name: optical-flow-epe-eval
description: Evaluates the accuracy of predicted optical flow fields against ground truth displacements between consecutive video frames. It probes a model's ability to handle occlusions, non-rigid motion, and large displacements in both synthetic and real-world driving scenarios. Use when the user wants to benchmark on Sintel, KITTI 2012, or asks about evaluating this task. Reports end point error.
metadata:
skill_kind: dataset_eval
source_arxiv: 2102.00364
bibtex_key: kong2021oasnet
confidence: high
---
# optical-flow-epe-eval
> OAS-Net: Occlusion Aware Sampling Network for Accurate Optical Flow — Kong et al. (2021) (arXiv:2102.00364, 2021)
## What this evaluates
Evaluates the accuracy of predicted optical flow fields against ground truth displacements between consecutive video frames. It probes a model's ability to handle occlusions, non-rigid motion, and large displacements in both synthetic and real-world driving scenarios.
## Datasets
- **Sintel** — total ?; splits: train (-1), test (-1), clean (-1), final (-1)
- **KITTI 2012** — total ?; splits: train (-1), test (-1)
## Metrics
- `end point error` **(primary)** — range: other (pixels)
- Computes the L2 distance between the predicted flow vector and the ground truth flow vector for each pixel, then averages over all valid pixels. Lower values indicate better accuracy.
## Input / output format
**Input**: Pairs of consecutive frames (images) from a video sequence.
**Output**: A 2D optical flow field (H × W × 2 displacement map) and an occlusion awareness map (H × W).
## Scoring recipe
```python
def compute_epe(pred_flow, gt_flow, valid_mask=None):
diff = pred_flow - gt_flow
epe_per_pixel = torch.sqrt(torch.sum(diff**2, dim=-1))
if valid_mask is not None:
epe_per_pixel = epe_per_pixel[valid_mask]
return epe_per_pixel.mean().item()
```
## Common pitfalls
- EPE is a lower-is-better metric; confusing it with accuracy (higher-is-better) leads to incorrect model selection.
- Sintel has 'Clean' and 'Final' test splits with different noise levels and motion characteristics; results must be reported separately.
- KITTI 2012 and KITTI 2015 use different training/test splits and evaluation protocols; mixing them invalidates comparisons.
## Evidence (verbatim from paper)
> Optical flow accuracy is measured by end point error.
## Citation
```bibtex
@misc{kong2021oasnet,
title={OAS-Net: Occlusion Aware Sampling Network for Accurate Optical Flow},
author={Kong et al. (2021)},
year={2021},
note={arXiv:2102.00364}
}
```
- arXiv: 2102.00364
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!