The Unreasonable Effectiveness of Deep Features as a Perceptual Metric

摘要

虽然人类几乎不费吹灰之力就可以快速评估两幅图像之间的感知相似性,但底层的过程被认为是相当复杂的。
尽管如此,目前最广泛使用的感知指标,如PSNR和SSIM,都是简单、肤浅的功能,无法解释人类感知的许多细微差别。
近年来,深度学习界发现,对图像网络分类进行训练的VGG网络的特性作为图像合成的训练损失具有显著的作用。
但这些所谓的“感性损失”是如何感性的呢?
哪些因素对他们的成功至关重要?
为了回答这些问题,我们引入了一个新的人类知觉相似性判断数据集。
我们系统地评估不同体系结构和任务的深层次特性,并将其与经典度量进行比较。
我们发现,深度特性比以前的所有指标都要出色,因为我们的数据集有很大的利润空间。
更令人惊讶的是,这一结果并不局限于magenet训练的VGG features,但是具有不同的深层架构和监督级别(监督、自我监督,甚至不监督)。我们的研究结果表明,知觉相似性是一种在深层视觉表象中共享的突现属性。

1.目的

比较数据项的能力可能是所有计算背后最基本的操作。
在计算机科学的许多领域中,它并不构成太大的困难:人们可以使用汉明距离来比较二进制模式,编辑距离来比较文本文件,欧几里得距离来比较向量等等。
计算机视觉的唯一挑战是,即使这看起来很简单的任务是比较视觉模式仍然是一个悬而未决的大问题。
视觉模式不仅具有很高的维度和高度的相关性,而且视觉相似性的概念往往是主观的,旨在模仿人类的视觉感知。
例如,在图像压缩中,目标是使被压缩的图像与原始图像不可被人类观察者区分,而不管它们的像素表示可能非常不同。

经典的每像素度量,例如通常用于回归问题或相关峰值信噪比(PSNR)的L2欧几里得距离,它不足以评估结构化输出(如图像),因为它们假定像素独立性。
一个众所周知的例子是,模糊导致明显的知觉,但小的L2变更。我们真正想要的是一个“感知距离”,以符合人类判断的方式测量两个图像的相似程度。
这个问题是一个长期存在的目标,并且已经提出了许多感知激励的距离度量,例如ssim[57]、mssim[59]、fsim[61]和hdr-vdp[34]。

然而,构造感知度量是一个挑战,因为人类对相似性的判断(1)依赖于高阶图像结构[57]。(2)与上下文相关[19、36、35]和(3)实际上可能不构成距离度量[55]。(2)的关键在于,我们可以同时记住许多不同的“相似感”:红色的圆圈更像红色的正方形,还是蓝色的圆圈?直接将功能与人类判断相匹配可能是难以解决的,因为判断的上下文依赖性和成对性(比较两个图像之间的相似性)。事实上,我们在本文中给出了一个否定的结果,即这种方法无法推广,即使是在包含许多失真类型的大型数据集上进行训练时也是如此。

相反,有没有一种方法可以在没有直接训练的情况下学习感知相似性的概念?计算机视觉界已经发现,深层卷积网络的内部激活,虽然经过了高级图像分类任务的训练,但作为一个更广泛任务的表示空间,常常是非常有用的。例如,vgg体系结构[51]的功能已用于诸如神经样式传输[17]、图像超分辨率[23]和条件图像合成[14,8]等任务。这些方法将VGG特征空间中的距离作为图像回归问题的“感知损失”进行测量[23,14]。

但是,这些“知觉损失”与人类的视觉知觉到底有多对应呢?它们如何与传统的感知图像评估指标进行比较?网络架构有关系吗?它是否必须接受IMAGENET分类任务的培训,或者其他任务是否也可以工作?网络需要接受训练吗?

本文在一个新的大规模人类判断数据库上对这些问题进行了评估,得出了一些令人惊讶的结论。我们发现,为高级分类任务训练的网络内部激活,甚至跨网络体系结构[20、28、51]且没有进一步校准,确实符合人类感知判断。事实上,它们比通常使用的度量标准(如ssim和fsim)要好得多[57,61],这些度量标准的设计并不是为了处理空间模糊性是一个因素的情况[48]。

