Code covered by the BSD License  

Highlights from
Image Super-Resolution - Iterative Back Projection Algorithm

4.2 | 5 ratings Rate this file 75 Downloads (last 30 days) File Size: 55.6 KB File ID: #33839 Version: 1.5
image thumbnail

Image Super-Resolution - Iterative Back Projection Algorithm



19 Nov 2011 (Updated )

A simple maximum-likelihood algorithm for super-resolution.

| Watch this File

File Information

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.

Required Products MATLAB
MATLAB release MATLAB 7.11 (R2010b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (21)
01 Apr 2015 INDERJEET

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

Comment only
19 Feb 2015 Hardik raval  
19 Feb 2015 Hardik raval


Comment only
12 Dec 2014 Chen Onn Leong

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?

Comment only
22 Jun 2014 srikanth  
21 Jun 2014 Lin

Lin (view profile)

19 Jun 2014 srinidhi

were do i get the code for this?

Comment only
17 Sep 2013 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...

Comment only
12 Sep 2012 Steffen B. Petersen

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

11 May 2012 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.

Comment only
27 Feb 2012 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.

05 Jan 2012 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.

Comment only
05 Jan 2012 imi kh

imi kh (view profile)

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

Comment only
05 Jan 2012 Victor May

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.

Comment only
05 Jan 2012 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 ?

Comment only
22 Dec 2011 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.

Comment only
29 Nov 2011 imi kh

imi kh (view profile)

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

Comment only
26 Nov 2011 Victor May

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

Comment only
26 Nov 2011 imran khan

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

Comment only
26 Nov 2011 Victor May

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.

Comment only
25 Nov 2011 imi kh

imi kh (view profile)

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

Comment only
21 Nov 2011 1.3

Fixed a typo in the description.

26 Nov 2011 1.5

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

Contact us