论文阅读笔记1——Image Quality Assessment: From Error Visibility to Structural Similarity (结构相似度)

-----
序:佛更了我又。最近确认了研究生的方向——多目标跟踪,所以以后应该就要跟这玩意打交道了。之前没有做过科研,但以后少不了读文献,就想再开一个专栏,专门记录我读文献的历程。希望自己能够越来越熟练,越来越有方法。
-----
今天读的是一篇经典论文:Image Quality Assessment: From Error Visibility to Structural Similarity(图像质量评价:从错误可见性到结构相似度),发表在IEEE TIP上。
原文链接:原文
一、各部分笔记
1.1 Abstract
客观评价图像的方法,往往是按照某种标准来量化两幅图像之间的差异,这是误差可见的(visibility of errors),例如MSE、PSNR等等。文章基于在人类视觉和场景结构信息高度相关的假设下,提出了一种可替代互补框架,这个框架是基于结构信息退化(degradation of structural information)的。根据此提出了结构相似度指数(Structural Similarity Index),并在数据集上相比于objective methods取得了好的结果。

1.2 Introduction
在图像处理中,图像质量评价的用处主要有以下三点:

  1. 可以动态地监督和调整图像的质量。例如这样一个场景:一个数码视频服务器需要通过实时的质量评价来控制和分配流资源
  2. 可以用来优化数字图像处理系统的算法和参数
  3. 可以用来检测(benchmark)算法和系统

而后是三个概念,全参考、部分参考和无参考:

  1. 全参考:有原始图像(reference image)
  2. 无参考:无原始图像
  3. 部分参考:原始图像部分可用,形式是一组提取的特征,作为辅助信息(side information)来评价。

SSIM是基于全参考讨论的。

随后作者说,像MSE、PSNR这类指标并不能很好地与感知到的图片质量匹配。(后面有例子)

1.3 基于误差灵敏度的图像质量评价
基于误差灵敏度的图像质量评价系统的框图如下图所示:
在这里插入图片描述

输入有两个,原图像和参考图像。分别经过预处理、对比敏感度函数(contract sensitivity function)过滤、通道分解、误差标准化、误差池化。下面逐个部分进行介绍。
1.3.1 预处理阶段
预处理阶段执行一些基础操作来消除已知实真,例如:对输入图像进行缩放对齐、转换颜色空间(转换到更适合于HVS的颜色空间,因为HVS更能反映人的生理习惯)、转换像素值以便显示等。
1.3.2 对比敏感度函数
这好像是个医学名词… 反映了视觉刺激对不同时间和空间频率的敏感度,一些图像质量度量包括根据该函数对信号进行加权的阶段(通常使用近似CSF频率响应的线性滤波器实现)。
1.3.3 通道分离
这里的通道好像又可分为“子带(subbands)”,这些子带对空间和时间频率以及方向具有选择性(不懂)。许多评价系统都利用了简单的通道分解,例如DCT或小波变换。
1.3.4 误差标准化
对于每一个channel,其中的误差根据特定的mask model进行计算,对信号中的错误进行加权。标准化过程旨在将错误转换为刚好显著差异(JND)的单位(不懂)。
1.3.5 误差池化
在最后的阶段,要将各通道的误差合并为一个值。通常采用闵氏范数:
在这里插入图片描述
其中 e l , k e_{l,k} el,k是第 l l l个通道中第 k k k个系数的标准化误差值。

局限性
用误差灵敏度来评价图像的一个问题是,HVS是一个复杂且高度非线性的系统,但早期的模型都是基于HVS早期阶段来实现的,且其都是依赖于线性或者准线性算子。如此,这些模型的应用就要依赖于一些假设,但这些假设往往有这些问题:

  1. 误差并不等同于真实的图像质量
  2. 超阈值问题(没看明白)
  3. 忽视了自然图像的复杂性
  4. 如果选用闵氏范数度量,则依赖于各通道之间不同位置错误是统计独立的,然而事实并不如此,例如采用小波变换的时候。
  5. 认知互动问题。就是仍有主观因素的影响。

1.4 基于结构相似性的图像质量评价
因为一幅图像中,像素之间是有很强的关联性的,对于类似于MSE这种逐点计算误差的方式,如前所述,局限性很大。也就是应该有一种新方法,更加关注于图像结构的变化。

这里面还有一个思想,那就是亮度和结构是无关的,因此在计算结构相似程度的时候,应该去除亮度的影响
SSIM的计算框图如下,下面就简单写写SSIM的定义是如何引出的。