此外,最好的自我监督网络,包括Bigans[13],跨通道预测[63]和解谜[40]在这项任务中也表现得很好,即使没有人类标记的训练数据的益处。即使是一个简单的无监督的网络初始化与堆叠的k-means[26]大大超过了经典指标!这说明了跨网络、甚至跨体系结构和训练信号中共享的紧急属性。然而,重要的是,有一些训练信号似乎很关键——随机初始化的网络性能要低得多。

我们的研究是基于一个新收集的知觉相似性数据集,使用了大量的失真和实际的算法输出。它包含传统的失真,如对比度和饱和度调整、噪声模式、过滤和空间扭曲操作,以及基于CNN的算法输出,如自动编码、去噪和着色,这些都是由各种架构和损耗产生的。我们的数据集比以前的此类数据集更丰富、更多样化[44]。我们还收集对超分辨率、帧插值和图像去模糊任务的实际算法输出的判断,这一点尤其重要,因为这些是感知度量的实际用例。我们证明了,我们的数据可以用来“校准”现有的网络,通过学习一个简单的层激活线性比例,以更好地匹配低级的人类判断。

我们的研究结果符合这样一个假设,即知觉相似性并非完全是一种特殊的功能,而是一种视觉表征的结果,这种视觉表征被调整为对世界重要结构的预测。在语义预测任务中有效的表示也是欧几里得距离对知觉相似性判断具有高度预测性的表示。

主要贡献:
  • 我们引入了一个大规模的,高度变化的,感知相似性数据集,包含484K人类判断。我们的数据集不仅包括参数化的失真,还包括实际的算法输出。我们还收集不同知觉测试的判断,恰可察差异(JND)。
  • 我们展示了在有监督、有自我监督和无监督的目标上训练的深层特征对低级感知相似性的建模惊人地好,超过了以前广泛使用的度量标准。
  • 我们证明,仅网络体系结构并不能说明性能:未经训练的网络的性能要低得多。
  • 利用我们的数据,我们可以通过“校准”来自预先培训过的网络的特征响应来提高性能。

数据集的预备工作

为了评估现有的相似性度量,提出了一些数据集。其中一些最受欢迎的是Live[50]、Tid2008[45]、CSIQ[29]和Tid2013[44]数据集。这些数据集被称为完全参考图像质量评估(friqa)数据集,并作为开发和评估相似性度量的事实基线。相关的工作是关于无参考图像质量评估(NR-IQA),如AVA[38]和LIVE In the Wild[18]。这些数据集自己研究单个图像的“质量”,而没有参考图像。我们收集了一个新的数据集,它是对这些数据集的补充:它包含大量的失真,包括一些来自新的、基于深度网络的输出以及几何失真。我们的数据集中于感知相似性,而不是质量评估。此外,它是通过不同的实验设计(更多细节见第2节)收集到的,而不是在野外的完整图像。

深度网络和人类判断的预备工作

近年来,DNNs技术的发展促使人们在视觉相似性和图像质量评估方面开展应用研究。Kim和Lee[25]使用CNN通过训练低水平差异来预测视觉相似性。Talebi和Milanfar的并行工作[53,54]在NR-IQA的背景下为图像美学培养了一个深层网络。Gao等人[16]和Amirshahi等人[3]提出利用深层网络(分别是vgg和alexnet)内部激活以及附加多尺度后处理的技术。在这项工作中,我们在一个新的、大规模的、高度变化的数据集上,对不同的体系结构、训练信号进行了更深入的研究。

最近,Berardino等人[6]训练网络的感知相似性,重要的是评估深层网络对单独任务进行预测的能力——预测最明显和最不明显的失真方向。同样,我们不仅评估了参数化失真上的图像块的相似性,还测试了对真实算法的一般化,以及对单独感知任务的一般化——恰可察差异。

