🌦 [ICRA 2025] WeatherGS: 3D Scene Reconstruction in Adverse Weather Conditions via Gaussian Splatting
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.
⭐ 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.
git clone https://github.com/Jumponthemoon/WeatherGS.git
cd WeatherGSWe recommend using Anaconda:
conda env create --file environment.yml
conda activate weathergsYou can download preprocessed dataset through this link:
👉 Google Drive - WeatherGS Resource
cd 3DGS
python train.py -s /path/to/scene --masks /path/to/scene/masksDue incompatibility, you should build another two seperated environments to run the AEF and LED modules:
cd AEF
conda env create --file environment.yml
conda activate aef
python infer.py --image_path /path/to/imagesIf 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⚠ 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.txtFirst 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.
If you use this code or find this project helpful, please cite:
@INPROCEEDINGS{11128699,
author={Qian, Chenghao and Guo, Yuhu and Li, Wenjing and Markkula, Gustav},
booktitle={2025 IEEE International Conference on Robotics and Automation (ICRA)},
title={Weathergs: 3D Scene Reconstruction in Adverse Weather Conditions Via Gaussian Splatting},
year={2025},
volume={},
number={},
pages={185-191},
keywords={Three-dimensional displays;Precipitation;Detectors;Benchmark testing;Light emitting diodes;Cameras;Robotics and automation;Image reconstruction;Meteorology;Lenses},
doi={10.1109/ICRA55743.2025.11128699}}
This work builds upon 3D Gaussian Splatting, DiffPlugin and AttGAN. We thank for their amazing works!
