【图像增强】Enhancing Underwater Imagery using Generative Adversarial Network(UGAN)论文理解

摘要

  自主式水下航行器(AUV)依赖于各种传感器——声学、惯性和视觉——进行智能决策。视觉由于其非侵入性、被动性和高信息量的特征是一种有吸引力的传感方式,尤其是在较浅的水下深度。然而光的折射和吸收、水中的悬浮颗粒以及颜色失真等因素的存在,严重影响了水下视觉数据的质量,水下图像往往出现噪声和失真。因此依靠视觉传感器的AUV面临着艰巨的挑战,在视觉驱动的任务上表现不佳。
  本文:
  提出了一种使用生成式对抗网络(GAN)提高水下视觉场景质量的方法;使用最近提出的方法(Cycle GAN)生成用于水下图像恢复的数据集;对于任何视觉驱动的水下机器人,这种改进都可以提高安全性和可靠性;提出了定量和定性的数据,本文提出的方法产生更具视觉吸引力的图像。

一、介绍

  (1)水下机器人:
  由于新型平台、传感器和推进机制的出现,水下机器人技术一直是自主机器人领域稳步发展的子领域。 尽管自主式水下航行器通常配备各种传感器,但视觉感应技术由于具有非侵入性、被动性和节能性等特点,是一种有吸引力的选择。 视觉驱动的AUV和ROV(遥控车)已广泛使用用来监测珊瑚礁、深海探索和绘制海床,这些水下机器人的使用确保了人类不再需要冒险深入水下,从而不会遭受水下探索的危险。
  (2)水下图像退化:
  水下机器人使用视觉传感器有很多优势,但是水下环境对视觉传感提出了独特的挑战。因为的光折射、水中悬浮颗粒对光线的吸收和散射极大的影响了光学图像。
   由于光想中红色波长很快被水吸收,因此图像趋向于绿色或蓝色色调,并且随着深度的增加,效果会恶化。 这种失真本质上是非线性的,并且受许多因素的影响,例如存在的光量(阴天相对于晴天,工作深度)、水中的粒子量、一天中的时间、使用的相机。
  分割、跟踪或分类等任务由于间接或直接使用颜色,这些任务的性能因此受到影响。
  (3)水下图像增强:
  随着颜色和光照随着深度的变化而变化,基于视觉的算法需要泛化,以便在机器人可操作的深度范围内工作。获取大量水下图像数据(用于训练视觉系统)很困难且成本高昂,且引入大量噪声,算法在这些不同的领域中可能(并且确实)表现不佳。 下图显示了水下环境中视觉场景的高度可变性, 解决该问题的一个步骤是能够还原图像,使其看起来像地面图像——颜色校正并从场景中去除悬浮颗粒。
  3.1传统水下图像增强方法
将水下图像在这些域中执行多对一映射转换为非水下图像(看起来像地面图像),难以在多种形式的噪声中执行的算法可能只能集中在一个干净的域上。
在这里插入图片描述
  3.2 基于深度学习的水下图像增强
  深度神经网络已被证明是强大的非线性函数逼近器,尤其是在视觉领域。通常这些网络需要大量的数据,这些数据要么带有标签,要么与地面真值配对。
  自动为灰度图像着色的问题,可以将任何彩色图像转换为黑白图像,因此可以容易地使用成对的训练数据;然而由于颜色或其他现象失真的水下图像缺乏地面真值,这是采用基于深度学习方法进行校正的主要障碍。
  (4)本文贡献
  本文提出了一种基于生成对抗网络(GANs)的技术来提高水下场景的视觉质量,目的是提高自主式水下机器人视觉驱动任务的性能;
  使用CycleGAN 生成训练集:CycleGAN 学习将图像从任意域X转换为另一个没有图像对的任意域Y,作为生成配对数据集的一种方法。通过让X为一组未失真的水下图像,让Y为一组失真的水下图像,可以生成看起来像是水下的图像,同时保留地面真值——成对图像数据

