The Unreasonable Effectiveness of Deep Features as a Perceptual Metric(深度特征作为感知度量的无理由的效应)
目录
相关连接
论文解读
论文主要贡献
论文提出的数据集
论文提出的感知相似度度量方法
具体在网络中的实现
基于学习的相似度得分函数
实验数据
结论
论文精读
项目主页: http://richzhang.github.io/PerceptualSimilarity/
论文连接:https://arxiv.org/pdf/1801.03924.pdf
github连接:
PyTorch版本:https://github.com/richzhang/PerceptualSimilarity
TensorFlow版本:https://github.com/alexlee-gk/lpips-tensorflow
首先解释一下为什么是 "Unreasonable Effectiveness" ,论文强调在监督,自监督,无监督模型上得到的深度特征在模拟低层次感知相似性上都比以往广泛应用的方法(L2, SSIM e.g.)要表现更好,且适用于不同的网络结构(Squeezenet, AlexNet , VGG),因此这里是"Unreasonable Effectiveness"。
感知结果:
图片显示基于学习的感知相似度度量比传统的目前广泛应用的方法更符合人类的感知。(L2/PSNR, SSIM, FSIM属于目前广泛应用的度量方法,Random Networks效果不理想是因为未经训练)
Berkeley-Adobe Perceptual Patch Similarity (BAPPS) Dataset,包括两个部分:2AFC和JND.
包含484K个人的判断。
不仅包含参数化的变形,也包含算法导致的变形。
收集了不同的感知测试的评价结果,得到了不同的结果。
2AFC:two alternative forced choice
这个工作造了一个包含 484k 个标签的超大数据集,每个样本是一个双向强迫选择(2AFC),包含三张图片(一张参考图片和两张不同失真的图片),即给原图和两张噪声图,询问哪一张更像原图。
生成图片噪声的方法有两类,一类是传统方法,另一类是一些用卷积网络生成的图片,因为许多网络生成的图片都带有某些特定结构的噪声。传统方法有,光线调整,模糊,各种噪点、形变色变等。用网络生成图的方法是用这些图片作为一些任务的输入,任务包括去噪,上色,编码解码等,采用不同的网络结构和损失函数。
JND:just noticeable difference
只给出一个图像对,让人标注原图和一张噪声图是否看起来是一张图,类似地训练网络去分类。
上图(左)和公式1说明了我们如何获得参考图片和失真图片x0, x1之间的距离。我们从L层提取特征堆并在通道维度中进行单元标准化。通过矢量wl 缩放激活通道维并计算L2距离。最后,在空间上进行平均,并在渠道方面进行求和。
作者在图3(右)中说明了用于训练的损失函数,并在补充材料中进一步说明。给定两个距离(d0; d1),我们在顶部训练一个小网络G以映射到得分h 。该架构使用2个32通道FC-ReLU层,然后是1通道FC层和sigmoid层。损失函数如公式2所示。
对于每个模型,有三种训练方式:
linear :只训练一层线性变换,即图中的 w
tune:加载训好的参数
scratch:参数从高斯分布中初始化
博主解释: 基于不同任务的学习的方法普遍优于广泛使用的“low-level”方法。具体数据如下:
我们的结果说明用于解决预测或者分类等任务的模型能够很好的完成感知判断任务。类似的故事在语义判断中也在发生:在自监督或者无监督模型中训练好的网络在语义任务中也很有效。有趣的是,近期在神经科学方面的发现也很相似:在计算机视觉任务中训练好的模型在猕猴视觉皮层任务中也很有效。也就是说,在计算机视觉任务中代表性越强,在脑皮层活动中也越有效。我们这篇文章也有相似的发现:在分类和检测任务中越有效的模型,作为感知相似性判断也越有效,正如表四所展示的。总的来说,这些结果告诉我们,一个好的特征在各方面都表现很好。在语义上表现好,那么在自监督或者无监督任务上也表现良好,对于人类感知的表现以及猕猴脑皮层活动的模拟也会很有效。最后一点和视觉认知的理性分析相一致,生物感知的特点是理性的代理人想要解决自然任务的结果而已。这是未来一个很重要的研究方向。
虽然人类快速评估两幅图像之间的感知相似性几乎毫不费力,但认为下面的过程非常复杂。尽管如此,目前使用最广泛的感知指标,如PSNR和SSIM,都是简单,浅薄的功能,并且无法解释人类感知的许多细微差别。最近,深度学习社区发现,使用ImageNet分类培训的VGG网络的特征作为图像合成论文的训练损失非常有用。但这些所谓的“感知损失”是多么感性?哪些因素对他们的成功至关重要?
为了回答这些问题,我们引入了一个新的人类感知相似性判断数据集。我们系统地评估不同体系结构和任务的深层功能,并将它们与经典指标进行比较。我们发现深度特征在我们的数据集上通过大量数据表现优于所有先前的指标。更令人惊讶的是,这个结果并没有受到ImageNet训练的VGG特征的严格限制,而是贯穿于不同的深层架构和监督层面(su pervised,self-supervised,甚至unpervised)。我们的结果表明,感知相似性是一种在深层视觉表征中共享的新兴属性。
比较数据项的能力可能是所有计算的最基本操作。在计算机科学的许多领域,它并没有太大的困难:可以使用汉明距离来比较二进制模式,编辑距离来比较文本文件,欧几里德距离来比较矢量等。计算机视觉的独特挑战在于,即使是这种看似简单的比较视觉模式的任务仍然是一个广泛存在的问题。视觉模式不仅非常高维且高度相关,而且视觉相似性的概念通常是主观的,旨在模仿人类视觉感知。例如,在图像压缩中,目标是由人类观察者使压缩图像与原始图像无法区分,而不管它们的像素表示可能非常不同。经典的每像素测量,例如通常用于回归问题的'2欧几里德距离,或相关的峰值噪声比(PSNR),不足以评估图像等结构化输出,因为它们具有像素独立性。众所周知的例子是,模糊会导致很大的感知但很小的变化。我们真正想要的是一种“感知距离”,它以与人类判断相符的方式测量两幅图像的相似程度。这个问题一直是一个长期目标,并且已经提出了许多感知动机的距离度量,例如SSIM [58],MSSIM [60],FSIM [62]和HDR-VDP [34]。然而,构建感知度量是具有挑战性的,因为人类对相似性的判断(1)依赖于高阶图像结构[58],(2)是依赖于上下文的。[19,36,35]和(3)实际上可能不构成距离度量[56]。 (2)的关键在于我们可以同时记住许多不同的“相似感”:红色圆圈更类似于红色方块还是蓝色圆圈?由于判断的上下文相关性和成对性(比较两个图像之间的相似性),将函数直接拟合到人类判断可能是难以处理的。实际上,我们在本文中展示了一种否定结果,即使在包含许多失真类型的大规模数据集上进行训练时,这种方法也无法推广。
相反,可能有一种方法可以学习感知相似性的概念而无需直接训练吗?计算机视觉社区已经发现深度卷积网络的内部激活虽然是在高级图像分类任务上训练的,但它通常作为更广泛的任务的代表空间而令人惊讶地有用。例如,VGG架构[52]的特征已被用于神经风格转移[17],图像超分辨[23]和条件图像合成[14,8]等任务。这些方法测量VGG特征空间中的距离作为图像回归问题的“感知损失”[23,14]。
但这些“知觉损失”与人类视觉感知的对应程度如何呢?他们如何与传统的感知图像评估指标进行比较?网络架构是否重要?是否必须接受ImageNet分类任务的培训,或者其他任务是否也能正常工作?网络是否需要接受培训?
在本文中,我们在一个新的大规模人类判断数据库中评估这些问题,并得出几个令人惊讶的结论。我们发现,对于高级分类任务进行训练的网络内部激活,甚至跨网络架构[20,28,52]并且没有进一步校准,确实对应于人类感知判断。事实上,它们的对应性远远优于常用的指标,如SSIM和FSIM [58,62],这些指标并非旨在处理空间模糊是一个因素的情况[49]。此外,即使没有人类标记的训练数据的好处,表现最佳的自监督网络,包括BiGAN [13],交叉信道预测[64]和解谜[40]也可以完成这项任务。即使是使用堆叠k-means [26]进行简单的无监督网络初始化也会大大超过经典指标!这说明了跨网络共享的紧急属性,甚至是跨架构和训练信号。但重要的是,拥有一些训练信号似乎至关重要 - 随机初始化的网络可以实现更低的性能。
我们的研究基于新收集的感知相似性数据集,使用大量失真和真实算法输出。它包含传统的失真,例如对比度和饱和度调整,噪声模式,滤波和空间扭曲操作,以及基于CNN的算法输出,例如由各种架构和损耗产生的自动编码,去噪和着色。
我们的数据集比以前的数据集更丰富,更多样化[45]。我们还收集来自真实算法的输出的判断,用于超分辨率,帧插值和图像去模糊的任务,这尤其重要,因为这些是感知度量的真实用例。我们通过学习层激活的简单线性缩放来表明我们的数据可用于“校准”现有网络,以更好地匹配低级人类判断。
我们的结果与以下假设一致:感知相似性本身并不是一种特殊的功能,而是视觉表征的结果,可以预测世界上重要的结构。在语义预测任务中有效的表示也是欧几里德距离高度预测感知相似性判断的表示。