结构相似性SSIM

Posted by Jinming Qiao on July 5, 2019

结构相似性SSIM


名称:结构相似性SSIM

时间:2020-08-15


简介

  • 自然图像具有极高的结构性,表现在图像的像素间存在着很强的相关性,尤其是在空间相似的情况下。这些相关性在视觉场景中携带着关于物体结构的重要信息。我们假设人类视觉系统(HSV)主要从可视区域内获取结构信息。所以通过探测结构信息是否改变来感知图像失真的近似信息。
  • 大多数的基于误差敏感度(error sensitivity)的质量评估方法(如MSE,PSNR)使用线性变换来分解图像信号,这不会涉及到相关性。SSIM就是要找到更加直接的方法来比较失真图像和参考图像的结构。
  • 物体表面的亮度信息与照度和反射系数有关,且场景中的物体的结构与照度是独立的,反射系数与物体有关。可以通过分离照度对物体的影响来探索一张图像中的结构信息。这里,把与物体结构相关的亮度和对比度作为图像中结构信息的定义。因为一个场景中的亮度和对比度总是在变化的,所以可以通过分别对局部的处理来得到更精确的结果。

PSNR (Peak Signal-to-Noise Ratio) 峰值信噪比

  • 给定一个大小为 m×n 的干净图像I 和噪声图像K,均方误差 (MSE) 定义为:
\[MSE = \frac{1}{mn}\sum_{i=0}^{m-1}\sum_{j=0}^{n-1}[I(i, j)-K(i,j)]^2\]
  • PSNR(dB)就定义为:
\[PSNR = 10 \cdot log_{10}(\frac{MAX_I^2}{MSE})\]
  • 其中 MAX为图片可能的最大像素值。如果每个像素都由 8 位二进制来表示,那么就为 255。通常,如果像素值由B位二进制来表示,那么 \(MAX_I = 2^B-1\)

  • 一般针对 uint8 数据,最大像素值为 255,;针对浮点型数据,最大像素值为 1

PSNR针对彩色图像进行峰值信噪比计算

  • 上面是针对灰度图像的计算方法,如果是彩色图像,通常有三种方法来计算。
    • 分别计算 RGB 三个通道的 PSNR,然后取平均值。
    • 计算 RGB 三通道的 MSE ,然后再除以 3 。
    • 将图片转化为 YCbCr 格式,然后只计算 Y 分量也就是亮度分量的 PSNR。
  • 针对超光谱图像,需要针对不同波段分别计算 PSNR,然后取平均值,这个指标称为 MPSNR。

SSIM (Structural SIMilarity) 结构相似性

  • SSIM公式基于样本 xx 和 yy 之间的三个比较衡量:亮度 (luminance)、对比度 (contrast) 和结构 (structure)。
\[l(x,y) = \frac{2\mu_x \mu_y + c_1}{\mu_x^2+ \mu_y^2 + c_1}\] \[c(x,y) = \frac{2\sigma_x \sigma_y + c_2}{\sigma_x^2+ \sigma_y^2 + c_2}\] \[s(x,y) = \frac{\sigma_{xy} + c_3}{\sigma_x \sigma_y + c_3}\]
  • 一般取
\[c_3 = c_2 / 2\]
  • 那么
\[SSIM(x, y) = [l(x,y)^{\alpha} \cdot c(x,y)^{\beta} \cdot s(x,y)^{\gamma}]\]
  • 可以得到
\[SSIM(x, y) = \frac{(2\mu_x \mu_y + c_1)(2\sigma_{xy}+c_2)}{(\mu_x^2+ \mu_y^2 + c_1)(\sigma_x^2+\sigma_y^2+c_2)}\]
  • 每次计算的时候都从图片上取一个 N×N的窗口,然后不断滑动窗口进行计算,最后取平均值作为全局的 SSIM。针对超光谱图像,需要针对不同波段分别计算 SSIM,然后取平均值,这个指标称为 MSSIM。

注意

  • 在图像质量评估之中,局部求SSIM指数的效果要好于全局
    • 图像的统计特征通常在空间中分布不均;
    • 图像的失真情况在空间中也是变化的;
    • 在正常视距内,人们只能将视线聚焦在图像的一个区域内,所以局部处理更符合人类视觉系统的特点;
    • 局部质量检测能得到图片空间质量变化的映射矩阵,结果可服务到其他应用中。