/ Модель

Характеристики

Лицензия
CC BY-NC 4.0
Библиотека
surflo
Опубликована
19 авг 2026

Surflo-v0

Языковая модель

Surflo-v0 восстанавливает ориентированное облако 3D-точек и сетку статичной сцены по нескольким неоткалиброванным RGB-изображениям.

0скачиваний за 30 дней1лайквеса обновлены25 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Surflo-v0 — модель Antoine Guedon для восстановления 3D-поверхности по нескольким RGB-изображениям одной статичной сцены без заданных поз камер и внутренних параметров. Она принимает от 2 до примерно 80 видов сцены и формирует ориентированное облако точек с позициями и нормалями; облако можно преобразовать в сетку. Модель предназначена для реконструкции объектов и сцен по фотографиям, в том числе когда число входных видов меняется.

Архитектура использует замороженный визуальный backbone VGGT-1B, Perceiver-подобный компрессор, который сводит представления изображений к 128 латентным токенам размерности 512, и 12-слойный декодер на 512 измерений. Декодер генерирует точки методом flow matching; число выходных точек можно задавать произвольно. Для извлечения сетки доступны обёрточный метод и опциональное уточнение геометрии с помощью градиентов Gaussian Splatting. Для запуска нужны исходный код проекта и CUDA-расширения. Модель обучена на модифицированном DL3DV; лицензия CC BY-NC 4.0 разрешает использование с указанием авторства, но запрещает коммерческое применение.

Сценарии применения

  • реконструкция 3D-сцены по нескольким фотографиям
  • создание облака 3D-точек с нормалями из нескольких ракурсов
  • генерация сетки объекта по неоткалиброванным изображениям
  • восстановление поверхности сцены при неизвестных позах камер

Ограничения

Модель рассчитана на несколько RGB-видов одной статичной сцены; качество и поддержка динамических сцен в карточке не описаны. Для инференса требуется установка исходного кода с компилируемыми CUDA-расширениями; лицензия CC BY-NC 4.0 запрещает коммерческое использование.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Surflo: Consistent 3D Surface Flow Model with Global State

Surflo turns a handful of unposed RGB views into a detailed 3D surface. It encodes a variable number of input views (2 to ~80) into a fixed-size latent and decodes that latent by flow matching into an arbitrary number of oriented surface points, which are then turned into a clean mesh.

Model description

Surflov0 Release
TaskFeed-forward surface reconstruction from unposed multi-view images
Input2–80 RGB images of one static scene, no poses, no intrinsics
OutputOriented 3D point cloud (position + normal) at arbitrary resolution, plus an optional mesh
Total parameters1.39 B
Trainable parameters128.8 M
Frozen backbone1.257 B (VGGT-1B)
Precisionfp32 weights; inference runs under bf16 autocast for the backbone

Architecture

  1. Encode — a frozen VGGT-1B backbone maps the N unposed views to per-layer aggregated tokens (layers 4/11/17/23) plus camera tokens.
  2. Compress — a Perceiver-style cross-attention compressor reduces the variable-length token set to a fixed 128 latent tokens × 512 dims. Camera tokens are compressed separately and injected as AdaLN conditioning.
  3. Decode — a 12-layer, 512-dim field decoder defines a velocity field over a 6-D space (3-D position + 3-D normal). Points sampled from a source distribution are integrated along this field with a conditional-OT flow-matching scheduler, yielding oriented surface points. Because the latent is fixed-size, you can decode any number of points from one encode.
  4. Meshify (optional) — a wrapping-based extractor turns the points into a mesh; an optional rendering-guidance stage refines geometry with Gaussian-splatting gradients before extraction.

The size of the latent does not depend on the number of input views, which is what lets one encode serve arbitrarily many decoded points.

Usage

Surflo needs the code repository — it is a source install with compiled CUDA extensions, not a pip install package. See the repository README for installation.

from surflo import Surflo, load_preset, save_ply, save_mesh

