You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 years ago | |
|---|---|---|
| Figure | 3 years ago | |
| config | 3 years ago | |
| datasets | 3 years ago | |
| models | 3 years ago | |
| out | 3 years ago | |
| util | 3 years ago | |
| README.md | 3 years ago | |
| Stripformer_gopro.pth | 3 years ago | |
| Stripformer_realblur_J.pth | 3 years ago | |
| Stripformer_realblur_R.pth | 3 years ago | |
| aug.py | 3 years ago | |
| dataset.py | 3 years ago | |
| evaluate_RealBlur_J.py | 3 years ago | |
| evaluate_RealBlur_R.py | 3 years ago | |
| evaluation_GoPro.m | 3 years ago | |
| evaluation_HIDE.m | 3 years ago | |
| license | 3 years ago | |
| metric_counter.py | 3 years ago | |
| predict_GoPro_test_results.py | 3 years ago | |
| predict_HIDE_results.py | 3 years ago | |
| predict_RealBlur_J_test_results.py | 3 years ago | |
| predict_RealBlur_R_test_results.py | 3 years ago | |
| schedulers.py | 3 years ago | |
| train_Stripformer_gopro.py | 3 years ago | |
| train_Stripformer_pretrained.py | 3 years ago | |
README.md
Stripformer (ECCV 2022)
Pytorch Implementation of "Stripformer: Strip Transformer for Fast Image Deblurring" (ECCV 2022 Oral)
Installation
The implementation is modified from "DeblurGANv2"
git clone https://github.com/pp00704831/Stripformer.git
cd Stripformer
conda create -n Stripformer python=3.6
source activate Stripformer
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
pip install opencv-python tqdm pyyaml joblib glog scikit-image tensorboardX albumentations
pip install -U albumentations[imgaug]
pip install albumentations==1.1.0
Training
Download "GoPro" dataset into './datasets'
For example: './datasets/GoPro'
We train our Stripformer in two stages:
- We pre-train Stripformer for 3000 epochs with patch size 256x256
- Run the following command
python train_Stripformer_pretrained.py
- After 3000 epochs, we keep training Stripformer for 1000 epochs with patch size 512x512
- Run the following command
python train_Stripformer_gopro.py
Testing
For reproducing our results on GoPro and HIDE datasets, download "Stripformer_gopro.pth"
For reproducing our results on RealBlur dataset, download "Stripformer_realblur_J.pth" and "Stripformer_realblur_R.pth"
For testing on GoPro dataset
- Download "GoPro" full dataset or test set into './datasets' (For example: './datasets/GoPro/test')
- Run the following command
python predict_GoPro_test_results.py --weights_path ./Stripformer_gopro.pth
For testing on HIDE dataset
- Download "HIDE" into './datasets'
- Run the following command
python predict_HIDE_results.py --weights_path ./Stripformer_gopro.pth
For testing on RealBlur test sets
- Download "RealBlur_J" and "RealBlur_R" into './datasets'
- Run the following command
python predict_RealBlur_J_test_results.py --weights_path ./Stripformer_realblur_J.pth
python predict_RealBlur_R_test_results.py --weights_path ./Stripformer_realblur_R.pth
For testing your own training weight (take GoPro for a example)
- Rename the path in line 23 in the predict_GoPro_test_results.py
- Chage command to --weights_path ./final_Stripformer_gopro.pth
Evaluation
- For evaluation on GoPro results in MATLAB, download "Stripformer_GoPro_results" into './out'
evaluation_GoPro.m
- For evaluation on HIDE results in MATLAB, download "Stripformer_HIDE_results" into './out'
evaluation_HIDE.m
- For evaluation on RealBlur_J results, download "Stripformer_realblur_J_results" into './out'
python evaluate_RealBlur_J.py
- For evaluation on RealBlur_R results, download "Stripformer_realblur_R_results" into './out'
python evaluate_RealBlur_R.py
Citation
@inproceedings{Tsai2022Stripformer,
author = {Fu-Jen Tsai and Yan-Tsung Peng and Yen-Yu Lin and Chung-Chi Tsai and Chia-Wen Lin},
title = {Stripformer: Strip Transformer for Fast Image Deblurring},
booktitle = {ECCV},
year = {2022}
}