1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+
4+ < head >
5+ < meta charset ="utf-8 ">
6+ < meta name ="description "
7+ content ="MEMFOF is a memory-efficient optical flow method for Full HD video that combines high accuracy with low VRAM usage. ">
8+ < meta name ="keywords " content ="optical flow, memory-efficient, high-resolution ">
9+ < meta name ="viewport " content ="width=device-width, initial-scale=1 ">
10+ < title > MEMFOF: High-Resolution Training for Memory-Efficient Multi-Frame Optical Flow Estimation</ title >
11+
12+ < link href ="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro " rel ="stylesheet ">
13+
14+ < link rel ="stylesheet " href ="static/css/bulma.min.css ">
15+ < link rel ="stylesheet " href ="static/css/index.css ">
16+ < link rel ="icon " href ="static/images/favicon.svg ">
17+
18+ < link rel ="stylesheet " href ="https://unpkg.com/img-comparison-slider/dist/styles.css ">
19+
20+ < script defer src ="static/js/comparison-slider.js "> </ script >
21+ < script defer src ="static/js/fontawesome.all.min.js "> </ script >
22+ < script defer src ="static/js/kitti-chart.js "> </ script >
23+ < script defer src ="static/js/sintel-chart.js "> </ script >
24+ < script defer src ="static/js/spring-chart.js "> </ script >
25+
26+ < script defer src ="https://unpkg.com/img-comparison-slider/dist/index.js "> </ script >
27+ < script defer src ="https://cdn.jsdelivr.net/npm/chart.js "> </ script >
28+ < script defer src ="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels "> </ script >
29+ </ head >
30+
31+ < body >
32+
33+ < section class ="hero " id ="authors ">
34+ < div class ="hero-body ">
35+ < div class ="container is-max-desktop ">
36+ < div class ="columns is-centered ">
37+ < div class ="column has-text-centered ">
38+ < h1 class ="title is-1 publication-title "> High-Resolution Training for Memory-Efficient Multi-Frame Optical
39+ Flow</ h1 >
40+ < div class ="is-size-5 publication-authors ">
41+ < span class ="author-block ">
42+ < a href ="https://github.com/VladBargin "> Vladislav Bargatin</ a > < sup > 1</ sup >
43+ </ span >
44+ < span class ="author-block ">
45+ < a href ="http://github.com/egorchistov "> Egor Chistov</ a > < sup > 1</ sup >
46+ </ span >
47+ < span class ="author-block ">
48+ < a href ="https://github.com/AlexanderYakovenko1 "> Alexander
49+ Yakovenko</ a > < sup > 1,2</ sup >
50+ </ span >
51+ < span class ="author-block ">
52+ < a href ="https://linkedin.com/in/dmitriyvatolin "> Dmitriy Vatolin</ a > < sup > 1,2</ sup >
53+ </ span >
54+ </ div >
55+
56+ < div class ="is-size-5 publication-authors ">
57+ < span class ="author-block "> < sup > 1</ sup > Lomonosov Moscow State University</ span >
58+ < span class ="author-block "> < sup > 2</ sup > MSU Institute for Artificial Intelligence</ span >
59+ </ div >
60+
61+ < div class ="column has-text-centered ">
62+ < div class ="publication-links ">
63+ < span class ="link-block ">
64+ < a href ="https://arxiv.org/abs/2506.23151 " class ="external-link button is-normal is-rounded is-dark ">
65+ < span class ="icon ">
66+ < i class ="fas fa-file-pdf "> </ i >
67+ </ span >
68+ < span > Paper</ span >
69+ </ a >
70+ </ span >
71+ < span class ="link-block ">
72+ < a href ="https://github.com/msu-video-group/memfof " class ="external-link button is-normal is-rounded is-dark ">
73+ < span class ="icon ">
74+ < i class ="fab fa-github "> </ i >
75+ </ span >
76+ < span > Code</ span >
77+ </ a >
78+ </ span >
79+ < span class ="link-block ">
80+ < a href ="https://huggingface.co/spaces/egorchistov/MEMFOF " class ="external-link button is-normal is-rounded is-dark ">
81+ < span class ="icon ">
82+ < i class ="far fa-images "> </ i >
83+ </ span >
84+ < span > Demo</ span >
85+ </ a >
86+ </ span >
87+ < span class ="link-block ">
88+ < a href ="https://colab.research.google.com/github/msu-video-group/memfof/blob/dev/demo.ipynb " class ="external-link button is-normal is-rounded is-dark ">
89+ < span class ="icon ">
90+ < i class ="far fa-images "> </ i >
91+ </ span >
92+ < span > Colab</ span >
93+ </ a >
94+ </ span >
95+ </ div >
96+
97+ </ div >
98+ </ div >
99+ </ div >
100+ </ div >
101+ </ div >
102+ </ section >
103+
104+ < section class ="section " id ="spring-videos ">
105+ < div class ="container is-max-desktop has-text-centered ">
106+ < div class ="columns is-centered ">
107+ < div class ="column is-two-thirds ">
108+ < h2 class ="title is-3 "> Native-Resolution Results on Spring</ h2 >
109+ < p > MEMFOF demonstrates that multi-frame processing < b > enhances temporal coherence</ b > ,
110+ and native resolution input helps < b > retain details</ b > </ p >
111+ </ div >
112+ </ div >
113+ < img-comparison-slider >
114+ < video slot ="first " src ="static/videos/spring_flow.mp4 " muted loop autoplay > </ video >
115+ < video slot ="second " src ="static/videos/spring_input.mp4 " muted loop autoplay > </ video >
116+ </ img-comparison-slider >
117+ < p >
118+ Controls: < b > Click</ b > or press < b > spacebar</ b > to play/pause; < b > drag slider</ b > to compare results; use
119+ < b > ←</ b > /< b > →</ b > < b > arrows</ b > to step through frames.
120+ </ p >
121+ </ div >
122+ </ section >
123+
124+ < section class ="section " id ="highlights ">
125+ < div class ="container is-max-desktop has-text-centered ">
126+ < div class ="columns is-centered ">
127+ < div class ="column is-two-thirds ">
128+ < h2 class ="title is-3 "> Highlights</ h2 >
129+ < div class ="content has-text-justified ">
130+ < ul >
131+ < li > MEMFOF delivers high-accuracy optical flow estimation for Full HD video while significantly reducing
132+ GPU
133+ memory usage — requiring < b > just 2.09 GB</ b > — enabling < strong > native 1080p processing</ strong > without
134+ cropping or downsampling</ li >
135+ < li > By combining multi-frame estimation, scalable correlation volumes, and resolution-aware training, it
136+ achieves < b > state-of-the-art results across multiple benchmarks</ b > with lower resource demands</ li >
137+ < li > The method < b > ranks first on Spring and Sintel (Clean) benchmarks</ b > and shows
138+ strong performance on < b > KITTI-2015</ b > , combining superior accuracy with efficiency
139+ </ li >
140+ </ ul >
141+ </ div >
142+ </ div >
143+ </ div >
144+ </ div >
145+ </ section >
146+
147+ < section class ="section " id ="histograms ">
148+ < div class ="container is-max-desktop has-text-centered ">
149+ < div class ="columns is-centered ">
150+ < div class ="column is-two-thirds ">
151+ < h2 class ="title is-3 "> High-Resolution Data</ h2 >
152+ < p > Using 2D histograms, we < b > analyze and compare motion patterns</ b > across optical flow datasets to uncover
153+ the full range and distribution of movements. We < b > identify gaps in existing data</ b > and < b > enhance
154+ training set through upsampling</ b > to address them</ p >
155+ </ div >
156+ </ div >
157+ < div class ="is-flex is-flex-wrap-wrap is-justify-content-center ">
158+ <!-- 8 ячеек -->
159+ < div class ="item ">
160+ < image src ="static/images/hists/tartan.png "> </ image >
161+ < p class ="has-text-weight-semibold mt-2 "> TartanAir</ p >
162+ </ div >
163+ < div class ="item ">
164+ < image src ="static/images/hists/things.png "> </ image >
165+ < p class ="has-text-weight-semibold mt-2 "> FlyingThings</ p >
166+ </ div >
167+ < div class ="item ">
168+ < image src ="static/images/hists/kitti.png "> </ image >
169+ < p class ="has-text-weight-semibold mt-2 "> KITTI-2015</ p >
170+ </ div >
171+ < div class ="item ">
172+ < image src ="static/images/hists/hd1k.png "> </ image >
173+ < p class ="has-text-weight-semibold mt-2 "> HD1K</ p >
174+ </ div >
175+ < div class ="item ">
176+ < image src ="static/images/hists/sintel.png "> </ image >
177+ < p class ="has-text-weight-semibold mt-2 "> Sintel</ p >
178+ </ div >
179+ < div class ="item ">
180+ < image src ="static/images/hists/spring.png "> </ image >
181+ < p class ="has-text-weight-semibold mt-2 "> Spring</ p >
182+ </ div >
183+ < div class ="item ">
184+ < image src ="static/images/hists/combined.png "> </ image >
185+ < p class ="has-text-weight-semibold mt-2 "> Combined</ p >
186+ </ div >
187+ < div class ="item ">
188+ < image src ="static/images/hists/combined2x.png "> </ image >
189+ < p class ="has-text-weight-semibold mt-2 "> Combined at 2x resolution</ p >
190+ </ div >
191+ </ div >
192+ < p > Color intensity indicates the number of motion vectors per bin, with borders marking each dataset’s maximum
193+ motion range. Large motions in the Spring dataset, missing from other training sets, are captured after 2x
194+ upsampling the combined data</ p >
195+ </ div >
196+ </ section >
197+
198+ < section class ="section " id ="memory-efficiency ">
199+ < div class ="container is-max-desktop has-text-centered ">
200+ < div class ="columns is-centered ">
201+ < div class ="column is-two-thirds ">
202+ < h2 class ="title is-3 "> Memory Efficiency</ h2 >
203+ < p > By reducing the resolution of correlation volumes, we free up enough memory to implement a multi-frame
204+ method that improves temporal stability. Our method requires < b > just 2.09 GB of memory for inference,</ b >
205+ enabling < b > native Full HD training</ b > </ p >
206+ </ div >
207+ </ div >
208+
209+ < div class ="grid ">
210+ < div class ="item ">
211+ < object type ="image/svg+xml " data ="static/images/one-corr.svg "> </ object >
212+ < p class ="m-4 has-text-weight-semibold "> SEA-RAFT</ p >
213+ </ div >
214+ < div class ="item ">
215+ < object type ="image/svg+xml " data ="static/images/two-corrs.svg "> </ object >
216+ < p class ="m-4 has-text-weight-semibold "> MEMFOF</ p >
217+ </ div >
218+ </ div >
219+
220+ < p >
221+ Reducing correlation volume resolution lowers memory use but can degrade quality. Our three-frame approach
222+ compensates for this, restoring accuracy while keeping efficiency and enabling native Full HD processing
223+ </ p >
224+ </ div >
225+ </ section >
226+
227+ < section class ="section " id ="error-vs-memory ">
228+ < div class ="container is-max-desktop has-text-centered ">
229+ < div class ="columns is-centered ">
230+ < div class ="column is-two-thirds ">
231+ < h2 class ="title is-3 "> 1px Error vs. Memory Usage on Spring</ h2 >
232+ < p > MEMFOF demonstrates < b > superior memory efficiency</ b > and the < b > lowest error</ b > among all methods. Speed
233+ and peak memory usage were measured on a Nvidia RTX 3090</ p >
234+ </ div >
235+ </ div >
236+ < div >
237+ < canvas id ="spring-chart "> </ canvas >
238+ </ div >
239+ < p > Results are sourced from < a href ="https://spring-benchmark.org/opticalflow "> official leaderboard</ a > of the
240+ Spring benchmark.< br > w/o ft stands for methods that were not finetuned on Spring dataset</ p >
241+ </ div >
242+ </ section >
243+
244+ < section class ="section " id ="sintel-videos ">
245+ < div class ="container is-max-desktop has-text-centered ">
246+ < div class ="columns is-centered ">
247+ < div class ="column is-two-thirds ">
248+ < h2 class ="title is-3 "> Performance on Sintel Benchmark</ h2 >
249+ < p > MEMFOF produces < b > consistent motion</ b > across large deformations and occlusions in challenging cinematic scenes</ p >
250+ </ div >
251+ </ div >
252+ < img-comparison-slider >
253+ < video slot ="first " src ="static/videos/sintel_flow.mp4 " muted loop autoplay > </ video >
254+ < video slot ="second " src ="static/videos/sintel_input.mp4 " muted loop autoplay > </ video >
255+ </ img-comparison-slider >
256+ < p >
257+ Controls: < b > Click</ b > or press < b > spacebar</ b > to play/pause; < b > drag slider</ b > to compare results; use
258+ < b > ←</ b > /< b > →</ b > < b > arrows</ b > to step through frames.
259+ </ p >
260+ </ div >
261+ </ section >
262+
263+ < section class ="section " id ="sintel-results ">
264+ < div class ="container is-max-desktop has-text-centered ">
265+ < div class ="columns is-centered ">
266+ < div class ="column is-two-thirds ">
267+ < h2 class ="title is-3 "> EndPoint Error on Sintel</ h2 >
268+ < p > MEMFOF achieves competitive performance on both Sintel splits, sharing < b > first place</ b > with the five-frame version of VideoFlow < b > on the clean pass</ b > and outperforming SEA-RAFT (L) by 32% on the final pass</ p >
269+ </ div >
270+ </ div >
271+ < div >
272+ < canvas id ="sintel-chart "> </ canvas >
273+ </ div >
274+ < p > Results are sourced from < a href ="http://sintel.is.tue.mpg.de/quant?metric_id=0&selected_pass=1 "> official leaderboard</ a > of the Sintel benchmark.< br > Methods are sorted by performance on Sintel Clean split</ p >
275+ </ div >
276+ </ section >
277+
278+ < section class ="section " id ="kitti-videos ">
279+ < div class ="container is-max-desktop has-text-centered ">
280+ < div class ="columns is-centered ">
281+ < div class ="column is-two-thirds ">
282+ < h2 class ="title is-3 "> Performance in Real-World KITTI Scenes</ h2 >
283+ < p > MEMFOF excels in real-world driving scenes, showing < b > high accuracy and stability</ b > across challenging motions and lighting</ b > </ p >
284+ </ div >
285+ </ div >
286+ < img-comparison-slider >
287+ < video slot ="first " src ="static/videos/kitti_flow.mp4 " muted loop autoplay > </ video >
288+ < video slot ="second " src ="static/videos/kitti_input.mp4 " muted loop autoplay > </ video >
289+ </ img-comparison-slider >
290+ < p >
291+ Controls: < b > Click</ b > or press < b > spacebar</ b > to play/pause; < b > drag slider</ b > to compare results; use
292+ < b > ←</ b > /< b > →</ b > < b > arrows</ b > to step through frames.
293+ </ p >
294+ </ div >
295+ </ section >
296+
297+ < section class ="section " id ="kitti-results ">
298+ < div class ="container is-max-desktop has-text-centered ">
299+ < div class ="columns is-centered ">
300+ < div class ="column is-two-thirds ">
301+ < h2 class ="title is-3 "> Fl-all on KITTI-2015</ h2 >
302+ < p > MEMFOF achieves < b > state-of-the-art performance</ b > among all non-scene flow methods, outperforming both SEA-RAFT and VideoFlow</ p >
303+ </ div >
304+ </ div >
305+ < div >
306+ < canvas id ="kitti-chart "> </ canvas >
307+ </ div >
308+ < p > Results are sourced from < a href ="https://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=flow "> official leaderboard</ a > of the KITTI benchmark. < br > Only non-scene flow methods are shown</ p >
309+ </ div >
310+ </ section >
311+
312+ < section class ="section " id ="bibtex ">
313+ < div class ="container is-max-desktop content ">
314+ < h2 class ="title "> BibTeX</ h2 >
315+ < pre > < code > @article{bargatin2025memfof,
316+ title = {MEMFOF: High-Resolution Training for Memory-Efficient Multi-Frame Optical Flow Estimation},
317+ author = {Bargatin, Vladislav and Chistov, Egor and Yakovenko, Alexander and Vatolin, Dmitriy},
318+ journal = {arXiv preprint arXiv:2506.23151},
319+ year = {2025}
320+ }</ code > </ pre >
321+ </ div >
322+ </ section >
323+
324+ < section class ="section " id ="credit ">
325+ < div class ="content has-text-centered ">
326+ < p >
327+ The project page is based on < a href ="https://github.com/nerfies/nerfies.github.io "> this template</ a > ,
328+ licensed under a < a href ="http://creativecommons.org/licenses/by-sa/4.0/ "> CC BY-SA 4.0</ a > license
329+ </ p >
330+ </ div >
331+ </ section >
332+ </ body >
333+
334+ </ html >
0 commit comments