2.(Berkeley-Adobe )伯克利土坯感知补丁相似性(BAPPS)数据集

为了评估不同感知指标的性能,我们使用两种方法收集了大规模、高度多样化的感知判断数据集。我们的主要数据收集采用了两个可选的强制选择(2AFC)测试,它询问两个失真图像中哪一个更类似于参考图像。第二个实验验证了这一点,我们执行了一个恰可察差异(JND)测试,该测试询问两个图像块(一个参考图像块和一个失真图像块)是相同的还是不同的。这些判断是在一个很大的失真空间和实际的算法输出上收集的。

2.1 失真

传统失真

我们创建了一组“传统”失真,包括在Table2(左)中列出的输入图像块上执行的公共操作。通常,我们使用光度失真、随机噪声、模糊、空间移位和损坏以及压缩伪影。我们在Figure2中展示了传统失真的定性示例。每个扰动的严重性都是参数化的。例如,对于高斯模糊,内核宽度决定了应用于输入图像的损坏程度。我们还按顺序组合成对的失真图像,以增加可能失真的整体空间。总的来说,我们有20个失真和308个顺序组成的失真。
在这里插入图片描述
图2

基于CNN的失真

为了更紧密地模拟基于深度学习的方法可能产生的工件空间,我们创建了一系列由神经网络产生的失真。我们通过探索各种任务、架构和损失来模拟可能的算法输出,如表2(右)所示。包括编码、去噪、着色和超分辨率。所有这些任务都可以通过对输入施加适当的损坏来实现。我们总共生成了96个“去噪自动编码器”,并将其用作基于CNN的失真函数。我们在1.3M
ImageNet数据集[46]上对每个网络进行1个epoch的训练。每个网络的目标不是本身解决任务,而是探索困扰基于深度学习方法输出的常见工件。

来自真实算法的失真图像块

图像评估算法的真实检验是对实际问题和实际算法的检验。我们使用这些输出收集感知判断。实际算法的数据更加有限,因为每个应用程序都有自己独特的属性。例如,不同的着色方法不会显示出太多的结构变化,但容易产生诸如颜色出血和颜色变化等效果。另一方面,超分辨率将不会有颜色模糊,但可能会看到从算法到算法的更大的结构变化。

超分辨率

我们评估了2017年NTIRE研讨会的结果[2]。我们使用3条来自车间的轨道–×2,×3,×4,使用“未知”的下采样率来创建输入图像。每条轨道大约有20个算法提交。我们还评估了其他几种方法,包括双三次加样法和四种表现最好的深度超分辨率方法[24、58、31、47]。呈现超分辨率结果的一种常见的定性方法是放大特定的图像块并比较差异。因此,我们从DIV2K[2]数据集(地面真值高分辨率图像)中图像的随机位置随机抽取64×64个三元组,以及两个算法输出。帧内插我们从不同的帧内插算法中取样,包括基于流的内插的三种变体[33]、基于CNN的内插[39]和基于相位的内插[37]在Davis Middleburry数据集[49]上。由于帧内插产生的伪影可能出现在不同的尺度上,因此我们在采样一个图像块三重集之前随机重新缩放图像。

视频去模糊

我们从视频去模糊数据集[52]中取样,同时从Photoshop震动减少、加权傅立叶聚集[11]和深度视频去模糊方法的三个变体[52]中取样。

着色

我们使用随机比例对来自ImageNet数据集[46]的图像的着色任务中的图像块进行采样。算法来自Pix2Pix[22],Larsson等人[30]和张等人的变体。〔62〕。

2.2 心理物理相似性测量

2AFC 相似性判断

我们随机选择一个图像块X并施加两个失真来产生补丁 X 0 , X 1 X_0,X_1 X0X1。然后,我们询问一个接近原始图像块x的人,并记录响应h∈0,1。平均来说,每个人每次判断花费大约3秒。让T表示我们的图像块三元组数据集 ( x , x 0 , x 1 , h ) (x,x_0,x_1,h) xx0x1h

