Skip to content

Jumponthemoon/WeatherGS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌦 [ICRA 2025] WeatherGS: 3D Scene Reconstruction in Adverse Weather Conditions via Gaussian Splatting

Project Page arXiv Paper image

WeatherGS is a novel framework for 3D scene reconstruction under challenging weather conditions such as rain and snow. Built upon 3D Gaussian Splatting (3DGS), WeatherGS addresses the limitations of conventional 3DGS models when applied to scenes with dynamic, weather-induced noise.

🚀 Highlights

If you like our work or find it useful, please give us a star or cite below. Thanks!

  • 🌧️ Weather-Resilient: Effectively distinguishes and filters out transient artefacts to improve static scene reconstruction.
  • 🧠 Mask-Guided Optimization: Leverages learned visibility and transient masks to suppress weather-induced distortions.
  • 🎥 Photo-Realistic Output: Maintains high-fidelity rendering even under severe weather degradation.
  • Fast Rendering: Preserves the real-time rendering capability of the original 3D Gaussian Splatting framework.

Make sure your system supports PyTorch with GPU acceleration.

🧰 Clone Code

git clone https://github.com/Jumponthemoon/WeatherGS.git
cd WeatherGS

📦 Installation

We recommend using Anaconda:

conda env create --file environment.yml
conda activate weathergs

📁 Datasets

You can download preprocessed dataset through this link:
👉 Google Drive - WeatherGS Resource

🏃‍♂️ Training

cd 3DGS
python train.py -s /path/to/scene --masks /path/to/scene/masks

🔧 (Optional) Preprocessing Your Own Scenes

Due incompatibility, you should build another two seperated environments to run the AEF and LED modules:

AEF (Atmospheric Effect Filter)

cd AEF
conda env create --file environment.yml
conda activate aef
python infer.py --image_path /path/to/images

If you know the type of the scene, you can add --task for better performance:

python infer.py --image_path /path/to/images --task desnow  # or derain

LED (Len Effect Detector)

⚠ Requires TensorFlow 1.15. We recommend using a separate environment:

cd LED
conda deactivate
conda create -n led python=3.6
conda activate led
pip install -r requirements.txt

First generate coarse masks:

python detect_occlusion.py --image_path /path/to/processed_images/

Then refine the mask by changing threshold and dilation parameters:

python refine_mask.py --scene_path /path/to/scene/

The final masks will be saved in the masks/ directory.

📄 Citation

If you use this code or find this project helpful, please cite:

@misc{weathergs_qian,
      title={WeatherGS: 3D Scene Reconstruction in Adverse Weather Conditions via Gaussian Splatting}, 
      author={Chenghao Qian and Yuhu Guo and Wenjing Li and Gustav Markkula},
      year={2025},
      eprint={2412.18862},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2412.18862}, 
}

🤝 Acknowledgements

This work builds upon 3D Gaussian Splatting, DiffPlugin and AttGAN. We thank for their amazing works!

About

[IEEE ICRA 2025] WeatherGS: 3D Scene Reconstruction in Adverse Weather Conditions via Gaussian Splatting

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published