[GAN]Generative Image Inpainting with Contextual Attention论文阅读

1 论文简介

  • Generative Image Inpainting with Contextual Attention是UIUC的Jiahui Yu在Thomas S. Huang的指导下,联合Adobe Research完成的一项工作,发表于CVPR 2018。

  • 作者在Iizuka等人提出的Globally and locally consistent image completion工作的基础上进行改进(Improved Generative Inpainting Network),并提出Contextual Attention,以利用传统方法中要求图像之中的patch之间存在相似性的思路,弥补卷积神经网络不能有效的从图像较远的区域提取信息的不足。

1.1 网络架构

[GAN]Generative Image Inpainting with Contextual Attention论文阅读_第1张图片

  • 生成器:包括两个阶段。第一个阶段是一个粗糙网络(Coarse Network),利用空间衰减重构损失训练。第二个阶段是一个细化网络(Refinement Network),利用重构损失WGAN损失训练。
  • 判别器:包括两个部分。第一个部分负责局部判别(Local Critic),第二个部分负责全局判别(Global Critic),都是基于 WGAN-GP损失(带梯度惩罚的WGAN损失)。

1.2 上下文注意力机制

[GAN]Generative Image Inpainting with Contextual Attention论文阅读_第2张图片

  • 思路为从已知图像中借鉴特征信息,以此生成缺失的patch。首先在背景区域提取3x3的patch,并作为卷积核。为了匹配前景(待修复区域)的patch,使用标准化内积(即余弦相似度)来测量,然后用softmax来为每个背景中的patch计算权值,最后选取出一个最好的patch,并反卷积出前景区域。对于反卷积过程中的重叠区域取平均值。
  • 通俗一点讲,假设有待修补区域x,通过卷积的方法,从整个图中匹配几个像x的区域a,b,c,d,然后从上述区域中利用softmax找出最像x的区域,最终通过反卷积的方式,来生成x区域的图像。

1.3 损失函数

  • WGAN损失
    [GAN]Generative Image Inpainting with Contextual Attention论文阅读_第3张图片
    其中 P r P_r Pr是真实的分布, P g P_g Pg是生成数据的分布,这损失在GAN损失的基础上去掉了log。
  • 梯度惩罚项
    在这里插入图片描述
    [GAN]Generative Image Inpainting with Contextual Attention论文阅读_第4张图片
    在这里插入图片描述
    只对位于空洞区域的像素点进行梯度惩罚,利用一个mask实现:在这里插入图片描述
  • 重构损失
    在这里插入图片描述
  • 空间衰减重构损失:改变重构损失的mask权重,每一点的权值为 γ l \gamma^{l} γl γ = 0.99 \gamma = 0.99 γ=0.99 l l l 表示该点到已知的像素点最近的距离。

1.4 实验

优化器为Adam,学习率为0.0001,batch-size为48,单卡1080Ti训练,在Place2数据集上进心训练,输入图片size为256256,patch大小为128128。

  • 定性对比
    [GAN]Generative Image Inpainting with Contextual Attention论文阅读_第5张图片
    从左往右为原图,输入图片,baseline输出,model输出。
  • 定量对比
    [GAN]Generative Image Inpainting with Contextual Attention论文阅读_第6张图片

2 项目简介

2.1项目背景

项目为2021飞桨启航菁英计划实习项目。项目基于 Paddle 2.1.2 进行开发并实现论文精度,十分感谢百度提供的实习机会和GPU资源。

2.2项目结果

TO DO

2.3项目使用

见百度aistudio

3 关于论文

References

  1. 论文链接
  2. 论文中文翻译
  3. 论文详解
  4. 论文Github地址
  5. 论文复现Github Repo

你可能感兴趣的:(人工智能,计算机视觉,深度学习)