City Gaussian: Real-time High-quality Large-Scale Scene Rendering with Gaussian

Dec 6, 2023 | Data Science

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

  1. 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
  2. Create a Virtual Environment:
    conda create -yn citygs python=3.9 pip
    conda activate citygs
  3. 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
  4. Install Requirements:
    pip install -r requirements.txt
  5. 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.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox