Skip to content

peaes/GeoWorld

Repository files navigation

GeoWorld logo

Project Page Paper arXiv Hugging Face Model Weights Hugging Face Paper

GeoWorld: Providing Full-frame Geometry Features to Facilitate 3D Scene Generation

🔥 ECCV 2026

Yuhao Wan1,2, Lijuan Liu2, Jingzhi Zhou1, Zihan Zhou3, Xuying Zhang1, Dongbo Zhang2, Shaohui Jiao2, Qibin Hou1,4, Ming-Ming Cheng4,1✉

1VCIP & AAIS, Nankai University    2ByteDance Inc.    3Renmin University of China    4NKIARI, Shenzhen Futian

GeoWorld uses a two-stage video-generation pipeline with full-frame geometry features to produce high-fidelity image-to-3D scenes faster than prior methods (7.5× faster than Hunyuan-Voyager).

📬 News

  • [2026.06] GeoWorld was accepted by ECCV 2026! The repository and project page are now available.

🔍 Overview

GeoWorld overview

🔧 Installation

Python 3.11.2 and CUDA 12.4 are recommended.

git clone https://github.com/peaes/GeoWorld
cd GeoWorld

conda create -n GeoWorld python=3.11.2 -y
conda activate GeoWorld
pip install -r requirements_vggt.txt
pip install -r requirements.txt

🚀 Inference

  1. Download the VGGT weights.
  2. Download the Wan2.1-Fun weights.
  3. Download our GeoWorld weights and place them under the models/ directory.
  4. Run the two inference scripts:
python examples/wan2.1_fun/batch_test_geoworld_stage1.py
python examples/wan2.1_fun/batch_test_geoworld_stage2.py

Before running, please fill in the VGGT weight path and the test directory path in both scripts.

Inference dataset

The test directory should be a root folder containing several subfolders. Here is an example:

test/
  case1/
    1.png
    1.mp4
  case2/
    1.png
    1.mp4
  case3/
    1.png
    1.mp4

Here, 1.png is the input image and 1.mp4 is the projected partial-view video generated from 1.png under a camera trajectory. A small test set is provided in the repository under test/.

🏋️ Training

Stage 1

  • Use the training data format required by VideoX-Fun.
  • Place the partial views under a control/ subfolder.
  • Run:
bash scripts/wan2.1_fun/train_geoworld_stage1.sh

Before training, fill in the training set path in train_geoworld_stage1.sh and the VGGT path in train_geoworld_stage1.py.

Stage 2

  • Use the same training data format required by VideoX-Fun.
  • Place the stage-1 inference results for the training set under a control/ subfolder.
  • Run:
bash scripts/wan2.1_fun/train_geoworld_stage2.sh

Before training, fill in the training set path in train_geoworld_stage2.sh and the VGGT path in train_geoworld_stage2.py.

📝 BibTeX

@article{wan2025geoworld,
  title={GeoWorld: Unlocking the Potential of Geometry Models to Facilitate High-Fidelity 3D Scene Generation},
  author={Wan, Yuhao and Liu, Lijuan and Zhou, Jingzhi and Zhou, Zihan and Zhang, Xuying and Zhang, Dongbo and Jiao, Shaohui and Hou, Qibin and Cheng, Ming-Ming},
  journal={arXiv preprint arXiv:2511.23191},
  year={2025}
}

👏 Acknowledgements

This codebase builds on VGGT, Wan2.1, VideoX-Fun, FlexWorld, and the Hugging Face Diffusers ecosystem.

✉️ Contact

If you have any questions or requests, please feel free to contact peaeswyh@gmail.com.

About

[ECCV 2026] GeoWorld: Providing Full-frame Geometry Features to Facilitate 3D Scene Generation

Topics

Resources

License

Stars

13 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages