egorchistov's picture
Update README.md
3470ec3 verified
---
language:
- en
license: bsd-3-clause
tags:
- arxiv:2506.23151
- optical-flow-estimation
- optical-flow
pipeline_tag: image-to-image
library_name: pytorch
base_model:
- egorchistov/optical-flow-MEMFOF-Tartan-T-TSKH
---
# MEMFOF-Tartan-T-TSKH-spring
<a href="https://arxiv.org/abs/2506.23151" style="text-decoration: none;">πŸ“„ Paper</a> | <a href="https://msu-video-group.github.io/memfof" style="text-decoration: none;">🌐 Project Page</a> | <a href="https://github.com/msu-video-group/memfof" style="text-decoration: none;">πŸ’» Code</a> | <a href="https://colab.research.google.com/github/msu-video-group/memfof/blob/dev/demo.ipynb" style="text-decoration: none;">πŸš€ Colab</a> | <a href="https://huggingface.co/spaces/egorchistov/optical-flow-MEMFOF" style="text-decoration: none;">πŸ€— Demo</a>
πŸ” **MEMFOF** is a **memory-efficient optical flow method** for **Full HD video** that combines **high accuracy** with **low VRAM usage**.
βœ… **Note:** This particular checkpoint is intended for submission to **Spring benchmark**.
## πŸ› οΈ Usage
```shell
git clone https://github.com/msu-video-group/memfof.git
cd memfof
pip3 install -r requirements.txt
```
```python
import torch
from core.memfof import MEMFOF
device = "cuda" if torch.cuda.is_available() else "cpu"
model = MEMFOF.from_pretrained("egorchistov/optical-flow-MEMFOF-Tartan-T-TSKH-spring").eval().to(device)
with torch.inference_mode():
example_input = torch.randint(0, 256, [1, 3, 3, 1080, 1920], device=device) # [B=1, T=3, C=3, H=1080, W=1920]
backward_flow, forward_flow = model(example_input)["flow"][-1].unbind(dim=1) # [B=1, C=2, H=1080, W=1920]
```
## πŸ“š Citation
```
@article{bargatin2025memfof,
title={MEMFOF: High-Resolution Training for Memory-Efficient Multi-Frame Optical Flow Estimation},
author={Bargatin, Vladislav and Chistov, Egor and Yakovenko, Alexander and Vatolin, Dmitriy},
journal={arXiv preprint arXiv:2506.23151},
year={2025}
}
```