https://github.com/NJUVISION/ResULIC
[ICML 2025] Ultra Lowrate Image Compression with Semantic Residual Coding and Compression-Aware Diffusion
https://github.com/NJUVISION/ResULIC
Last synced: 4 months ago
JSON representation
[ICML 2025] Ultra Lowrate Image Compression with Semantic Residual Coding and Compression-Aware Diffusion
- Host: GitHub
- URL: https://github.com/NJUVISION/ResULIC
- Owner: NJUVISION
- License: bsd-3-clause
- Created: 2025-05-07T15:29:09.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-05-20T10:39:49.000Z (5 months ago)
- Last Synced: 2025-05-20T11:29:36.848Z (5 months ago)
- Language: Jupyter Notebook
- Homepage: https://njuvision.github.io/ResULIC/
- Size: 30.3 MB
- Stars: 12
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-diffusion-categorized - [Code
README
Ultra Lowrate Image Compression with Semantic Residual Coding and Compression-aware Diffusion
Anle Ke1 ·
Xu Zhang1 ·
Tong Chen1 ·
Ming Lu1 ·
Chao Zhou2 ·
Jiawen Gu2 ·
Zhan Ma1
1 Nanjing University 2Kuaishou Technology
## :book: Table Of Contents
- [✨ Visual Results](#visual_results)
- [⏳ Train](#computer-train)
- [😀 Inference](#inference)
- [🌊 TODO](#todo)
- [❤ Acknowledgement](#acknowledgement)
- [🙇 Citation](#cite)## ⚙️ Environment Setup
```bash
- conda create -n ResULIC python=3.10
- conda activate ResULIC
- pip install -r requirements.txt
```
**Note:** The numbers in the yaml filenames (e.g., `1_1_1`) represent $\lambda_{\text{diffusion}}$, $\lambda_{\text{mse}}$, and $\lambda_{\text{bpp}}$ respectively.
#### Stage 1: Initial Training
1. **Download Pretrained Model**
Download the pretrained **Stable Diffusion v2.1** model into the `./weight` directory:
```bash
wget https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.ckpt --no-check-certificate -P ./weight2. **Modify the configuration file**`./configs/train_zc_eps.yaml` and `./configs/model/stage1/xx.yaml` accordingly.
3. Start training.
```
bash stage1.sh
```
#### Stage 2:1. Modify the configuration file `./configs/train_stage2.yaml` and `./configs/model/stage2/xx.yaml` accordingly.
2. Start training.
```
bash stage2.py
```
1. W/o Srr, W/o Pfo.```
CUDA_VISIBLE_DEVICES=2 python inference_win.py \
--ckpt xx \
--config /xx/xx.yaml \
--output xx/ \
--ddim_steps x \
--ddim_eta 0 \
--Q x.0 \
--add_steps x00
```2. W/ Srr, W/o Pfo.
```
CUDA_VISIBLE_DEVICES=2 python inference_res.py \
--ckpt xx \
--config /xx/xx.yaml \
--output xx/ \
--ddim_steps x \
--ddim_eta 0 \
--Q x.0 \
--add_steps x00
```## 🌊 TODO
- [x] Release code
- [x] Release quantitative metrics (👾The quantitative metrics for ResULIC presented in our paper can be found in [indicator](/indicator).)
- [ ] Release pretrained models (Coming soon)If you find our work useful, please consider citing:
```bibtex
@inproceedings{Ke2025resulic,
author = {Ke, Anle and Zhang, Xu and Chen, Tong and Lu, Ming and Zhou, Chao and Gu, Jiawen and Ma, Zhan},
title = {Ultra Lowrate Image Compression with Semantic Residual Coding and Compression-aware Diffusion},
booktitle = {International Conference on Machine Learning},
year = {2025}
}
```