Chong Cheng1* · Yu Hu1* · Sicheng Yu1 · Beizhen Zhao1 · Zijian Wang1 · Hao Wang1†
International Conference on Computer Vision, ICCV 2025
1The Hong Kong University of Science and Technology (Guangzhou)
The code has been tested on systems with:
- Ubuntu 22.04 LTS
- Python 3.10.18
- CUDA 11.8
- NVIDIA GeForce RTX 3090 or A6000
Clone the repo with --recursive because we have submodules:
git clone https://github.com/3DAgentWorld/RegGS.git --recursive
cd RegGS
This codebase has been successfully tested with Python 3.10, CUDA 11.8, and PyTorch 2.5.1. We recommend installing the dependencies in a virtual environment such as Anaconda.
-
Install main libraries:
conda env create -f environment.yaml conda activate reggs pip install -r requirements.txt
-
Install thirdparty submodules:
pip install thirdparty/diff-gaussian-rasterization-w-pose pip install thirdparty/gaussian_rasterizer` pip install thirdparty/simple-knn
-
Compile the cuda kernels for RoPE (as in CroCo v2):
cd src/noposplat/model/encoder/backbone/croco/curope python setup.py build_ext --inplace -
If you encounter cannot import torch. add option
--no-build-isolationtopip install
Download NoPoSplat re10k checkpoints and acid checkpoints to ./pretrained_weights directory, run:
wget -c https://huggingface.co/botaoye/NoPoSplat/resolve/main/re10k.ckpt -P ./pretrained_weights
wget -c https://huggingface.co/botaoye/NoPoSplat/resolve/main/acid.ckpt -P ./pretrained_weightsThe official RE10K dataset can be downloaded from: https://google.github.io/realestate10k/download.html
The preprocessed re10k data is placed in the directory ./sample_data. To run RegGS on sample data, run:
- The inference stage:
CUDA_VISIBLE_DEVICES=0 python3 run_infer.py config/re10k.yaml - The refinement stage:
CUDA_VISIBLE_DEVICES=0 python3 run_refine.py --checkpoint_path output/re10k/000c3ab189999a83 - The evaluation stage:
CUDA_VISIBLE_DEVICES=0 python3 run_metric.py --checkpoint_path output/re10k/000c3ab189999a83
To convert raw RE10K trajectory files to RegGS sample format, use the preprocessing script:
python scripts/preprocess_re10k.py \
--scene-txt datasets/RealEstate10K/test/SCENE_ID.txt \
--original-width 455 \
--target-width 256 \
--download-videoParameters:
--scene-txt: Path to RE10K scene txt file (required)--out-root: Output root directory (default:sample_data)--original-width: Original frame width from video (e.g., 455) for intrinsics adjustment--target-width: Target frame width after cropping (default: 256)--video-path: Path to local video file (mp4)--download-video: Download video using yt-dlp if--video-pathnot provided--max-frames: Maximum number of frames to process (default: -1, meaning all frames)--overwrite: Overwrite existing output directory
The script outputs:
images/: PNG frames extracted from videocameras.json: Per-frame camera poses and intrinsics in RegGS formatintrinsics.json: Normalized camera intrinsics parameters
The ACID (Airborne Coastal Imagery Dataset) can be downloaded from: https://infinite-nature.github.io/
To convert raw ACID trajectory files to RegGS sample format, use:
python scripts/preprocess_acid.py \
--scene-txt datasets/acid/test/SCENE_ID.txt \
--original-width 455 \
--target-width 256 \
--download-videoParameters:
--scene-txt: Path to ACID scene txt file (required)--out-root: Output root directory (default:sample_data)--original-width: Original frame width before 256 preprocessing (default:455)--target-width: Target frame width after preprocessing (default:256)--video-path: Path to local video file (mp4)--download-video: Download video using yt-dlp if--video-pathis not provided--max-frames: Maximum number of frames to process (default:-1, meaning all frames)--overwrite: Overwrite existing output directory
The script outputs:
images/: PNG frames extracted from videocameras.json: Per-frame camera poses and intrinsics in RegGS formatintrinsics.json: Normalized camera intrinsics parameters
- create codebase
- add evaluation script
- prepare sample data
- write installation guide
- add data preprocessing script
- implement GPU-optimized k-means
- add Gradio visualization
@inproceedings{cc2025_reggs,
title = {{RegGS}: Unposed Sparse Views Gaussian Splatting with {3DGS} Registration},
author = {Cheng, Chong and Hu, Yu and Yu, Sicheng and Zhao, Beizhen and Wang, Zijian and Wang, Hao},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
year = {2025}
}