Convolutional Neural Networks for No-Reference Image Quality Assessment 论文翻译

Translation

Abstract

  在这项工作中,我们描述了卷积神经网络(CNN),可在没有参考图像的情况下准确预测图像质量。 以图像块为输入,CNN可以在空间域中工作,而无需使用大多数先前方法所采用的手工特征。 该网络由一个具有最大和最小池化的卷积层,两个完全连接的层和一个输出节点组成。 在网络结构内,特征学习和回归被集成到一个优化过程中,这产生了一个更有效的模型来估计图像质量。 这种方法在LIVE数据集上实现了最先进的性能,并在跨数据集实验中显示了出色的泛化能力。 对具有局部失真的图像的进一步实验证明了CNN的局部质量估计能力,这在以前的文献中很少报道。

1 Introduction

  本文提出了一种卷积神经网络(CNN),它可以准确预测相对于人类感知的失真图像的质量。 这项工作的重点是最具挑战性的客观图像质量评估(IQA)任务类别:通用无参考IQA(NR-IQA),它可以评估数字图像的视觉质量,而无需访问参考图像并且无需事先了解 存在的失真类型。
  视觉质量是图像的非常复杂但固有的特征。 原则上,它是与理想成像模型或理想参考图像相比失真的量度。 当参考图像可用时,可以使用全参考(FR)IQA方法[14、22、16、17、19]直接量化失真图像及其对应的理想版本之间的差异。 最新的FR度量,例如VIF [14]和FSIM [22],与人类的感知具有非常高的相关性。
  但是,在许多实际的计算机视觉应用中,不存在失真图像的完美版本,因此需要NR-IQA。 NR-IQA度量可以通过利用区分图像退化的特征直接量化图像退化。最成功的方法使用基于自然场景统计(NSS)的功能。通常,基于NSS的功能可表征某些滤波器响应的分布。使用例如小波变换[10]或DCT变换[13]在图像变换域中提取基于传统NSS的特征。由于使用计算上昂贵的图像转换,这些方法通常非常慢。 NR-IQA方法的最新进展– CORNIA [20,21]和BRISQUE [9]促进了从空间域中提取特征,从而显着减少了计算时间。 CORNIA证明,可以直接从原始图像像素学习判别图像特征,而无需使用手工特征。
  基于这些观察,我们探索使用卷积神经网络(CNN)来学习NR-IQA任务的判别特征。 最近,深度神经网络已引起研究人员的注意,并在各种计算机视觉任务上取得了巨大的成功。 具体而言,CNN在许多标准对象识别基准上已显示出卓越的性能[6、7、4]。 CNN的优势之一是它可以将原始图像作为输入,并将特征学习纳入训练过程。 CNN具有较深的结构,可以有效地学习复杂的映射,同时只需要最少的领域知识。
  据我们所知,CNN尚未应用于通用NR-IQA。 主要原因是原始CNN并非旨在捕获图像质量特征。 在对象识别域中,好的特征通常会编码局部不变部分,但是,对于NR-IQA任务,好的特征应该能够捕获NSS属性。 NR-IQA和对象识别之间的差异使得CNN的应用不直观。 我们的贡献之一是我们修改了网络结构,以便它可以更有效地学习图像质量特征并更准确地估计图像质量。
  本文的另一个贡献是,我们提出了一个新颖的框架,该框架允许学习和预测局部区域的图像质量。 以前的方法通常会在整个图像上累积特征以获得用于估计整体质量的统计信息,除了[18]中的简单示例,很少有方法显示出估计局部质量的能力。 相比之下,我们的方法可以估计小图像块(例如32×32)的质量。 局部质量估计对于图像去噪或重建问题很重要,以及有需要的地方进行图像增强。
  我们通过实验表明,提出的方法提高了技术水平。 在LIVE数据集上,我们的CNN胜过CORNIA和BRISQUE,并且与最新的FR测量(例如FSIM)[22]取得了可比的结果。 除了出色的整体质量估计性能,我们还显示了定性结果,这些结果证明了我们方法的局部图像质量估计能力。

