SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价

SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价

提示:据说这是科大讯飞的算法面试题


文章目录

  • SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价
    • @[TOC](文章目录)
  • 从均方误差MSE和峰值信噪比PSNR说起
  • SSIM:结构相似性
  • SSIM的实现
  • 总结

大厂算法面试题:讲一下SSIM公式;

从均方误差MSE和峰值信噪比PSNR说起

图像降噪后的质量,最直接的思路即比较**降噪后的图像与真实图像(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

灰度等级gray scale 存成 8bit ,故最大值255。

当时上面的评价指标有一个大的问题,那就是
由于基于差剖面的简单计算不符合人类视觉系统(Human Visual System,HVS)的评价结果
因此需要对评价方式进行重新考量。

如果图片的最终目的是对人类展示的话,那么质量应该以人的主观测评为准。
但是由于主管评价不方便且费时,因此我们试图用客观的 图像质量评价来对图像进行评价,使其接近 HVS 的特点。

由于 HVS 具有可以抓取图像的结构特征的特点,
因此设计(结构相似性) Structural Similarity 进行评价,即 SSIM

注意:PSNR和SSIM都是全参考的(full reference)的,也就是需要无噪声的真实图像作为参考依据。

SSIM:结构相似性

SSIM的基本思路是,通过以下三个方面来对两幅图像的相似性进行评估,即

1. luminance,亮度
2. contrast,对比度
3. structure,结构

其算法的框图基本如下:
SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价_第1张图片
SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价_第2张图片
算法细节流程:
(1)对于输入的x和y,首先计算出(亮度测量)luminance measurement,进行比对,得到第一个相似性有关的评价;
(2)再减去luminance的影响,img-l,计算(对比度测量)contrast measurement,比对,得到第二个评价;
(3)再用上一步的结果除掉对比度的影响,img-l/c再进行structure的比对。最后将结果combine,得到最终的评价结果。

亮度luminance用均值表征,以标准图像x为例,当然还有另外一张作为对比的图像y,公式是一样的,如下:
SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价_第3张图片
对比度contrast用经过均值归一化之后的方差表征,以标准图像x为例,当然还有另外一张作为对比的图像y,公式是一样的如下:
SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价_第4张图片
结构用相关系数(就是统计意义上的 r ,协方差与方差乘积的比值)
而相关系数r本来的公式如下:
在这里插入图片描述
在SSIM中:
SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价_第5张图片
而:
在这里插入图片描述
上面的计算我们在实际应用的时候一般不这样去逐像素计算,
一般采用高斯核函数(即高斯卷积)计算图像的均值、方差以及协方差
而不是采用遍历像素点的方式,以换来更高的效率。

在这里插入图片描述
最终的结构相似性公式如下:
在这里插入图片描述
其中三个参数α,β,γ 用来表示这三个模块的重要性。

其中SSIM表示相似度,这个算子应当满足作为度量的基本性质,即

Symmetry,交换x和y顺序不影响结果。
Boundedness,值要有界,这里时小于等于1.。
Unique maximum,最大值,即1,只有当 x = y 时候取到。

为了得到简化形式,令
在这里插入图片描述

简化一波:
SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价_第6张图片
如何推导:

所以结构相似度指数从图像组成的角度将结构信息定义为:
独立于亮度、对比度的反映场景中物体结构的属性
并将失真建模为亮度、对比度和结构三个不同因素的组合。
均值作为亮度的估计,标准差作为对比度的估计协方差作为结构相似程度的度量


SSIM的实现

python的skimage库中实现了一些常见的评价指标如

from skimage.measure import compare_mse     #均方误差
from skimage.measure import compare_psnr    #峰值信噪比
from skimage.measure import compare_ssmi    #结构相似性

总结

提示:重要经验:

1)SSIM公式:结构相似性计算原理,基于SSIM的图像质量评价
2)均值表示明亮度、方差表示对比度,协方差表示结构相似性,仨相乘,就是SSIM,符合人类视觉感知系统的特点
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

你可能感兴趣的:(人工智能,计算机视觉,python,SSIM结构相似性,亮度对比度结构)