【论文阅读】Attentive Generative Adversarial Network for Raindrop Removal from A Single Image

论文发表于CVPR2018,主要解决去除雨点(raindrop)的问题。

这个问题不好解决的一大原因是,没有关于图像中被雨点污染的区域所在位置的信息。该论文的主要创新点则基于此,向GAN的生成器和判别器中均加入了注意力机制,学习雨区及其附近区域。生成器中的注意力更多关注雨区及其附近位置,判别器中的注意力用于评估修复区域的局部一致性。
论文链接
官方pytorch代码(无train代码)
非官方tf代码(有train代码)

模型

论文提出的方法可以概括为两步:对雨点图建模和用Attentive GAN去除雨点。
雨点图的模型如下:
在这里插入图片描述
I,M,B,R分别表示输入,表示像素是否属于雨区的二元掩码,背景图像,雨点和背景图像混合形成的效果
基于该公式,可以从输入图像中分离出背景图像,建立一个注意力分布图。

GAN的总损失如下:
在这里插入图片描述
从模型的示意图可以看到,模型包含以下几个部分:
【论文阅读】Attentive Generative Adversarial Network for Raindrop Removal from A Single Image_第1张图片

生成器

  • attentive-RNN:学习到注意力分布(attention map)
    【论文阅读】Attentive Generative Adversarial Network for Raindrop Removal from A Single Image_第2张图片
    (不同阶段学到的注意力分布图)
  • auto-encoder:以原图和注意力分布作为输入,损失函数选用多尺度的损失和感知损失结合的方式
    多尺度损失:从不同解码器层(1,3,5)中抽取特征,形成不同尺寸的输出,希望抓到不同层的更多情境(contextual)信息
    感知损失:全局误差
    【论文阅读】Attentive Generative Adversarial Network for Raindrop Removal from A Single Image_第3张图片

判别器

【论文阅读】Attentive Generative Adversarial Network for Raindrop Removal from A Single Image_第4张图片
在注意力分布全局&局部评价生成器产生的图片

  • 从判别器的中间某层提取特征,输入CNN
  • 定义CNN输出与生成器中的attentive-RNN产生的注意力分布图之间的loss
  • 在输入下一层之前,将CNN输出与判别器的原始特征相乘,引导判别器将注意力集中在注意力分布图指定区域
  • 在最后一层使用全连接层得到判断结果

总结


这篇论文利用GAN加上注意力机制的思想,比较自然、好理解,但是loss公式很多,训练比较triky

你可能感兴趣的:(图像处理,计算机视觉)