Anle Ke1 · Xu Zhang1 · Tong Chen1 · Ming Lu1 · Chao Zhou2 · Jiawen Gu2 · Zhan Ma1
1 Nanjing University 2Kuaishou Technology
- 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
-
Download Pretrained Model
Download the pretrained Stable Diffusion v2.1 model into the./weight
directory:wget https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.ckpt --no-check-certificate -P ./weight
-
Modify the configuration file
./configs/train_zc_eps.yaml
and./configs/model/stage1/xx.yaml
accordingly. -
Start training.
bash stage1.sh
-
Modify the configuration file
./configs/train_stage2.yaml
and./configs/model/stage2/xx.yaml
accordingly. -
Start training.
bash stage2.py
Note: It is recommended to set "ddim_steps" to a number that is divisible by "add_steps". For example, when add_steps=600, ddim_steps could be 2, 3, 5...
-
W/o Srr, W/o Pfo.
CUDA_VISIBLE_DEVICES=2 python inference_win.py \ --ckpt xx \ --config /xx/xx.yaml \ --output xx/ \ --ddim_steps 3 \ --ddim_eta 0 \ --Q x.0 \ --add_steps x00
-
W/ Srr, W/o Pfo.
CUDA_VISIBLE_DEVICES=2 python inference_res.py \ --ckpt xx \ --config /xx/xx.yaml \ --output xx/ \ --ddim_steps 3 \ --ddim_eta 0 \ --Q x.0 \ --add_steps x00
- Release code
- Release quantitative metrics (👾The quantitative metrics for ResULIC presented in our paper can be found in indicator.)
- Release pretrained models (Coming soon)
This work is based on ControlNet, ControlNet-XS, DiffEIC, and ELIC, thanks to their invaluable contributions.
If you find our work useful, please consider citing:
@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}
}