NHDRRNet-PyTorch
- This is the PyTorch implementation of Deep HDR Imaging via A Non-Local Network (TIP 2020).
0. Differences between Original Paper and this Repository
- The mu-PSNR value in the paper is 42.4143 dB, in this PyTorch implementation version, the mu-PSNR value is 43.1572 dB.
- In the training process, data augmentation is not implemented in the repository.
- In the training process, the original paper trained the model for 160,000 epochs and adjust the learning rate for every 20,000 epochs after 80,000 epochs. While in the repository, the mu-PSNR value reached 43.1572 dB after around 6000 epochs and the learning rate is adjusted every 20,000 epochs.
1. Environment
- Python >= 3.7
- PyTorch >= 1.4.0
- opencv-python = 4.5.1
- imageio = 2.13.3
- matplotlib
2. Dataset
The training data and testing data is from Kalantari (ACM TOG 2017), the dataset can be downloade from Kalantari Dataset.
3. Quick Demo (Only for tiff format 48-depth images (same with the Kalantari Dataset) now, others in progress)
- Clone this repository:
git clone https://github.com/ytZhang99/NHDRRNet-PyTorch.git
- Download the trained model from Baidu Netdisk , Access Code: [pho5]. Place the model under
./ckp
. - Place the test image folders in
./data/Test/
:Test └── test_data ├── Name_A | ├── 1.tif | ├── 2.tif | ├── 3.tif | ├── exposure.txt | └── HDRImg.hdr (optional) └── Name_B
- Run the following command to test :
python main.py --test_only
./results/0_epoch/
4. Training
- Place the training image folders in
./data/Train/
:Train └── train_data ├── Name_A | ├── 1.tif | ├── 2.tif | ├── 3.tif | ├── exposure.txt | └── HDRImg.hdr └── Name_B
- Modify the
main.sh
file and run the following command to train :sh main.sh
main.sh
to close the validation progress. - The trained model is saved in
./ckp/
, then you can test your own model :python main.py --test_only --model latest.pth python main.py --test_only --model best_checkpoint.pth (This model is accessible with validation)