Coder Social home page Coder Social logo

saiteja-talluri / vector-valued-image-regularization Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 40.69 MB

An implementation of the the paper "Vector-Valued Image Regularization with PDEs: A Common Framework for Different Applications" by David Tschumperle and Rachid Deriche

License: MIT License

MATLAB 100.00%
digital-image-processing image-denoising image-magnification image-inpainting image-restoration flow-visualization pde

vector-valued-image-regularization's Introduction

Vector-Valued Image Regularization with PDEs

This project implements vector-valued image regularization technique using PDE's as described in the paper - Vector-Valued Image Regularization with PDEs: A Common Framework for Different Applications by David Tschumperle and Rachid Deriche

A detailed report on methods and results can be found as report.pdf. It was made as the final project for CS 663 - Digital Image Processing course in Autumn 2018 at Indian Institute of Technology (IIT) Bombay, India.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

  1. Run /src/inpainting.m file for image inpainting, /src/denoising.m file for image denoising and /src/flowVisualisation.m file for flow visualisation.
  2. Replace the arguments of the functions with respective input image paths and set the hyperparameters you wish to use to generate the output images.
  3. The tuned hyperparameters for our output images can be found in /src/main.m file.

Results

Image Inpainting

glasses.png

                Figure 1: Inpainting with 21x21 neighbourhood, t=5 and 10 iterations

greenparrot.png

                Figure 2: Inpainting with 10x10 neighbourhood, t=2 and 20 iterations

redparrot.png

                Figure 3: Inpainting with 20x20 neighbourhood, t=3 and 20 iterations

Image Denoising

baby.png

Figure 4: From L to R : Noisy image, image filtered with gaussian smoothing with 5x5 kernel, image 
filtered with PDE regularisation with t=3, 3x3 neighbourhood and 5 iterations - better performance 
and lower noise especially on left and top parts of the image

face.png

Figure 5: From L to R :Noisy image, image filtered with PDE with t=3, 3x3 neighbourhood, 5 iterations

Image Magnification

jerry.png

Figure 6: From L to R : Original Image. This image was downsampled by 4 to serve as input for the two
algorithms. Magnified image using bi-linear interpolation, magnified image using PDE regularisation
with t=3, 3x3 neighbourhood and 10 iterations.

Flow Visualisation

Original Image Flow Flow Visualisation
src.png inp1.png out1.png
src.png inp2.png out2.png
Figure 7: Input images, flow vectors and output images, with dt = 0.01, 100 iterations and sobel 
gradient vectors for Hessian Matrix. Paralallised code, runs much faster compared to others.

Image Restoration

obama.png

Figure 8: From L to R : Input Image, image with 50 % pixels removed in 2x2 granularity, output 
image with SSIM of 0.995, better than results with median filter. Also, median filter will 
become less accurate on increasing the box sizes.
Image with pixels missing Restored Image
inp.png out.png
Figure 9: from L to R : image with 50 % pixels removed and SSIM = 0.23, restored image with t=4, 
10 iterations with 3x3 neighbourhood, SSIM = 0.966 with original image.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details.

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.