SUPERRESOLUTION GRAPHICAL USER INTERFACE DOCUMENTATION

Contents

  • 1.- How to use this application.
  • 2.- What is Super-Resolution?
  • 3.- Motion Estimation algorithms
  • 4.- Reconstruction algorithms
  • 5.- Results filenames format
  • 6.- References
  • 7.- License.

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/software/superresolution/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üsstrunk 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

Published with MATLAB® 7.2

superresolution_v_2.0 Application超分辨率程序文档的更多相关文章

  1. 『超分辨率重建』从SRCNN到WDSR

    超分辨率重建技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像.SR可分为两类:    1. 从多张低分辨率图像重建出高分辨率图像    2. 从单张低分辨率图 ...

  2. JPEG压缩图像超分辨率重建算法

    压缩图像超分辨率重建算法学习 超分辨率重建是由一幅或多幅的低分辨率图像重构高分辨率图像,如由4幅1m分辨率的遥感图像重构分辨率0.25m分辨率图像.在军用/民用上都有非常大应用. 眼下的超分辨率重建方 ...

  3. 浅谈AI视频技术超分辨率

    泛娱乐应用成为主流,社交与互动性强是共性,而具备这些特性的产品往往都集中在直播.短视频.图片分享社区等社交化娱乐产品,而在这些产品背后的黑科技持续成为关注重点,网易云信在网易MCtalk 泛娱乐创新峰 ...

  4. 【超分辨率】—(ESRGAN)增强型超分辨率生成对抗网络-解读与实现

    一.文献解读 我们知道GAN 在图像修复时更容易得到符合视觉上效果更好的图像,今天要介绍的这篇文章——ESRGAN: Enhanced Super-Resolution Generative Adve ...

  5. Coarse-to-Fine超分辨率相关

    1.A Coarse-to-Fine Subpixel Registration Method to Recover Local Perspective Deformation in the Appl ...

  6. Image Super-Resolution via Sparse Representation——基于稀疏表示的超分辨率重建

    经典超分辨率重建论文,基于稀疏表示.下面首先介绍稀疏表示,然后介绍论文的基本思想和算法优化过程,最后使用python进行实验. 稀疏表示 稀疏表示是指,使用过完备字典中少量向量的线性组合来表示某个元素 ...

  7. 慢镜头变焦:视频超分辨率:CVPR2020论文解析

    慢镜头变焦:视频超分辨率:CVPR2020论文解析 Zooming Slow-Mo:  Fast and Accurate One-Stage Space-Time Video Super-Resol ...

  8. 小米造最强超分辨率算法 | Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search

    本篇是基于 NAS 的图像超分辨率的文章,知名学术性自媒体 Paperweekly 在该文公布后迅速跟进,发表分析称「属于目前很火的 AutoML / Neural Architecture Sear ...

  9. Adobe超分辨率算法:SRNTT

    论文:Image Super-Resolution by Neural Texture Transfer 论文链接:https://arxiv.org/abs/1903.00834 项目地址:http ...

随机推荐

  1. oracle 存储过程 变量的声明和赋值的3种方式

      oracle 存储过程 变量的声明和赋值的3种方式 CreationTime--2018年8月31日16点00分 Author:Marydon 1.声明变量的3种方式 按照数据类型的声明方式进行区 ...

  2. php 一个过虑xxs的代码

    一个过虑xxs的代码 public static function removeXSS($str) { $str = str_replace('<!-- -->', '', $str); ...

  3. 【Linux】用户权限设置,配合FTP访问

    转载自: http://blog.csdn.net/fengeh/article/details/16819563 领导需求,需要创建用户,并允许其增删改,却又要求其只能在自己的访问目录内,不能去别的 ...

  4. Android数据库升级实例

    第一部分 Andoird的SQLiteOpenHelper类中有一个onUpgrade方法.帮助文档中只是说当数据库升级时该方法被触发.经过实践,解决了我一连串的疑问: 1. 帮助文档里说的“数据库升 ...

  5. NHibernate中ISession的Flush

    不知道在执行Insert或者Delete,update之后为什么要调用Flush(),后来看了http://www.cnblogs.com/lyj/archive/2008/10/17/1313612 ...

  6. unity, 如果碰撞使用2d物理,为防止颤动,需将更新position的代码写在FixedUpdate里

    例如我为主角添加了一个circle collider 2d,和一个rigidbody 2d,为障碍物添加了一个circle collider 2d. 然后我在主角的Update函数里更新位置让主角由A ...

  7. 基于Redis构建10万+终端级的高性能部标JT808协议的Gps网关服务器(转)

    原文地址:http://www.jt808.com/?p=1282 在开发一个大规模的部标GPS监控平台的时候,就算我们花费再多的时间设计和规划,我们也并不能准确的预测出自己未来的车载终端接入量有多大 ...

  8. std::string与output-operator"<<"的兼容问题

    经查阅资料得知,“在某些编译器下std::string,需要使用c_str()才能作为output-operator "<<" 的参数” std::string tit ...

  9. bash之局部变量与子shell(转载)

    shell是每个接触linux.unix用户不得不会的工具,谈到shell就又联系到bash,因为这个shell是普遍被使用的.那么bash中的局部变量和子shell你是否能熟练掌握呢?这里推荐一本学 ...

  10. mouseover mouseenter mouseout mouseleave

    mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...