A Practical Contrastive Learning Framework for Single Image Super-Resolution阅读笔记

 论文:A Practical Contrastive Learning Framework for Single Image Super-Resolution

arXiv:https://arxiv.org/abs/2111.13924

Abstract

        对比学习在高层视觉任务中取得了巨大成功,但在底层视觉任务中很少提出相关方法。将为高层任务设计的原始对比学习方法直接应用于底层任务是颇具挑战性的,因为获取的全局视觉表征不足以重建得到丰富的纹理与细节信息。本文基于样本构建与特征提取两个角度,为单图超分(SISR)提出了一种显著的对比学习框架。现有方案提出了一些简单的样本构建方法(例如将低质量输入视为负样本,gt视为正样本)并采用先验模型(预训练的VGG)以获得特征嵌入而不是探索一种任务友好的方式。为此,我们为SISR提出了一种实用的对比学习框架,涉及在频率空间中生成信息量大的正样本与困难负样本。本文设计一种从鉴别器网络继承的简单但有效的嵌入网络,而不是利用额外的预训练网络,并且可以使用主SR网络进行迭代优化,使其具有任务泛化性。最后我们进行额外的验证实验相比于基准方法并比现在的SOTA方法获得0.21dB的增益。

Introduction

        对比学习在无监督表示学习已经成为一种有效的范例。基于实例差异的前置任务,这些方法通过从相同实例相似性与不同实例差异性获得经验以学习视觉表征。这些学习到的视觉表征对以高层任务为主的许多下游任务均增益,且效果可观,如有监督的图像分类,图像聚类,细粒度图像分类和知识蒸馏。

        但在底层图像处理任务上,直接应用对比学习仍存在诸多挑战:

  1. 学习到的全局视觉表征缺乏低层任务所需的丰富纹理和结构信息;
  2. 高层下游任务适用的数据增强,除一些简单的几何增强外均不适用于底层任务;
  3. 需要一个有意义的隐空间(或特征嵌入空间)以计算对比损失。

        目前底层任务的对比学习方法主要注重于探索负样本,同时将gt作为正样本。文章总结了一些最新的相关文章,一些在正刊上发表一些只是挂在arXiv上。

        这些方法均存在一定的缺陷。[19, 57, 59]将gt作为正样本,退化的图像或数据集中其余图像作为负样本。这些负样本与重建图像相似度低,导致容易区分,难以对对比损失做出贡献。而对一些特定的图像重建任务,另一些基于对比学习研究[9, 14, 55, 63]致力于生成图像的全局不变特征,免于噪声、雨、分辨率以及模糊。这些方法忽视了构建有效正负样本对这一部分。此外由于这些方法的对比损失定义在某些特定特征空间内,无法很好泛化至其他任务。

        本文调查研究了SISR的对比学习并提出一种有效的SISR对比学习框架,可同步生成多个正负样本。最近的研究显示现有深度学习方法得到的超分结果趋于平滑,视觉上不自然不合理。基于这些发现和对困难负样本的挖掘研究,文章通过将轻微模糊添加于gt以生成困难负样本以及简单锐化以生成富含信息的有效正样本。从而为超分图像获得正负样本对。

        进一步,区别于现有方法采用额外预训练特征提取网络(例如预训练的VGG),文章利用轻便且任务友好的特征提取网络:SR网络的鉴别器,将正/负/锚点样本嵌入至对比损失定义的特征空间。对于锚点样本,对比损失将使它原理负样本,靠近正样本。由于该特征提取网络继承自SR网络的鉴别器,该鉴别将超分图像与高分辨率图像进行区分,因此嵌入的特征对图像退化十分敏感。故而超分图像可以很好的与负样本区分开同时靠近正样本。

总结贡献如下:

  1. 提出了针对SISR任务的一种有效对比学习框架;
  2. 重新思考并提出了一个显著方法以获得任务友好或任务泛化性墙的特征,通过重新利用SR网络的鉴别器,对比损失可以很好的工作;
  3. 额外实验证明本文的方法(PCL-SISR)表现在定量与定性方面均优于代表性的SISR方法。

Related work

        简要介绍了对比学习、图像恢复和图像间转换中的对比学习以及SISR领域的相关研究。

Method

Preliminaries

        对比学习是最强大的表征学习方法之一。致力于将锚点样本在隐空间中推向正样本,远离负样本。对于数据集\mathcal{I},表征学习模型 E使用InfoNCE损失,被训练于提取表征

\mathcal{R}=\{r_i|r_i=E(I_i),I_i \in \mathcal{I}\}

        \mathcal{L}_{InfoNCE} 基于softmax形式,对第i个样本的损失定义如下:

