Awesome
<p align=center> :fire: RIDCP: Revitalizing Real Image Dehazing via High-Quality Codebook Priors (CVPR2023)
</p>
This is the official PyTorch codes for the paper.
RIDCP: Revitalizing Real Image Dehazing via High-Quality Codebook Priors<br> Ruiqi Wu, Zhengpeng Duan, Chunle Guo<sup>*</sup>, Zhi Chai, Chongyi Li ( * indicates corresponding author)<br> The IEEE / CVF Computer Vision and Pattern Recognition Conference (CVPR), 2023
[Arxiv Paper] [中文版 (TBD)] [Website Page] [Dataset (pwd:qqqo)]
:rocket: Highlights:
- SOTA performance: The proposed RIDCP achieves superior performance in both qualitative and quantitative comparisons with SOTA methods.
- Adjustable: Our RIDCP can adjust the degree of enhancement manually.
:page_facing_up: Todo-list
- Release code for VQGAN pre-training and CHM weights acquiring
- Website page
- Colab demo
Demo
<img src="figs/fig1.png" width="800px"> <img src="figs/fig2.png" width="800px">Video examples
<img src="https://github.com/RQ-Wu/RIDCP/blob/master/figs/mountain.gif?raw=true" width="390px"/> <img src="https://github.com/RQ-Wu/RIDCP/blob/master/figs/car.gif?raw=true" width="390px"/>
Dependencies and Installation
- Ubuntu >= 18.04
- CUDA >= 11.0
- Other required packages in
requirements.txt
# git clone this repository
git clone https://github.com/RQ-Wu/RIDCP.git
cd RIDCP
# create new anaconda env
conda create -n ridcp python=3.8
conda activate ridcp
# install python dependencies
pip install -r requirements.txt
BASICSR_EXT=True python setup.py develop
Get Started
Prepare pretrained models & dataset
- Downloading pretrained checkpoints
- Preparing data for training
- The final directory structure will be arranged as:
datasets
|- clear_images_no_haze_no_dark_500
|- xxx.jpg
|- ...
|- depth_500
|- xxx.npy
|- ...
|- Flickr2K
|- DIV2K
pretrained_models
|- pretrained_HQPs.pth
|- pretrained_RIDCP.pth
|- weight_for_matching_dehazing_Flickr.pth
Quick demo
Run demos to process the images in dir ./examples/
by following commands:
python inference_ridcp.py -i examples -w pretrained_models/pretrained_RIDCP.pth -o results --use weight --alpha -21.25
Train RIDCP
Step 1: Pretrain a VQGAN on high-quality dataset
TBD
Step 2: Train our RIDCP
CUDA_VISIBLE_DEVICES=X,X,X,X python basicsr/train.py --opt options/RIDCP.yml
Step3: Adjust our RIDCP
TBD
Citation
If you find our repo useful for your research, please cite us:
@inproceedings{wu2023ridcp,
title={RIDCP: Revitalizing Real Image Dehazing via High-Quality Codebook Priors},
author={Wu, Ruiqi and Duan, Zhengpeng and Guo, Chunle and Chai, Zhi and Li, Chongyi},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year={2023}
}
License
Licensed under a Creative Commons Attribution-NonCommercial 4.0 International for Non-commercial use only. Any commercial use should get formal permission first.
Acknowledgement
This repository is maintained by Ruiqi Wu.