Omnidirectional Image Super-resolution via Bi-projection Fusion (AAAI 2024) [PDF]
Jiangang Wang | Yuning Cui | Yawen Li | Wenqi Ren | Xiaochun Cao
Shenzhen Campus of Sun Yat-sen University
Technical University of Munich
Beijing University of Posts and Telecommunications
⭐ If BPOSR is helpful to your images or projects, please consider starring this repo. Thank you! 🤗
To get started, follow these steps to clone the repository, set up your environment, and install the required dependencies:
## Clone this repository
git clone https://github.com/W-JG/BPOSR
cd BPOSR
## Create a conda environment
conda create -n BPOSR python=3.10
conda activate BPOSR
## Install dependencies
pip install -r requirements.txt
python setup.py developDownload the LAU dataset from this link and place it in the Dataset directory.
To extract the data, run:
cd Dataset
unrar x lau_dataset.rarTo clean the dataset, similar to OSRT, run the following command:
python Data_prepare/make_clean_lau_dataset.pyThis will create a lau_dataset_clean folder inside the Dataset directory.
Download the pretrained weights from this link and place them in the BPOSR/experiments folder.
Use the following commands to test with different scales:
CUDA_VISIBLE_DEVICES=0 python basicsr/test.py -opt ./options/BPOSR_test/test_BPOSR_x4.yml
CUDA_VISIBLE_DEVICES=1 python basicsr/test.py -opt ./options/BPOSR_test/test_BPOSR_x8.yml
CUDA_VISIBLE_DEVICES=2 python basicsr/test.py -opt ./options/BPOSR_test/test_BPOSR_x16.ymlFor single-GPU training, run the following command:
PYTHONPATH="./:${PYTHONPATH}" CUDA_VISIBLE_DEVICES=0 python -W ignore basicsr/train.py -opt options/BPOSR_train/train_BPOSR_SW_SRx4.ymlFor multi-GPU training, use the following command:
PYTHONPATH="./:${PYTHONPATH}" CUDA_VISIBLE_DEVICES=0,1,2,3 python -W ignore -m torch.distributed.launch --nproc_per_node=4 --master_port=4321 --use_env basicsr/train.py -opt options/BPOSR_train/train_BPOSR_SW_SRx4.yml --launcher pytorchNote: Be sure to modify the
train_BPOSR_SW_SRx4.ymlfile and setnum_gpu: 4accordingly.
For a quick understanding of the project, you can check out the poster and presentation slides:
This project is built upon BasicSR.
The core code for BPOSR is located in the following files:
basicsr/archs/BPOSR_arch.pybasicsr/metrics/odi_metric.pybasicsr/data/OmniImage_dataset.pybasicsr/data/Omni_transforms.py
For any questions, feel free to reach out to:
Email: [email protected]
If this code is helpful for your research or projects, please consider citing our paper. Here's the BibTeX reference:
@inproceedings{wang2024omnidirectional,
title={Omnidirectional Image Super-resolution via Bi-projection Fusion},
author={Wang, Jiangang and Cui, Yuning and Li, Yawen and Ren, Wenqi and Cao, Xiaochun},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
volume={38},
number={6},
pages={5454--5462},
year={2024}
}
This project is released under the MIT License.
We apologize for the delayed release of the code. After the paper was submitted, the authors changed affiliations, which made it challenging to access the original data. We appreciate your understanding.
