Evaluation of VSNR

Lin Zhang, School of Software Engineering, Tongji University


Introduction

VSNR (Visual Singal-to-Noise Ratio) index is presented by Chandler and Hemami on 2007 [1].


Source Code

The authors of VSNR have provided their implementation at http://foulard.ece.cornell.edu/dmc27/vsnr/vsnr.html.


Usage Notes

1. VSNR can only deal with gray-scale images and the luminance range is [0, 255]. So, for color images, before calling VSNR, you need to convert it to [0, 255] gray-scale version. Usually, this can be accomplished by the Matlab routine rgb2gray. Then, further convert the images to double().


Evaluation Results

The results (in Matlab .mat format) are provided here. Each result file contains a n by 2 matrix, where n denotes the number of distorted images in the database. The first column is the VSNR values, and the second column is the mos/dmos values provided by the database. For example, you can use the following matlab code to calculate the SROCC and KROCC values for VSNR values obtained on the TID2008 database:

%%%%%%%%%%%%%%%

matData = load('VSNROnTID.mat');
VSNROnTID= matData.VSNROnTID;
VSNR_TID_SROCC = corr(VSNROnTID(:,1), VSNROnTID(:,2), 'type', 'spearman');
VSNR_TID_KROCC = corr(VSNROnTID(:,1), VSNROnTID(:,2), 'type', 'kendall');

%%%%%%%%%%%%%%%

The source codes to calculate the PLCC and RMSE are also provided for each database. This needs a nonlinear regression procedure which is dependant on the initialization of the parameters. We try to adjust the parameters to get a high PLCC value. For different databases, the parameter initialization may be different. The nonlinear fitting function is of the form as described in [2].

Evaluation results of VSNR on seven databases are given below. Besides, for each evaluation metric, we present its weighted-average value over all the testing datasets; and the weight for each database is set as the number of distorted images in that dataset.

Note: On TID2013, for some images, their VSNR score is INF. In this case, SROCC and KROCC can be computed and the result is identical to the ones reported on http://www.ponomarenko.info/tid2013.htm. However, with these "INFs", PLCC and RMSE cannot be defined. Thus, we remove the INFs when computing PLCC and RMSE and the results are reported as follows. In "VSNROnTID2013.mat", the INFs have been removed. With such a  "VSNROnTID2013.mat", the computed SROCC and KROCC will be different from the ones reported here.

Database

Results

Nonlinear fitting code SROCC KROCC PLCC RMSE

TID2013

VSNROnTID2013

NonlinearFittingTID2013 0.6812 0.5084 0.7402 0.8392

TID2008

VSNROnTID

NonlinearFittingTID 0.7046 0.5340 0.6820 0.9815

CSIQ

VSNROnCSIQ

NonlinearFittingCSIQ 0.8106 0.6247 0.8002 0.1575

LIVE

VSNROnLIVE

NonlinearFittingLIVE 0.9274 0.7616 0.9231 10.5059

IVC

VSNROnIVC

NonlinearFittingIVC 0.7983 0.6036 0.8032 0.7258

Toyama-MICT

VSNROnMICT

NonlinearFittingMICT

0.8614

0.6762

0.8710

0.6147

A57

VSNROnA57

NonlinearFittingA57

0.9355

0.8031

0.9502

0.0766

WIQ

VSNROnWIQ

NonlinearFittingWIQ

0.6558

0.4873

0.7736

14.5153

Weighted-Average

 

         

Reference                

[1] D.M. Chandler and S.S. Hemami, "VSNR: A wavelet-based visual signal-to-noise-ratio for natural images", IEEE Trans. on Image Processing, vol. 16, pp.2284-2298, 2007.

[2] H.R. Sheikh, M.F. Sabir, and A.C. Bovik, "A statistical evaluation of recent full reference image quality assessment algorithms", IEEE Trans. on Image Processing, vol. 15, no. 11, pp. 3440-3451, 2006.


Created on: May. 08, 2011

Last update: Dec. 02, 2013