论文阅读:Attentive Generative Adversarial Network for Raindrop Removal from A Single Image
顺手把这两篇比较相像的GAN网络整理一下。
心有猛虎,细嗅蔷薇。
2018CVPR:Attentive GAN
这篇论文于2018年发表在CVPR期刊上,并专注于解决雨滴去除问题这一挑战。论文创新性地提出了一种基于GAN网络的新方法,在生成阶段整合注意力机制后将注意力图与原始带雨图像协同工作以实现去雨效果。研究来自北京大学贾一阳课题组,在该领域具有较高知名度的研究者还包括杨文瀚教授等

本文强调,在雨滴去除问题的研究中存在两个主要难点:一是雨滴遮挡区域的明确性存在不足;二是丢失了大量关键背景信息这一现象造成了较大的挑战。本研究采用了一种基于对抗训练机制的视觉注意力生成模型,在其设计过程中将视觉注意力机制整合到生成器与判别器中。通过引入视觉注意力模块,在生成网络中强化了对雨滴及其周边区域的关注度;同时,在判别器部分增加了对恢复区域局部一致性的评估能力。实验结果表明该方法在去雨滴效果上表现优异。
关键词: 雨滴 + GAN + 视觉注意力
前人的工作及缺陷:
针对雨滴检测与去除问题的方法已提出了一系列解决方案。尽管存在一些专门用于探测雨滴的方法,但这些方法未能实现去除功能。其他检测与清除策略主要依赖于立体视觉、视频流以及特意设计的光学快门等多种手段,因此无法适用于普通的单帧图像捕捉场景。Eigen团队开发了一种基于三层卷积神经网络(CNN)的方法,该方案旨在通过深度学习技术实现单幅图像去污功能。然而该方法仅能有效去除较小规模及较稀疏分布的雨滴,并导致输出图像模糊不清,此外该技术无法处理相对较大和稠密分布的雨滴情况
主要创新之处:
1、提出了一种注意力循环网络。在传统的生成网络前尝试生成注意力分布图,使得生成网络聚焦在有雨滴的区域。具体实现由一个结合深度残差网络(ResNets)和记忆神经网络(LSTM)的循环神经网络和一部分标准的卷积层实现。(5ResNet + LSTM + conv)
2、在生成器的后半部分是一个U-Net形状的自动编解码器,输入是输入图像和注意力分布图。损失函数则是使用了获取广泛上下文信息的多尺度损失及使更加真实的感知损失。
3、判别器网络中则是在全局和局部验证图像的真实性,并且利用注意力分布图来指导判别网络指向局部的雨滴区域。
前人工作:
利用主成分分析(PCA)方法由Kurihata等人训练了雨滴形状特征,并将这些特征用于测试图像中的匹配。然而,在实际应用中面临三个主要问题:一是无法预先确定所需学习的雨滴数量;二是如何确保主成分分析能够全面模拟不同种类的雨滴形状;三是如何有效避免与实际降雨区域相似但非降雨区域的部分被误判为降雨区域。
Roser与Geiger开发出了一种方法,能够比较人工合成的人工降雨滴与可能带有降雨滴的补丁.他们假设合成的人工降雨滴形似球体的部分,同时这些补丁也被设想为倾斜于球体的部分.这些假设可能在某些特定情况下适用,The various shapes and sizes of raindrops mean that this approach cannot fully account for all scenarios involving raindrops.
Yamashita团队采用了立体视觉系统来识别并去除雨滴。该系统通过对比所测照片与立体相机及玻璃表面之间的距离差异来检测雨滴的存在。随后,在未受雨滴影响的像素基础上进行处理以去除雨滴区域的像素值,并假设这些区域不受背景雨滴干扰作为前提条件
Yamashita等人还开发出了一种替代方案,该方案利用视频帧而非立体视觉。
该研究团队开发出一种基于运动学原理的雨滴检测算法,并结合视频修复技术来消除被探测到的雨滴。然而尽管这些方法在一定程度上能够去除雨滴斑迹,但它们无法直接应用于单一图像处理场景。
Eigen 等人提出了针对单幅图像雨滴去除的独特方法。据了解,在文献中该方法独树一帜地专注于解决这一问题。该方法的核心基于一对带有雨滴和无雨滴图像对训练卷积神经网络。其网络架构由三层组成:输入层、隐藏层以及输出层;每层均配备512个神经元以确保充分的学习能力。尽管该方法在处理稀疏且小面积的雨滴时表现出色,并能有效去除灰尘等微小干扰物(如PM2.5颗粒),但它在面对较大范围或较高密度的雨点时往往难以产生清晰结果。此外,在实际应用中发现输出图像存在模糊现象可能是由于网络容量限制以及现有损失函数设计未能充分抑制预测误差所致)。
网络结构:

从网络结构图中可以看出,
首先,
生成器网络接收有雨图作为输入,
随后,
经过5ResNet + LSTM + convs模块处理,
得到当前阶段的2D注意力图,
并将此注意力图与原始图像结合,
传递至下一阶段。
接着,
将上一阶段输出的2D注意力图与原始图像一起,
输入到U-Net模型中,
从而获得去雨后的图像。
最后,
判别器接收的是由生成器输出的去雨图片。
具体实现:
1、雨滴的成像原理