\mathcal{L}_i=-\log \frac{\exp (r^T_I \cdot r^+_I /\tau)}{\exp (r^T_I \cdot r^+_I /\tau)+\sum^K_{j=1}\exp(r^T_I \cdot r^-_j/\tau)}

        其中\tau是温度超参数,r^+_i代表正样本,通常由样本 I_i经随机数据增强生成。 K是负样本集的数量, \{r^-_i\}^K_{j=1}代表负样本集。整体对比损失定义如下:

\mathcal{L}_{InfoNCE}=\frac1{N}\sum^N_{i=1}\mathcal{L}_i

        在有监督分类任务中,通常正样本不止一个。在此任务中,监督对比损失定义为:

\mathcal{L}_i=-\frac1{P}\sum^P_{p=1}\log \frac{\exp (r^T_i \cdot r^+_p /\tau)}{\exp (r^T_i \cdot r^+_p /\tau)+\sum^K_{j=1}\exp(r^T_i \cdot r^-_j/\tau)}

P是正样本集数目, \{r^+_p\}^P_{p=1}是正样本集,整体监督对比损失定义为:

\mathcal{L}_{SupCL} = \frac1{N}\sum^N_{i=1}\mathcal{L}_i

Positive and Negative Sample Generations

        通过将不同高通核作用于HR图像生成K_P张正样本,因为:

  1. SISR任务致力于得到细节化的结果,而细节通常存在于高频成分中;
  2. SISR问题是一个不适定问题,LR图像和HR图像间的对应关系通常是一对多,也就是应该有多张合理的GT。

        之前的任务中将退化的图像或者不同图像作为负样本,锚点与负样本间过于不相似,很容易区分,在计算损失时作用受限。因此利用随机的高斯模糊核作用于将HR图像生成多个负样本。

Feature Embedding Network

        文章提出了一个类似于GAN的框架结构,使用原始GAN网络中鉴别器作为特征提取网络,将图像映射至隐空间计算对比损失。为增强高频成分的学习,将低频成分与高频成分相分离,上述特征提取网络仅输入高频成分。具体实现时,采用哈尔小波变换,保留LL,LH,HL,HH四个子带中的LH,HL,HH,鉴别损失定义如下:

        并采取类似GAN网络的训练策略,每次freeze一部分然后训练另一部分

Contrastive Loss

        为了充分利用生成的多个正负样本,文章利用特征提取网络E_D的多个中间特征计算对比损失。E_D第l层第i个样本的对比损失定义如下:

\mathcal{L}_{i,l} = \frac1{K_P}\sum^{K_P}_{j=1}-\log \frac{\exp(s(f^l_i,p^l_j)/\tau)}{\exp(s(f^l_i,p^l_j)/\tau)+\sum^{K_N}_{k=1}\exp(s(f^l_i,n^l_k)/\tau)}

        其中s是相似度函数,\mathcal{P}_i\mathcal{N}_i分别代表正负样本集。对于C\times H\times W的特征图,s采用像素级别的余弦相似度的均值,定义如下:

s(f^x,f^y)=\frac1{HW}\sum^H_{h=1}\sum^W_{w=1}\frac{f^x_{hw}f^y_{hw}}{\|f^x_{hw}\|\|f^y_{hw}\|}

        完整对比损失定义如下:

\mathcal{L}_{CL}=\frac1{N}\sum^N_{i=1}\sum^L_{l=1}\mathcal{L}_{i,l}

        实际采用前四个中间层用于计算。

Training and Implementation Details

        网络整体损失定义如下:

\mathcal{L}_{SR}=\mathcal{L}_1+\alpha\mathcal{L}_{CL}

        \alpha默认取1,其余还有一些细节设置可以详见论文。

Experiments 

个人总结

        随着Transformer的提出以及在底层任务上应用的进一步探索,相信在很多底层任务数据集上可以取得新的SOTA成绩。但是不可否认的是,现有数据集的指标提升逐渐趋于平缓,似乎来到了一个瓶颈。要继续向前迈步,短期内难以出现超越Transformer的网络结构,那另一方面则是方法上的创新,一些被广泛应用于高层视觉任务的方法,诸如对比学习、度量学习等,是否值得借鉴?

        CVPR2021的文章Contrastive Learning for Compact Single Image Dehazing在去雾任务中引入对比学习,消融实验也证明对比学习的引入有助于网络性能的提升。但其使用对比学习的方法仍旧比较粗糙,这也是个人认为这篇文章虽然实验结果提升不大,但是在思路上有较大意义的地方——上文采用一个预训练VGG将图像映射至隐空间计算对比损失,去雾网络和VGG存在一定的脱节,而且对比学习的成效很大意义上取决于VGG的能力强弱。另一点则是正负样本的选择。这两点都是本文所考虑以及试图解决的问题,作者也做出了自己的尝试。个人还是很期待作者能把这个方法继续做work,提升实验结果的。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值