我们的数据集和以前的数据集之间的比较如表1所示。以前的数据集中于收集大量人类对少数图像和失真类型的判断。例如,最大的数据集tid2013[44]对3000个失真(从25个具有24个失真类型的输入图像中,每个失真类型在5个级别上采样)进行了500k的判断。我们提供了一个互补的数据集,集中于大量的失真类型。
另外,我们在大量的64X64的图像块中而不是少量的图像中收集判断。
这有三个原因。

  • 首先,完整图像的空间非常大,这使得用判断覆盖域的合理部分更加困难(甚至64×64颜色的图像块也代表了一个难以处理的12K维度空间)。
  • 其次,通过选择较小的图像块大小,我们将重点放在相似性的较低级别方面,以减轻可能受高级别语义影响的不同“相似性方面”的影响[36]。
  • 最后,现代的图像合成方法训练具有基于图像块的损耗的深网络(以卷积的形式实现)[8,21]。我们的数据集包含161K多个图像块,这些图像块来自于用于训练的MIT-Adobe 5K数据集[7](5000个未压缩图像),以及用于验证的raise1k数据集[10]。

图1
为了实现大规模的收集,我们的数据是在亚马逊机械土耳其人( Amazon Mechanical Turk)“in-the-wild”收集的,而不是在受控的实验室环境中。Crump等人[9]表明,尽管AMT无法控制所有的环境因素,但它可以可靠地用于复制许多心理物理学研究。我们要求每个例子在我们的“训练”集合中有2个判断,在我们的“val验证”集合中有5个判断。要求更少的判断可以让我们探索更大的图像图像块和失真。我们添加了由具有明显失真的图像块对组成的哨兵,例如,大量高斯噪声与少量高斯噪声。大约90%的土耳其人能够正确地通过至少93%的哨兵(15人中的14人),这表明他们理解任务并关注。我们选择使用比以前的数据集更多的失真。

Just noticeable differences(JND)恰可察差异

2AFC任务的一个潜在缺点是它是“认知渗透的”,在这个意义上,参与者可以有意识地选择他们在完成任务时选择关注的相似性方面[36],这将主观性引入到判断中。
为了验证这些判断实际上反映了一些客观和有意义的东西,我们还收集了用户对“恰可察差异”(JND)的判断。我们展示一个参考图像,然后是一个随机失真的图像,然后询问一个人图像是相同的还是不同的。这两个图像补丁分别显示1秒钟,间隔250毫秒。两个看起来相似的图像很容易混淆,一个好的感知度量可以将图片排序为从最容易混淆的到最不容易混淆的对。像这样的JND测试可能被认为不那么主观,因为每个判断都有一个正确的答案,并且假定参与者知道正确的行为意味着什么。我们为我们传统的和基于CNN的验证集中的4.8K图像块收集了3个JND观察结果。每个受试者显示160对,以及40个哨兵(32个相同,8个大高斯噪声失真应用)。我们还提供了10对的短期训练,其中包含4对“相同”对、1对明显不同的对以及5对由我们的失真生成的“不同”对。

我们选择这样做是为了让用户期望大约40%的图像块对是相同的。事实上,36.4%的配对被标记为“相同”(70.4%的哨兵和27.9%的测试对)。

3.深度特征空间

我们评估不同网络中的特征距离。对于给定的卷积层,我们计算了余弦距离(在通道维度中)以及网络空间维度和层之间的平均值。我们还讨论了如何根据数据调整现有网络。

网络结构

我们评估了squezenet[20]、Alexnet[28]和vgg[51]体系结构。我们使用了来自vgg网络的5个conv层,这已经成为图像生成任务的事实标准[17,14,8]。我们还将其与较浅的Alexnet网络进行比较,后者可能更接近人类视觉皮层的结构[60]。我们使用来自[27]的conv1-conv5层。最后,Squeezenet架构被设计成非常轻(2.8 MB)的大小,具有与Alexnet相似的分类性能。我们使用第一个conv层和随后的“fire”模块。

此外,我们还评估了自我监督的方法,包括解谜[40]、跨通道预测[62、63]、视频学习[42]和生成建模[13]。
我们从这些和其他使用AlexNet的方法中使用这些公共网络。

