1.PSNR,峰值信噪比
通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下:
这里的MAX通常是图像的灰度级,一般就是255了。
close all; clear all; clc; img=imread(‘lena.jpg‘); [h w]=size(img); imgn=imresize(img,[floor(h/2) floor(w/2)]); imgn=imresize(imgn,[h w]); img=double(img); imgn=double(imgn); B=8; %编码一个像素用多少二进制位 MAX=2^B-1; %图像有多少灰度级 MES=sum(sum((img-imgn).^2))/(h*w); %均方差 PSNR=20*log10(MAX/sqrt(MES)); %峰值信噪比
原图
图像宽高分别缩小1/2再放大到原图,PSNR=30.2dB
图像宽高分别缩小1/5再放大到原图,PSNR=24.5dB
可以看出PSNR越高,图像和原图越接近。当然,这都是客观指标,实际评价还有主观指标,不过主观的东西就比较模糊了,每个人感觉都会不同的。
最常用的全参考视频质量评价方法有以下2种:
PSNR(峰值信噪比):用得最多,但是其值不能很好地反映人眼主观感受。一般取值范围:20-40.值越大,视频质量越好。
SSIM(结构相似性):计算稍复杂,其值可以较好地反映人眼主观感受。一般取值范围:0-1.值越大,视频质量越好。
PSNR,SSIM计算有如下工具可选:
MSU Video Quality Measurement Tool:商业软件,图形化界面,易上手,使用有限制。
Evalvid中的psnr.exe:开源软件,命令行界面,使用无限制。推荐,适合批处理。
偶然发现了一个很好的网站。里面包含了大量主观评价算法的数据,导入到Matlab中就可以使用。
http://sse.tongji.edu.cn/linzhang/IQA/IQA.htm
注:MOS(Mean Opnion Score,平均意见分)是主观评价实验之后,得到的主观分数,取值0-100,值越大,代表主观感受越好。
以下实验数据来自Live数据库:http://live.ece.utexas.edu/research/Quality/
SSIM参数
一种衡量两幅图像相似度的新指标,其值越大越好,最大为1,
经常用到图像处理中,特别在图像去噪处理中在图像相似度评价上全面超越SNR(signal to noise ratio)和PSNR(peak signal to noise ratio)。
结构相似性理论认为,自然图像信号是高度结构化的,即像素间有很强的相关性,特别是空域中最接近的像素,这种相关性蕴含着视觉场景中物体结构的重要信息;HVS的主要功能是从视野中提取结构信息,可以用对结构信息的度量作为图像感知质量的近似。结构相似性理论是一种不同于以往模拟HVS低阶的组成结构的全新思想,与基于HVS特性的方法相比,最大的区别是自顶向下与自底向上的区别。这一新思想的关键是从对感知误差度量到对感知结构失真度量的转变。它没有试图通过累加与心理物理学简单认知模式有关的误差来估计图像质量,而是直接估计两个复杂结构信号的结构改变,从而在某种程度上绕开了自然图像内容复杂性及多通道去相关的问题。
作为结构相似性理论的实现,结构相似度指数从图像组成的角度将结构信息定义为独立于亮度、对比度的,反映场景中物体结构的属性,并将失真建模为亮度、对比度和结构三个不同因素的组合。用均值作为亮度的估计,标准差作为对比度的估计,协方差作为结构相似程度的度量。
结构相似性指标(英文:structural similarity index,SSIM index)是一种用以衡量两张数位影像相似程度的指标。当两张影像其中一张为无失真影像,另一张为失真后的影像,二者的结构相似性可以看成是失真影像的影像品质衡量指标。相较于传统所使用的影像品质衡量指标,像是峰值信噪比(英文:PSNR),结构相似性在影像品质的衡量上更能符合人眼对影像品质的判断。
实际使用时,简化起见,一般会将参数设为及,得到:
。
在计算两张影像的结构相似性指标时,会开一个局部性的视窗,一般为×的小区块,计算出视窗内信号的结构相似性指标,每次以像素为单位移动视窗,直到整张影像每个位置的局部结构相似性指标都计算完毕。将全部的局部结构相似性指标平均起来即为两张影像的结构相似性指标。
在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性MSSIM:
opencv和matlab都有现成的函数可以使用。
参考:图像质量评价--SSIM