二 、相关工作

  自动着色: 最近有许多成功的自动着色方法,但大多数方法都集中在将灰度图像转换为彩色的任务上;不少方法也使用基于物理学的技术直接对光折射进行建模。
  水下图像色彩恢复:
  (1)马尔科夫随机场:为了恢复水下图像中的颜色,一些工作利用马尔可夫随机场的能量最小化公式。
  (2)WaterGAN :与本文中提出的工作最相似的是最近提出的WaterGAN ,它使用对抗性方法来生成逼真的水下图像。其生成器模型可以分为三个阶段:1)衰减,这说明与距离有关的光衰减;2)散射,模拟光散射回图像传感器引起的雾度效应; 3)渐晕,在某些相机镜头上可能会在图像角落产生阴影效果。使用GAN生成水下图像,并使用严格的欧几里得损失进行色彩校正;需要在WaterGAN训练过程中获得深度信息,这通常对于水下自主机器人应用而言通常很难获得。
  (3)UGAN(本文):同时使用GAN来生成水下图像、进行颜色校正。在整个过程中,需要在两个单独的域(例如,水下和陆地)中拍摄物体的图像。使用生成对抗网络(GAN)作为生成模型,构造将水下图像的真实外观估计为成对的图像到图像转换的问题,使用来自两个域的图像对作为输入和地面真值。
  生成模型(GAN):
  生成模型,尤其是生成式对抗网络的最新工作在图像修复、风格转换和图像到图像翻译等领域显示出巨大的成功——主要是由于它们提供比简单的欧几里得距离更有意义的损失 。事实证明,欧几里得距离会产生模糊的结果。

三、方法

  由于颜色或其他情况而失真的水下图像缺乏地面真实性,这是以前的着色方法所必需的。 此外,水下图像中存在的失真是高度非线性的; 简单的方法(例如向图像添加色相)无法捕获所有依赖项。 我们建议使用CycleGAN作为失真模型,以生成用于训练的配对图像。 给定一个没有失真的水下图像域和一个有失真的水下图像域,CycleGAN能够执行样式转换。 给定一个未失真的图像,CycleGAN会将其失真,以使其似乎来自失真图像的域。 这些对然后在我们的算法中用于图像重建。

3.1 数据集生成

  深度、照明条件、相机型号以及在水下环境中的物理位置都是影响图像将经受的失真量的所有因素。 在某些条件下,水下图像可能失真很小,或者根本没有失真。
  IC为没有失真的水下图像,ID为失真的同一图像。本文目标是学习函数 f:ID→IC。 由于难以收集水下数据,因此经常ID或IC存在,且可能两者都没有。
  解决UGAN训练数据集(图像对)不足: 使用CycleGAN从IC生成ID(通过未失真图像产生失真图像),从而为我们提供成对的图像数据集。 给定两个数据集X和Y,其中IC∈X、ID∈Y,CycleGAN学习映射F:X→Y,训练过程中它同时也学习了映射G:Y→X(与 f 相似在后续会将CycleGAN生成的图像与UGAN方法生成的图像进行比较)。
  下图显示了从CycleGAN生成的成对的样本。 利用Cycle GAN生成的配对数据集,训练UGAN的生成器G来学习函数f:ID→I^C。 在这里插入图片描述

3.2 对抗网络

  在机器学习文献中,生成式对抗网络(GANs)代表一类基于博弈论的生成模型——生成器网络与判别器网络竞争。 从分类的角度看,生成器网络G会生成实例,这些实例会主动尝试“愚弄”判别器网络D,判别器网络的目的是能够区分来自数据集的“真”实例和“假”实例。
  原始GAN损失函数(目标)——解决minimax问题:

  为了简便,我们将省略IC~ ptrain(IC)和ID~ pgen(ID)。在此公式中,判别器假设为具有S型交叉熵损失函数的分类器,这在实践中可能会导致梯度消失和模式崩溃等问题:随着判别器的改进,生成器的梯度消失,使得难以训练或不能训练, 当生成器“崩溃”到单个点上时,模式崩溃就会发生,仅一个实例可以欺骗判别器。
  为了说明模式崩溃的影响,假设使用GAN从MNIST 数据集中生成数字,但它仅生成相同的数字。 实际上,期望的结果将是生成所有数字的多样化集合。
  改进的GAN损失函数(目标):
  为了缓解梯度消失和模式崩塌,最近有许多方法为判别器假设了不同的损失函数。我们关注于Wasserstein GAN (WGAN)公式,它建议通过利用Kantorovich-Rubinstein对偶性构建一个值函数来使用Earth-Mover或Wasserstein-1距离W。在这个公式中,给定一组建模为神经网络的k-Lipschitz函数f近似W,为了确保f为k-Lipschitz函数,判别器的权重被裁剪到某个范围[-c,c]。
   本文UGAN:
  以图像ID(失真的水下图像)为条件,训练生成器生成图像以欺骗判别器,并训练判别器区分失真的和未失真的水下图像;采用带梯度惩罚的Wasserstein GAN(WGAN-GP),不裁剪网络的权重,通过对判别器相对于其输入的输出的梯度范数实施软约束来确保Lipschitz约束。本文损失函数为:
在这里插入图片描述

  P~ˆ x~ 定义为样本,这些样本沿着来自真实数据分布和生成器分布的成对点的直线,λGP是加权因子。
  为了使G具有基本的真实感并捕获图像中的低水平频率,我们考虑了L1损失:
在这里插入图片描述

  最终的UGAN目标函数:
在这里插入图片描述

3.3 图像—梯度差异损失

  生成模型通常会产生模糊的图像。 通过直接惩罚生成器中图像梯度预测的差异来增强预测。给定真值图像IC,预测图像IP=G(ID),α是一个大于或等于1的整数,梯度差异损失(GDL)为:
在这里插入图片描述
  在我们的实验中,我们把使用梯度差异损失的UGAN命名为UGAN-P,损失函数为:
在这里插入图片描述

3.4 网络架构

  (1)生成器网络:
  全卷积的编码–解码器,类似于U-Net(输入和输出之间结构相似)。编码器-解码器网络通过卷积将输入降采样(编码)为低维嵌入,然后通过转置卷积对该嵌入进行上采样(解码)以重建图像。
  “ U-Net”的优势是显式地保留了编码器产生的空间依赖,而不是依赖嵌入来包含所有信息。这可以通过添加“跳跃连接”来完成——将编码器中的卷积层i产生的激活与解码器中的转置卷积层n- i+ 1的输入连接起来,n是"U-Net"网络的总层数。 生成器每个卷积层步长为2、卷积核大小为4×4。编码器:卷积后进行批量归一化、斜率为0.2的leaky ReLU激活函数;解码器:转置卷积后接ReLU激活函数(解码器中没有批量归一化),解码器的最后一层不使用Relu激活而是使用TanH非线性激活来匹配[-1,1]的输入分布。
  最近的工作提出了实例规范化,以提高图像到图像翻译任务的质量,但是对于UGAN没有任何额外的好处。
  (2)判别器网络:
  全卷积判别器仿照[Unsupervised representation learning with deep convolutional generative adversarial networks.],但不使用批量归一化。 因为WGAN-GP会针对每个输入单独惩罚判别器梯度的范数,因此批量归一化将无效。
  本文判别器被建模为PatchGAN ,可以在图像补丁级别进行判别。 与常规判别器(输出对应于真实或伪造的标量值)相反,我们的PatchGAN判别器输出32×32×1特征矩阵,该矩阵提供了高电平频率的度量。

四、实验

4.1 数据集

  使用Imagenet 的几个子集来训练和评估我们的方法。
   Cycle GAN数据集: 选择包含水下图像的Imagenet子集来训练CycleGAN,并根据视觉检查将其手动分为两类:X为无失真的水下图像集(6143张图像),Y为失真的水下图像集(1817张图像)。训练CycleGAN学习映射F:X → Y,使得来自X的图像类似来自于Y。 (Cycle GAN在训练过程中除学习到了F:X → Y映射,还学习到了G:Y→X映射,这与UGAN的f类似)
   UGAN数据集: 将X中的所有图像(未失真图像)使用F映射函数(Cycle GAN学到的F:X → Y)作用获取失真的图像,产生成对训练数据(成对的未失真图像、失真图像)。
  下图,采样的训练数据对,当我们对比CycleGAN和UGAN的性能时,我们使用包含56个图像的FlickrTM图像。
在这里插入图片描述