2 Related Work

  以前,研究人员已尝试将神经网络用于NR-IQA。 Li等人[8]应用了一个通用的回归神经网络,该网络以输入感知特征为输入,包括相位一致性,熵和图像梯度。 Chetouani等人[3]使用神经网络来组合多种失真特定的NR-IQA度量。 这些方法需要预先提取的手工特征,并且仅使用神经网络来学习回归函数。 因此,它们不具有以整体方式学习特征和回归模型的优势,并且这些方法不如现有技术水平。 相反,我们的方法不需要任何手工特征,而是直接从归一化的原始图像像素中学习判别特征,以实现更好的性能。
  卷积神经网络的使用部分是由于CORNIA中引入的特征学习框架[20,21]。 首先,直接从归一化的原始图像补丁中学习CORNIA特征。 这意味着无需复杂的图像变换就可以从空间域中提取判别特征。 其次,监督式CORNIA [21]采用了一种双层结构,该结构基于基于类似EM的方法同时学习回归模型中的滤波器和权重。 这种结构可以看作是两层神经网络的经验实现。 但是,它没有充分利用神经网络的力量。
  我们的方法将特征学习和回归功能集成到通用的CNN框架中。 优点有两个。 首先,使更深层的网络将大大提高学习能力[1]。 在以下各节中,我们将看到,与CORNIA相比,使用更少的滤波器/特征,我们可以获得最先进的结果。 其次,在CNN框架中,使用诸如反向传播之类的简单方法对网络进行整体训练,就可以方便地合并旨在改善网络训练学习的最新技术,例如drop out[5]和RELUS[7]。 此外,在我们建立NR-IQA与CNN之间的桥梁之后,快速发展的深度学习社区将成为提高NR-IQA性能的新颖技术的重要来源。

3 CNN for NR-IQA

  使用CNN进行图像质量估计的拟议框架如下。 给定灰度图像,我们首先执行对比度归一化,然后从中不重叠地采样图像色块。 我们使用CNN估算每个图像块的质量评分,并对图像块评分求平均值,以获得图像的质量估计。

3.1 Network Architecture

  拟议的网络由五层组成。 图1显示了我们的网络架构,它是32×32- 26×26×50-2×50-800-800-1结构。 输入是局部标准化的32×32图像块。 第一层是卷积层,它用50个内核(每个大小为7×7),步幅为1个像素对输入进行滤波。 卷积层产生50个特征图,每个特征图的大小为26×26,然后进行合并操作,将每个特征图减少到一个最大值和一最小值。 池化之后有两个全连接的800个节点的层。 最后一层是简单的线性回归,能够具有给出质量评估分数的一维输出。
在这里插入图片描述

3.2 Local Normalization

  以前的NR-IQA方法(例如BRISQUE和CORNIA)通常会应用对比度标准化。 在这项工作中,我们采用类似于[9]的简单局部对比度标准化方法。 假设位置 ( i , j ) (i,j) i,j处像素的强度值为 I ( i , j ) I(i,j) Ii,j,我们计算其归一化值 I ^ ( i , j ) \hat{I}(i,j) I^i,j如下:
在这里插入图片描述
,其中C是防止被零除的正常数。P和Q是归一化窗口大小。在[9]中,显示出较小的归一化窗口大小可以提高性能。 实际上,我们选择P = Q = 3,因此窗口大小比输入图像块小得多。 注意,通过这种局部归一化,每个像素可以具有不同的局部均值和方差。
  局部标准化很重要。 我们观察到使用较大的标准化窗口会导致性能下降。 具体而言,将整个图像块的均值和方差应用于每个像素的统一归一化将导致性能下降约3%。
  值得注意的是,当使用CNN进行对象识别时,通常将全局对比度标准化应用于整个图像。 归一化不仅减轻了使用sigmoid神经元的早期工作中常见的饱和问题,而且使网络对光照和对比度变化具有鲁棒性。 对于NR-IQA问题,应该使用局部对比度归一化。 此外,尽管在某些应用中可以将光照和对比度变化视为失真,但我们主要关注由图像降级(例如模糊,压缩和加性噪声)引起的失真。

