TFill:Bridging Global Context Interactions for High-Fidelity Image Completion论文阅读笔记
-CVPR 2022
-提出问题:
正确桥接全局上下文交互对于使用大掩摸完成高保真图像非常重要。以前的方法通过深或大的感受野(RF)卷积来尝试这一点,但无法摆脱附近相互作用的主导地位,这是劣势。
通过堆叠卷积层得到的全局信息,存在限制:
①由于卷积的平移不变性,信息流主要是局部的,全局信息只是通过多层的类热传播逐渐共享。
②在推理阶段,相邻层之家你的元素通过学习但固定的权重来链接,而不是依赖于输入的自适应权重,这就意味着长距离信息只在一个非常深的层中低效传播,导致网络趋向于以孔洞附近的信息为基础填充孔洞,而不是远距离可见像素。
-主要工作
本文提出将图像修复任务视为无方向的序列-序列的预测任务,使用Transformer可以保证去信息平等的流动到各个像素上。主要贡献如下:
①利用限制性的CNN提出图像表征 token representation,减轻了从局部可见区域传播到缺失区域的影响。
②通过一个以transformer为基础的架构,这些token之间的远程交互被显式地建模,其中掩蔽令牌可以感知其他机会平等的可见令牌,而不管它们的位置如何。这导致了对最先进的方法有了显著的改进。
③本文引入了一种具有自适应注意平衡的新型注意意识层,以获得更高质量和分辨率的结果。
-网络结构
(a)首先将mask input失真图像resize固定为256*256大小,然后输入Restrictive CNN生成token,再喂入transformer中进行远距离交互,得到初步的coarse result。
(b)将mask input 与coarse result重新组合,输入到refinement network中,该network中包含Attention-Aware Layer 从可见区域和生成区域传输高质量的信息。
- Method
① Content Inference Network:TFill-Coarse
考虑到固定长度的位置嵌入和计算成本,本文先将图片任何大小的图片resize至256*256.
Restrictive CNN:该模块的主要作用就是提取感受野不重叠的token。
先前的token representation 方式要不就是采用某个像素点会使得下采样的过程中丢失大量的信息,要不就是整张图像,不同的token之间存在重叠。
本文利用Restrictive CNN来进行token representation。这个模块包括四个block,在每一个block中,利用1x1卷积和layernorm来进行非线性映射,然后再用部分卷积(k=2,s=2)来提取可用信息。通过上述做法,保证每个token只代表局部patch中的可见信息。
Weighted self-attention layer:
为了进一步鼓励模型偏向于重要的可见值,作者用weighted self-attention代替了普通的self-attention。即应用一个权重来衡量注意力分数。初始的权重通过计算一个patch中可见像素的比例。然后在每个编码器层后面按照的方式更新权重。
CNN-based Decoder
利用卷积层组成的decoder端对特征进行上采样,以此生成coarse result初步图像。
② Appearance Refinement Network:TFill-Refined
尽管Coarse网络已经生成合理的结果,但还是存在不足。由于固定的input size 256*256,这使得coarse网络不适用于高分辨率图像。且生成的结果可能会和原始的外观不完全一致。如下图所示:左右眼睛异瞳
为了解决上述问题,提出了refinement network。为了进一步利用全局中可见的高频细节,设计了一个注意力感知层AAL来从编码和解码的特征中远程复制信息。
如下图所示,给定一个解码特征xd,首先计算其注意力分数
再以mask为基础将A分为Av(可见区域相似度)和Am(生成区域相似度),然后经过softmax后与编、解码特征相乘
我们使用1×1滤波器γ和α来调节权重的比值。采用Softmax归一化,确保wv+和=1在每个空间位置:
最终,输出z为两个特征的加权:
③损失函数
两个阶段的网络都使用下列的损失函数进行训练:
其中Lpixel为l1 loss,Lper为感知损失,Lgan为生成对抗损失