Alexander Becker❄️🔥, Rodrigo Daudt❄️🔥, Dominik Narnhofer🔥, Torben Peters🔥, Nando Metzger🔥, Jan Dirk Wegner🌶️, Konrad Schindler🔥
❄️ Equal contribution
🔥 Photogrammetry and Remote Sensing, ETH Zurich
🌶️ Department of Mathematical Modeling and Machine Learning, University of Zurich
Thera is the first arbitrary-scale super-resolution method with a built-in physical observation model.
2025-03-15: We are #1 on Hacker News 🎉
2025-03-14: Interactive Hugging Face Space is online
2025-03-12: Pre-trained checkpoints are released
You need a Python 3.10 environment (e.g., installed via conda) on Linux as well as an NVIDIA GPU. Then install packages via pip:
> pip install --upgrade pip
> pip install -r requirements.txt
Download checkpoints:
Backbone | Variant | Download |
EDSR-base | Air | Hugging Face | Google Drive |
Plus | Hugging Face | Google Drive | |
Pro | Hugging Face | Google Drive | |
RDN | Air | Hugging Face | Google Drive |
Plus | Hugging Face | Google Drive | |
Pro | Hugging Face | Google Drive |
Super-resolve any image with:
> ./super_resolve.py IN_FILE OUT_FILE --scale 3.14 --checkpoint thera-rdn-pro.pkl
You can evaluate the models on datasets using the run_eval.py
script, e.g.:
> python run_eval.py --checkpoint thera-rdn-pro.pkl --data-dir path_to_data_parent_folder --eval-sets data_folder_1 data_folder_2 ...
You can run python run_eval.py -h
to display all testing options.
Training code will be released soon.
- Disable pre-allocation of entire VRAM:
XLA_PYTHON_CLIENT_PREALLOCATE=false
- Disable jitting for debugging:
JAX_DISABLE_JIT=1
If you found our work helpful, consider citing our paper 😊:
@article{becker2025thera,
title={Thera: Aliasing-Free Arbitrary-Scale Super-Resolution with Neural Heat Fields},
author={Becker, Alexander and Daudt, Rodrigo Caye and Narnhofer, Dominik and Peters, Torben and Metzger, Nando and Wegner, Jan Dirk and Schindler, Konrad},
journal={arXiv preprint arXiv:2311.17643},
year={2025}
}