3.3 Pooling

  在卷积层中,将局部归一化的图像块与50个滤波器进行卷积,每个滤波器会生成一个特征图。 然后,我们在每个特征图上应用池化,以将滤波器响应降低到较低的维度。 具体而言,将每个特征图汇总为一个最大值和一个最小值,这与CORNIA相似。 令 R i , j k R^{k}_{i,j} Ri,jk表示第k个滤波器在特征图的位置 ( i , j ) (i,j) i,j处的响应,则 u k u_k uk v k v_k vk的最大值和最小值由下式给出:
u k = max ⁡ i , j R i , j k v k = min ⁡ i , j R i , j k \begin{aligned} &u_{k}=\max _{i, j} R_{i, j}^{k}\\ &v_{k}=\min _{i, j} R_{i, j}^{k} \end{aligned} uk=i,jmaxRi,jkvk=i,jminRi,jk其中 k = 1 、 2 , . . . , K , K k = 1、2,...,K,K k=12...KK是内核数。合并过程将每个特征图简化为二维特征向量。 因此,下一个完全连接的层的每个节点都采用大小为 2 × K 2×K 2×K的输入。值得注意的是,尽管最大值池化已经可以正常工作,但是引入最小值池化可以使性能提高约2%。
  在对象识别方案中,通常在每个 2 × 2 2×2 2×2的单元格上执行合并。 在那种情况下,从每个小小区中选择代表性的滤波器响应可以保留一些位置信息,同时实现对平移的鲁棒性。 此操作对于对象识别特别有帮助,因为通常可以将对象建模为按特定空间顺序组织的多个部分。 但是,对于NR-IQA任务,我们观察到图像失真通常是局部的(如果不是全局的话)均匀的,即在 32 × 32 32×32 32×32色块的所有位置都发生相同程度的失真。 图像失真中缺乏明显的全局空间结构,因此可以在不保留位置的情况下进行合并以降低计算成本。

3.4 ReLU Nonlinearity

  代替传统的Sigmoid型或tanh神经元,我们在两个完全连接的层中使用了整流线性单位(ReLUs)[11]。 [7]在一个深层的CNN中证明,与使用tanh单元相比,ReLU使网络的训练速度提高了几倍。 在这里,我们对ReLU进行简要说明。 ReLU通过将阈值函数应用于输入来代替Sigmoid型或tanh变换,从而采用非线性的简单形式。 令 g g g w i w_i wi a i a_i ai分别表示ReLU的输出,ReLU的权重和上一层的输出,则ReLU可以用数学方法描述为 g = max ⁡ ( 0 , ∑ i w i a i ) g=\max(0,\sum_i{w_ia_i}) g=max(0,iwiai)
  请注意,ReLU仅允许非负信号通过。 由于此特征,我们在卷积和池化层上不使用ReLU,而是使用线性神经元。 原因是最小池化通常会产生负值,我们不想在这些负池化输出中阻止信息。

3.5 Learning

  我们在从大图像抓取的不重叠的 32 × 32 32×32 32×32色块上训练我们的网络。 为了进行训练,我们为每个图像块分配了质量得分作为其源图像的地面真实得分。 我们这样做是因为我们实验中的训练图像具有均匀的失真。 在测试阶段,我们将每个图像的预测图像块得分进行平均,以获得整个图像级别的质量得分。 通过使用小的图像块作为输入,与在给定的数据集上使用整个图像相比,我们拥有大量的训练样本,这特别满足了CNN的训练需求。
  令 x n x_n xn y n y_n yn分别表示输入图像块及其真实质量分数,而 f ( x n ; w ) f(x_n; w) f(xn;w)代表 x n x_n xn的网络权重 w w w的预测分数。 具有 ϵ \epsilon ϵ不敏感损失的支持向量回归(SVR)在先前的工作中已经成功地应用于学习NR-IQA的回归函数[21,9]。 我们采用类似的目标函数,如下所示:
