Skip to content

End to end framework to replace camera ISP with a deep learning model.

License

Notifications You must be signed in to change notification settings

puneesh00/deep_isp

Repository files navigation

Deep_ISP

This is the official implementation of the solution proposed by team Eureka for the AIM 2020 Challenge on Learned Image Signal Processor Pipeline at ECCV 2020.

  • The detailed solution can be found here.

Results

First row: RAW images, second row: RGB images obtained by the proposed method, third row: Ground truth images.

Pre-requisites

The code was written with Python 3.6.8 with the following dependencies:

  • cuda release 9.0, V9.0.176
  • tensorflow 1.12.0
  • keras 2.2.4
  • numpy 1.16.4
  • scipy 1.2.1
  • imageio 2.5.0
  • skimage 0.15.0
  • matplotlib 3.1.0
  • cuDNN 7.4.1

This code has been tested in Ubuntu 16.04.6 LTS with 4 NVIDIA GeForce GTX 1080 Ti GPUs (each with 11 GB RAM).

How to Use

Clone the repository:

git clone https://github.com/puneesh00/deep_isp.git

Training

To train the network, run the following command:

python main.py -exp isp -dataset (full path to dataset directory) -save (full path to the repository)

There are additional parameters --resume_weight (name of weight file to resume training from), --resume_train (True if resuming training from some previous epoch), --resume_opt (name of optimizer file to resume training from). Other parameters like epochs, lr, can be changed as required.

Testing

Download weights

  Download weights for the model, and place them in the cloned git repository. They can be found here.

To infer full resolution images, run the following command:

python infer_full.py -path (give full path to the repository) -w weights2_0191.h5 -dataset (path to full resolution raw images)

  This will generate the output images in a folder results (default name) in the git repository.

To infer cropped frames, run the following command:

python infer.py -path (give full path to the repository) -w weights2_0191.h5 -dataset (path to cropped raw images) -res results_cropped 

  This will generate the output images in a folder results_cropped in the git repository.

License

   Copyright 2020 Authors

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

Releases

No releases published

Packages

No packages published

Languages