Comparisons of Image Magnification Methods

Last Updated 2/27/10

Visual Comparisons Using Mouseovers

When you place the mouse cursor over one of the numbers around the periphery of the following image, the image will change to an enlargement made by the method corresponding to the number given in the legend below.   This requires that your web browser support javascript.   Please, allow ample time for all images to load before starting.

Input Image (lossless 48 bit PNG)

(produced by reducing 0.125X with Lanczos 3

4X Magnification of Input Image

Legend

  1. Box
  2. Lanczos 3
  3. Triangulation
  4. Data Dependent Lanczos 3 (DDL3)
  5. Zhao-Xin Li (ZXL)
  6. Iterated Function Systems (IFS)
  7. PseudoInverse with SuperRez Postprocessing
  8. Pseudo LAD, Parameter Settings
  9. Modified Roussos-Maragos, Parameter Settings
  10. PhotoZoom (not part of SAR, see BenVista)
  11. pxl SmartScale (not part of SAR, see Celartem)
  12. CZ2 (not part of SAR, see Zoom Engine)
  13. AQUA (not part of SAR, see Visere)
  14. Genuine Fractals 3.5 (not part of SAR, see onOne Software)
  15. Qimage Hybrid (not part of SAR, see Digital Domain Inc.)
  16. Alien Skin Blowup (not part of SAR, see Alien Skin Software, LLC. )
  17. SizeFixer (not part of SAR, see FixerLabs)

I call your attention to the halo around the pole and which methods diminish this halo.   Those methods incorporated prior knowledge that this is a Lanczos 3 reduction.  

A Difficult Image (lossless 48 bit PNG)

(produced by reducing this 0.5X by Lanczos 3)

2X Magnification of Input Image

A Popular Favorite

Input Image


Note the presence of halos in the input image.

4X Pseudo LAD Enlargement, Parameter Settings

Compare with other people's results here:

http://www.resampling.narod.ru/
http://audio.rightmark.org/lukin/graphics/resampling.htm
http://audio.rightmark.org/lukin/graphics/lhouse_more.htm
http://dsplab.ece.cornell.edu/papers/results/orinterp/rail_4x.html
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=13470&objectType=file

Note the relative absence of halos in the Pseudo LAD result.   This was accomplished by modeling the input image as a bicubic(-2) ("-2" is the slope of the continuous kernel at spatial coordinate 1) reduction in the parameter settings.   If the enlargement is reduced back to original size using bicubic(-2), it will match the input image almost exactly.   Even though the enlargement result shows almost no halo, reduction by bicubic(-2) will produce a halo that matches the halo in the input image.  

Objective Measurements of Enlargement Quality

(Attention! The following applies to another image and NOT the clown or the lighthouse image.)   Roughly, the procedure is to take a test image, make a reduction of that image, enlarge the reduction back to original size, and then make statistical measurements on the differences or errors between the result and the original.   These errors are treated as noise and the most common measurement used for this purpose is peak signal to noise ratio (PSNR), which is simply 20log(255/RMSE) where RMSE is the root mean square error.   It is useful to examine another statistic, average absolute error (AAE) in place of RMSE because it is less sensitive to a few large errors.   Version 2.0 of SAR Image Processor is fully capable of making these measurements.  

More specifically:

1. The test image was the 2297x3600 freeware image, PDI-Target

2. The top row of pixels was cropped off so that both width and height were divisible by four.

3. This 2296x3600 image was reduced 0.25X to 574x900 using a box convolution kernel.   This approximates the effect of Foveon sensors on a continuous image projection because Foveon sensors integrate light intensities over adjacent, nonoverlapping, square areas.   The reduction can be downloaded here PDI-Target Reduction

4. The reduction was enlarged 4X by a variety of methods.  

(Note that to perform a valid comparison, there cannot be any image shifting and the resizing must be exact.  Often vendors enlarge by a factor (N2 - 1)/(N1 - 1) instead of N2/N1, where N1 and N2 are input and output dimensions, respectively.)

5. All measurements were on the Y channel of YCbCr color space.

6. Parameter settings were default unless otherwise noted.

7. A border region of 5 pixel thickness around the image was ignored in these calculations.

Results
RMSE1 AAE1 PSNR2 MSSIM2
Box (Nearest neighbor) 12.53 5.28 26.17 0.815
Bilinear 11.52 5.19 26.90 0.831
Bicubic 10.79 4.82 27.47 0.844
Lanczos 2 10.77 4.83 27.49 0.843
Lanczos 3 10.56 4.80 27.65 0.844
Lanczos 4 10.55 4.83 27.67 0.842
Lanczos 5 10.54 4.86 27.67 0.841
Lanczos 6 10.55 4.89 27.67 0.839
Lanczos 64 10.67 5.16 27.57 0.826
Triangulation 11.27 5.05 27.09 0.837
Zhao Xin Li* 10.57 4.77 27.65 0.844
IFS3 10.10 4.40 28.04 0.856
DDL3* 10.40 4.55 27.79 0.854
Pseudonverse with SuperRez Postprocessing4 9.53 4.08 28.55 0.871
Modified Roussos-Maragos5 9.84 4.32 28.27 0.865
Pseudo LAD6 9.29 3.91 28.77 0.876

1 - Smaller is better.

2 - Larger is better.

* - Centered using Lanczos 3 interpolation.

3 - Parameter Settings

4 - Parameter Settings

5 - Parameter Settings

6 - Parameter Settings