简介—— 结构相似性指数 (SSIM)是一种感知指标,用于量化由数据压缩等处理过程或数据传输损耗造成的图像质量下降*。它是一种完全参考指标,需要来自同一图像采集过程的两幅图像——一幅参考图像和一幅处理后的图像。处理后的图像通常是压缩图像。例如,可以通过将参考图像保存为 JPEG 格式(任意质量级别),然后再将其读回来获得。SSIM 在视频行业最为知名,但在静态摄影领域也有广泛的应用。任何图像均可用于 SSIM,包括Imatest测试图案,例如“硬币散落”或“对数 F 对比度”图案。
| *SSIM 实际上衡量的是两幅相似图像之间的感知差异 。它无法判断哪幅图像更好:这必须通过知道哪幅是“原始”图像,哪幅图像经过了额外的处理(例如数据压缩)来推断。 |
与峰值信噪比 (PSNR)不同,结构相似性指数 (SSIM) 基于图像中的可见结构。尽管 PSNR 已不再被视为图像质量下降的可靠指标,但它仍作为Imatest SSIM 模块中的一种替代测量方法。
Imatest SSIM 计算基于周旺、 Alan Bovik 、 HamidSheikh和Eero Simoncelli 的论文“图像质量评估:从误差可见性到结构相似性”的Matlab 实现。
| Imatest图像处理模块也计算SSIM值,该模块具有SSIM模块所不具备的许多功能。例如,它可以对图像施加常见的劣化效果(噪声、模糊、光晕等),然后应用常用的图像增强信号处理技术(色调映射、锐化掩模、双边滤波等)。 |
手术
打开Imatest ,点击右侧实用程序模块底部的SSIM按钮,或者点击实用程序(下拉菜单), SSIM 。这将打开 SSIM 窗口,该窗口最初会显示简化的说明。

使用“读取 1. 处理后的图像文件”和“读取 2. 参考图像文件”按钮读取两张图像进行比较。
- 它们应该源自同一来源(图像采集),也就是说,它们应该具有相同的场景内容。但它们的处理方式可能不同。
- 必须具有相同的像素大小。
读取两张图像后,将显示初始结果。此示例使用Imatest硬币散落测试图的图像。您可以使用Imatest测试图模块生成多个测试图案的直接位图图像,如下所述。

