File Exchange

image thumbnail

Image Super-Resolution - Iterative Back Projection Algorithm

version 1.5 (55.6 KB) by

A simple maximum-likelihood algorithm for super-resolution.

4.42857
7 Ratings

60 Downloads

Updated

View License

This project is a simple implementation of the Iterative Back-Projection (IBP)
algorithm for solving the Super-Resolution problem. It was first proposed
by Michal Irani in her 1991 paper "Improving resolution by image
registration". The imaging model being used is described by a paper by
Michael Elad, "Super-Resolution Reconstruction of an image". Both papers
can easily be found through a search in Google Scholar.

I've done two simplifications to the imaging model:
1) The image blur is assumed to be spatially invariant.
2) The spatial transformation model is a global translation.

To run the example code, follow the following steps:
1) Run SRSetup.m
2) Run SRExample.m

The example code operates on a dataset that is generated synthetically from
a reference image. Thus, the exact values for the blur sigma and the
translation offsets are being used.

Comments and Ratings (27)

jayati joshi

Pls give the code for super resolution algo code on gauravtayde02@gmail.com..Thanking you!

Why the original image need to be cropped ?
Cant we reconstruct a 256x256 image ?

were do i get the code for this?

plz provide me or mail me the Super-Resolution algorithm code on mubashir.khalid12@gmail.com

plz provide me or mail me the Super-Resolution algorithm code on mubashir.khalid12@gmail.com

INDERJEET

can anyone provide me code for single image super resolution?
how do i proceed?

Hardik raval

Hardik raval

THIS CODE WORK ONLY FOR GREY IMAGES WHAT I HAVE TO DO TO GET OUTPUT FOR COLOUR IMAGES? PLS. HELP ME I REQUIRE IT URGENTLY....

Hi.... Does the super resolution have to make the image smaller in size? can it be same size with the original size after super resolution?

srikanth

Lin

Lin (view profile)

srinidhi

were do i get the code for this?

yadhul

yadhul (view profile)

how can i use this one for video frame.... i want to change low resolution video frame to high resolution video frame how can i do it.. can i do it with this code...

When generating the stack of LowRes Images the code only produces a diagonal shift, since the offsets along x and y are identical.

change the following line in SynthDataset:

offsets(i,:)=2*rand -1 --> offset(i,:)=2*rand(2,1)-1

imi kh

imi kh (view profile)

Can some one tell me why we model noise as additive Gaussian noise in most of the super-resolution algorithms.

Yitzi Pfeffer

In order to avoid divergence when using a large number of LR images. Try to use a coefficient smaller than 1 (I tried 0.25) in the update equation for x:
x = x + 0.25*res; instead of x = x + res; This ensures smaller (and safer) steps in the Gradient Descent procedure.

imi kh

imi kh (view profile)

well i do add laplasian term as a prior, but i think the problem lies some where else because if you increase number of low resolution images the output destroyed.

imi kh

imi kh (view profile)

Can you please increase the images up to 30 and see the results.

Victor May

Victor May (view profile)

Increasing the number of images causes the solution to suffer from overfit. Adding a prior on the image should help. Search the web for papers on priors for super-resolution.

imi kh

imi kh (view profile)

Well the problem is now on increase the number of low resolution images, if you increase the numImages =10 and run the code the output is not good whats the problem ?

Eric

Eric (view profile)

Line 41 of SRExample reads:
im = imread('C:\Vic\Work\Src\SuperResolution\Data\typewrtr.jpg');
This doesn't run on somebody else's machine without tweaking.

imi kh

imi kh (view profile)

Hello,
The code only deals with translation motion, how to extend it if the low resolution images are also rotated,
still code is not updated.

Victor May

Victor May (view profile)

I posted it. It might take a few days until it will show up here.

imran khan

Hello victor,
Where is the updated file, kindly post the updated script.

Victor May

Victor May (view profile)

Hi Imi,
the function SynthDataset has an output called croppedOriginal which crops the original image to the size of the super-resolved image. In order to prevent confusion about this, I've updated the example script to include a mean-square error calculation.

imi kh

imi kh (view profile)

Hello,
How to calculate PSNR for comparison purpose, because original image and super-resolved image have different sizes, kindly look into the matter.

Updates

1.5

Added a calculation of the reconstruction error at the example script.

1.3

Fixed a typo in the description.

MATLAB Release
MATLAB 7.11 (R2010b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video