Visibility of Errors
计算图像degrade后的质量,最 direct 的思路即比较degrade后的图像与真实图像(distortion-free)之间的差剖面,即可视误差,通过 visibility of errors 评价图像质量。
PSNR 和 MSE 就是基于这种简单直接的思路确定的指标,MSE(Mean Squared Error),顾名思义,定义略。PSNR(Peak Signal to Noise Ratio),峰值信噪比,即峰值信号的能量与噪声的平均能量之比,通常表示的时候取 log 变成分贝(dB),由于 MSE 为真实图像与含噪图像之差的能量均值,而两者的差即为噪声,因此 PSNR 即峰值信号能量与 MSE 之比。定义式如下:
第二个等式由于图像像素点数值以量化方式保存,bits 即每个像素点存储所占的位数。因此 MaxValue 即为 2^bits - 1。
计算PSNR
def cal_psnr(im1, im2):
mse = (np.abs(im1 - im2) ** 2).mean()
psnr = 10 * np.log10(255 * 255 / mse)
return psnr
由于 grayscale 存成 8bit ,故最大值255。
Structural Similarity
由于基于差剖面的简单计算不符合人类视觉系统(Human Visual System,HVS)的评价结果,因此需要对评价方式进行重新考量。如果图片的最终目的是对人类展示的话,那么质量应该以人的主管测评为准。但是由于主管评价不方便且费时,因此我们试图用客观的 image qu