从网络激活到距离

图3(左图)和公式1说明了我们如何利用网络F获得参考图像块和失真图像块 x , x 0 x,x _0 xx0之间的距离。我们从L层中提取特征堆栈,并在通道维中进行单元归一化,我们称之为L层的 y ^ l , y 0 ^ l ∈ R H l × W l × C l \hat{y}^l,\hat{y_0}^l∈R^{H_l×W_l×C_l} y^ly0^lRHl×Wl×Cl。我们用向量 w l ∈ R C l w^l∈R^{C_l} wlRCl缩放激活通道对并计算 l 2 l_2 l2距离。最后,我们在空间上求平均值,在信道上求和。注意,使用 w l = 1 ∀ l w_l=1\forall l wl=1l相当于计算余弦距离。
eq1
在这里插入图片描述
另外,补充材料中进一步指出图3中右边,基于学习的相似性度量函数为:
在这里插入图片描述

在我们的数据上训练

我们考虑一些不同的训练方式来进行感知判断:lin,tune,和scratch
对于lin配置,我们保持预先训练的网络权重F不变,并在顶部学习线性权重 w w w。这构成了现有特征空间中一些参数的“感知校准”。例如,对于VGG网络,将学习1472个参数。
对于tune配置,我们从预先训练的分类模型初始化,并允许对网络F的所有权重进行微调。最后,从头开始,我们从随机高斯权重初始化网络,并完全根据我们的判断对其进行训练。总的来说,我们将这些称为我们提出的学习感知图像块相似性(LPIPS)度量的变体。我们在图3(右)中说明了训练损失功能,并在附录中进一步描述。

4.实验

我们的验证集的结果如图4所示。我们首先评估度量和网络的工作情况。所有验证集包含每个三元组的5个成对判断。因为这是一个固有的噪声过程,所以我们计算出一个算法与所有判断的一致性。例如,如果 X 0 X_0 X0有4个首选项,而 X 1 X_1 X1有1个首选项,那么预测更流行的选择 X 0 X_0 X0的算法将获得80%的学分。如果一个给定的例子中,在一个方向上人类评分为分数p,而在另一个方向上人类评分为分数1-p,那么一个人将达到期望值的分数 p 2 + ( 1 − p ) 2 p^2+(1-p)^2 p2+(1p)2
图4

4.1 评估

低级度量和分类网络的性能如何?
图4显示了各种低级度量(红色)、深层网络和人的上限(黑色)的性能。图4(左)中的2个失真测试集(传统+CNN)和图4(右)中的4个实际算法基准点(超分辨率、帧插值、视频去模糊、着色)的平均分数。每个测试集内的所有分数见附录。在所有6个测试集中,人类平均一致性为73.9%。有趣的是,受监控网络的运行水平大致相同,分别为68.6%、68.9%和67.0%,即使是在不同型号的SqueezeNet(2.8 MB)、Alexnet(9.1 MB)和VGG(58.9 MB)上(只计算卷积层)。它们都比传统的指标 l 2 l_2 l2表现得更好,SSIM和FSIM分别为63.2%、63.1%、63.8%。尽管通常使用SSIM,但它并不是为几何失真较大的情况而设计的[48]。
网络是否必须接受分类训练?
在图4中,我们展示了各种无监督和自监督任务的模型性能,如使用Bigans的绿色生成建模[13]、解决难题[40]、跨通道预测[63]和从视频分割前景对象[42]所示。这些自监督任务的执行与分类网络相当。这表明,跨大光谱的任务可以诱导代表物,并将其很好地传输到感知距离。此外,黄色显示的堆叠k-mean方法[26]的性能优于低级指标。用橙色表示的随机网络,其权重是从高斯中提取的,不会产生太大的改进。这表明,网络结构的组合,以及在数据更密集的方向上的定向过滤器,可以更好地与感知判断相关。

