Example-based Learning for Single-Image Super-resolution

About || Demo || References || Contact






Single-image super-resolution refers to the task of constructing a high-resolution enlargement of a given low-resolution image. Usual interpolation-based magnification introduces blurring. Then, the problem cast into estimating missing high-frequency details. Based on the framework of Freeman et al. [1], we investigate a regression-based approach. The system consists of four components:

1.       interpolation of the input low-resolution image into the desired scale

2.       generation of a set of candidate images based on patch-wise regression: kernel ridge regression is utilized; To reduce the time complexity (around 200,000 data points), a sparse basis is found by combining kernel matching pursuit and gradient descent

3.       combining candidates to produce an image: patch-wise regression of output results in a set of candidates for each pixel location; An image output is obtained by combining the candidates based on estimated confidences for each pixel.

4.       post-processing based on the discontinuity prior of images: as a regularization method, kernel ridge regression tends to smooth major edges; The natural image prior proposed by Tappen et al. [2] is utilized to post-process the regression result such that the discontinuity at major edges are preserved.

: Overview of super-resolution shown with an example: (a) input image is interpolated into the desired scale, (b) a set of candidate images is generated as the result of regression, (c) candidates are combined based on estimated confidences; The combined result is sharper and less noisy than individual candidates, which however shows ringing artifacts, and (d) post-processing removes ringing artifacts and further enhances edges.

Details can be found at [3-5].


Download a Matlab demo. Please note that our implementation depends on Matlab R2007a’s bicubic interpolation code (imresize(LowResolImage, MagFactor, ‘bicubic’)’). The implementation of ‘imresize.m’ in Matlab R2007a is different from those of earlier versions of Matlab. We observed a slight degradation of super-resolution results in terms of SNR when we use earlier version of Matlab (e.g., Matlab R2006a) for testing.



W. T. Freeman, E. C. Pasztor, and O. T. Carmichael, “Learning low-level vision, International Journal of Computer Vision, vol. 40, no. 1, pp. 25-47, 2000.


M. F. Tappen, B. C. Russel, W. T. Freeman, "Exploiting the sparse derivative prior for super-resolution and image demosaicing", in Proc. IEEE Workshop on Statistical and Computational Theories of Vision, 2003.



K. I. Kim and Y. Kwon, “Example-based learning for single-image super-resolution”, in Proc. DAGM, pp. 456—465, 2008.
K. I. Kim and Y. Kwon, “Example-based learning for single-image super-resolution and JPEG artifact removal”, Max-Planck-Insitut für biologische Kybernetik, Tübingen, Tech. Rep. 173.

K. I. Kim and Y. Kwon, “Single-image super-resolution using sparse regression and natural image prior”, IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 32, no. 6, pp. 1127-1133, 2010.


Kwang In Kim: kimki@tuebingen.mpg.de.

Younghee Kwon: kyhee@ai.kaist.ac.kr.