Coder Social home page Coder Social logo

caomw / joint-demosaic-and-denoising-with-admm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tomheaven/joint-demosaic-and-denoising-with-admm

0.0 2.0 0.0 34.34 MB

Code for ICIP 2017 paper JOINT DEMOSAICING AND DENOISING OF NOISY BAYER IMAGES WITH ADMM

License: Apache License 2.0

MATLAB 81.31% Python 18.69%

joint-demosaic-and-denoising-with-admm's Introduction

Joint Demosaicing and Denoising of Noisy Bayer Images with ADMM

Hanlin Tan, Xiangrong Zeng, Shiming Lai, Yu Liu and Maojun Zhang

College of Information System and Management, National University of Defense Technology, China

This project is a demo for our ICIP 2017 paper Joint Demosaicing and Denoising of noisy Bayer Images with ADMM. The project compare three algorithms, DeepJoint[2], FlexISP[3] and the proposed ADMM algorithm, on two datasets: Kodak and McMaster[1].

Note that we slightly modified I/O code (mainly redirecting input and output paths) of FlexISP and DeepJoint(Demosaicnet) to perform comparisons. However, the kernel part of those algorithms, including all parameters, remains the same as their authors provided.

Folder Structure

Folder Name Explanation
data Datasets Kodak and McMater[1] are here.
demo_joint_isp Code of the proposed ADMM method.
demosaicnet DeepJoint[2] code.
flexisp_demosaicking_demo FlexISP[3] code.
res Results.
utils Code nedded for PSNR computation and Bayer mask computation.
wrappers Wrappers for comparative algorithms

Usage

In summary, useful entrance files are:

File Name Explanation
compareAlgorithms.m The entrance file. Run this file with Matlab and the results are stored in compareResults.mat in the current directory.
analyze.m Produce figures and tables of results. This file is called automatically by compareAlgorithms.m. Results will be saved in the current directory.
combineResultImages.m Reproduce figures of visual results using data in res folder.

Simply run compareAlgorithms.m, which will generate a result mat file in res/{dataset} folder.

  • You can control the behavior of the code by modifying structure variable conf.

  • Note DeepJoint method depends on caffe. You can turn off evaluation of that algorithm by setting conf.enableDeepJoint to false in the control section of compareAlgorithms.m if you do not have caffe installed.

%% control
conf.debug = false;
conf.enableADMM = true;      % enable admm method
conf.enableFlexISP = true;   % enable flex isp method
conf.enableDeepJoint = false; % enable deep joint method
conf.cpuorgpu = 'gpu';    % 'gpu' or 'cpu', wheter to use gpu in deep joint
conf.tmpdir = '~/tmp/';   % a directory to store temporary output

It will call analyze(dataset, sigma, nAlgos) to produce result images, where dataset and sigma are in accordance with those in compareAlgorithms.m. For exmaple,

analyze('Kodak', 0, 3)

Optionally, run combineResultImages(dataset) to combine result images of different noise levels into single view, which we used in our paper. For exmaple,

combineResultImages('Kodak')

References

If you use the code in your work, please cite our paper:

@inproceedings{tan2017joint, 
  title={Joint Demosaicing and Denoising of noisy Bayer Images with ADMM},
  author={Tan, Hanlin and Zeng, Xiangrong and Lai, Shiming and Liu, Yu and Zhang, Maojun},
  booktitle={Image Processing (ICIP), 2017 IEEE International Conference on},
  pages={xxx--xxx}, % Not available now
  year={2017},
  organization={IEEE}
}

The comparison code directly use the dataset and code from the following papers:

[1] Zhang, Lei, et al. "Color demosaicking by local directional interpolation and nonlocal adaptive thresholding." Journal of Electronic imaging 20.2 (2011): 023016-023016.

[2] Gharbi, Michaël, et al. "Deep joint demosaicking and denoising." ACM Transactions on Graphics (TOG) 35.6 (2016): 191.

[3] Heide, Felix, et al. "Flexisp: A flexible camera image processing framework." ACM Transactions on Graphics (TOG) 33.6 (2014): 231.

joint-demosaic-and-denoising-with-admm's People

Contributors

tomheaven avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.