【引言】
在研究图像压缩算法的时候,最终需要对压缩的质量进行评价,现有的评价质量的方法是按照PSNR或者压缩前后图像的最大误差值来判定,PSNR起源于香浓理论,表达信息的相对多少,最大误差值仅能看出图像局部信息丢失的多少;但是在实际应用中,人们评价被处理后的图像,看中的却不是信息量的多少,如针对压缩,我们更关注的是压缩后图像会有变化吗?人的眼睛能感受到该变化吗?该变化人们在其应用上是否能够接受吗?等等这些都是以人为主导判断的。再如针对人物肤色增强,最终评价肤色好坏的还是以人的主观感受为主,因此最大可能的模拟人的感受来评价图像的变化前后的好坏,成为了人们的研究方向。
SSIM是Structural Similarity的简称,即结构相似性。它是一种衡量电视、电影或者其他数字图像、视频的主观感受质量的一种方法,该方法首先是由德州大学奥丁分校的图像与视频工程实验室提出的,接下来其与纽约大学合作发展此理论。SSIM算法是用来测试两幅图像的相似性,其测量或者预测图像的质量是基于未压缩的或者无失真的图像作为参考的。传统检测图像质量的方法MSE,PSNR与人眼的实际视觉感知是不一致的,SSIM算法在设计上考虑了人眼的视觉特性,比传统方式更符合人眼视觉感知。该算法再2001年提出之后,得到很多人的引用和对此算法的不断改进,并在2015年该算法的提出者获得视频协会给予的个人黄金工程Emmy奖。
前面提到的MSE或者是PSNR算法,都是对绝对误差的评估,SSIM是一种基于感知的计算模型,它能够考虑到图像的结构信息在人的感知上的模糊变化,该模型还引入了一些与感知上的变化有关的感知现象,包含亮度mask和对比mask,结构信息指的是像素之间有着内部的依赖性,尤其是空间上靠近的像素点。这些依赖性携带着目标对象视觉感知上的重要信息。
【算法】
SSIM可以基于不同的窗口做计算,假设窗口x,y的大小是M*N;
uXuX、uYuY分别表示图像X和Y的均值;
σXσX、σYσY分别表示图像X和Y的标准差;
σ2XσX2、σ2YσY2分别表示图像X和Y的方差;
σXYσXY代表图像X和Y协方差;
C1,C2和C3为常数,是为了避免分母为0而维持稳定。通常取C1=(K1*L)^2, C2=(K2*L)^2, C3=C2/2, 一般地K1=0.01, K2=0.03, L=255( 是像素值的动态范围,一般都取为255)
最后的SSIM指数为:
当我们设定C3=C2/2时,我们可以将公式改写成更加简单的形式:
所以结构相似度指数从图像组成的角度将结构信息定义为独立于亮度、对比度的反映场景中物体结构的属性,并将失真建模为亮度、对比度和结构三个不同因素的组合。用均值作为亮度的估计,标准差作为对比度的估计,协方差作为结构相似程度的度量。
在评价一副图像的质量时,上述的公式仅用于亮度分量,虽然该公式也可以用作颜色值(RGB),色度值(YCbCr),SSIM计算的结果为一个小数且在-1到1之间,若结果为1,说明对比的两幅图像数据上是一致的。通常我们取窗口window的大小为8*8,window可以在图像上移动,且在选择窗口大小的时候,作者建议是选择子群,即不要太大,这样会减少计算的复杂度。
如何求得均值,方差与标准差:
而在实际应用中,一般采用高斯函数计算图像的均值、方差以及协方差,而不是采用遍历像素点的方式,以换来更高的效率。
【视频质量度量】
值得注意的是最初的SSIM是用来衡量静态图像质量的,它没有包含任何与人类感知和判断的时间相关的参数,然而,到了后期一些与时间相关的参数被植入到SSIM算法,用来衡量视频质量的好坏,一个简单的方式来评价视频质量的好坏是计算视频帧中SSIM的平均值。
【应用】
基于SSIM较低的计算成本和较好的表现,SSIM算法广泛应用于广播,电报,卫星电视工业,成为用来评价视频质量的主要方式。
【参考链接】
1.SSIM白皮书:https://ece.uwaterloo.ca/~z70wang/publications/ssim.html