- 论文:The Unreasonable Effectiveness of Deep Features as a Perceptual Metric
- 连接:https://arxiv.org/pdf/1801.03924.pdf
- 代码:https://www.github.com/richzhang/PerceptualSimilarity
- 背景:
传统像素级评估图像相似度的方法,很多时候非常的反直觉,如上图所示,判断左右两张图哪一张与中间更相似,指标的结果与人类完全相反,网络倒是通常都能得出一致结论,因此衍生出了本文的研究内容:不合理的指标。
作者认为,构建一个内容感知相关的度量指标主要有以下几个挑战:
1.人类对相似性的判断依赖高阶结构信息
2.内容依赖性较强
3.可能不构成一个距离度量。
在SRGAN中,曾使用VGG提取的特征图来构建感知Loss函数,也带来了以下问题:
1.此类“感知损失”实际上对人类视觉感知的反应如何?
2.它们与传统的感知图像评估指标相比如何?
3.网络架构重要吗?
4.它是否必须接受 ImageNet 分类任务的训练,还是其他任务也能正常工作?
5.网络是否需要训练? - 结论总结
在文章中,得到的研究结果大致可以总结如下:
1.高级分类任务训练的网络的内部激活结果,确实与人类的感知判断相对应,即时使用不同的网络结构甚至没有进一步校准。
2.表现最好的是自监督网络。(连K-Means都比传统指标表现的好)。
3.一定的训练是很重要的,随机初始化网络的结果相对差很多。 - 贡献
文章主要贡献如下:
1.一个超大型的,多样化的,感知相似数据集,伴有484k的人类判断数据。包括各种失真和真实应用输出[超分什么的]。
2.证明了监督,自监督,无监督网络得出的深度特征,对低级感知相似性的评估效果出奇的好,远超常用老指标。
3.证明网络结构与评估相似性的性能没什么关系,但不训练会使效果变差。
4.利用此数据集,可以通过“校准”来自预训练网络的特征响应来提高性能 。
- 数据集【BAPPS】
新老数据集对比如下:
很有趣的是这里有些对比数据集是图像质量评估的[全参考或无参考],以普遍理性而言,全参考数据集确实是原始图片与其不同失真图片构成的,可以用来评估感知相似性。本数据集与其它数据集的一大不同之处在于,前人数据集主要是基于少量图片收集了大量判断,而本数据集主要基于大量不同失真数据。
BAPPS数据集中的图片都被切割为小patch,经过不同的失真处理或者网络处理,之后用于询问人类。询问实验分为两种方式:
1. two alternative forced choice (2AFC),提供一张参考图和两张处理图,询问那张图更接近参考图。生成数据 ( x 0 , x 1 , x 2 , h ) (x_0,x_1,x_2,h) (x0,x1,x2,h)
2.just noticeable difference (JND),给与一张参考图与一张处理图,询问二者是否相近。该方法主要用于解决2AFC可能带来的可认知渗透问题。
数据集的失真方式则分为以下两种,具体如下表所示:
1.传统失真,总共使用20种方法按照不同顺序组成了308种失真处理组合。
2.网络失真,为了靠近网络产生结果而制作的数据,具体针对的应用包括自编码,去噪,重着色,超分。总成生成了96个”denoising autoencoders(去噪自动编码器)“
另外,本数据集使用的是切割出来的 64 × 64 64 \times64 64×64 小batch图,原因如下:
1.整张图片空间太大,需要平衡各部分的优劣,难以获取一个准确的关注中心。
2.通过选择较小的patch图,判断者能够更多的关注相似性的较低级方面,以减轻可能受高级语义影响
3.现今图片合成深度学习类方法都通过batch-loss训练(不是特别明白这个原因)
- 深度特征空间
在此,我们首先看一下,如何计算距离:
距离具体计算公式如下:
简言之,通道加和,空间平均每一层网络输出的特征图之间的距离。然后将得到的两个距离输入到评分网络中。 w l w_l wl是与通道数同维度的可训练权重参数。
在网络F的选取中,测试了如下结构:
Squeezenet、AlexNet、VGG、puzzle-solving、cross-channel prediction、learning from video、generative modeling - 何为LPIPS
好的,到了这里,终于出现到底什么是LPIPS了。网络共有三种训练模式:
1.lin:固定F参数,训练w
2.tune:从训练好的分类模型中load参数,进行微调
3.scratch:随机高斯初始化训练参数
这三个变种统称为LPIPS。
评分原则为:一个样本如果有5个人打分,其中4个人认为图片1更像原始图片,1个人认为图片2更像,那么选择图片1的模型会得到80%的credit,选图像2的模型得到20%的credit。 - 实验结果
不同评估下的分数:
回答开篇的几个问题,结果如下:
1.低级指标与分类网络判断的结果是否有所区别?有,传统指标对应的红色柱状图分数是最低的。
2.网络一定要在分类任务上训练吗?否,无监督的生成类网络效果也很好。
3.指标是否与不同的感知任务相关联?否,在两种不同感知测试方法数据集上获得的结果高度相关。
4.我们能根据失真训练一个矩阵吗?能,三种不同的方法中有初始值的微调款效果最好,说明网络确实在学点东西。
5.这种训练失真能转移到真实师姐感知中吗?是,见右图。
6.深度度量与低级度量的区别为何?见下两图,新度量对模糊更敏感,老度量则对噪点和色偏很敏感。
参考
【1】https://zhuanlan.zhihu.com/p/206470186
【2】https://zhuanlan.zhihu.com/p/162070277