4.2 评估

  在CycleGAN生成的图像对上训练UGAN和UGAN-P,并评估来自测试集Y的图像——这些图像不包含地面真值,它们是来自Imagenet的原始失真图像;训练和测试的图像尺寸为256×256×3,并在[−1,1]之间归一化。 下图显示了测试集中的样本,这些图像包含变化量的噪声。 UGAN和UGAN-P都能够恢复丢失的颜色信息,并纠正存在的任何颜色信息。
在这里插入图片描述

  尽管许多失真的图像在整个图像空间中都包含蓝色或绿色,但并非总是如此。 在某些环境中,靠近相机的物体可能会以正确的颜色失真,而图像的背景则包含失真。 在这些情况下,我们希望网络仅纠正看起来失真的图像部分。 上的最后一行显示了此类图像的样本。 小丑鱼的橙色保持不变,而背景中变形的海葵颜色已校正。
  对于定量评估:将UGAN及UGAN-P与CycleGAN(在G的训练过程中t同时固有地学习逆映射:Y→X)进行比较:首先使用Canny边缘检测器,因为它提供了图像的颜色不可知评估; 其次比较本地图像补丁以提供图像的清晰度指标;最后展示了现有的水下机器人跟踪算法如何利用生成的图像提高性能。

4.2 与Cycle GAN对比

  注意:在学习映射F:X→Y(用于根据未失真图像产生失真图像,产生成对图像,作为UGAN训练数据集)的过程中,CycleGAN还学习了映射G:Y→X。
  对比UGAN/UGAN-P学习的映射f:Y→X和Cycle GAN学习到的映射G:Y→X:
  数据集使用包含56个图像的FlickrTM图像。
  评估:
  (1)使用Canny边缘检测器来提供图像的颜色不可知性评估,因为原始图像包含扭曲的颜色,并且不能作为基本事实进行比较。由于恢复颜色信息不会改变图像的整体结构,因此我们测量了图像空间中原始图像和生成图像中边缘之间的距离。 下表提供了边缘测量值以及整个FlickrTM数据集的平均值。 与CycleGAN相比,UGAN和UGAN P在图像空间中更靠近原始图像,这表明由于模糊而产生了噪点。
在这里插入图片描述

  (2)内容丢失的伪影:如下图所示,我们比较了突出显示的图像补丁的局部统计信息,其中每个图像补丁的大小调整为64×64。
  2.1 使用GDL(梯度差异损失)作为清晰度测量:较低的GDL度量值意味着像素之间的过渡更平滑,因为嘈杂的图像会在图像的梯度中产生较大的跳跃,从而导致得分更高。 如下表所示,UGAN和UGAN-P的GDL都较低。
在这里插入图片描述
在这里插入图片描述

  2.2 使用补丁的平均值和标准偏差: 标准偏差给我们一种模糊感,因为它定义了数据偏离均值的距离。 图像数据更趋向一个像素值,因此这将暗示模糊效果。 下表显示了上图中局部图像块的RGB值的平均值和标准偏差。尽管定性评估显示我们的方法更加清晰,但从数量上看,它们仅显示出一些改进。
在这里插入图片描述

4.4 训练细节和推理性能

  在所有实验中,我们使用λ1= 100, λGP= 10,batch size = 32,Adam优化器,学习率1e − 4;对于生成器的每次更新,判别器都会更新n次,其中n =5;对于UGAN-P,λ2= 1.0,α= 1。
  在GTX 1080上从头开始对所有网络进行了100次训练。 GPU上的推理平均需要0.0138s,大约是每秒72帧(FPS)。 在CPU(Intel Core i7-5930K)上,推理平均需要0.1244s,大约是8 FPS。 在两种情况下,输入图像的尺寸均为256×256×3。

五、结论

  本文提出了一种通过使用生成对抗网络来增强水下彩色图像的方法。 使用CycleGAN生成配对图像的数据集,为提出的UGAN模型提供训练集。 定量和定性的结果证明了该方法的有效性。
  未来的工作将集中于从水下物体创建更大、更多样化的数据集,从而使网络更具通用性。 用诸如粒子和光照效果之类的噪声增强CycleGAN生成的数据将改善数据集的多样性;还打算研究许多不同的定量绩效指标来评估我们的方法。

  • 5
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 35
    评论
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值