在这里插入图片描述
假设输入 x , y x,y x,y中有一个是参考图像,另一个是待评价的图像。我们从三个方面来衡量它的相似度:亮度、对比度和结构。

亮度:
我的理解是对于灰度图像,用灰度值代替亮度。那么 x x x的平均亮度为:
μ x = 1 N ∑ i = 1 N x i \mu _x=\frac{1}{N}\sum_{i=1}^N x_i μx=N1i=1Nxi
其中 N N N是像素数。假设衡量亮度相似性的函数是 l ( x , y ) l(x,y) l(x,y),则其应该是 μ x \mu_x μx μ y \mu_y μy的函数。

对比度:
对于对比度的衡量,要去除亮度的影响。采用标准差来估计对比度值:
σ x = ( 1 N − 1 ∑ i = 1 N ( x i − μ x ) 2 ) 1 / 2 \sigma_x=(\frac{1}{N-1} \sum_{i=1}^N(x_i-\mu_x)^2)^{1/2} σx=(N11i=1N(xiμx)2)1/2
假设衡量亮度相似性的函数是 c ( x , y ) c(x,y) c(x,y),则其应该是 σ x \sigma_x σx σ y \sigma_y σy的函数。

结构比较:
假设衡量亮度相似性的函数是 s ( x , y ) s(x,y) s(x,y),比较两幅图像的结构,应该与其各自归一化的值有关( x − μ x σ x \frac{x-\mu_x}{\sigma_x} σxxμx, y − μ y σ y \frac{y-\mu_y}{\sigma_y} σyyμy)

我们同时考虑这三个因素,可以将最终的相似度函数定义为:
S S I M ( x , y ) = [ l ( x , y ) ] α [ c ( x , y ) ] β [ s ( x , y ) ] γ SSIM(x,y)=[l(x,y)]^{\alpha}[c(x,y)]^{\beta}[s(x,y)]^{\gamma} SSIM(x,y)=[l(x,y)]α[c(x,y)]β[s(x,y)]γ
α   β   γ \alpha\space \beta \space \gamma α β γ三个参数可以调整三个部分的贡献程度。
SSIM函数必须满足三个条件:

  1. 对称性, S S I M ( x , y ) = S S I M ( y , x ) SSIM(x,y)=SSIM(y,x) SSIM(x,y)=SSIM(y,x),因为两幅图的地位是等价的。
  2. 有界性,即 S S I M ≤ 1 SSIM\le 1 SSIM1
  3. 最大值唯一性,我们希望 S S I M = 1 SSIM=1 SSIM=1当且仅当 x = y x=y x=y

有一个简单的方法,如果构成SSIM的三个部分的函数都各自满足这个条件,SSIM当然也可以满足。对称性,就要求定义式本身就是看上去要对称的。最大值唯一性,就是要考虑 μ x = μ y \mu_x=\mu_y μx=μy σ x = σ y = σ x y \sigma_x = \sigma_y = \sqrt{\sigma_{xy}} σx=σy=σxy 时其值都必须为1.

所以, l ( x , y ) l(x,y) l(x,y)定义为:
l ( x , y ) = 2 μ x μ y + C 1 μ x 2 + μ y 2 + C 1 l(x,y)=\frac{2\mu_x\mu_y+C_1}{\mu_x^2+\mu_y^2+C_1} l(x,y)=μx2+μy2+C12μxμy+C1
常数 C 1 C_1 C1是为了避免分母为0的情况, C 1 < < 1 C_1<<1 C1<<1,以下同理、
c ( x , y ) c(x,y) c(x,y)定义为:
c ( x , y ) = 2 σ x σ y + C 2 σ x 2 + σ y 2 + C 2 c(x,y)=\frac{2\sigma_x\sigma_y+C_2}{\sigma_x^2+\sigma_y^2+C_2} c(x,y)=σx2+σy2+C22σxσy+C2
对于 s ( x , y ) s(x,y) s(x,y),前文说其可以用( x − μ x σ x \frac{x-\mu_x}{\sigma_x} σxxμx, y − μ y σ y \frac{y-\mu_y}{\sigma_y} σyyμy)衡量,但可以注意到( x − μ x σ x \frac{x-\mu_x}{\sigma_x} σxxμx, y − μ y σ y \frac{y-\mu_y}{\sigma_y} σyyμy)的相关性和 x , y x,y x,y的相关性等价,因此其可以定义如下:
s ( x , y ) = σ x y + C 3 σ x σ y + C 3 s(x,y)=\frac{\sigma_{xy}+C_3}{\sigma_x\sigma_y+C_3} s(x,y)=σxσy+C3σxy+C3.
其中 σ x y \sigma_{xy} σxy x , y x,y x,y的互相关系数:
σ x y = 1 N − 1 ∑ i = 1 N ( x i − μ x ) ( y i − μ y ) \sigma_{xy}=\frac{1}{N-1}\sum_{i=1}^N(x_i-\mu_x)(y_i-\mu_y) σxy=N11i=1N(xiμx)(yiμy)