在表5中,我们使用[63]中总结的结果(包括额外的自我监督方法[1、43、12、56、62、41]),探索感知任务与Pascal数据集[15]上的语义任务之间的关联程度。我们通过不同的方法计算每个任务(感知或语义)之间的相关系数。从我们的2AFC失真偏好任务到分类和检测的相关性分别为.640和.363。有趣的是,这类似于分类和检测任务(.429)之间的相关性,尽管两者都被认为是“高级”语义任务,而我们的感知能力则被认为是“低级”。

度量标准是否在不同的感知任务之间相互关联?
我们测试2AFC失真偏好测试的训练是否与另一个感知任务JND测试相对应。我们按照给定的度量值按升序排列图像对,并在基于CNN的失真上计算精度召回——对于一个好的度量值,紧密相连的图像更容易被混淆为相同的图像块。我们计算曲线下的面积,即地图[15]。2AFC失真偏好测试与Jnd的相关性很高:ρ=0.928,当对不同失真类型的结果进行平均时。图5显示了在每个感知测试下不同的方法是如何执行的。这表明2AFC归纳到另一个知觉测试中,并向我们提供有关人类判断的信号。
在这里插入图片描述
我们能在传统和基于CNN的失真上训练一个度量标准吗?
在图4中,我们使用我们的lin、scratch和tune配置显示性能,分别以紫色、粉色和棕色显示。当验证传统和基于CNN的失真(图4(a))时,我们看到了改进。允许网络全程调优(棕色)比简单地学习线性权重(紫色)或从头开始训练(粉色)获得更高的性能。更高容量的网络vgg也比低容量的squezenet和Alexnet架构表现更好。这些结果证实了网络确实可以从感知判断中学习。
在这里插入图片描述
对传统和基于CNN的失真进行训练能否转移到现实场景?
我们更感兴趣的是性能如何概括为现实算法,如图4(b)所示。squezenet、alexanet和vgg架构分别以64.0%、65.0%和62.6%开始。学习线性分类器(紫色)可以提高所有网络的性能。在3个网络和4个实际算法任务中,12个分数中的11个提高了,这表明使用我们的数据在预先存在的代表物上“校准”激活是一种安全的方法,可以实现性能的小提升(分别为1.1%、0.3%和1.5%)。从头开始训练网络(粉红色)会使Alexnet的性能略低,而vgg的性能略高于线性校准。然而,这些指标仍然优于低级指标。这表明,我们所表达的失真对我们判断实际算法的测试时任务产生了影响。有趣的是,从重新训练网络开始,全程调整会降低传输性能。这是一个有趣的负面结果,因为对低级感知任务的直接训练不一定要执行,也不一定要传递为高级任务训练的表示。
深度度量和低级度量在哪里不一致?
在这里插入图片描述
在图6中,我们对传统的深层方法bigans(13)和传统的表示感知方法ssim(57)进行了定性比较。bigan认为距离远而ssim接近的对通常包含一些模糊。Bigan倾向于认为相关的噪声模式比SSIM失真更小。

5.结论

我们的研究结果表明,经过训练来解决具有挑战性的视觉预测和建模任务的网络最终会学习一种与感知判断密切相关的世界表示。最近在代表性学习文献中也出现了类似的情况:网络紧张的自我监督和无监督的目标最终会学习一种在语义任务中同样有效的代表性[12]。有趣的是,最近在神经科学方面的发现有着相同的观点:在计算机视觉任务上训练的表现也最终成为猕猴视觉皮层神经活动的有效模型[60]。而且(粗略地说),计算机视觉任务中的表现越强,作为皮质活动模型的表现就越强。我们做了一个类似的发现:特征集在分类和检测上越强,作为感知相似性判断的模型就越强,如表4所示。总之,这些结果表明一个好的特征就是一个好的特征。擅长语义任务的特征也擅长自我监督和无监督任务,同时也为人类感知行为和猕猴神经活动提供了良好的模型。最后一点与视觉认知的“理性分析”解释相一致[4],这表明生物感知的特性是由试图解决自然任务的理性因素引起的。进一步完善这一点是未来研究的一个重要问题。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值