5.0

5.0 | 1 rating Rate this file 72 Downloads (last 30 days) File Size: 55.56 KB File ID: #33839
image thumbnail

Image Super-Resolution - Iterative Back Projection Algorithm

by Victor May

 

19 Nov 2011 (Updated 26 Nov 2011)

A simple maximum-likelihood algorithm for super-resolution.

| Watch this File

File Information
Description

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 (2010b)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (12)
25 Nov 2011 imi kh

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

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.

26 Nov 2011 imran khan

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

26 Nov 2011 Victor May

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

29 Nov 2011 imi kh

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.

22 Dec 2011 Eric

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.

05 Jan 2012 imi kh

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 ?

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.

05 Jan 2012 imi kh

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

05 Jan 2012 imi kh

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.

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.

11 May 2012 imi kh

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

Please login to add a comment or rating.
Updates
21 Nov 2011

Fixed a typo in the description.

26 Nov 2011

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

Tag Activity for this File
Tag Applied By Date/Time
image processing Victor May 21 Nov 2011 10:11:03
image processing imran khan 26 Nov 2011 06:23:50
image processing Noam 12 Dec 2011 03:40:23

Contact us at files@mathworks.com