# PPON
**Repository Path**: liuchang0286_admin/PPON
## Basic Information
- **Project Name**: PPON
- **Description**: Progressive Perception-Oriented Network for Single Image Super-Resolution
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-04-30
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# PPON
Pytorch implemention of "Progressive Perception-Oriented Network for Single Image Super-Resolution"
[[arXiv]](https://arxiv.org/abs/1907.10399)
The schematics of the Progressive Perception-Oriented Network
|
|
The example results
Visualization of intermediate feature maps
The inference architecture of our PPON.
## Testing
Pytorch 1.1
* Download [PIRM_dataset](https://drive.google.com/open?id=1T-B-EAZVeXfbUu6Frnpa6X2u7kxxRyvt) and unzip it into folder `Test_Datasets`
* Download [Checkpoint](https://drive.google.com/open?id=112qwpKHNt5TC3xyzGxYAhYaPHQqo_VrA) and put them into folder `ckpt`
* Run testing:
```bash
python test_PPON.py --test_hr_folder Test_Datasets/PIRM_Val/ --test_lr_folder Test_Datasets/PIRM_Val_LR/
```
## Training
* Download DF2K (DIV2K + Flickr2k) training datasets and rename the images to `00xxxx.png` (e.g., 003450.png)
* Convert png file to npy file
```bash
python scripts/png2npy.py --pathFrom /path/to/DF2K/ --pathTo /path/to/DF2K_decoded/
```
* Run training x4 model (stage 1, content)
```bash
python train.py --nEpochs 1000 --test_every 690 --which_model "content" --lr_steps [200, 400, 600, 800] --save_path 'ckpt_stage1'
```
(stage 2, structure)
```bash
python train.py --nEpochs 300 --test_every 138 --which_model "structure" --pixel_weight 0 --structure_weight 1 --lr_steps [100, 150, 200, 250] --save_path 'ckpt_stage2'
```
(stage3, perceptual)
```bash
python train.py --nEpochs 300 --test_every 138 --which_model "perceptual" --pixel_weight 0 --feature_weight 1 --gan_weight 0.005 --lr_steps [100, 150, 200, 250] --save_path 'ckpt_stage3'
```
## PI VS LPIPS

As illustrated in the above picture, we can obviously see that the PI score of EPSR3 (2.2666) is even better than HR (2.3885), but EPSR3 shows unnatural and lacks proper texture and structure.
## Example Results


## Citation
If you find PPON useful in your research, please consider citing:
```
@article{Hui-PPON-2019,
title={Progressive Perception-Oriented Network for Single Image Super-Resolution},
author={Hui, Zheng and Li, Jie and Gao, Xinbo and Wang, Xiumei},
journal={arXiv:1907.10399v1},
year={2019}
}
```