使用 Irfanview 处理后的图像以 20%(中等偏低)质量保存。
处理后的图像文件显示在右上角。文件名( 2.Crop_Irfan...)以深蓝色显示在图像下方偏中心的位置。该文件以 Irfanview 质量等级 20(满分 100)保存——质量相对较低,压缩率很高。
参考图像文件显示在右上角。文件名(1. Crop LX7... )以棕色 显示在左侧图像下方。请注意,SSIM 是一种对称测量:如果将处理后的图像与参考图像互换,结果将完全相同。
SSIM 指数图(SSIM 值随位置变化的函数)显示在右下角。视图下拉菜单中已选择“颜色条(选项 II)” 。其他选项包括“无颜色条(灰度图像)”和“灰度颜色条”。Mathworks 对 SSIM 的描述中展示了一张灰度 SSIM 图,但我发现它很难解读。
处理后图像的压缩比(以比特/像素为单位,本例中为 0.126)显示在文件名下方左侧。比特/像素取决于 JPEG 质量设置和图像内容(对于包含大量细节或噪点的图像,压缩率会降低,即压缩比会更高)。本文件由Irfanview以 20% 的质量级别(相当低)保存,旨在说明 JPEG 的质量损失(实际上我很少使用这种压缩级别;我通常对网站上的 JPEG 图像使用 90%)。
图像尺寸和平均 SSIM 值(针对整幅图像)显示在窗口中心附近。由于 SSIM 值可能不太为人所熟知,因此需要进行一些解释。右侧图表展示了Wang、Bovik 等人论文中大量图像的平均意见得分 (MOS) 与平均 SSIM 值 (MSSIM) 的关系。原始图像经过 2 倍下采样以适应观看条件。遗憾的是,作者并未详细解释 MOS 的含义(MOS 似乎基于大量意见,并归一化至 100)。当 MSSIM 值低于其最大值 1 时,MOS 值迅速下降,因此在 MSSIM = 0.9 时图像质量明显下降。
通常需要放大才能看到图像劣化情况。
选项
最重要的选项是放大图像,以便更清楚地查看劣化情况。有几种方法可以实现这一点。
缩放/裁剪
使用缩放/裁剪区域(左下角浅蓝色区域)中的按钮。按钮包括“放大 2 倍” 、 “缩小 1/2 倍”和“缩小” (查看完整图像)。您可以使用四个方向键之一来设置缩放区域: < 、 > 、 ^或v 。这种方法可能略显繁琐:可能需要点击多次才能精确定位到所需区域。
点击并拖动鼠标选择任意图像上的裁剪区域。
| 选择 ROI 后,您需要点击窗口中间附近的“同步视图”按钮(在处理后的图像右下方)。 |
这将更新裁剪后的 SSIM 计算结果。以下是一个裁剪后的图像示例,处理后的图像以质量 10(低质量;比上面的图像略低)保存。
裁剪后的 SSIM 结果。使用 Irfanview 处理后的图像以 10%(低)质量保存。
左侧图像中可以清晰地看到劣化伪影。SSIM 在图像的平滑区域最高,这些区域的劣化程度很小;而在结构化特征的边界处,例如左侧的Isolight LED,SSIM 值最大。
当图像放大(即裁剪)时,放大区域显示在左下角缩略图的红色 矩形内,裁剪区域的 SSIM 显示在浅蓝色缩放/裁剪区域的右侧。
峰值信噪比 (PSNR)
尽管我们不推荐使用PSNR ( Wang-Bovik 的论文中有多个例子表明它与感知质量的相关性很差),但它仍然在某些行业领域被使用。您可以在 SSIM 模块中计算 PSNR(使用Matlab 的 PSNR 函数),只需在 SSIM 窗口底部的 SSIM/PSNR 下拉菜单中进行相应的选择即可。请注意,此选择不会被保存。SSIM 模块始终默认选中 SSIM。选中 PSNR 后,右下角的图像会显示像素差异(处理后的图像减去参考图像,并偏移中间灰度平均像素值 (127))。

请注意,PSNR 的单位是 dB(分贝)。选择 PSNR 时, SSIM / PSN R 下拉菜单会显示为粉色,这样您在需要(推荐的)SSIM 计算时,就不会意外地将计算方式设置为 PSNR。
直方图
您可以使用 SSIM 窗口底部的“普通视图/直方图”下拉菜单,为 SSIM 或 PSNR 选择直方图显示。直方图显示在右下角,取代 SSIM 或像素差异图。直方图显示的是裁剪区域(如果图像被裁剪)。它会随图像内容而变化,也就是说,裁剪区域的直方图不一定与整幅图像的直方图相同。上图显示的是 Irfanview 质量为 10 的 JPEG 图像的直方图。JPEG 质量越低,直方图分布越分散。
SSIM 直方图。与裁剪后的 SSIM 结果(上图)进行比较。
使用 Irfanview 处理后的图像以 10%(低)质量保存。
其他设置
左侧“缩放/裁剪”区域上方的“降采样”下拉菜单允许您在进行 SSIM 分析之前对图像进行降采样(缩小尺寸)。图像降采样后,结果更能代表低倍率下的感知劣化——例如小尺寸图像或远距离观看时的情况。降采样后的图像的 SSIM 和 PSNR 值始终更高。与锐度计算不同,SSIM 计算(目前的形式)没有明确的观看条件要求。添加此菜单是因为Wang-Bovik在分析之前对部分图像进行了降采样。
使用 Imatest 测试图表创建测试图像
您可以创建图像,以便与 Imatest 测试图表模块(位于“实用工具”菜单中)进行直接比较。以下是一个示例,以“散落硬币”图表为例,该图表旨在测量信号处理对纹理的影响。
区域图是用于 SSIM 分析的几种重要图表设计之一。其他图表设计包括对数频率对比图、西门子星图和随机 1/f抛掷硬币图。与其他图表设计不同,区域图没有自己的分析模块。它之所以特别引人注目,是因为它是观察信号处理伪影(尤其是混叠伪影)的最坏情况图像(在上图预览中非常明显,与最终图像有所不同)。
