Seen2Scene: Completing Realistic 3D Scenes with Visibility-Guided Flow

Project Page arXiv Code YouTube

Pretrained checkpoints for Seen2Scene, the first flow matching-based approach that trains directly on incomplete, real-world 3D scans for scene completion and generation. Seen2Scene introduces visibility-guided flow matching, which explicitly masks out unknown regions in real scans, enabling effective learning from real-world, partial observations.

Code, installation instructions, and inference commands live in the GitHub repository.

Checkpoints

Component Role Size Path in this repo
VAE (AE_LOG) Encodes TSDF scenes into sparse latents 925 MB experiments/auto_encoder/2025-12-19_01-23-28-525/checkpoint/vxl_0_011_last.ckpt
Flow Matching generator (GEN_LOG) Layout-conditioned scene generation 4.5 GB experiments/auto_encoder/2025-12-19_01-23-28-525/generator/2026-02-23_16-22-25-152/checkpoint/vxl_0_011_last.ckpt
ControlNet (CONTROL_LOG) Partial-scan completion 1.2 GB experiments/auto_encoder/2025-12-19_01-23-28-525/generator/2026-02-23_16-22-25-152/control/2026-02-26_14-01-23-930/checkpoint/vxl_0_011_last.ckpt

The three run folders correspond to the AE_LOG, GEN_LOG, and CONTROL_LOG arguments of the inference commands:

AE_LOG      = 2025-12-19_01-23-28-525
GEN_LOG     = 2026-02-23_16-22-25-152
CONTROL_LOG = 2026-02-26_14-01-23-930
  • Generation requires the VAE and Flow Matching generator checkpoints.
  • Completion requires the VAE, Flow Matching generator, and ControlNet checkpoints.

Download

The repository mirrors the training log hierarchy, so downloading into the repository root places every checkpoint where the code expects it — no renaming or moving required.

pip install -U "huggingface_hub[cli]"

# From the root of your Seen2Scene checkout:
hf download MQ66/seen2scene --local-dir .

To fetch a single checkpoint, for example the VAE only:

hf download MQ66/seen2scene \
  experiments/auto_encoder/2025-12-19_01-23-28-525/checkpoint/vxl_0_011_last.ckpt \
  --local-dir .

Or from Python:

from huggingface_hub import snapshot_download

snapshot_download(repo_id="MQ66/seen2scene", local_dir=".")

Usage

After downloading, run inference from the repository root (see the GitHub README for the full option list):

# Partial-scan completion with the ControlNet.
python -m seen2scene.main control task:completion \
  --ae-log 2025-12-19_01-23-28-525 \
  --gen-log 2026-02-23_16-22-25-152 \
  --ckpt-path 2026-02-26_14-01-23-930 \
  --src-key tsdf_p_0.1 \
  --latent-key tsdf_p_1.0 \
  --task.num-samples 10 \
  --task.export-as bbox mesh volume \
  --slurm.cluster local

# Layout-conditioned patch generation with the Flow Matching generator.
python -m seen2scene.main generator task:generation \
  --ae-log 2025-12-19_01-23-28-525 \
  --ckpt-path 2026-02-23_16-22-25-152 \
  --latent-key tsdf_p_1.0 \
  --task.num-samples 10 \
  --task.export-as bbox mesh \
  --slurm.cluster local

Training data

The models were trained on 3D-FRONT, ScanNet++, and ARKitScenes. These datasets carry their own licenses and terms of use, which apply independently of the license of these weights.

Citation

@misc{meng2026seen2scene,
      title={Seen2Scene: Completing Realistic 3D Scenes with Visibility-Guided Flow},
      author={Quan Meng and Yujin Chen and Lei Li and Matthias Nießner and Angela Dai},
      year={2026},
      eprint={2603.28548},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2603.28548},
}

License

Released under the MIT License. Third-party components retain their respective licenses; see the Third-Party Notices.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for MQ66/seen2scene