其中,I是一幅彩色图像; M是一个二进制遮罩.在遮罩中定义为:当像素x属于雨滴区域时M(x)=1,否则视为背景区域的部分; B代表背景图像,R代表由于雨滴带来的影响,即通过镜头或挡风玻璃反射出来的复杂混合光景.运算符⊙表示各元素进行逐点相乘操作.
然而具有透明特性的小水滴在视觉系统中同样具有特殊属性
2、Attentive-GAN

其中G和D分别对应生成器网络与判别器网络;
I作为承载雨滴信息的降雨图像是生成器网络的输入;
R则表示晴朗天气下的清晰图像。
3、生成器
该系统由注意力循环网络与上下文自动编码器组成。该网络旨在识别输入图像中的雨滴相关区域。这些区域是该系统中上层模块关注的重点区域及其周边结构。通过这种方式各子模块能够更好地协同工作以提升整体性能
注意力循环网络:
应用了一些视觉注意模型用于提取目标关注区域的特征。视觉注意力是产生无雨滴背景图像的重要因素,因为它可以让网络知道移除和恢复作用应该集中在哪里。
使用一个循环网络来产生我们的视觉注意机制。
每一块都包含5层ResNet它们帮助从前一块的输入图像和掩码中提取特征-一个卷积的LSTM单元和用于生成2D注意分布图的卷积层。
卷积型长短期记忆单元主要包含四个组成部分即输入门、遗忘门、输出门以及细胞状态这四种基本组件共同构成了卷积 LSTM 的核心计算框架。

Xt是由ResNet生成的一种特征表示;Ct对将传递至下一个LSTM单元的状态进行编码;Ht代表LSTM单元输出的特征向量;运算符*用于表示卷积操作执行过程中的参数乘法运算;其中W代表卷积层中的权重参数。随后将该LSTM层的输出结果传递至卷积层进行处理操作;该过程能够生成一个二维注意力权重矩阵。在训练过程中,默认情况下我们将注意力权重矩阵的所有元素初始化为0.5数值。在训练初期我们观察到该二维注意力分布图呈现出明显的空间定位特性:在整个图像区域中主注意力权重集中在中心区域区域位置附近。

上下文自动编码器

该上下文自动编码器旨在生成雨滴不存在的图像。该编码器架构由多个卷积层组成,并通过跳跃连接增强了重建质量。我们的深度自动编码器包含16个卷积块,在各层之间建立了直接连接路径。
该自动编码器配置了两项损失函数:多尺度损耗与感知损失。针对多尺度损耗设计了一种多级特征提取方法:从解码器的不同层级中采集具有不同尺寸信息的关键点特征向量。此外还引入了感知损失这一指标:用于衡量去雨后图像与原始无雨图像之间的全局特征差异水平。
4、判别器
一般常用整体识别工具与局部区域识别工具来进行区分分析。其中整体识别工具分析整幅图像的情况,并用于发现图像中可能存在的不协调之处;另一端则专注于分析图像中的小部分区域。
这里的注意力分布图是通过利用注意力循环网络生成的。具体而言,在从判别器中间某一层提取特征后被输入到一个卷积神经网络(CNN)中,并得到了相应的注意权重矩阵作为结果值。接下来根据该卷积神经网络(CNN)的输出以及对应的注意权重矩阵构建损失函数作为训练目标。更重要的是,在将该卷积神经网络(CNN)的结果传递至下一层之前我们将该结果与判别器原始特征做乘法运算以增强区分能力的作用机制这一设计意图使得模型能够更加有效地捕捉到目标区域的信息最后一步通过全连接层判断输入图像是否真实
判别器网络由七个小型卷积模块构成,并包含一个具有1024个神经元的全连接块以及Sigmoid激活函数。在经过掩膜处理后,倒数第三个层次的图像特征被提取出来。
损失函数:
1、训练注意力循环网络

各循环模块的能量损失函数由在时间步长t上生成注意力分布图A_t与二进制掩码M之间的均方误差(MSE)来表征。该LSTM循环网络经过N个时间步长的迭代运算。在初始阶段,各个注意力机制对应的权重较小,在计算步骤递增的过程中权重逐渐增大。
2、上下文自动编码器
多尺度损失:

其中,在解码层中提取出第i个输出Si,在同一尺度上定义groundtruth Ti
感知损失:

3、生成器总损失:

4、判别器损失:

其中,L map 是为鉴别器内层提取的特征与最终注意力图之间的损失:

实验
建立了个人的数据集。
实验室中采用厚度为3毫米的透明玻璃片作为采集介质,并将其附着于相机镜头以完成成像过程。
采用索尼A6000与佳能EOS 60摄设备完成成像过程。
通过调节相机镜头与透明玻璃片之间的距离(2-5厘米),获取不同雨滴成像效果,并尽量减少玻璃表面反射现象的影响。

为了测试能否使识别性能得到显著提升,并验证我们方法的有效性
分页
