阅读笔记:图像相似性评估方法LPIPS

  • 论文:The Unreasonable Effectiveness of Deep Features as a Perceptual Metric
  • 连接:https://arxiv.org/pdf/1801.03924.pdf
  • 代码:https://www.github.com/richzhang/PerceptualSimilarity
  • 背景:
    阅读笔记:图像相似性评估方法LPIPS_第1张图片
    传统像素级评估图像相似度的方法,很多时候非常的反直觉,如上图所示,判断左右两张图哪一张与中间更相似,指标的结果与人类完全相反,网络倒是通常都能得出一致结论,因此衍生出了本文的研究内容:不合理的指标。
    作者认为,构建一个内容感知相关的度量指标主要有以下几个挑战:
    1.人类对相似性的判断依赖高阶结构信息
    2.内容依赖性较强
    3.可能不构成一个距离度量。

    在SRGAN中,曾使用VGG提取的特征图来构建感知Loss函数,也带来了以下问题:
    1.此类“感知损失”实际上对人类视觉感知的反应如何?
    2.它们与传统的感知图像评估指标相比如何?
    3.网络架构重要吗?
    4.它是否必须接受 ImageNet 分类任务的训练,还是其他任务也能正常工作?
    5.网络是否需要训练?
  • 结论总结
    在文章中,得到的研究结果大致可以总结如下:
    1.高级分类任务训练的网络的内部激活结果,确实与人类的感知判断相对应,即时使用不同的网络结构甚至没有进一步校准。
    2.表现最好的是自监督网络。(连K-Means都比传统指标表现的好)。
    3.一定的训练是很重要的,随机初始化网络的结果相对差很多。
  • 贡献
    文章主要贡献如下:
    1.一个超大型的,多样化的,感知相似数据集,伴有484k的人类判断数据。包括各种失真和真实应用输出[超分什么的]。
    2.证明了监督,自监督,无监督网络得出的深度特征,对低级感知相似性的评估效果出奇的好,远超常用老指标。
    3.证明网络结构与评估相似性的性能没什么关系,但不训练会使效果变差。
    4.利用此数据集,可以通过“校准”来自预训练网络的特征响应来提高性能 。

  • 数据集【BAPPS】
    新老数据集对比如下:
    阅读笔记:图像相似性评估方法LPIPS_第2张图片
    很有趣的是这里有些对比数据集是图像质量评估的[全参考或无参考],以普遍理性而言,全参考数据集确实是原始图片与其不同失真图片构成的,可以用来评估感知相似性。本数据集与其它数据集的一大不同之处在于,前人数据集主要是基于少量图片收集了大量判断,而本数据集主要基于大量不同失真数据。
    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(去噪自动编码器)“

    阅读笔记:图像相似性评估方法LPIPS_第3张图片
    另外,本数据集使用的是切割出来的 64 × 64 64 \times64 64×64 小batch图,原因如下:
    1.整张图片空间太大,需要平衡各部分的优劣,难以获取一个准确的关注中心。
    2.通过选择较小的patch图,判断者能够更多的关注相似性的较低级方面,以减轻可能受高级语义影响
    3.现今图片合成深度学习类方法都通过batch-loss训练(不是特别明白这个原因)

  • 深度特征空间
    在此,我们首先看一下,如何计算距离:
    阅读笔记:图像相似性评估方法LPIPS_第4张图片
    距离具体计算公式如下:
    在这里插入图片描述
    简言之,通道加和,空间平均每一层网络输出的特征图之间的距离。然后将得到的两个距离输入到评分网络中。 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。
  • 实验结果
    不同评估下的分数:
    阅读笔记:图像相似性评估方法LPIPS_第5张图片
    回答开篇的几个问题,结果如下:
    1.低级指标与分类网络判断的结果是否有所区别?有,传统指标对应的红色柱状图分数是最低的。
    2.网络一定要在分类任务上训练吗?否,无监督的生成类网络效果也很好。
    3.指标是否与不同的感知任务相关联?否,在两种不同感知测试方法数据集上获得的结果高度相关。
    4.我们能根据失真训练一个矩阵吗?能,三种不同的方法中有初始值的微调款效果最好,说明网络确实在学点东西。
    5.这种训练失真能转移到真实师姐感知中吗?是,见右图。
    6.深度度量与低级度量的区别为何?见下两图,新度量对模糊更敏感,老度量则对噪点和色偏很敏感。

参考

【1】https://zhuanlan.zhihu.com/p/206470186
【2】https://zhuanlan.zhihu.com/p/162070277

你可能感兴趣的:(笔记,人工智能,深度学习)