Skip to content

react-gs/ReAct-GS

Repository files navigation

ReAct-GS

Re-Activating Frozen Primitives for 3D Gaussian Splatting

Yuxin Cheng · Binxiao Huang · Wenyong Zhou · Taiqiang Wu · Graziano Chesi · Zhengwu Liu · Ngai Wong*

Department of EEE, The University of Hong Kong, Pokfulum, Hong Kong SAR

*corresponding authors

3DGS ReAct-GS

3DGS (left) tends to exhibit blurring and needle-like artifacts, while ReAct-GS (right) effectively re-activates frozen primitives through proposed re-activation stategies to improve rendering quality.

Overview

ReAct-GS addresses a critical limitation in 3D Gaussian Splatting (3DGS): the problem of frozen primitives that become stuck in suboptimal configurations during training, causing over-reconstruction artifacts. Our method introduces targeted reactivation strategies: 1) Importance-aware Densification (IAD); 2) Density-guided Clone (DGC); 3)Needle-shape Perturbance (NSP), a novel approach that periodically identifies and re-activates forzen Gaussian primitives, enabling them to contribute more effectively to scene reconstruction.

Installation

Environment Setup

We recommend using conda to create a virtual environment:

conda create -n reactgs python=3.9 -y
conda activate reactgs

Install PyTorch

Install PyTorch with CUDA support:

conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia

Install Dependencies

Install required Python packages:

pip install -r requirements.txt

Build Submodules

Build the differential Gaussian rasterization and simple-knn modules:

cd submodules
pip install -e ./diff-gaussian-rasterization
pip install -e ./simple-knn

Dataset Preparation

The dataset preparation is aligned with 3DGS

Mip-NeRF 360 Dataset

  1. Download the Mip-NeRF 360 dataset from the official website
  2. Combine the scenes into the following structure:
ReActGS-main
|---data_ms360
    |---bicycle
    |   |---images
    |   |   |---<image 0>
    |   |   |---<image 1>
    |   |   |---...
    |   |---images_2
    |   |---images_4
    |   |---images_8
    |   |---sparse
    |       |---0
    |           |---cameras.bin
    |           |---images.bin
    |           |---points3D.bin
    |---bonsai
    |---counter
    |---garden
    |---kitchen
    |---room
    |---stump
    |---...

Training

Quick Start with Batch Scripts

To train on a single scene:

python train.py -s <path_to_scene> -m <output_path> -r 4(outdoor scenes)/2(indoor scenes)

Key Training Parameters

  • --nsp_interval: Interval for applying Needle Shape Perturbance
  • --nsp_util: Training iteration until which NSP is applied
  • --iterations: Total number of training iterations
  • --densify_from_iter: Start densification from this iteration
  • --densify_until_iter: Stop densification at this iteration
  • --densification_interval: Interval for densification operations

Example Commands

# Train with custom NSP parameters
python train.py -s data/flowers -m output/flowers -r 4
python train.py -s data/bonsai -m output/bonsai -r 2

Rendering

Render Test Views

python render.py -m <path_to_trained_model>

Options

  • --iteration: Specify which checkpoint to use (default: -1, uses the final model)
  • --skip_train: Skip rendering training views
  • --skip_test: Skip rendering test views

Evaluation

Evaluate a Single Scene

python metrics.py -m <path_to_trained_model>

Interactive Viewer

ReAct-GS is fully compatible with the original 3DGS viewer since our rendering process and point cloud storage format are identical to 3DGS.

Please refer to the 3DGS Interactive Viewers documentation for detailed instructions on using the real-time viewer.

Citation

If you find ReAct-GS useful for your research, please cite our paper:

@inproceedings{10.1145/3746027.3754958,
  author = {Yuxin Cheng, Binxiao Huang, Taiqiang Wu, Wenyong Zhou, Zhengwu Liu, Graziano Chesi, Ngai Wong},
  title = {Re-Activate Frozen Primitive for 3D Gaussian Splatting},
  year = {2025},
  isbn = {9798400720352},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3746027.3754958},
  doi = {10.1145/3746027.3754958},
  booktitle = {Proceedings of the 33nd ACM International Conference on Multimedia},
  location = {Dublin, Ireland},
  series = {MM '25'}
}

Acknowledgements

This project is inspired and built upon 3D Gaussian Splatting, Pixel-GS and Abs-GS. We thank the authors for their excellent work and for making their code publicly available. Please follow the license terms of 3DGS when using this code.

License

This project is licensed under the same terms as the original 3D Gaussian Splatting. See LICENSE.md for details. This software is free for non-commercial, research and evaluation use.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published