www.gusucode.com > 超分辨MATLAB程序源码 > 超分辨MATLAB程序源码/superresolution_v_2.0/superresolution_v_2.0/application/SR_documentation.m
%% SUPERRESOLUTION GRAPHICAL USER INTERFACE DOCUMENTATION %% 1.- How to use this application. %% % The aim of this application is : %% % % * To discover the possibilities that Super Resolution (SR) offers, without any % programming skills required % * To enable users to easily test and compare different SR techniques that % exist today % * To offer a flexible project that anyone can modify to suit their needs, % by adding new registration and reconstruction techniques (for a technical % documentation on how the implementation was done, please refer to % http://lcavwww.epfl.ch/reproducible_research/VandewalleSV05/SRTechDoc.pdf % ) %% % *1.1 Starting the GUI* %% % To start the GUI, simply type 'superresolution' in the MATLAB console, % after having set MATLAB's current directory to where the files 'superresolution.m' % and 'superresolution.fig' are located. %% % Note: If you would like to change the GUI in any way, type 'GUIDE % superrestolution' in the console. You will need to do this if you would % like to add new algorithms to the list for instance. %% % *1.2 Loading images into the GUI* %% % To load a set of Low Resolution (LR) images into the GUI, you may choose % to either: %% % % * Load some of the test images that are provided with this package % (located in the 'images' directory); % * Load any set of LR images you may have; % * Use the tool provided along with this GUI which can generate a number % of LR images from a single, High Resolution (HR) image. This tool can be % very useful when you want to artificially generate aliasing in you LR % images, which can later be corrected by some Reconstruction Techniques. %% % In order to load a set of existing LR images, use the 'Add' button on the % left side of the GUI. Once one or more images have been added, you may % select one from the list in order to see a preview, along with some basic % information. You can remove any selected image from the list by % selecting it and clicking on the 'Remove' button. Use the 'Remove all % images' button to clear the list completely. %% % If you prefer to create a set of LR images, use the 'Create LR images % from a HR image' button. You will then be asked to provide a source % image, the number of output LR images, and where to save them to if you % want to keep them. After creation, and if you decided to automatically % save the output LR images, they will automatically be loaded in the GUI % for you. %% % *1.3 Setting up the options and generating the HR image* %% % Once you have loaded images into the GUI, you can choose the motion % estimation algorithm that you want to use, and the reconstruction % technique. %% % For the motion estimation, you can ask to estimate only the shifts, or % both the shifts and the rotations. You may also choose to multiply each % LR image with a Tukey Window, which will basically add a gradually-disapearing black border to % it. This may be useful if the LR images were automatically generated using % circular shifts for instance. % Note that you can also choose to enter the motion parameters manually. %% % For the reconstruction techniques, you can specify the interpolation % factor, and the percentage of the image that you want to process % (starting from the middle of the image). %% % The last parameters are the Save Options. They enable you to % automatically save the resulting HR image, either in the current % directory, or in a specified directory. The image format used is % uncompressed TIF, in order to avoid any unwanted compression artifacts. %% % For more details on the algorithms, see sections 3 and 4 of this % document. %% 2.- What is Super-Resolution? %% % Super-Resolution (SR) is a process by which a number of LR images are combined % into a single HR image, which has a greater resolving power. SR is not % only useful to enhance the ersolving power of an image; it can also, to % some extent, reduce the aliasing noticably. %% 3.- Motion Estimation algorithms %% % *3.1 Vandewalle et al. (EPFL)* %% % This method [1], developped at the EPFL, uses the property that a shift in % the space domain is translated into a linear shift in the phase of the % image's Fourrier Transform. Similarly, a rotation in the space domain is % visible in the amplitude of the Fourrier Transform. Hence, the Vandewalle % et al. motion estimation algorithm computes the images' Fourrier % Transforms and determines the 1-D shifts in both their amplitudes and % phases. % One advantage of this method is that it discards high-frequency % components, where aliasing may have occurred, in order to be more robust. %% % *3.2 Marcel et al.* %% % Similarly to the Vandewalle algorithm, the method of Marcel et al. [4] uses a % frequency-domain analysis in order to determine the shift and rotation. %% % *3.3 Lucchese et al.* %% % Lucchese and Cortelazzo [3] developed a rotation % estimation algorithm based on the property that the % magnitude of the Fourier transformof an image and the mirrored % version of the magnitude of the Fourier transform of a % rotated image have a pair of orthogonal zero-crossing lines. % The angle that these lines make with the axes is equal to half % the rotation angle between the two images. The horizontal % and vertical shifts are estimated afterwards using a standard % phase correlation method. %% % *3.4 Keren et al.* %% % The motion estimation algorithm by Keren et al. [2] uses different, downsampled % versions of the images to be analyzed in order to achieve its goal. First % a 4x downsampled version of the images is used to perform an estimation % of the shift and rotation using Taylor series. The same is done with 2x % downsampling, but after correcting for the shifts and rotations estimated % earlier. Finally, the same is done with the full-resolution images, in % order to further fine-tune the estimates. %% 4.- Reconstruction algorithms %% % *4.1 Interpolation* % This method simply aligns all the images' pixels on a High Resolution % grid, and then applies a bicubic interpolation using Matlab's built-in griddata % function. %% % *4.2 Papoulis-Gerchberg* % The Papoulis-Gerchberg algorithm is a kind of POCS (Projection onto % Convex Sets) method. It places the given pixels on a HR grid, goes into % the frequency domain to "cut" the high frequencies, and repeats the % process until convergence. %% % *4.3 Iterated Back Projection* % The idea behind Iterated Back Projection [6] is to start with a rough % estimation of the HR image, and iteratively add to it a "gradient" image, % which is nothing else than the sum of the errors between each LR image % and the estimated HR image that went through the appropriate transforms % (given by the motion estimates). %% % *4.4 Robust Super Resolution* % Robust Super Resolution [7] is a more robust version of the above Iterated % Back Projection. The only difference resides in the computation of the % gradient, which is not given by the sum of all errors, but by the median % of all errors. This brings robustness against outliners in the LR images. %% % *4.5 POCS* % This Projection Onto Convex Sets method is similar to the % Papoulis-Gerchberg method, but instead of cutting the high frequencies, % the image goes through a low-pass filter that approximates the camera's % PSF (point spread function). %% % *4.6 Structure-Adaptive Normalized Convolution* % This algorithm is an implementation of a paper by Tuan Q. Pham et al. [5]. It uses normalized convolution (NC) to reconstruct a HR image from % several LR images. Two options can be enabled for this algorithm: % * Noise robustness will analyze the images and determine which pixels are % noisy in order not to use those. % * A second pass can be perfomed in the correction, which will adapt the % size and orientation of the gaussian filters used in the NC, resulting in % a sharper HR image %% 5.- Results filenames format % The HR images that are automatically saved after processing are named % according to which registration and reconstruction algorithm were used % (result_xx_yy_n, where xx is the registration method, yy the % reconstruction method, and n a number from 1 to 99): %% % *Registration* %% % * Man: manual % * VA: Vandewalle et al. (EPFL) % * MA: Marcel et al. % * LU: Lucchese et at. % * KE: Keren et al. %% % *Reconstruction* %% % * IN: Interpolation % * PG: Papoulis-Gerchberg % * BP: Iterated Back Projection % * RS: Robust Super-Resolution % * PO: POCS % * NCxy: Normalized Convolution, where x=1 if noise correction was done % and y=1 if a second pass was done. %% 6.- References %% % * [1] P. Vandewalle, S. S黶strunk and M. Vetterli, A Frequency Domain Approach to Registration of Aliased Images with Application to Super-Resolution, EURASIP Journal on Applied Signal Processing (special issue on Super-resolution), Vol. 2006, pp. Article ID 71459, 14 pages, 2006. % * [2] D. Keren, S. Peleg, and R. Brada, Image sequence enhancement using sub-pixel displacement, in Proceedings IEEE Conference on Computer Vision and Pattern Recognition, June 1988, pp. 742-746. % * [3] L. Lucchese and G. M. Cortelazzo, A noise-robust frequency domain technique for estimating planar roto-translations, IEEE Transactions on Signal Processing, vol. 48, no. 6, pp. 1769-1786, June 2000. % * [4] B. Marcel, M. Briot, and R. Murrieta, Calcul de Translation et Rotation par la Transformation de Fourier, Traitement du Signal, vol. 14, no. 2, pp. 135-149, 1997. % * [5] Tuan Q. Pham, Lucas J. van Vliet and Klamer Schutte, Robust Fusion of % Irregularly Sampled Data Using Adaptive Normalized Convolution, EURASIP % Journal on Applied Signal Processing, Vol. 2006, Article ID 83268, 12 pages, 2006. % * [6] M. Irani and S. Peleg, Improving resolution by image registration, % Graphical Models and Image Processing, 53:231-239, 1991. % * [7] A. Zomet, A. Rav-Acha, and S. Peleg, Robust Super-Resolution, Proceedings international conference on computer vision and pattern % recognition (CVPR), 2001. %% 7.- License. % Copyright (C) 2005-2006 Laboratory of Audiovisual Communications (LCAV), % Ecole Polytechnique Federale de Lausanne (EPFL), % CH-1015 Lausanne, Switzerland % % This program is free software; you can redistribute it and/or modify it % under the terms of the GNU General Public License as published by the % Free Software Foundation; either version 2 of the License, or (at your % option) any later version. This software is distributed in the hope that % it will be useful, but without any warranty; without even the implied % warranty of merchantability or fitness for a particular purpose. % See the GNU General Public License for more details % (enclosed in the file GPL). %% % Developed by Patrick Vandewalle, Karim Krichane, Patrick Zbinden. % Please send any comment or suggestion to superresolution@epfl.ch