- This is the PyTorch implementation of Deep HDR Imaging via A Non-Local Network (TIP 2020).
- 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.
- Python >= 3.7
- PyTorch >= 1.4.0
- opencv-python = 4.5.1
- imageio = 2.13.3
- matplotlib
The training data and testing data is from Kalantari (ACM TOG 2017), the dataset can be downloaded 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 :
The output images are placed in
python main.py --test_only
./results/0_epoch/
- 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 :Notice that the default setting of this program is implementing validation on the test dataset after training, you can modifysh 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)