Skip to content

Readme.md

sunner edited this page Dec 23, 2018 · 29 revisions

DeepFuse.pytorch

The re-implementation of ICCV 2017 DeepFuse paper

Abstraction

Multiple exposure fusion is a critical issue in computer vision. Additionally, this technique can be adopt in smart phone to demonstrate the image with high lighting quality. However, the original author didn't release the official implementation. In this repository, we try to re-produce the idea of DeepFuse, and fuse the under-exposure image and over-exposure image with appropriate manner.

Result

The above image shows the training result. The most left sub-figure is the under-exposure image. The second sub-figure is the over-exposure image. The third one is the rendered result, and the most right figure is the ground truth which is compute by MEF-SSIM loss concept. As you can see, the rough information of dark region and light region can be both remained.

Idea

You should notice that this is not the official implementation. There are several different between this repository and the paper:

  1. Since the dataset that author used cannot be obtained, we use HDR-Eye dataset which can also deal with multiple exposure fusion problem.
  2. Rather use 64*64 patch size, we set the patch size as 256*256.
  3. We only train for 20 epochs. (30000 iteration for each epoch)
  4. The calculation of y^hat is different. The detail can be found in here.

Usage

The detail of parameters can be found here. You can just simply use the command to train the DeepFuse:

python3 train.py --folder ./SunnerDataset/HDREyeDataset/images/Bracketed_images --batch_size 8 --epoch 15000 

And inference with two image:

○ python3 inference.py --image1 <UNDER_EXPOSURE_IMG_PATH> --image2 <OVER_EXPOSURE_IMG_PATH> --model train_result/model/latest.pth --res result.png
Clone this wiki locally