计算常用参考图像质量评价指标 PSNR / SSIM / MSSSIM / IFC / VIF的相关matlab总结代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35860352/article/details/84037501

图像质量客观评价可分为全参考(Full-Reference,FR),部分参考(Reduced-Reference,RR)和无参考(No-Reference,NR)三种类型。

全参考

全参考图像质量评价是指在选择理想图像作为参考图像的情况下,比较待评图像与参考图像之间的差异,分析待评图像的失真程度,从而得到待评图像的质量评估。常用的全参考图像质量客观评价主要以像素统计、信息论、结构信息三方面为基础。

1、基于图像像素统计基础

基于图像像素统计基础,峰值信噪比(Peak-Signal to Noise Ratio,PSNR)和均方误差(Mean Square Error,MSE)是比较常见的两种质量评价方法。它们通过计算待评测图像和参考图像对应像素点灰度值之间的差异,从统计角度来衡量待评图像的质量优劣。设待评价图像为F,参考图像为R,它们大小为M  N,则利用PSNR表征图像质量的计算方法为:

利用MSE表征图像质量的计算方法为:

PSNR与MSE都是通过计算待评图像与参考图像之间像素误差的全局大小来衡量图像质量好坏的。PSNR值越大,表明待评图像与参考图像之间的失真较小,图像质量较好。而MSE的值越小,表明图像质量越好。这两种方法比较简单,且容易实现,在图像去噪等方面受到广泛应用。但这类算法是从图像像素值的全局统计出发,未考虑人眼的局部视觉因素,所以对于图像局部质量无从把握。

2、基于信息论基础

基于信息论中信息熵基础,互信息被广泛用来评价图像质量。近些年,Sheikh和Bovik等人提出来了信息保真度准则(Information Fidelity Criterion,IFC)和视觉信息保真度(Visual Information Fidelity,VIF)两种算法。它们通过计算待评图像与参考图像之间的互信息来衡量待评图像的质量优劣。这两种方法具有一定的理论支撑,在信息保真度上拓展了图像与人眼之间的联系,但是这类方法对于图像的结构信息没有反应。

3、基于结构信息基础

2002年,Wang Zhou和Bovik等人在多年对图像处理图像压缩及图像视觉质量评价的研究工作基础上,首次提出了结构信息的概念。他们认为:人眼视觉的主要功能是提取背景中的结构信息,而且人眼视觉系统能高度自适应地实现这一目标,因此对图像的结构失真的度量应是图像感知质量的最好近似。在此基础上给出了一种符合人眼视觉系统特性的图像质量客观评判标准-结构相似度(Structure Similaruty,SSIM)。对于SSIM的具体介绍可以查看我的另一篇博文。

关于以上图像质量评价的代码和文献资料大部分都可从下面免费下载,仅供参考。

Image & Video Quality Assessment at LIVE

PSNR
matlab会有自带,可以敲help看看怎么使用;

SSIM
matlab自带,但我自己用的是原作者Dr.Wang zhou的版本,感觉结果会更好点;

Z. Wang, A. C. Bovik, H. R. Sheikh and E. P. Simoncelli, “Image quality assessment: From error visibility to structural similarity,” IEEE Transactions on Image Processing, 2004.

[project] | [code]

MS-SSIM
Zhou Wang and Qiang Li, “Information Content Weighting for Perceptual Image Quality Assessment,” IEEE Transactions on Image Processing, 2011.

[project] | [code]

IFC
H.R. Sheikh, A.C. Bovik, and G. de Veciana, “An information fidelity criterion for image quality assessment using natural scene statistics”, IEEE Trans. on Image Processing, 2005.

[code:http://live.ece.utexas.edu/research/quality/ifcvec_release.zip]

VIF
H.R. Sheikh and A.C. Bovik, “Image information and visual quality”, IEEE Trans. on Image Processing, vol. 15, pp. 430-444, 2006.

[code:http://live.ece.utexas.edu/research/Quality/vifvec_release.zip]

Steerable Pyramid toolbox
计算IFC和VIF要用到 Steerable Pyramid toolbox,只是国内打不开,不过幸好有github项目版本 
下载或clone下来,工具包添加工作路径到matlab里(或者直接copy到项目里) 
尝试调用,如果提示未编译,如下编译(win10+matlab2015b 测试通过):

转至 MEX文件夹,运行compilePyrTools.m
将编译生成的文件粘贴至MEX父目录(即工具包目录)中(覆盖其中已存在的文件

再次调用vifvec或ifcvec,(由于印象中代码有个type-error)根据报错内容,修改相关函数。(有一行代码调用了一个.m文件,但由于有一个字母大小写拼错了,matlab找不到该文件。直接改那行代码即可。)

部分参考

部分参考也成为半参考,它是以理想图像的部分特征信息作为参考,对待评图像进行比较分析,从而得到图像质量评价结果。由于所参考的信息是从图像中提取出来的特征,所以它必须要先提取待评图像和理想图像的部分特征信息,通过比较提取出的部分信息对待评图像进行质量评估。部分参考方法可分为基于原始图像特征方法、基于数字水印方法和基于Wavelet域统计模型的方法等。因为部分参考质量评价依赖于图像的部分特征,与图像整体相比而言,数据量下降了很多,目前应用比较集中在图像传输系统中。

无参考

无参考方法也称为首评价方法,因为一般的理想图像很难获得,所以这种完全脱离了对理想参考图像依赖的质量评价方法应用较为广泛。无参考方法一般都是基于图像统计特性。

1、均值

均值是指图像像素的平均值,它反映了图像的平均亮度,平均亮度越大,图像质量越好,设待评价图像为F,大小为M  N,其均值计算公式为:

2、标准差

标准差是指图像像素灰度值相对于均值的离散程度。如果标准差越大,表明图像中灰度级分别越分散,图像质量也就越好,其计算公式为:

3、平均梯度

平均梯度能反映图像中细节反差和纹理变换,它在一定程度上反映了图像的清晰程度。其计算公式为:

1)熵

熵是指图像的平均信息量,它从信息论的角度衡量图像中信息的多少,图像中的信息熵越大,说明图像包含的信息越多。假设图像中各个像素点的灰度值之间是相互独立的,图像的灰度分布为p={p1,p2,…,pi,…,pn},其中pi表示灰度值为i的像素个数与图像总像素个数之比,而n为灰度级总数,其计算公式为:

其中,P(l)为灰度值l在图像中出现的概率,L为图像的灰度级,对于256灰度等级的图像而言,L=255。

一般而言,无参考图像质量评价方法首先对理想图像的特征作出某种假设,再为该假设建立相应的数学分析模型,最后通过计算待评图像在该模型下的表现特征,从而得到图像的质量评价结果。

猜你喜欢

转载自blog.csdn.net/qq_35860352/article/details/84037501