论文阅读笔记 | Transformer-based No-Reference Image Quality Assessment via Supervised Contrastive Learning

文章链接:https://doi.org/10.48550/arXiv.2312.06995
代码链接:https://github.com/I2-Multimedia-Lab/SaTQA

文章题目

Transformer-based No-Reference Image Quality Assessment via Supervised Contrastive Learning

发表年限

2023

期刊/会议名称

Association for the Advancement of Artificial Intelligence, AAAI24

论文简要

  • 在本文中,作者提出了 SaTQA,这是一个专门针对无参考图像质量评估(NR-IQA)的模型,它结合了监督对比学习和 Transformer。
  • 最初, S C L SCL SCL 被用来解决现有模型面对真实数据集进行质量预测时的不足。
  • 为了增强对失真图像的特征提取能力并克服 CNN 全局建模的限制,作者引入了MSB模块。
  • 此外,作者设计了 P A B PAB PAB 模块以有效融合图像退化特征和失真信息。
  • 在七个标准IQA数据集上的实验结果证明了所提出模型的卓越性能。

动机

  • 由于现有的卷积神经网络(CNN)和基于 Transformer 的NR-IQA方法具有强大的特征提取能力,这些方法已经取得了相当的进展。然而,当面对未知的真实失真数据集时,它们仍然显示出有限的能力。
  • 大多数现有的基于深度学习的 NR-IQA 模型都是使用整个训练数据集进行训练的,没有区分不同的失真类型和等级,这可能使它们在面对如 LIVE-FB 这样的大规模真实数据集时表现出有限的能力。
  • 如图1所示,即使是最近最强大的基于 Transformer 的 NR-IQA 模型 MANIQA,在 LIVE-FB 上的PLCC结果也降至不到0.6。
  • 这是因为对于人眼而言,即使是相同等级的失真,但由两种不同类型的噪声引起的,可能会导致非常不同的视觉感知。
  • 因此,如果在训练过程中不区分不同的噪声类型和等级,模型可能在面对包含过多失真的大规模数据集时表现不佳。
    在这里插入图片描述
  • 一些基于CNN的方法,如 CONTRIQUE,尝试通过在训练中指定失真类型和等级或使用其他类型的内容作为失真分类的标签来解决这个问题。然而,这种策略不适用于大规模真实数据集,其中失真类型和等级不可能明确指定。
  • 人类对图像质量的感知通常是通过观察整个图像来进行的,即通过全局整合整个图像的内容失真。由于 CNN 的接受域有限,基于 CNN 的 IQA 模型的性能可能会受到限制。与 CNN 相反,Transformer 由于其长距离依赖性建模能力,可以整合图像的全局失真信息,因此自然适合于无参考图像质量评估(NR-IQA)。
  • 纯 Transformer 在提取图像边缘和纹理等局部细节方面能力较弱,这可能会降低最终的预测性能。
  • 从图2中的 Grad-CAM 可以看出,纯 V i T ViT ViT 模型更多地关注图像的语义区域,而忽略了图像的失真区域。

在这里插入图片描述

主要思想或方法架构

  • 提出的方法是一个基于监督对比学习和Transformer的无参考图像质量评估(NR-IQA)方法,名为SaTQA,图3展示了所提出的模型架构。

