Yang Liu He Guan Chuanchen Luo Lue Fan Naiyan Wang Junran Peng Zhaoxiang Zhang
Institute of Automation, Chinese Academy of Sciences; University of Chinese Academy of Sciences


Introduction
With the ever-increasing demand for real-time 3D scene rendering, new techniques are continuously being developed to enhance visual experiences. One such advancement is the CityGaussian method, which leverages the concept of 3D Gaussian Splatting (3DGS). This approach addresses challenges in training and rendering large-scale scenes in real-time by implementing a divide-and-conquer training strategy combined with Level-of-Detail (LoD) selection.
What’s Inside CityGaussian?
CityGaussian offers a systematic solution for rendering high-quality large-scale scenes effectively. It excels in:
- Utilizing a global scene prior for efficient training
- Employing adaptive data selection for optimal results
- Providing a way to generate detail levels through compression
- Achieving rapid scene rendering across different scales using block-wise strategies
How to Use CityGaussian: A Step-by-Step Guide
Follow these simple instructions to get started with CityGaussian and experience impressive scene rendering quality:
Installation Steps
- Clone the Repository:
git clone --recursive https://github.com/DekuLiuTesla/CityGaussian.git cd CityGaussian mkdir data # store your dataset here mkdir output # store your output here - Create a Virtual Environment:
conda create -yn citygs python=3.9 pip conda activate citygs - Install PyTorch:
Ensure your `nvcc` version matches and install the corresponding PyTorch version. For example, for CUDA 11.8:pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118 - Install Requirements:
pip install -r requirements.txt - Install tailored LightGaussian for LoD:
cd LargeLightGaussian pip install submodules compress-diff-gaussian-rasterization ln -s path/to/data path/to/LargeLightGaussian/data ln -s path/to/output path/to/LargeLightGaussian/output cd ..
Preparing Your Dataset
Utilize the configurations set for five large-scale scenes (MatrixCity, Rubble, Building, Residence, and Sci-Art). Prepare data based on the detailed Data Preparation guide.
Training and Rendering Your Scene
For scene training:
bash
bash scripts/run_citygs.sh
This script will also render and evaluate the results.
For LoD rendering:
bash
cd LargeLightGaussian
bash scripts/run_prune_finetune_$your_scene.sh
bash scripts/run_distill_finetune_$your_scene.sh
bash scripts/run_vectree_quantize_$your_scene.sh
cd ..
bash scripts/run_citygs_lod.sh
Troubleshooting Your CityGaussian Experience
If you encounter issues during the setup or execution:
- Ensure your Python version is compatible (use Python 3.9).
- Double-check the installed version of PyTorch corresponding to your CUDA version.
- Review your configurations against the template files provided in the repository.
- Check that all required datasets are correctly linked and accessible.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
CityGaussian presents an innovative approach to solving the complexities involved in real-time large-scale scene rendering. By using adaptive techniques and efficient training methods, it significantly enhances rendering quality and speed. Experimenting with CityGaussian opens up new potential in the field of 3D visualizations.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions.
Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

