MANIQA: Multi-dimension Attention Network for No-Reference Image Quality Assessment
https://arxiv.org/abs/2204.08958
Pipal: a large-scale image quality assessment dataset for perceptual image restoration.
https://arxiv.org/pdf/2007.12142.pdf
是啥
这是一篇图像质量评估方向的一篇文章,该任务对数字图像的视觉质量进行客观或者主观的评分,其中根据是否有原图作为对比,可以将现存的方法粗略划分为有参考或无参考图像质量评估,本文属于无参考质量评估
这篇论文尝试解决现有方法不能够对 GAN-based (指超分,图像恢复相关模型) 生成的失真图像进行准确预测质量得分的需求,因此提出了 MANIQA 方法,实验表明该方法在四个数据集上都达到了 SOTA 的结果
方法&网络架构
Pipal 研究发现人眼对于虚假但逼真图片很难鉴别,并且人眼对于一些局部的错位不仔细看也很难感知到,但神经网络可以区分,同时他们发现算法进行区分时对于空间错位的瑕疵非常敏感。
因此 MANIQA 为了加强全局与局部间的交互,受到 Restormer 工作的启发,提出了 Transposed Attention Block (TAB) 和 Scale Swin Transformer Block(SSTB)。这两个模块分别在通道和空间维度上应用注意力机制,以这种多维的方式,模块之间可以协同增强全局和局部区域之间的交互,从而提升了算法的精度,整体网络架构如下图所示
图片输入网络后,首先会经过 ViT 模块,然后提取 ViT 第 {7, 8, 9, 10} 层的特征图,Concat 后得到 CxHW 作为输出,随后 TAB 就会对输出的通道进行加权从而让接下来的 SSTB 模块更好的提取局部信息,最后经过两个分支输出图片最终的加权分数。
Transposed Attention Block (TAB)
在常规的 Self-Attention (SA) 中,通过 key-query 点积操作,能够让图片中的 patchs 产生信息交互,从而提取到了空间维度的特征。但忽略了 CxHW 中 C 也就是通道这个维度所蕴含的信息,基于此,作者提出了 TAB。
结合上图所示的 TAB 模块,它的功能是将 SA 作用到通道(C)这个维度上, 通过 Reshape 将 K 变成了 HWxC 从而与 Q 做矩阵相乘,然后再经过 Softmax 就可以获得通道与通道之间的相关性(可以理解为协方差矩阵,尺寸大小为 CxC),最后再与 V 进行加权后输出。
这个模块有两个好处
- 整合 ViT 中四个不同尺寸的层特征图,并根据通道对质量分的相关性赋予通道不同权重
- TAB 生成的 Attention Map 编码了全局上下文的语义信息,为接下来需要提取的局部信息提供帮助
Scale Swin Transformer Block (SSTB)
SSTB 模块有 3 个子模块组成,分别是 STL,Conv,Scale,其中 STL 就是标准的 Swin Transformer Layer,Conv 是卷积,Scale 是一个缩放参数 𝛼 ,公式如下
同样,文中也给出了两个好处
- 通过 STL 可以获得类似 Conv 在空间上尺度和平移不变性的特征
- 缩放参数 𝛼 可以稳定训练过程,通常取值为 0.1~0.2之间
总得来说,STBB 是通过 STL 来提取全局和局部的特征,文中关于为啥加入缩放参数 𝛼 也没说,这个模块感觉有点敷衍
Patch-weighted Quality Prediction (两个分支)
最后就是这两个分支的模块,一个分支计算每个 Patch 的分数,一个分支计算每个 Patch 的权重,然后加权求和获得最后分数,文中说**他们相信(= =,we believe… 这样子写论文也可以的吗)**这样做可以防止过拟合,而且质量分由多个 Patch 综合得到也很合理
训练细节
dataset: PIPAL, LIVE, CSIQ, TID2013, KADID-10K
backbone**😗* ViT-B/8 with pretrained weight
TAB: 2 blocks
SSTB: 1 block, 768 embedding dimension → 384 embedding dimension
𝛼: 0.8
lr: 10e-5
lr_sche: cosine annealing
optimizer: adam
batch size: 8
input size: 224x224
loss: MSE
效果评估
在提到的数据集上都取得了 SOTA,但我觉得缺了消融实验,也就是说并没有对比 TAB 和 STBB 对模型精度的影响