L = 1 N ∑ n = 1 N ∥ f ( x n ; w ) − y n ∥ l 1 w ′ = min ⁡ w L \begin{aligned} L &=\frac{1}{N} \sum_{n=1}^{N}\left\|f\left(x_{n} ; w\right)-y_{n}\right\|_{l_{1}} \\ w^{\prime} &=\min _{w} L \end{aligned} Lw=N1n=1Nf(xn;w)ynl1=wminL
  请注意,上述损失函数与 ϵ = 0 \epsilon= 0 ϵ=0 ϵ \epsilon ϵ-SVR中使用的损失函数等效。使用随机梯度下降(SGD)和反向传播来解决此问题。 验证集用于选择训练模型的参数并防止过度拟合。 在实验中,我们在训练中执行40轮SGD,并保留在验证集上生成最高线性相关系数(LCC)的模型参数。
  最近成功的神经网络方法[7,5]报告说,dropout和momentum可以改善学习性能。 在我们的实验中,我们还发现这两种技术可以提高性能。
  dropout是一种防止在训练神经网络中过度拟合的技术。 通常,在训练阶段将神经元的输出设置为零(概率为0.5),在测试阶段将其除以2。 通过随机地使神经元失效,dropout可以有效地近似训练具有共享权重的许多不同网络。 在我们的实验中,由于对所有层都应用dropout会大大增加达到收敛的时间,因此我们仅在第二个完全连接的层上应用dropout。
  用动量更新网络权重是一种广泛采用的策略。 我们以以下形式更新权重:
