ICBI page

ICBI (Iterative Curve Based Interpolation) is a single image superresolution technique described in Fast artifact-free image interpolation by Andrea Giachetti and Nicola Asuni, presented at BMVC 2008 and in the more detailed paper Real Time Artifact Free Image Upscaling" published on IEEE Transactions on Image processing. Note that in the published papers there are small typos in three formulas (wrong indexes and a missing comma), but the linked paper and the code are correct.

. The method is based on the combination of two different procedures. First, an adaptive algorithm is applied interpolating locally pixel values along the direction where second order image derivative is lower. Then interpolated values are modified using an iterative refinement minimizing differences in second order image derivatives, maximizing second order derivative values and smoothing isolevel curves. The first algorithm itself provides edge preserving images that are measurably better than those obtained with similarly fast methods presented in the literature. The full method provides interpolated images with a "natural" appearance that do not present the artifacts affecting linear and nonlinear methods. Objective and subjective tests on a wide series of natural images clearly show the advantages of the proposed technique over existing approaches. Here are some example results: The first image presents a detail of a 4x enlrargement obtained with bicubic interpolation (A) versus the same enlarged detail obtained with ICBI (B).
esempio icbi vs bicubic
The first image presents a detail of a 4x enlrargement obtained with a computationally complex technique as iNEDI (C) versus the same enlarged detail obtained with ICBI (D). In both cases the advantages of the new techniques are evident.

esempio icbi vs iNEDI interpolation

The set of images (from the morgueFile archive) used in our experiments is available following this link.

Matlab scripts to test FCBI and ICBI algorithms are available following this link.

Results of 2x and 4x enlargements compared in ou experiments are available following this link.

A demo ICBI Matlab implementation is freely available with GNU GENERAL PUBLIC LICENSE v.2 license. It can be downloaded from the following link:

Download Matlab implementation v.1.1

For a more efficient enlargement test, we provide also the executable code developed in c++ for gentoo linux (64 bit).

Download linux executable code

A simple CUDA based GPU accelerated implementation, described in the IEEE TIP paper can also be downloaded here

If you download and use the code, please send me feedback, including comments or hints to andrea(at)andreagiachetti.it

If you use the method or the code for scientific work please cite one of the original papers, e.g.
author={Giachetti, A. and Asuni, N.},
journal={Image Processing, IEEE Transactions on}, title={Real time artifact-free image upscaling},