dpflow-eval
DPFlow: Adaptive Optical Flow Estimation with a Dual-Pyramid Framework — Morimitsu et al. (2025) (arXiv:2503.14880, 2025)
What this evaluates
Evaluates optical flow estimation models on standard and high-resolution benchmarks to measure accuracy, generalization across input sizes, and robustness to resolution scaling without tiling. It tests how well adaptive pyramid architectures maintain prediction stability when input dimensions increase from 1K to 8K.
Datasets
- Spring — total 8923; splits: train (4963), test (3960)
- Middlebury-ST — total 23; splits: train (23)
- VIPER — total 4954; splits: train (4954)
- Kubric-NK — total 2400; splits: test (2400)
- MPI-Sintel — total ?; splits: test (-1)
- KITTI 2015 — total ?; splits: test (-1)
Metrics
EPE(primary) — range: other- Average Euclidean distance between predicted and ground truth flow vectors across all pixels. Lower is better.
1px— range: percent- Percentage of pixels with endpoint error strictly less than 1 pixel. Higher is better.
Fl-All— range: percent- Percentage of pixels with endpoint error greater than 3 pixels or relative error greater than 5%. Lower is better.
WAUC— range: percent- Weighted Area Under the Curve of the error distribution, specific to the VIPER benchmark. Higher is better.
Input / output format
Input: Paired consecutive frames (images) representing two time steps.
Output: 2-channel optical flow field (horizontal and vertical displacement maps) matching the input resolution.
Scoring recipe
def compute_metrics(pred_flow, gt_flow):
# pred_flow, gt_flow: (H, W, 2) tensors
err = torch.sqrt(torch.sum((pred_flow - gt_flow) ** 2, dim=-1))
epe = err.mean().item()
px1 = (err < 1.0).float().mean().item() * 100
fl_all = ((err > 3.0) | (err / (gt_flow.norm(dim=-1) + 1e-5) > 0.05)).float().mean().item() * 100
wauc = compute_viper_wauc(err) # VIPER-specific weighted curve
return {'EPE': epe, '1px': px1, 'Fl-All': fl_all, 'WAUC': wauc}
Common pitfalls
- High-resolution inputs often cause memory overflow, forcing tiling which loses global context and introduces boundary artifacts.
- Flow magnitude scales with resolution, causing naive models to show exponential error degradation at 4K/8K.
- Checkpoint selection is dataset-specific; using a single checkpoint across all benchmarks yields suboptimal results.
- WAUC and 1px metrics require specific error thresholding or weighting curves not covered by standard EPE.
Evidence (verbatim from paper)
We evaluate the results on each dataset using their official metrics. MPI-Sintel, Middlebury-ST, and Kubric-NK adopt the End-Point-Error (EPE). Spring is evaluated with the 1-pixel (1px) metric, KITTI 2015 uses the Fl-All metric, while VIPER*[[42]]* uses their proposed WAUC metric.
Citation
@misc{morimitsu2025dpflow,
title={DPFlow: Adaptive Optical Flow Estimation with a Dual-Pyramid Framework},
author={Morimitsu et al. (2025)},
year={2025},
note={arXiv:2503.14880}
}
- arXiv: 2503.14880