surflo = Surflo.from_checkpoint("checkpoint_200.pt", device="cuda")

# Encode any number of unposed images into the fixed-size global state.
scene = surflo.encode("/path/to/images", n_images=16)
print(scene.global_state.shape)          # (128, 512) latent tokens

# Decode oriented surface points.
result = scene.reconstruct(
    mode="guided",                                   # or "plain"
    config_block=load_preset("guided", "default"),
    expert_cfg=load_preset("expert"),
    num_query_points=100_000,
)
save_ply(result, "point_cloud.ply")

# Optional mesh.
mesh = scene.extract_mesh(result, mesh_cfg=load_preset("mesh"))
scene.color_mesh(mesh, result)
save_mesh(mesh, "mesh.ply")

Or from the command line:

python scripts/infer.py mode=guided guided=default \
    ckpt=/path/to/checkpoint_200.pt \
    source.image_folder=/path/to/images \
    num_query_points=100000 \
    output_dir=outputs/surflo

Inference modes

ModeWhat it doesCost (H100, 16 views, 100 k points)
plainPure flow-matching ODE. Deterministic, no rendering.~8 s, ~8.5 GiB
guided=minimalAdds rendering guidance, shortest schedule~16 s, ~14 GiB
guided=defaultRecommended quality/time trade-off~47 s, ~14 GiB
guided=longLongest schedule; does not improve on default~95 s, ~14 GiB

Training

  • Data: Our modified DL3DV,
  • preprocessed into cached VGGT tokens plus ground-truth surface points and normals. Preprocessing script is shipped with the code.
  • Regime: variable view count N ∈ [2, 16] drawn per iteration (curriculum), 4×H100, bf16 AMP, AdamW with fvcore schedulers, EMA (β = 0.9999). The reported checkpoint is epoch 200.
  • Objective: L2 flow-matching loss on the predicted velocity.
  • Frozen: the VGGT-1B backbone is frozen (requires_grad = False) throughout; only surface_net (compressor + decoder + learned tokens) is trained.

Training the variable-view schedule is what makes the model robust across a wide range of input view counts at inference.

License

⚠️ This checkpoint cannot be released under MIT. Part of its parameters are the VGGT-1B backbone, distributed by Meta under CC BY-NC 4.0, and those weights are stored verbatim in the checkpoint. Redistributing them under a permissive license is not available to us. The checkpoint is therefore released under CC BY-NC 4.0 — non-commercial use only.

The Surflo code is released under the Gaussian-Splatting License (Inria/MPII), which likewise restricts use to non-commercial research and evaluation, because Surflo contains modified 3D Gaussian Splatting code.

If you want a permissively licensed artifact, publish the trained head alone: surface_net is 128.8 M parameters (~9 % of the checkpoint) and is entirely our own work, so it can be MIT. Users would then obtain VGGT-1B themselves from the Hub. Note two caveats: the system still depends on CC BY-NC weights at run time, so an MIT tag on the head alone does not make commercial use possible; and the current loader calls load_state_dict(..., strict=True), so it would need to accept a partial state dict before a head-only checkpoint could be loaded.

Citation

@article{guedon2026surflo,
  title   = {Surflo: Consistent 3D Surface Flow Model with Global State},
  author  = {Gu{\'e}don, Antoine and Nakamura, Shu and Dufour, Nicolas
             and Lei, Jiahui and Nishino, Ko and Kanazawa, Angjoo},
  journal = {arXiv preprint arXiv:2606.13644},
  year    = {2026}
}

Acknowledgements

Surflo builds on VGGT (Meta), 3D Gaussian Splatting (Inria/MPII), and Depth-Anything-3 (ByteDance) for the optional monodepth expert. See THIRD_PARTY_NOTICES.md in the code repository for the full inventory.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · surflo

Нельзя запустить

3D-генерация пока не поддерживается.

Ревизия весов
f5ec036

0 моделей