目录
📝论文下载地址
🔨代码下载地址
👨🎓论文作者
📦模型讲解
[背景介绍]
[Transformer]
Transformer相关背景见[Transformer]。Transformer在处理计算机视觉任务取得不错的效果,但是始终没能超过卷积神经网络的相关方法。例如,针对图像识别任务的ViT网络,针对图像目标检测任务的DETR网络。目前大多数的针对CV的Transformer方法都是首先将输入图像拆分为补丁,补丁的处理方式与 NLP 应用程序中相同。然后使用几个自监督层进行全局的信息交流,提取特征进行分类。
[图像质量评估/IQA]
感知图像质量评估(IQA)是多媒体系统和计算机视觉中的主题任务。可以通过主观和客观指标来评估质量。主观质量评价是衡量感知质量的最准确方法,收集来自多人的平均主观评分MOS,缺点是耗时。客观质量评价为客观指标执行的评估,广泛用于自动预测感知图像质量。现有的客观质量评估指标多采用峰值信噪比PSNR、结构相似参数SSIM等。但仍需更准确预测感知的IQA算法。图像质量评估最重要的目标是准确预测人类观众感知的质量。一般来说,对象IQA方法可以分为三类:
名称 | 类型 | 解释 | 举例 |
---|---|---|---|
Full Reference/FR | 全参考图像质量指标 | 计算真值参考图像A与待评估图像B之间差距 | 无噪图像A与去噪图像B计算MSE |
Reduced Reference/RR | 半参考图像质量指标 | 计算参考图像A与待评估图像B之间在某成分上的保留程度 | 计算可见光图像A1与多源融合图像B在边缘信息上的保留程度,计算红外图像A2与多源融合图像B在填充信息上的保留程度。 |
No Reference/NR | 无参考图像质量指标 | 直接计算待评估图像B的指标 | 计算某图像B的图像熵 |
[衡量图像质量评估指标的准确性]
需要指标衡量图像质量评估指标的准确性,也就是指标的指标。
名称 | 缩写 | 计算 | 描述 |
---|---|---|---|
Pearson Linear Correlation Coefficient/Pearson线性相关系数 | PLCC | P L C C = ∑ i = 1 N ( y i − y ˉ ) ( y ^ i − y ^ ‾ ) ∑ i = 1 N ( y i − y ˉ ) 2 ∑ i = 1 N ( y ^ i − y ^ ‾ ) 2 P L C C=\frac{\sum_{i=1}^{N}\left(y_{i}-\bar{y}\right)\left(\hat{y}_{i}-\overline{\hat{y}}\right)}{\sqrt{\sum_{i=1}^{N}\left(y_{i}-\bar{y}\right)^{2}} \sqrt{\sum_{i=1}^{N}\left(\hat{y}_{i}-\overline{\hat{y}}\right)^{2}}} PLCC=∑i=1N(yi−yˉ)2∑i=1N(y^i−y^)2∑i=1N(yi−yˉ)(y^i−y^) N N N表示图片数目, y i y_i yi表示第 i i i张图片的真实值、 y ‾ \overline y y表示所有图片真实值的均值、 y ^ i \hat y_i y^i表示第 i i i张图片的预测值、 y ^ ‾ \overline{\hat y} y^表示所有图片预测值的均值。 | 取值范围 [ − 1 , 1 ] [-1,1] [−1,1],越接近于1,代表平均主观评分和客观IQA模型预测值之间的相关性越高。 |
Kendall Rank Order Correlation Coefficient/Kendall秩相关系数 | KRCC | K R C C = N s − N i N s + N i , N s + N i = N ( N − 1 ) 2 KRCC=\frac{N_s-N_i}{N_s+N_i},N_s+N_i=\frac{N(N-1)}{2} KRCC=Ns+NiNs−Ni,Ns+Ni=2N(N−1) N N N表示图片数目, N s N_s Ns表示相同顺序个数, N i N_i Ni表示相逆顺序个数。 | 取值范围 [ − 1 , 1 ] [-1,1] [−1,1],越接近于1,代表客观IQA模型越好。 |
Spearman Rank Order Correlation Coefficient/Spearman秩相关系数 | SROCC/SRCC | S R O C C = 1 − 6 ∑ i = 1 N ( v i − p i ) 2 N ( N 2 − 1 ) S R O C C=1-\frac{6 \sum_{i=1}^{N}\left(v_{i}-p_{i}\right)^{2}}{N\left(N^{2}-1\right)} SROCC=1−N(N2−1)6∑i=1N(vi−pi)2 N N N表示图片数目, v i v_i vi表示第 i i i张图片的真实值排序位置, p i p_i pi表示第 i i i张图片的预测值排序位置。 | 取值范围 [ − 1 , 1 ] [-1,1] [−1,1],越接近于1,代表客观IQA模型越好。 |
Root Mean Squared Error/均方根误差 | RMSE | R M S E = 1 N ∑ i = 1 N ( y i − y ^ i ) 2 RMSE=\sqrt{\frac{1}{N}\sum_{i=1}^N(y_i-\hat y_i)^2} RMSE=N1i=1∑N(yi−y^i)2 N N N表示图片数目, y i y_i yi表示第 i i i张图片的真实值、 y ^ i \hat y_i y^i表示第 i i i张图片的预测值。 | 越接近于0,代表客观IQA模型越好。 |
[模型解读]
在本文中作者提出IQA的Transformer网络评估图像质量。
[总体结构]
下图为IQA网络的总体结构,主要由特征提取backbone、Transformer编码解码器、MLP预测头组成。使用CNN来提取参考和失真图像的特征。提取的特征图被投影到固定大小特征并进行扁平化。特征中添加了可训练的额外token嵌入与位置编码。失真图像特征输入至Transformer解码器,参考图像特征输入至Transformer解码器。获取Transformer输出的token输入至MLP得到评估结果。
[特征提取backbone]
使用Inception-Resnet-V2作特征提取骨干网络,在ImageNet预训练权重上导入并冻结。特征图来自Inception-Resnet-V2的六个中间层,即{mined_5b,block35_2,block_35_4,block_35_6,block_35_8,block_35_10}。提取的特征图具有相同的尺寸 f l a y e r ∈ R H × W × C f_{layer} \in R^{H\times W \times C} flayer∈RH×W×C,其中 C = 320 C = 320 C=320,并进行通道叠加。所以backbone的输出特征图为 f l a y e r ∈ R H × W × 6 C f_{layer} \in R^{H\times W \times 6C} flayer∈RH×W×6C。
参考图像和失真图像都输入至相同的backbone中,输出两个输入特征图为 f r e f f_{ref} fref和 f d i s t f_{dist} fdist。作者使用了差异特征图 f d i f f f_{diff} fdiff,简单地通过两个特征图之间相减获得。 f d i f f = f r e f − f d i s t f_{diff} = f_{ref} -f_{dist} fdiff=fref−fdist
[Transformer编码器]
输入Transformer编码器的特征是差异特征图
f
d
i
f
f
∈
R
N
×
D
f_{diff} \in R^{N\times D}
fdiff∈RN×D。作者首先使用
1
×
1
1\times 1
1×1卷积将
f
d
i
f
f
f_{diff}
fdiff的通道维度减少到的Transformer特征维度
D
D
D。将特征展平,这意味着特征图中的补丁数设置为
N
=
H
×
W
N = H \times W
N=H×W。特征中添加了可训练的额外token嵌入与位置编码。
y
0
=
[
F
d
0
+
P
d
0
,
F
d
1
+
P
d
1
,
…
,
F
d
N
+
P
d
N
]
q
i
=
k
i
=
v
i
=
y
i
−
1
y
i
′
=
L
N
(
M
H
A
(
q
i
,
k
i
,
v
i
)
+
y
i
−
1
)
y
i
=
L
N
(
M
L
P
(
y
i
′
)
+
y
i
′
)
,
i
=
1
,
…
,
L
[
F
E
0
,
F
E
1
,
…
,
F
E
N
]
=
y
L
\begin{array}{r} y_{0}=\left[F_{d_{0}}+P_{d_{0}}, F_{d_{1}}+P_{d_{1}}, \ldots, F_{d_{N}}+P_{d_{N}}\right] \\ q_{i}=k_{i}=v_{i}=y_{i-1} \\ y_{i}^{\prime}=L N\left(M H A\left(q_{i}, k_{i}, v_{i}\right)+y_{i-1}\right) \\ y_{i}=L N\left(M L P\left(y_{i}^{\prime}\right)+y_{i}^{\prime}\right), \quad i=1, \ldots, L \\ {\left[F_{E_{0}}, F_{E_{1}}, \ldots, F_{E_{N}}\right]=y_{L}} \end{array}
y0=[Fd0+Pd0,Fd1+Pd1,…,FdN+PdN]qi=ki=vi=yi−1yi′=LN(MHA(qi,ki,vi)+yi−1)yi=LN(MLP(yi′)+yi′),i=1,…,L[FE0,FE1,…,FEN]=yL
其中
L
L
L表示编码器层数。Transformer编码器输出特征为
F
E
∈
R
(
1
+
N
)
×
D
F_E \in R^{(1+N)\times D}
FE∈R(1+N)×D。
[Transformer解码器]
输入Transformer解码器的特征是参考特征图
f
r
e
f
∈
R
N
×
D
f_{ref} \in R^{N\times D}
fref∈RN×D。首先使用
1
×
1
1\times 1
1×1卷积将
f
d
i
f
f
f_{diff}
fdiff的通道维度减少到的Transformer特征维度
D
D
D。额外的token嵌入和位置编码也被添加到其中。的输出编码器 FE 用作解码器的输入,它是用作第二个 MHA 层中的键值。计算方法解码器的重放可以表述为:
y
L
=
[
F
E
0
,
F
E
1
,
…
,
F
E
N
]
,
z
0
=
[
F
r
0
+
P
r
0
,
F
r
1
+
P
r
1
,
…
,
F
r
N
+
P
r
N
]
,
q
i
=
k
i
=
v
i
=
z
i
−
1
,
z
i
′
=
L
N
(
M
H
A
(
q
i
,
k
i
,
v
i
)
+
z
i
−
1
)
,
q
i
′
=
z
i
′
,
k
i
′
=
v
i
′
=
y
L
,
z
i
′
′
=
L
N
(
M
H
A
(
q
i
′
,
k
i
′
,
v
i
′
)
+
z
i
′
)
,
z
i
=
L
N
(
MLP
(
z
i
′
′
)
+
z
i
′
′
)
,
i
=
1
,
…
,
L
[
F
D
0
,
F
D
1
,
…
,
F
D
N
]
=
z
L
,
\begin{array}{r} y_{L}=\left[F_{E_{0}}, F_{E_{1}}, \ldots, F_{E_{N}}\right], \\ z_{0}=\left[F_{r_{0}}+P_{r_{0}}, F_{r_{1}}+P_{r_{1}}, \ldots, F_{r_{N}}+P_{r_{N}}\right], \\ q_{i}=k_{i}=v_{i}=z_{i-1}, \\ z_{i}^{\prime}=L N\left(M H A\left(q_{i}, k_{i}, v_{i}\right)+z_{i-1}\right), \\ q_{i}^{\prime}=z_{i}^{\prime}, \quad k_{i}^{\prime}=v_{i}^{\prime}=y_{L}, \\ z_{i}^{\prime \prime}=L N\left(M H A\left(q_{i}^{\prime}, k_{i}^{\prime}, v_{i}^{\prime}\right)+z_{i}^{\prime}\right), \\ z_{i}=L N\left(\operatorname{MLP}\left(z_{i}^{\prime \prime}\right)+z_{i}^{\prime \prime}\right), \quad i=1, \ldots, L \\ {\left[F_{D_{0}}, F_{D_{1}}, \ldots, F_{D_{N}}\right]=z_{L},} \end{array}
yL=[FE0,FE1,…,FEN],z0=[Fr0+Pr0,Fr1+Pr1,…,FrN+PrN],qi=ki=vi=zi−1,zi′=LN(MHA(qi,ki,vi)+zi−1),qi′=zi′,ki′=vi′=yL,zi′′=LN(MHA(qi′,ki′,vi′)+zi′),zi=LN(MLP(zi′′)+zi′′),i=1,…,L[FD0,FD1,…,FDN]=zL,
其中
L
L
L表示解码器层数。Transformer解码器输出特征为
F
D
∈
R
(
1
+
N
)
×
D
F_D \in R^{(1+N)\times D}
FD∈R(1+N)×D。
[MLP预测头]
最终的图像质量预测是在MLP头。解码器输出的第一个特征向量 F D 0 ∈ R 1 × D F_{D_0} \in R^{1\times D} FD0∈R1×D。MLP头由两个全连接层组成,第一个全连接层是使用ReLU激活。第二层全连接层输出一个值来预测分数。
[结果分析]
作者使用了五个常用的数据库感知图像质量评价研究。这实时图像质量评估数据库LIVE,分类主观图像质量数据库CSIQ和TID2013。这些数据集只包括传统的失真类型和在受控的实验室环境中测量平均主观分数MOS。KADID-10k是一个大规模的IQA数据集,并且是在作者实验中选择作为训练数据集。它是三个与TID2013和评级相比大了几倍是从大众中收集的。PIPAL数据集用于模型的训练和评估,大量失真图像包括使用基于GAN的算法的输出并附加大众平均主观分数。
作者将在 KADID-10k上训练的模型表示为 IQT。模型的超参数设置如下:
i)编码器和解码器层的数量设置为 2(即
L
=
2
L = 2
L=2)。
ii) MHA 中的Head数设置为 4(即
H
=
4
H = 4
H=4)。
iii) Transformer特征尺寸设置为 256(即
D
=
256
D = 256
D=256)。
iv) 设置编码器和解码器中 MLP 的维度到 1024 (即
D
f
e
a
t
=
1024
D_{feat} = 1024
Dfeat=1024)。
v) 第一个维度MLP 头中的全连接层设置为 512(即
D
h
e
a
d
=
512
D_{head} = 512
Dhead=512)。
在训练阶段,裁剪给定的图像以获得图像补丁。送入IQT大小为256 ×256 ×3。特征图补丁的数量设置为 N = 891。使用均值计算训练损失平方误差 (MSE) 损失函数。
作者将在 NTIRE 2021 比赛上的模型表示为 IQT-C。模型的超参数设置如下: L = 1 L = 1 L=1, D = 128 D = 128 D=128, H = 4 H = 4 H=4, D f e a t = 1024 D_{feat} = 1024 Dfeat=1024,并且 D h e a d = 128 D_{head} = 128 Dhead=128。 模型的输入图像大小设置192 ×192 ×3;在特征图中 设置补丁的数量 N = 441 N = 441 N=441。