FlowIt: Global Matching via Hierarchical Transformers and Optimal Transport for Optical Flow
Organizations: Department of Computer Engineering and KUIS AI Center, Koç University, Istanbul, Turkey · Department of Computer Science and Engineering (DISI), University of Bologna, Italy
Abstract
We present FlowIt, a novel architecture for optical flow estimation that combines global matching with confidence and occlusion-guided refinement. At its core, FlowIt leverages a hierarchical transformer architecture that captures extensive global context, enabling the model to effectively model long-range correspondences. To overcome the limitations of localized matching, we formulate the flow initialization as an optimal transport problem. This formulation yields a highly robust initial flow field, alongside explicitly derived occlusion and confidence maps. These cues are then seamlessly integrated into a guided refinement stage, where the network actively propagates reliable motion estimates from high-confidence regions into ambiguous, low-confidence areas. Extensive experiments across the Sintel, KITTI, Spring, and LayeredFlow datasets validate the effectiveness of our approach. FlowIt achieves state-of-the-art results on the competitive Sintel benchmark and establishes new state-of-the-art cross-dataset zero-shot generalization performance on Sintel, Spring, and LayeredFlow, while also delivering competitive performance on both the KITTI benchmark and KITTI zero-shot generalization settings.
Figures & tables
| Method | Sintel (test) | KITTI (test) | |||||
|---|---|---|---|---|---|---|---|
| Clean | Final | Fl-all | Non-Occ | Fl-bg | Fl-fg | ||
| (A) | MemFlow [ 11 ] | 1.05 | 1.91 | 4.10 | 2.56 | 3.67 | 6.27 |
| StreamFlow [ 67 ] | 1.04 | 1.87 | 4.24 | - | - | - | |
| ARFlow [ 37 ] | 0.96 | 1.79 | 2.85 | 1.91 | 2.48 | 4.69 | |
| VideoFlow [ 58 ] | 0.99 | 1.65 | 3.65 | - | - | - | |
| MEM-FOF [ 3 ] | 0.93 | 1.89 | 2.94 | 1.97 | 2.60 | 4.66 | |
| Method | Sintel (train) | KITTI (train) | ||
|---|---|---|---|---|
| Clean | Final | Fl-epe | Fl-all | |
| PWC-Net [ 64 ] | 2.55 | 3.93 | 10.4 | 33.7 |
| FlowNet2 [ 22 ] | 2.02 | 3.14 | 10.1 | 30.4 |
| RAFT [ 69 ] | 1.43 | 2.71 | 5.04 | 17.4 |
| GMA [ 27 ] | 1.30 | 2.74 | 4.69 | 17.1 |
| SKFlow [ 66 ] | 1.22 | 2.46 | 4.27 | 15.5 |
| Method Spring (train) 1px EPE MatchFlow(G) [ 10 ] 4.504 0.407 Flowformer [ 59 ] 4.482 0.447 MS-RAFT+ [ 24 ] 3.577 0.397 RAFT [ 69 ] 4.788 0.448 RPKNet [ 50 ] 4.472 0.416 DIP [ 85 ] 4.273 0.463 SKFlow [ 66 ] 4.521 0.408 GMFlow [ 76 ] 29.49 0.930 GMFlow [ 77 ] 4.292 0.433 Flowformer [ 17 ] 4.508 0.470 SEA-RAFT (S) [ 73 ] 4.161 0.410 SEA-RAFT (M) [ 73 ] 3.888 0.406 SEA-RAFT (L) [ 73 ] 3.842 0.426 FlowSeek (T) [ 53 ] 4.111 0.410 FlowSeek (S) [ 53 ] 4.058 0.406 FlowSeek (M) [ 53 ] 3.941 0.419 FlowSeek (L) [ 53 ] 3.838 0.402 WAFT-DAv2-a1 [ 72 ] 3.811 0.433 WAFT-Twins-a2 [ 72 ] 5.611 0.557 WAFT-DAv2-a2 [ 72 ] 5.340 0.487 WAFT-DINOv3-a2 [ 72 ] 4.006 0.458 FlowIt (S) 3.937 0.391 FlowIt (M) 4.017 0.398 FlowIt (L) 3.450 0.377 FlowIt (XL) 3.474 0.371 | Method LayeredFlow (All pixels) EPE 1px 3px 5px FlowNet-C [ 12 ] 9.71 89.07 61.51 43.93 FlowNet2 [ 22 ] 10.07 77.56 54.22 42.13 PWC-Net [ 64 ] 9.49 74.93 50.47 39.05 GMA [ 27 ] 9.77 72.46 46.93 36.97 SKFlow [ 66 ] 9.86 72.02 47.44 36.88 CRAFT [ 61 ] 10.36 72.34 47.54 37.00 GMFlow [ 76 ] 9.09 81.99 51.79 37.75 GMFlow+ [ 77 ] 9.46 82.71 53.14 39.70 FlowFormer [ 17 ] 10.20 73.59 48.97 38.56 RAFT [ 69 ] 9.38 71.98 46.46 36.15 SEA-RAFT (S) [ 73 ] 10.05 71.48 46.90 36.32 SEA-RAFT (M) [ 73 ] 10.17 69.73 45.94 34.78 SEA-RAFT (L) [ 73 ] 10.99 69.46 45.59 34.78 FlowSeek (T) [ 53 ] 9.09 70.82 43.74 32.36 FlowSeek (S) [ 53 ] 9.16 69.99 43.67 31.90 FlowSeek (M) [ 53 ] 8.30 68.85 41.81 32.09 FlowSeek (L) [ 53 ] 8.30 68.98 41.49 31.64 WAFT-DAv2-a1 [ 72 ] 10.37 68.23 43.73 33.38 WAFT-Twins-a2 [ 72 ] 12.35 70.93 47.11 36.51 WAFT-DAv2-a2 [ 72 ] 10.75 73.06 51.40 40.85 WAFT-DINOv3-a2 [ 72 ] 9.30 73.05 48.25 38.22 FlowIt (S) 9.56 70.41 45.45 35.62 FlowIt (M) 10.07 69.83 46.47 36.08 FlowIt (L) 7.93 66.55 43.20 33.09 FlowIt (XL) 7.26 65.62 38.78 28.23 |
| Experiment | Configuration | EPE | 3px | #GMACS | latency (ms) |
|---|---|---|---|---|---|
| Model Size | (S) | 0.617 | 2.295 | 344 | 99 |
| (M) | 0.595 | 2.209 | 764 | 120 | |
| (L) | 0.499 | 1.635 | 1412 | 146 | |
| (XL) | 0.447 | 1.328 | 3092 | 216 | |
| Transformer Architecture | GMFlow | 0.652 | 2.457 | 397 | 155 |
| MRT | 0.617 | 2.295 | 344 | 99 |
| Extra data | Method | Sintel (test) | KITTI (test) | ||||
|---|---|---|---|---|---|---|---|
| Clean | Final | Fl-all | Non-Occ | Fl-bg | Fl-fg | ||
| Multi-frame | SplatFlow [ 70 ] | 1.12 | 2.07 | 4.61 | 2.96 | 4.26 | 6.34 |
| MemFlow [ 11 ] | 1.05 | 1.91 | 4.10 | 2.56 | 3.67 | 6.27 | |
| StreamFlow [ 67 ] | 1.04 | 1.87 | 4.24 | - | - | - | |
| ARFlow [ 37 ] | 0.96 | 1.79 | 2.85 | 1.91 | 2.48 | 4.69 | |
| VideoFlow [ 58 ] | 0.99 | 1.65 | 3.65 | - | - | - | |