Δ w t = r t Δ w t − 1 − ( 1 − r t ) ϵ t ⟨ ∇ w L ⟩ w t = w t − 1 + Δ w t ϵ t = ϵ 0 ( d ) t r t = { t T r e + ( 1 − t T ) r s , t < T r e , t ⩾ T \begin{aligned} \Delta w^{t} &=r^{t} \Delta w^{t-1}-\left(1-r^{t}\right) \epsilon^{t}\left\langle\nabla_{w} L\right\rangle \\ w^{t} &=w^{t-1}+\Delta w^{t} \\ \epsilon^{t} &=\epsilon_{0}(d)^{t} \\ r^{t} &=\left\{\begin{array}{ll} {\frac{t}{T} r_{e}+\left(1-\frac{t}{T}\right) r_{s},} & {t<T} \\ {r_{e},} & {t \geqslant T} \end{array}\right. \end{aligned} Δwtwtϵtrt=rtΔwt1(1rt)ϵtwL=wt1+Δwt=ϵ0(d)t={ Ttre+(1Tt)rs,re,t<TtT  其中 w t w^t wt是时期 t t t的权重, ϵ 0 = 0.1 \epsilon_0= 0.1 ϵ0=0.1是学习率, d = 0.9 d = 0.9 d=0.9是学习率的衰减, r s = 0.9 r_s = 0.9 rs=0.9 r e = 0.5 r_e = 0.5 re=0.5分别是动量的开始和结束, T = 10 T = 10 T=10是控制运动量的阈值,动量随着epoch变化而变化。 请注意,与[5]中的动量从0.5开始并保持为0.99不同,我们在开始时使用了较大的动量,并随着训练的进行而减小了动量。 通过实验发现,此设置可以实现更好的性能。

4 Experiments

4.1 Experimental Protocol

  Dataset:我们的实验中使用了以下两个数据集。
  (1)LIVE[15]:总共779张失真的图像,具有五种不同的失真:JP2k compression(JP2K)、JPEG compression(JPEG)、White Gaussian(WN)、Gaussian blur(BLUR)和Fast Fading(FF), 从29幅参考图像得出7-8级退化。 为每个图像提供了Differential Mean Opinion Scores(DMOS),大约在[0,100]范围内。 DMOS越高表示质量越低。
  (2)TID2008 [12]:从4种衰减级别的25张参考图像得出的17种不同畸变的1700张失真图像。 在我们的实验中,我们仅考虑与LIVE数据集共有的四种常见失真,即JP2k,JPEG,WN和BLUR。 每个图像都与[0,9]范围内的Mean Opinion(MOS)相关联。 与DMOS相反,更高的MOS表示更高的质量。
  Evaluation: 两种方法可用来评估IQA算法的性能:(1)线性相关系数(LCC)和(2)Spearman秩次相关系数(SROCC)。 LCC测量两个量之间的线性相关性,SROCC测量一个量可被描述为另一个量的单调函数的程度。 我们报告从100次训练测试迭代中获得的结果,其中在每个迭代中,我们随机选择60%的参考图像及其失真版本作为训练集,将20%作为验证集,将其余20%作为测试集。

4.2 Evaluation on LIVE

  在LIVE数据集上,针对特定于失真的实验,我们针对JP2K,JPEG,WN,BLUR和FF这五个失真进行了训练和测试。 对于非失真特定的实验,所有五个失真的图像将一起训练和测试,而无需提供失真类型。
  表1显示了与先前的最新NR-IQA方法以及FR-IQA方法相比的两个实验的结果。 最佳性能的NR-IQA系统的结果以粗体显示。 通过使用80%的数据拟合非线性逻辑函数来评估FR-IQA度量,然后对20%的数据进行测试。 从表1中可以看出,我们的方法可以很好地应对五个失真,特别是在JPEG,JP2K和FF上。 对于整体评估,我们的CNN优于所有现有的NR-IQA方法,并达到了最新的FR-IQA方法FSIM。
  我们在视觉上检查学习的卷积核,并发现只有少数几个核呈现出与失真类型相关的明显结构。 图2显示了在JPEG上学习的内核以及所有失真的组合。 我们可以看到,从JPEG中学习了块状模式,并且对于从所有失真中学习到的内核,都存在一些类似模糊的模式。 毫不奇怪,CNN所学习的内核往往是嘈杂的模式,而不是像CORNIA [20]所示呈现出与某些失真相关的强大结构。 这是因为CORNIA的特征学习不受监督,属于生成模型,而我们的CNN受过监督训练并学习有区别的特征。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 Effects of Parameters

  CNN设计涉及几个参数。 在本节中,我们将检查这些参数如何影响LIVE数据集上网络的性能。
  Number of kernels. 图3显示了性能如何随卷积内核数量而变化。 毫不奇怪地发现,滤波器的数量会显着影响性能。 通常,使用更多内核会带来更好的性能。 但是,当内核数超过40时,性能几乎不会提高。
  Kernel size. 我们在固定其余结构的同时,训练和测试了具有不同内核大小的网络。 表2显示了性能如何随内核大小而变化。 从图2中可以看到,所有测试的内核大小都显示出相似的性能。 拟议的网络对内核大小不敏感。
  Patch size. 由于在我们的实验中,整个图像得分只是采样的所有图像块的平均分数,因此我们研究了图像块采样策略如何影响性能。这包括两个方面,图像块大小和每个图像的图像块数量。值得注意的是,如果我们以不重叠的方式对图像块进行采样,则图像块大小越大,图像块数量就越少。例如,如果我们将图像块大小增加一倍,则每个图像的图像块数目将降至原始数目的四分之一。为了避免这种情况,我们允许重叠采样,并对不同的图像块大小使用固定的采样步幅(32)。这样,当图像块大小变化时,每个图像的色块数保持大致相同(忽略边界效果)。表3显示了性能相对于图像块大小的变化。从表3中我们可以看到,较大的图像块可以带来更好的性能。随着图像块大小从8增加到48,性能会略有提高。但是,更大的补丁不仅会导致处理时间增加,还会降低空间质量分辨率。因此,我们更偏向于能够产生最新性能的最小图像块。
在这里插入图片描述
在这里插入图片描述
  Sampling stride. 为了观察图像块数量如何影响整体性能,我们确定了图像块大小并改变了步幅。 改变步幅不会改变网络的结构。 为了简化100次迭代实验的每次迭代,我们使用在步幅32训练的相同模型,并使用不同的步幅值进行测试。 图4显示了相对于步幅的性能变化。 大步幅通常会导致性能降低,因为较少的图像信息用于总体估计。 但是,值得注意的是,即使步幅增加到128,也仍保持了最先进的性能,大致相当于原始图像块数量的1/16。 此结果与LIVE数据在整个图像上的失真大致均匀这一事实是一致的,并且还表明我们的CNN可以准确预测小图像块上的质量得分。

4.4 Cross Dataset Test

  **Tests on TID2008.**这组实验旨在测试我们方法的泛化能力。我们遵循先前的工作[9,20]的协议,通过在实时上训练我们的CNN并在TID2008上进行测试来研究两个数据集之间的交叉数据集性能。在此实验中,仅检查LIVE和TID2008共享的四种类型的失真。 LIVE的DMOS得分在0到100之间,而TID2008的MOS得分在0和9之间。为了进行公平的比较,我们采用与[20]相同的方法对所产生的预测得分进行非线性映射由LIVE训练的模型。通常将基于逻辑函数的非线性映射应用于FR量度,以将质量量度转换为一定范围。我们将TID2008随机分为80%和20%100倍的两个部分。每次80%的数据用于估计logistic函数的参数,而20%的数据用于测试(即评估转换后的预测得分)。交叉数据集测试的结果显示在表4中。我们可以看到,我们的CNN优于以前的最新方法。

4.5 Local Quality Estimation

  我们的CNN会在小图像块上测量质量,因此可用于检测低/高质量局部区域,并为整个图像提供整体评分。
  我们从TID 2008(未包含在LIVE中)中选择未失真的参考图像,并将其分为四个垂直部分。 然后,我们用三个不同衰减级别的失真版本替换第二到第四部分。 以这种方式生成了四个合成图像,每种类型的失真图像一个,包括WN,BLUR,JPEG和JP2K。 然后,我们使用在LIVE上训练的模型对这些合成图像执行局部质量估算。 我们以8的步幅扫描16×16色块,并将预测的分数归一化到[0,255]范围内以进行可视化。 图5显示了合成图像上的估计质量图。 我们可以看到我们的模型正确区分了每个合成图像的干净部分和失真部分。
  为了更好地检验我们模型的局部质量估计能力,我们考虑了TID2008中几种以前未使用过的失真类型,并发现了三种仅会影响局部区域的失真:JPEG传输,JPEG2000传输和逐块失真。再次从TID2008开始,我们选择了一些LIVE不共享的图像,并通过以上三种失真对其失真的版本进行了测试。图6显示了局部质量估计结果。我们发现我们的模型以合理的精度定位了失真的区域,并且结果通常符合人类的判断。值得注意的是,尽管LIVE的训练数据中没有包含这种类型的失真,但是我们的模型很好地定位了逐块失真。在图6中第三行的图像中,窗口上的条纹被误认为是低质量区域。我们推测这是因为条纹上的局部图案类似于块状失真。可能需要上下文信息来克服此类问题。
在这里插入图片描述
在这里插入图片描述

4.6 Computational Cost

  我们的CNN使用Python库Theano [2]实现。 借助Theano,我们可以轻松地在GPU上运行我们的算法,以加快流程,而无需进行太多优化。 我们的实验是在配备1.8GHz CPU和GTX660 GPU的PC上进行的。 我们使用50个内核,输入大小为32×32的模型对512×768大小的图像进行处理,并使用LIVE实验中表现出最先进性能的部分测试来测试模型。 表5显示了不同步幅下每个图像的平均处理时间。 请注意,我们的实现未完全优化。 例如,每个图像的归一化过程在CPU上执行的时间约为0.017秒,这花费了总时间的很大一部分。 从表5中可以看出,采用稀疏采样模式(步幅大于64),可以在保持最新性能的同时实现实时处理。
在这里插入图片描述

5 Conclusions

  我们提出了一种用于无参考图像质量评估的CNN网络。 我们的算法将特征学习和回归结合为一个完整的优化过程,这使我们能够采用现代训练技术来提高性能。 我们的算法可生成与人类感知紧密相关的图像质量预测,并在标准IQA数据集上达到最先进的性能。 此外,我们证明了我们的算法可以估计局部区域的质量,这在以前的文献中很少报道,并且在图像重建或增强中具有许多潜在的应用。

猜你喜欢

转载自blog.csdn.net/PAN_Andy/article/details/104511287
今日推荐