Removing Cost Volumes from Optical Flow Estimators
Simon Kiefhaber, Stefan Roth, Simone Schaub-Meyer
TL;DR
This work targets the substantial computational and memory burden of cost volumes in optical flow estimators by introducing ReCoVEr, a training strategy that enables removing cost volumes at inference while preserving accuracy. The approach uses a RAFT-like two-branch architecture with a cost-volume branch and a context/initial-flow branch, coupled with a cut-off training schedule to eliminate the cost-volume path during inference. Three backbones—ReCoVEr-RN, ReCoVEr-CX, and ReCoVEr-MN—cover a range of compute budgets, achieving competitive or state-of-the-art accuracy with significantly reduced runtime and memory (e.g., ReCoVEr-CX near SOTA with 1.2× faster and 6× less memory; ReCoVEr-MN processes Full HD at 20 FPS with ~0.5 GB). The work demonstrates that cost volumes, while beneficial during early training, can be largely dispensed with during inference when the context network provides a reliable initial flow, enabling real-time or resource-constrained optical flow with minimal performance loss.
Abstract
Cost volumes are used in every modern optical flow estimator, but due to their computational and space complexity, they are often a limiting factor regarding both processing speed and the resolution of input frames. Motivated by our empirical observation that cost volumes lose their importance once all other network parts of, e.g., a RAFT-based pipeline have been sufficiently trained, we introduce a training strategy that allows removing the cost volume from optical flow estimators throughout training. This leads to significantly improved inference speed and reduced memory requirements. Using our training strategy, we create three different models covering different compute budgets. Our most accurate model reaches state-of-the-art accuracy while being $1.2\times$ faster and having a $6\times$ lower memory footprint than comparable models; our fastest model is capable of processing Full HD frames at $20\,\mathrm{FPS}$ using only $500\,\mathrm{MB}$ of GPU memory.
