FreeFlow-S · sintel

Optical flow · 34,575,109 parameters

Code | arXiv

Setup

Clone the code repository and install the package (Python ≥3.10, PyTorch ≥2.5):

git clone https://github.com/msu-video-group/freeflow.git
cd freeflow
python -m pip install -e ".[examples]"

See the README for uv/Conda setup and CUDA installation. The examples below use a CUDA-enabled PyTorch build.

Usage

import numpy as np
import torch
from PIL import Image
from freeflow import FreeFlow

model = FreeFlow.from_pretrained("a-yakovenko/optical-flow-FreeFlow-S-sintel").eval().cuda()
images = torch.stack([
    torch.from_numpy(np.array(Image.open(path).convert("RGB"))).permute(2, 0, 1)
    for path in ["assets/frame1.jpg", "assets/frame2.jpg"]
])[None]

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
    flow = model(images)  # float32 [1, 2, H, W]

The model estimates optical flow between two equally sized RGB images. Input tensors have shape [B,2,3,H,W] with values in [0,255].

Citation

@inproceedings{bargatin2026freeflow,
  title={FreeFlow: A Bias-free Hierarchical Transformer for Optical Flow Estimation},
  author={Bargatin, Vladislav and Yakovenko, Alexander and Abud, Khaled and Vatolin, Dmitriy},
  booktitle={European Conference on Computer Vision (ECCV)},
  year={2026}
}
Downloads last month
12
Safetensors
Model size
34.6M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for a-yakovenko/optical-flow-FreeFlow-S-sintel

Collection including a-yakovenko/optical-flow-FreeFlow-S-sintel

Paper for a-yakovenko/optical-flow-FreeFlow-S-sintel