AtlasGS
[NeurIPS 2025] AtlasGS: Atlanta-world Guided Surface Reconstruction with Implicit Structured Gaussians
Install / Use
/learn @xyzhang77/AtlasGSREADME
Atlanta-world Guided Surface Reconstruction with Implicit Structured Gaussians
Xiyu Zhang* · Chong Bao* · Yipeng Chen · Hongjia Zhai · Yitong Dong <br> Hujun Bao · Zhaopeng Cui · Guofeng Zhang<sup>†</sup> <br>

News
- [2025-12-31]: Release the initial version of codes, datasets, checkpoints.
TODO
- [x] Release codes.
- [x] Release datasets.
- [x] Realese checkpoints.
- [ ] Add viewer.
Table of Contents
Installation
Prerequisites
- CUDA 11.7 or higher
- Python 3.9
- PyTorch 1.13.1
Step-by-Step Installation
# Clone the repository with submodules
git clone --recursive https://github.com/xyzhang77/AtlasGS.git
cd AtlasGS
# Create conda environment
conda create -n atlasgs python=3.9 -y
conda activate atlasgs
# Install PyTorch
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
# Install dependencies
pip install -r requirements.txt
# Install custom rasterization module
pip install submodules/diff-surfel-rasterization --no-build-isolation
# Install torch-scatter
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.13.1+cu117.html --no-build-isolation
Dataset Preparation
For detailed dataset preprocessing instructions, please refer to DATASET_PREPROCESSING.md.
Quick Start
Option 1: Download Preprocessed Datasets
We provide preprocessed datasets for immediate use:
- ScanNet: scene0050_00, scene0084_00, scene0580_00, scene0616_00
- ScanNet++: 8b5caf3398, b20a261fdf, f34d532901, f6659a3107
- Replica: office0-3, room0-2
Option 2: Process Custom Datasets
For processing custom datasets (ScanNet, Replica, ScanNet++, COLMAP) and generating geometry priors (depth, normals, semantics), see the complete guide in DATASET_PREPROCESSING.md.
Basic Dataset Structure
After processing, each dataset should have the following structure:
data/
├── scene_name/
│ ├── images/
│ │ ├── 000000.png
│ │ ├── 000001.png
│ │ └── ...
│ ├── sparse/
│ │ ├── cameras.bin
│ │ ├── images.bin
│ │ └── points3D.bin
│ ├── depths/ (optional)
│ ├── normals/ (optional)
│ └── semantics/ (optional)
Training Examples
ScanNet Training
# Train on ScanNet scene
python train.py \
-s data/scannet/scene0050_00 \
-m output/scene0050_00 \
Replica Training
# Train on Replica scene
python train.py \
-s data/replica/office0 \
-m output/office0 \
Mesh Extraction
python render.py -m <model_path> --skip_train --skip_test
Rendering Images
# Render training views
python render.py -m output/scene0050_00
# Render test views only
python render.py -m output/scene0050_00 --skip_train
# Render interpolated camera trajectory
python render.py -m output/scene0050_00 --render_path
Evaluation
Download ground truth meshes from google drive.
ScanNet Evaluation
python -m evaluation.eval_scannet \
--scene scene0050_00 \
--mesh_path output/scene0050_00/train/ours_40000/fuse_post.ply
ScanNet++ Evaluation
python -m evaluation.eval_scannetpp \
--scene <scene_name> \
--mesh_path <path_to_extracted_mesh>
Replica Evaluation
python -m evaluation.eval_replica \
--scene office0 \
--mesh_path output/office0/train/ours_25000/fuse_post.ply
Evaluation Metrics
The evaluation script computes the following metrics:
- Accuracy (Acc): Mean distance from predicted to ground truth
- Completeness (Comp): Mean distance from ground truth to predicted
- Precision: Percentage of points within threshold
- Recall: Percentage of ground truth points within threshold
- F-score: Harmonic mean of precision and recall
The evaluation also generates:
- Colored point clouds showing precision/recall errors
- Precision-Recall curves
- Detailed metrics saved as JSON
Batch Evaluation
For multiple scenes, you can use the provided scripts:
# Evaluate all ScanNet scenes
python scripts/train_eval_scannet.py
# Evaluate all Replica scenes
python scripts/train_eval_replica.py
# Evaluate all ScanNet++ scenes
python scripts/train_eval_scannetpp.py
Pretrained Models
We provide pretrained models for quick testing and evaluation without training from scratch.
Available Models
- ScanNet: scene0050_00, scene0084_00, scene0580_00, scene0616_00
- ScanNet++: 8b5caf3398, b20a261fdf, f34d532901, f6659a3107
- Replica: office0-3, room0-2
Usage
# Use for rendering
python render.py -m path/to/pretrained/model
# Use for mesh extraction
python render.py -m path/to/pretrained/model --skip_train --skip_test
Acknowledgments
We acknowledge the following inspiring prior work:
- 2DGS: 2D Gaussian Splatting for Geometrically Accurate Radiance Fields
- Scaffold-GS: Structured 3D Gaussians for View-Adaptive Rendering
- Neural 3D Scene Reconstruction with the Manhattan-world Assumption
Citation
If you use this code in your research, please cite:
@inproceedings{
zhang2025atlasgs,
title={Atlas{GS}: Atlanta-world Guided Surface Reconstruction with Implicit Structured Gaussians},
author={Xiyu Zhang and Chong Bao and YiPeng Chen and Hongjia Zhai and Yitong Dong and Hujun Bao and Zhaopeng Cui and Guofeng Zhang},
booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems},
year={2025},
}
For any questions or issues, please open an issue on the GitHub repository or contact the authors with the email.
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
