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,结构

    其算法的框图基本如下:


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

    亮度luminance用均值表征,以标准图像x为例,当然还有另外一张作为对比的图像y,公式是一样的,如下:

    对比度contrast用经过均值归一化之后的方差表征,以标准图像x为例,当然还有另外一张作为对比的图像y,公式是一样的如下:

    结构用相关系数(就是统计意义上的 r ,协方差与方差乘积的比值)
    而相关系数r本来的公式如下:

    在SSIM中:

    而:

    上面的计算我们在实际应用的时候一般不这样去逐像素计算,
    一般采用高斯核函数(即高斯卷积)计算图像的均值、方差以及协方差
    而不是采用遍历像素点的方式,以换来更高的效率。


    最终的结构相似性公式如下:

    其中三个参数α,β,γ 用来表示这三个模块的重要性。

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

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

    为了得到简化形式,令

    简化一波:

    如何推导:

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


    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,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

    物联沃分享整理
    物联沃-IOTWORD物联网 » SSIM公式:结构相似度计算原理,基于SSIM的图像质量评价

    发表评论