Update README.md
Browse files
README.md
CHANGED
|
@@ -9,7 +9,10 @@ tags:
|
|
| 9 |
|
| 10 |
# Probabilistic Precipitation Nowcasting with Rectified Flow Transformers
|
| 11 |
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
We propose FREUD, a FRame-wise Encoder, United Decoder rectified flow-based first stage for precipitation nowcasting.
|
| 15 |
Weather forecasting requires probabilistic prediction. Our generative decoder allows **uncertainty-aware compression**.
|
|
@@ -17,11 +20,118 @@ Our FREUD design enables variable-length inputs, robustness to frame drops, and
|
|
| 17 |
We enable **simple training** - no loss weight tuning, only a simple, stable rectified flow objective.
|
| 18 |
A rectified-flow model in FREUD latent space achieves **state-of-the-art distributional and perceptual forecasting** quality.
|
| 19 |
|
| 20 |
-
|
|
|
|
|
|
|
| 21 |
|
| 22 |
*Our generative decoder can quantify uncertainty about compression and covers the true precipitation in heavy-rain scenarios, while deterministic decoding collapses to incorrect modes.*
|
| 23 |
|
| 24 |
<p align="center">
|
| 25 |
-
<img src="./docs/
|
| 26 |
</p>
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
|
| 10 |
# Probabilistic Precipitation Nowcasting with Rectified Flow Transformers
|
| 11 |
|
| 12 |
+
[](https://compvis.github.io/weather-rf/)
|
| 13 |
+
[](https://openaccess.thecvf.com//content/CVPR2026/papers/Schusterbauer_Probabilistic_Precipitation_Nowcasting_with_Rectified_Flow_Transformers_CVPR_2026_paper.pdf)
|
| 14 |
+
[](https://github.com/CompVis/weather-rf)
|
| 15 |
+
|
| 16 |
|
| 17 |
We propose FREUD, a FRame-wise Encoder, United Decoder rectified flow-based first stage for precipitation nowcasting.
|
| 18 |
Weather forecasting requires probabilistic prediction. Our generative decoder allows **uncertainty-aware compression**.
|
|
|
|
| 20 |
We enable **simple training** - no loss weight tuning, only a simple, stable rectified flow objective.
|
| 21 |
A rectified-flow model in FREUD latent space achieves **state-of-the-art distributional and perceptual forecasting** quality.
|
| 22 |
|
| 23 |
+
<p align="center">
|
| 24 |
+
<img src="./docs/teaser_figure_weather.svg" alt="Reconstruction distributions for different precipitation levels" width=700px>
|
| 25 |
+
</p>
|
| 26 |
|
| 27 |
*Our generative decoder can quantify uncertainty about compression and covers the true precipitation in heavy-rain scenarios, while deterministic decoding collapses to incorrect modes.*
|
| 28 |
|
| 29 |
<p align="center">
|
| 30 |
+
<img src="./docs/qual-forecast.svg" alt="Forecasts with zoom-ins" width=700px>
|
| 31 |
</p>
|
| 32 |
|
| 33 |
+
*Forecasts remain realistic over time and ensemble members capture different plausible outcomes.*
|
| 34 |
+
|
| 35 |
+
## Paper and Abstract
|
| 36 |
+
|
| 37 |
+
The FREUD model was presented in the paper [Probabilistic Precipitation Nowcasting with Rectified Flow Transformers](https://openaccess.thecvf.com//content/CVPR2026/papers/Schusterbauer_Probabilistic_Precipitation_Nowcasting_with_Rectified_Flow_Transformers_CVPR_2026_paper.pdf), accepted at CVPR 2026.
|
| 38 |
+
|
| 39 |
+
### Abstract:
|
| 40 |
+
|
| 41 |
+
<p><em>
|
| 42 |
+
Accurate weather forecasts are essential across various domains and are safety-critical in extreme weather conditions. Compared to simulation-based forecasting, data-driven approaches show greater efficiency, enabling short-term, high-resolution nowcasting. In particular, diffusion models proved effective in weather nowcasting due to their strong probabilistic foundation. However, existing methods rely on deterministic compression to reduce the complexity of high-dimensional weather data, limiting their ability to capture uncertainty in the decoding process. In this work, we introduce, a <strong>Fr</strong>ame-wise <strong>E</strong>ncoder and <strong>U</strong>nited <strong>D</strong>ecoder model based on rectified flow transformers for efficient compression of spatio-temporal weather data. Frame-wise encoding enables continuous forecast updates, while the unified video decoder ensures temporal consistency. Our uncertainty-preserving first stage allows us to capture aleatoric uncertainty through ensembling, which is particularly beneficial for extreme weather events with high decoding variability. We achieve state-of-the-art performance in precipitation nowcasting with a compact latent-space rectified flow transformer on the SEVIR benchmark and show further performance gains by model and test-time scaling.
|
| 43 |
+
</em></p>
|
| 44 |
+
|
| 45 |
+
## Usage
|
| 46 |
+
|
| 47 |
+
Please refer to [our GitHub repository](https://github.com/CompVis/weather-rf) for model implementations and usage details.
|
| 48 |
+
|
| 49 |
+
### Setup
|
| 50 |
+
|
| 51 |
+
1. Clone the repository:
|
| 52 |
+
|
| 53 |
+
```bash
|
| 54 |
+
git clone https://github.com/CompVis/weather-rf
|
| 55 |
+
cd weather-rf
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
2. Download model weights:
|
| 59 |
+
|
| 60 |
+
Download the model weights from 🤗 huggingface:
|
| 61 |
+
|
| 62 |
+
```bash
|
| 63 |
+
hf download CompVis/weather-rf --local-dir ckpts
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
3. Create a Python environment and install dependencies:
|
| 67 |
+
|
| 68 |
+
Conda (recommended):
|
| 69 |
+
|
| 70 |
+
```bash
|
| 71 |
+
conda create -n weather-rf python=3.12 -y
|
| 72 |
+
conda activate weather-rf
|
| 73 |
+
python -m pip install --upgrade pip
|
| 74 |
+
pip install -r requirements.txt
|
| 75 |
+
```
|
| 76 |
+
|
| 77 |
+
Virtual environment:
|
| 78 |
+
|
| 79 |
+
```bash
|
| 80 |
+
python3.12 -m venv .venv
|
| 81 |
+
source .venv/bin/activate
|
| 82 |
+
python -m pip install --upgrade pip
|
| 83 |
+
pip install -r requirements.txt
|
| 84 |
+
```
|
| 85 |
+
|
| 86 |
+
### Inference
|
| 87 |
+
|
| 88 |
+
The notebook [notebooks/inference.ipynb](notebooks/inference.ipynb) contains code for obtaining both
|
| 89 |
+
|
| 90 |
+
- FREUD reconstructions and
|
| 91 |
+
- RaMViD latent-space forecasting (LSM)
|
| 92 |
+
|
| 93 |
+
Open it and update local paths (dataset + checkpoints) in the config cells.
|
| 94 |
+
|
| 95 |
+
For script-based evaluation, run:
|
| 96 |
+
|
| 97 |
+
```bash
|
| 98 |
+
python eval/eval_forecasting.py \
|
| 99 |
+
--model_path checkpoints/lsm.ckpt \
|
| 100 |
+
--sevir_npy_path <SEVIR_NPY_ROOT_PLACEHOLDER> \
|
| 101 |
+
--txt_path data/test_data.txt
|
| 102 |
+
```
|
| 103 |
+
|
| 104 |
+
or to evaluate reconstruction quality run:
|
| 105 |
+
|
| 106 |
+
```bash
|
| 107 |
+
python eval/eval_freud_recon.py \
|
| 108 |
+
--model_path checkpoints/freud.ckpt \
|
| 109 |
+
--sevir_npy_path <SEVIR_NPY_ROOT_PLACEHOLDER> \
|
| 110 |
+
--txt_path data/test_data.txt
|
| 111 |
+
```
|
| 112 |
+
|
| 113 |
+
### ⚠️ Original vs. Clean Implementation
|
| 114 |
+
|
| 115 |
+
Results in the paper were obtained using models trained with `torch==2.5.1`.
|
| 116 |
+
Due to changes in the behavior of `flex_attention`, we found checkpoints obtained with this version are **incompatible with newer PyTorch versions** and **highly sensitive to implementation details**.
|
| 117 |
+
|
| 118 |
+
Therefore, *we provide two implementations of our model*:
|
| 119 |
+
- **Clean**: In `model/` we provide a clean, easy-to-use, and easy-to-understand implementation of our models compatible with newer PyTorch versions. However, results may differ to results reported in the paper.
|
| 120 |
+
- **Original**: In `original_model/` we provide code to run the models we trained for the paper. These models **have to be run with `torch==2.5.1`** (see `original_requirements`). This implementation can be used to reproduce our results, yet might be fragile.
|
| 121 |
+
|
| 122 |
+
We provide an example of how to use the original implementation in `notebooks/original_inference.ipynb`. Some slight modification to the eval scripts is necessary to use them with the original models, yet core logic for evaluation is shared across both model versions.
|
| 123 |
+
|
| 124 |
+
We recommend using the `original_model` when exact reproduction/comparison is of essence and `model` when integrating components of our model into different pipelines.
|
| 125 |
+
|
| 126 |
+
## Citation
|
| 127 |
+
|
| 128 |
+
If you use our work or parts thereof, please cite us accordingly:
|
| 129 |
+
|
| 130 |
+
```bibtex
|
| 131 |
+
@inproceedings{schusterbauer2026probabilisticprecipitation,
|
| 132 |
+
title = {Probabilistic Precipitation Nowcasting with Rectified Flow Transformers},
|
| 133 |
+
author = {Schusterbauer, Johannes and Wiese, Jannik and Stracke, Nick and Phan, Timy and Ommer, Bj{\"o}rn},
|
| 134 |
+
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
|
| 135 |
+
year = {2026}
|
| 136 |
+
}
|
| 137 |
+
```
|