在这里插入图片描述

  • 给定一个失真图像 I ∈ R H × M × 3 I \in R^{H\times{M\times{3}}} IRH×M×3,其中 H H H W W W 分别表示高度和宽度,NR-IQA 的目标是预测其客观质量分数。
  • 首先,作者使用ViT提取图像的原始特征, V i T ViT ViT 是 Vision Transformer 的缩写,是一种基于 Transformer 架构的视觉处理模型,其中每一层提取的特征定义为 F i ∈ R ( h × w ) × C i {F_i} \in R^{(h\times{w})\times{C_i}} FiR(h×w)×Ci i ∈ { 1 , 2 , . . . , 12 } i \in \{1,2,...,12\} i{1,2,...,12}
  • 在本文中,作者提取其中四层并通过通道维度将它们连接起来,表示为 F ^ \hat F F^ ∈ R ∑ i ( h × w ) × C i \in R^{{\sum_i}(h\times{w})\times{C_i}} Ri(h×w)×Ci i ∈ { 1 , 2 , 5 , 6 } i \in \{1,2,5,6\} i{1,2,5,6},其中 C i C_i Ci 表示 ViT 层的维度, h h h w w w 分别表示相应输出的高度和宽度。然后作者沿通道维度缩小 F ^ \hat F F^ 以获得 F ′ ^ = R h × w × D \hat {F^{ ' }} = R^{h\times{w\times{D}}} F^=Rh×w×D
  • 接下来作者使用一个三阶段的 M S B MSB MSB 模块进行图像失真提取,其中前两个阶段在 M S B MSB MSB 处理后进行下采样。
  • 失真信息由骨干网络提取,输出为 R ∈ R h 4 × w 4 × D R \in R^{{h_4}\times{{w_4}\times{D}}} RRh4×w4×D,其中 D D D 表示特征的通道维度, h 4 h_4 h4 w 4 w_4 w4 表示最后阶段输出的高度和宽度。同时,失真图像通过经过 S C L SCL SCL 训练的 ResNet-50,输出为 P P P P P P ∈ R ( h 4 × w 4 ) × C i × ∑ i c i \in R^{{({h_4}\times{w_4})\times{C_i}}\times\sum_i c_i} R(h4×w4)×Ci×ici
  • 作者使 P P P R R R 具有相同的形状,因此 D = ∑ i c i D = \sum_i c_i D=ici。接下来, P A B PAB PAB 模块融合 P P P R R R 的特征,以获得图像质量的特征 S S S,并将最终的 S S S 回归到与图像对应的客观质量分数。

  • 作者需要模型能够区分不同图像的失真类型和等级,因此这个辅助任务的目标类似于图像分类。
  • 然而,不同于传统的监督分类,作者在一个大规模的合成数据集上使用监督对比学习( S C L SCL SCL)训练模型,以获得比分类更稳健和通用的退化特征,使得相同失真类型(等级)的退化比不同失真类型(等级)的退化更加接近。
  • 然后作者将预训练的模型推广到含有潜在退化的其他数据集,例如真实失真数据集。

在这里插入图片描述

  • 如图所示,在开始时,各种失真图像在特征空间上的分布是随机和无序的。作者的目标是,使用监督对比学习后,具有相同失真和等级的图像可以聚集在一起。
    在这里插入图片描述

  • 在作者提出的用于失真图像聚类的监督对比学习中,首先,定义 I u v I^v_u Iuv 表示失真图像, u ∈ { 1 , . . . , U } u\in\{1, ..., U\} u{1,...,U} 表示与 I I I 对应的不同失真类型, v ∈ { 1 , . . . , V } v\in\{1, ..., V\} v{1,...,V} 表示每个 u u u 下的失真等级,其中 U U U V V V 分别表示失真类型和等级的总数。

  • 因此,连同参考图像的类别,总共有 U × V + 1 U\times{V}+1 U×V+1 个类别。也就是说,这个辅助任务被转换为区分不同类型和等级的失真图像的问题。

  • 受到前人工作的启发,作者使用编码器网络 f f f(·) 和投影器 g g g(·) 结构来学习图像的退化特征。在本文中,编码器使用 ResNet-50,投影器使用多层感知机( M L P MLP MLP)。

  • 对于给定的图像 x x x r = f ( x ) r = f(x) r=f(x) z = g ( r ) z = g(r) z=g(r) z ∈ R D z\in{R^D} zRD),其中 z z z 表示输出的 D D D 维特征, r r r 表示编码器输出的特征表示。与前人工作一样,编码器输出在传递给投影器之前进行 L 2 L_2 L2 规范化。对比损失函数使用监督归一化温度缩放的交叉熵(NT-Xent),其可以表示为:
    在这里插入图片描述

  • 其中 N N N 表示一个 mini-batch 中所有失真和参考图像的数量, I I I 表示指示函数, τ \tau τ 表示温度参数,P(i)表示属于同一类i的集合, ∣ P ( i ) ∣ |P(i)| P(i) 是其基数。 ϕ ( m , n ) ϕ(m,n) ϕ(m,n) 表示 ϕ ( m , n ) = m T n / ∥ m ∥ 2 ∥ n ∥ 2 ϕ(m,n) = {m^T}n/∥m∥_2∥n∥_2 ϕ(m,n)=mTn/∥m2n2


在这里插入图片描述

  • 作者提出的多流块( M S B MSB MSB)如图所示,它结合了 CNN 用于提取图像低级边缘特征和 Transformer 用于提取图像高级内容特征。

  • 首先,作者将 V i T ViT ViT 提取后的特征 F ^ ∈ R D × h × w \hat F \in R^{D\times{h\times{w}}} F^RD×h×w 重塑为特征图 F ′ ^ \hat {F^{'}} F^

  • 然后作者将其沿通道维度分为 3 3 3 个部分, χ 1 ∈ R D 1 × h × w \chi_1 \in R^{D_1\times{h\times{w}}} χ1RD1×h×w χ 2 ∈ R D 2 × h × w \chi_2 \in R^{D_2\times{h\times{w}}} χ2RD2×h×w χ 3 ∈ R D 3 × h × w \chi_3 \in R^{D_3\times{h\times{w}}} χ3RD3×h×w,其中 χ 1 \chi_1 χ1 χ 2 \chi_2 χ2 被送入 CNN,而 χ 3 \chi_3 χ3 被送入 Transformer。

  • χ 1 \chi_1 χ1 将通过可变形卷积( D e f o r m C o n v DeformConv DeformConv)和线性层,得到 χ 1 ′ \chi_1^{'} χ1

  • χ 2 \chi_2 χ2 首先通过深度卷积( D w C o n v DwConv DwConv)和最大池化层,然后上采样得到 χ 2 ′ \chi_2^{'} χ2

  • χ 3 \chi_3 χ3 将通过多头自注意力( M H S A MHSA MHSA)和线性层,得到 χ 3 ′ \chi_3^{'} χ3

  • 这些可以被公式化为:
    在这里插入图片描述

  • 最后, χ 1 ′ \chi_1^{'} χ1 χ 2 ′ \chi_2^{'} χ2 χ 3 ′ \chi_3^{'} χ3 被连结在一起并重塑,表示为 F ^ ′ ∈ R D × h × w \hat F^{'} \in R^{D\times{h\times{w}}} F^RD×h×w。此外,作者通过 C B A M CBAM CBAM 模块(即通道注意力和空间注意力)将 F ^ \hat F F^ F ^ ′ \hat F^{'} F^ 进行残差学习连接。

  • 在本文中, χ 1 \chi_1 χ1 χ 2 \chi_2 χ2 χ 3 \chi_3 χ3 在通道维度的百分比会随着不同阶段而变化。一开始,所有三者在通道中分享相同的百分比,然后 χ 3 \chi_3 χ3 会逐渐增加其在总通道中的百分比。

  • 注意,在 CNN 分支中,可变形卷积可以增加空间采样位置,而深度卷积可以减少计算数量并补充在 Transformer 分支中未建模的通道注意力。


  • 根据上面所述,作者可以获得扭曲图像特征 P P P R R R
  • 通过在大规模图像质量评估数据集 K A D I S KADIS KADIS 上进行自监督预训练后,退化 P P P 可以用来区分待评估图像的扭曲级别和类型。如图所示,作者将 P P P 映射到查询( Q Q Q),将 R R R 映射到键( K K K)和值( V V V),然后通过公式计算它们,以获得最终的图像质量特征 S S S
  • 通过这种计算,模型可以在评估中表现良好,并且由于 P P P 辅助训练,即使在小规模的图像质量评估数据集上也能更快地收敛。

在这里插入图片描述


  • 对于得分预测,作者首先根据上面将补丁注意力块的 tokens 重塑为特征图,然后通过全局平均池化( G A P GAP GAP)获得的质量向量回归质量得分。

  • 在每一批图像中,作者通过最小化回归损失 L L L 来训练质量预测模型,如下所示:
    在这里插入图片描述

  • 其中 N N N 表示批次大小, p i p_i pi 表示模型对第i张图像预测的图像质量得分, y i y_i yi 表示相应的客观质量得分。

实验结果

在这里插入图片描述

  • 个体数据集评估。如表2所示,SaTQA 在所有七个数据集上的 S R O C C SROCC SROCC P L C C PLCC PLCC 表现优于当前最先进的方法。
  • SaTQA 在真实数据集上也表现良好,不仅在小规模数据集 LIVE Challenge 上表现出色,还在当前的大规模 LIVE-FB 数据集上表现出色。

在这里插入图片描述

  • 单独失真评估。由于图像中存在多种类型的失真,尤其是在真实数据集中,一张图像可能包含多种类型的失真(例如,模糊、噪声等)。
  • 为了验证 SaTQA 在失真类型上的通用性能,作者在合成数据集 LIVE 和 CSIQ 上进行了实验,并比较了 S R O C C SROCC SROCC 表现。
  • 从表3可以看出,所提出模型在 CSIQ 和 LIVE 数据集上具有强大的泛化性能。

在这里插入图片描述

  • 跨数据集评估。为了验证模型在不同数据集上的泛化性能,作者进行了跨数据集实验。在这个验证中,训练过程在特定数据集上进行,测试则在另一个不同的数据集上执行,测试期间不进行任何参数调整。
  • 如表4所示,所提出的模型具有强大的泛化能力。

在这里插入图片描述

  • 消融研究。在表5中,作者提供了消融研究以验证所提出的模型的每个组件的效果。
  • 作者使用在 ImageNet 上预训练的 V i T ViT ViT 作为基线(#1),其 patch 大小为 8,并使用原始的 CLS token 进行质量回归。
  • 监督对比学习。为了有效利用大量未标记数据并增强模型在真实 IQA 数据集上的预测性能,作者提出了 S C L SCL SCL 模块。
  • 在 #2 中的结果表明,使用 S C L SCL SCL 可以显著提高模型在 LIVE Challenge上 的性能( + 0.044 +0.044 +0.044 P L C C PLCC PLCC + 0.037 +0.037 +0.037 S R O C C SROCC SROCC)和在 CSIQ 数据集上( + 0.041 +0.041 +0.041 P L C C PLCC PLCC + 0.04 +0.04 +0.04 S R O C C SROCC SROCC)。
  • 多流块。为了结合 CNN 和 Transformer 在 IQA 任务上的特征提取能力,作者提出了 M S B MSB MSB 模块。在 #3 中,该模型在 LIVE Challenge 和 CSIQ 数据集上的 S R O C C SROCC SROCC P L C C PLCC PLCC 0.01 0.01 0.01 的提升。
  • 补丁注意力块。提出 P A B PAB PAB 是为了使用 S C L SCL SCL 学到的退化作为查询,与 M S B MSB MSB 提取的感知失真计算交叉注意力。
  • 从 #4 中可以看出,通过添加 P A B PAB PAB,模型在 LIVE Challenge 数据集上的 S R O C C SROCC SROCC P L C C PLCC PLCC 提高了 0.02 0.02 0.02,在 CSIQ 数据集上增加了 0.002 0.002 0.002

  • 视觉结果分析。作者提供了 MANIQA 和 SaTQA 在 C S I Q CSIQ CSIQ 测试集上对 J P E G JPEG JPEG 失真图像的 D M O S DMOS DMOS 预测结果作为示例。

在这里插入图片描述

  • 如图所示,可以看出 SaTQA 在图像失真等级排名和整体 D M O S DMOS DMOS 值预测方面都优于 MANIQA,其中 MANIQA 在预测第四和第五失真等级时产生了错误。
  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ErizJ

觉得好的话给小弟一点鼓励吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值