Jiayin Zhu1,
Linlin Yang2,
Yicong Li1,
Angela Yao1;
Computer Vision & Machine Learning Group, National University of Singapore 1
Communication University of China 2
TL;DR: The core innovation of AnchorDS lies in anchoring dynamic sources during the generation process, which reduces the Janus problem and improves 3D consistency compared to existing SDS variant methods, producing high-quality 3D Gaussian Splatting and NeRF representations from text prompts.
|
A red barn in a green field |
A vibrant orange pumpkin sitting on a hay bale |
|
A green cactus in a clay pot |
A gold glittery carnival mask |
Install 3D Gaussian Splatting and Shap-E as follows:
pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu117
pip install ninja
pip install -r requirements.txt
git clone https://github.com/hustvl/GaussianDreamer.git
cd GaussianDreamer
pip install ./gaussiansplatting/submodules/diff-gaussian-rasterization
pip install ./gaussiansplatting/submodules/simple-knn
git clone https://github.com/openai/shap-e.git
cd shap-e
pip install -e .Download finetuned Shap-E by Cap3D, and put it in ./load
# Gaussian Splatting with IP-Adapter
python launch.py --config configs/gaussiandreamer-sd1.5-anchorDS-ipadapter-finetune.yaml --train --gpu 0 system.prompt_processor.prompt="a bald eagle carved out of wood"
# NeRF with IP-Adapter
python launch.py --config configs/nerf-sd1.5-anchorDS-ipadapter-finetune.yaml --train --gpu 0 system.prompt_processor.prompt="a bald eagle carved out of wood"# Gaussian Splatting with SD 2.1
python launch.py --config configs/gaussiandreamer-sd2.1-anchorDS-controlnet-finetune.yaml --train --gpu 0 system.prompt_processor.prompt="a bald eagle carved out of wood"
# NeRF with SD 2.1
python launch.py --config configs/nerf-sd2.1-anchorDS-controlnet-finetune.yaml --train --gpu 0 system.prompt_processor.prompt="a bald eagle carved out of wood"# Standard SDS
python launch.py --config configs/gaussiandreamer-sd1.5-sds.yaml --train --gpu 0 system.prompt_processor.prompt="a bald eagle carved out of wood"
# SDS-Bridge
python launch.py --config configs/nerf-sd1.5-sds_bridge.yaml --train --gpu 0 system.prompt_processor.prompt="a bald eagle carved out of wood"Our method provides several configuration variants:
- Backbone Models: Stable Diffusion 1.5 (
sd1.5) or 2.1 (sd2.1) - 3D Representations: Gaussian Splatting (
gaussiandreamer) or NeRF (nerf) - Anchoring Methods:
anchorDS-controlnet: Uses ControlNet for anchoring dynamic sourcesanchorDS-ipadapter: Uses IP-Adapter for anchoring dynamic sources
- Optimization Strategies:
- Vanilla AnchorDS
filter: Optimization with filtering mechanismsfinetune: Fine-tuned approach
If you found this repository/our paper useful, please consider citing:
@inproceedings{zhu2026AnchorDS,
title = {AnchorDS: Anchoring Dynamic Sources for Semantically Consistent Text-to-3D Generation},
author = {Zhu, Jiayin and Yang, Linlin and Li, Yicong and Yao, Angela},
year = {2026},
volume = {40},
booktitle = {Proceedings of the AAAI Conference on Artificial Intelligence}
}