SSIM Introduction

SSIM 是2004年提出来的,原始论文在这里。SSIM相较PSNR更符合人眼的主观感觉,因此在很多图片视频任务中广泛使用,包括压缩,降噪等等。本文简单介绍下SSIM公式,并根据论文On the Mathematical Properties of the SSIM对SSIM做了分析,最后总结了如何在编码器中针对SSIM来做优化。

SSIM简介

SSIM的计算公式如下:

其中l(x, y)代表x, y对于mean的相似度,c(x, y)代表的contrast的对比度,s(x, y)代表的是结构的相似度;他们的计算方式分别如下

其中$\mu_x$, $\mu_y$ 分别为块的均值;其中$\mu_x$, $\mu_y$相差越大,$l(x, y)$就越小;

而对比度相似度c(x, y)的计算方式与l(x, y)的相似,具体如下

结构相似度s(x, y)无法表示成一个数,作者是把他转换成归一化的向量,然后计算下余弦相似度:

其中$\sigma_{xy}$为x, y的covariance,expected value of the product of their deriations from there individual expected values. 计算方式为

也就是两个相对于均值一起变动的节奏或者波形是否一致。可以考虑一维的情况,协方差在计算的时候会减去均值。

如果$C_3 = C_2/2$,最终的SSIM的公式为

因此SSIM(x, y) 小于1, 大于-1;

On the Mathematical Properties of the SSIM

作者首先把SSIM分成两部分,

然后使用$d_1 = \sqrt{1 - S_1}$和$d_2 = \sqrt{1 - S_2}$作为normalized metrics; 作者先证明了NRMSE是一个metrics,然后说明$d_1$和$d_2$是NRMSE的一种。NRMSE的定义如下

之后通过构建$D_2 := ||d(x,y)||_2 = \sqrt{2 - S_1(x,y) - S_2(x, y)}$来表示一个距离,$||d(x,y)||_2$是$\sqrt{1-SSIM(x,y)}$的低阶近似。

在图片或者视频的很多处理中,大部分时候mean都是保持一致的,因此SSIM中的$c(x,y)$和$s(x,y)$更加重要。作者也通过计算SSIM和$D_2$的相关性,可以看出图像的均值相差不大的情况下,SSIM和其他$D_2$的相关性是很高的,大于0.967;

如何针对SSIM做优化

从以上分析可以看到,SSIM可以近似表示为$d_2$,$d_2$可以理解为相对损失,因此相同的SSIM分数下,复杂的块,也就是$\sigma_x$ 更大的块,可以允许有更大的损失。也可以把SSIM理解为weighted MSE,加权的因子是$\frac{1}{\sigma_x}$,因此简单的块有更大的权重。在图片或视频压缩中,可以针对简单区域分配更多的比特从而优化SSIM的表现。