FATE estimates how every pixel moves between two images without matching each pixel separately. It learns which pixels to group for reliable matching, then reuses the same grouping to recover detailed motion.
Match groups. Recover motion at every pixel.

Follow the moving blade across two images.

Learn pixel groups whose size and shape follow the image, giving each match useful context.

Reuse the same grouping to combine group motions into a motion estimate for every pixel.
Sintel · moving-blade example from the method figure. The detail view shares one crop across all three panels; groups and motion refer to Image 1. White outlines show each pixel’s strongest group membership. A pixel can belong partly to several groups and combine their motions.
Precise motion where matching gets difficult
Compare FATE with WAFT, the method it builds on. Both are tested on new datasets without further training (zero-shot). Drag the divider to compare their motion estimates.
Drag to compare WAFT and FATE.
How to read these images
Color shows motion direction, and color intensity shows speed; white means no motion. Ground truth is the known correct motion. This reference and both predictions use the same color scale for each example. In the visibility map, blue marks pixels whose matching point is hidden or outside the second image, gray the other valid pixels, and black excluded pixels. Black in the ground truth marks missing labels; KITTI's sparse labels are enlarged for display. White outlines in the pixel groups view show each pixel’s strongest membership; each pixel can combine motion from several groups.
More examples: fine structures, occlusion, and changing light
A thin protrusion moves unlike the surfaces on both sides. FATE keeps its motion distinct.







Leaves hidden by a wing in Image 2 have no visible match. FATE uses information from the surrounding image to estimate their motion.







Sunlight and shadows on the car change between frames. WAFT follows them; FATE keeps the car's motion coherent.







Lowest zero-shot error on Sintel Final and KITTI
Show the numbers
Use the same grouping to match and recover motion
Matching needs enough visual context, while motion must be estimated for every pixel. FATE learns pixel groups that adapt to the image. A token summarizes the visual information in one group. The same grouping gathers information for matching and combines token motions into a detailed motion map.
Read the full abstract
Optical flow requires reliable matching from sufficient visual context and precise motion at every pixel. Existing methods such as WAFT match and estimate flow on the same coarse grids, then recover dense flow through learned upsampling, without explicitly linking visual support for matching to dense flow reconstruction. Our key insight is that dense pixel-level flow does not require equally dense matching. We decouple correspondence scale from flow resolution by adapting the size and shape of spatial supports to image structure for reliable matching, while reusing these supports for precise dense flow reconstruction. We realize this in Flow from Adaptive Token Estimation (FATE), whose token supports expand within coherent regions and contract near motion boundaries. Shared pixel-to-token associations pool features for matching and reconstruct pixel flow from token motions. Flow supervision jointly trains pixel grouping, token matching, and flow estimation without grouping labels, allowing FATE to anticipate which pixels are likely to move together from appearance alone. Trained on FlyingChairs/FlyingThings3D, FATE achieves the highest zero-shot accuracy on Sintel Final and KITTI, a critical setting given scarce real-world flow labels. For visible pixels, FATE improves accuracy within coherent regions, and more near motion boundaries. Its largest gains occur where direct matches are unavailable: Occluded or out-of-frame pixels account for roughly 10% of valid pixels but 50% of WAFT's total error. Experiments show that adaptive correspondence through pixel-to-token grouping enables reliable matching and precise pixel-level flow, improving generalization to unseen real scenes.
Try it: how one pixel shares its weight across nearby groups
A pixel spreads its weight over the nine nearby token anchors with one Gaussian.
Drag the orange point \(\mu_x\) to move the Gaussian.
How training teaches grouping, matching, and motion
Inspect learned groups and the pixels they draw from










Learned pixel groups beat fixed grids
First, we look at where FATE improves on WAFT. Then we compare learned groups with fixed grid cells using the same number of tokens and the same matching framework.
Show the numbers
With the same number of tokens, learned pixel groups give lower error than fixed grid cells.
Show the numbers
Where no direct match is visible, looking at nearby image features (local attention) helps FATE more than a fixed grid. Labels follow the paper's reported EPE changes; negative means lower error.
Starting from known pixel motions, we group and reconstruct them. Lower reconstruction error means the grouping preserves more motion detail.
Four rounds of refinement give lower motion error than WAFT's five rounds, with less computation.
Show the numbers
Detailed motion without matching every pixel.
FATE performs matching on a coarse grid of tokens while estimating flow at every pixel. Each token gathers image features from a learned spatial support whose size and shape adapt to the image. Shared pixel-to-token associations pool features for matching and blend token motions into dense flow. A pixel can draw on several tokens, allowing pixels within one support to have different motion estimates. These associations are learned from ground-truth flow, without grouping labels, and predicted from image appearance alone at inference.
Citation
@inproceedings{hsieh2026fate,
title = {Dense Flow from Adaptive Correspondence},
author = {Hsieh, Cheng-Lin and Yu, Stella X.},
booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
year = {2026}
}
Acknowledgements
This project was supported in part by NSF grant 2313151, with additional computing resources provided through NAIRR Pilot CIS240421 and CIS240431. The authors thank SpixelFCN and WAFT for sharing their code.