利用SSIM指数来进行图像质量评价
作者指出,应该在局部利用SSIM,而不是全局。原因主要是:

  1. 图像的统计特征在空间上分布不均匀。分成子块应该有更好的效果
  2. 失真也是空间变化的
  3. 对于人眼看图像的过程,也是先从局部开始的
  4. 从局部着手可以附带提供图像质量变化的空间分布图,带来更多的信息

如果用简单的窗进行局部计算,会出现块效应(Blocking Artifact, 块的边界会出现不连续,形成重建图像的明显缺陷,称为块效应)。因此本文采用了11x11的高斯加权函数 w = { w i , i = 1 , 2 , … , N } \textbf{w}=\{w_i,i=1,2,\dots,N\} w={wi,i=1,2,,N},满足:标准差为1.5,且 ∑ i = 1 N w i = 1 \sum_{i=1}^Nw_i=1 i=1Nwi=1
则均值、标准差、互相关相应地变为:
μ x = 1 N ∑ i = 1 N w i x i \mu _x=\frac{1}{N}\sum_{i=1}^N w_ix_i μx=N1i=1Nwixi
σ x = ( ∑ i = 1 N w i ( x i − μ x ) 2 ) 1 / 2 \sigma_x=(\sum_{i=1}^Nw_i(x_i-\mu_x)^2)^{1/2} σx=(i=1Nwi(xiμx)2)1/2
σ x y = ∑ i = 1 N w i ( x i − μ x ) ( y i − μ y ) \sigma_{xy}=\sum_{i=1}^N w_i(x_i-\mu_x)(y_i-\mu_y) σxy=i=1Nwi(xiμx)(yiμy)

则最终全图的mean-SSIM(MSSIM)定义为:
M S S I M ( X,Y ) = 1 M ∑ i = 1 M S S I M ( x i , y i ) MSSIM(\textbf{X,Y}) = \frac{1}{M}\sum_{i=1}^M SSIM(x_i,y_i) MSSIM(X,Y)=M1i=1MSSIM(xi,yi)
其中 M M M为局部窗口的数量。

效果:
祭出这张经典的图:
在这里插入图片描述
对于同样的MSE值,MSSIM的值截然不同,且与人类视觉效果有着密切的关系。说明这个概念是成功的。

二、读后感与总结
结构相似度的概念在好久之前上课的时候老师讲过,不过按我这个记性,也忘了,就只记得函数定义构造地很巧妙。粗略看了论文的思路过程,才发现真的十分巧妙,如此简单的模型解决了这样一个问题。整体来讲,就是这个模型很好地利用了互相关这一概念和它的几何意义(互相关系数实际上是与向量夹角的余弦值有关),并且去除亮度的影响(减去均值)也是很关键的一步。

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
fsim: a feature similarity index for image quality assessment代码是用于图像质量评估的一种特征相似性指数。 该代码是在图像处理领域中常用的一种评估指标,用于量化图像质量的好坏程度。它基于图像的特征相似性来评估图像的质量,而不是简单地比较图像的像素值。 该代码的实现基于一系列的图像特征。它会对输入的两幅图像进行特征提取,然后计算这些特征之间的相似性。其中特征可以包括颜色、纹理、对比度等。 通过计算特征之间的相似性,可以得到两幅图像的相似度。这个相似度的数值可以作为图像质量的评估指标。如果两幅图像的特征相似度高,那么它们的质量就相似。反之,如果相似度低,则意味着图像质量较差。 这个代码对于图像质量评估非常有用。在图像处理领域中,我们经常需要评估算法对图像质量的影响。通过使用fsim代码,我们可以定量地评估算法对图像质量的改善程度。 同时,这个代码也可以用来比较不同图像处理算法之间的效果。通过计算不同算法处理后图像的质量评估指标,我们可以选择最佳的算法进行图像处理。 总而言之,fsim: a feature similarity index for image quality assessment代码是一种用于图像质量评估的特征相似性指数。它通过计算图像特征之间的相似性来评估图像的质量,可以用于算法的质量评估和算法选择。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值