• 项目:http://irvlab.cs.umn.edu/enhancing-underwater-imagery-using-gans
  • 论文: https://arxiv.org/pdf/1801.04011.pdf
  • 代码:https://github.com/IRVLab/UGAN/find/25a94be6373c7d9bbfd37b81336d584b89a7624b

    目录

1.介绍

2.方法

2.1 生成水下数据集

2.2 对抗生成网络

2.3 网络架构与训练细节

3.方法评估

参考文献:


1.介绍

本文的主要目的是使用生成对抗网络增强水下图像。

在Introduction部分,作者提出当前水下机器人逐渐发展,使用视觉引导的AUV和ROV已广泛使用在许多水下任务之中,但是因为光的折射,吸收和悬浮颗粒的散射会极大地影响光学系统。例如,因为红色波长很快被水吸收,水下图像的色彩趋于绿色或蓝色。随着深度的增加,这种效果会恶化,因为越来越多的红色调被吸收。这种失真本质上是非线性的,并受许多因素(例如存在的光量)的影响,例如:光照角度与强度、海水水质、相机参数等等,因此想要获得清晰的水下图像,使用某一个方法不能改善所有的水下图片,这会影响水下机器人在执行分割,追踪以及分类等直接或间接用到颜色特征的任务的准确性。

2.方法

基于以上所说的问题,作者提出了一种基于深度学习的图像增强算法。方法流程为:首先使用CycleGAN将清晰的水下图像渲染成模糊的水下图像形成水下图像数据对,然后使用所提出的UNDERWATER GAN(即UGAN)做图像增强。

2.1 生成水下数据集

因为场景深度,照明条件,相机型号以及在水下环境中的物理位置都会影响图像失真的因素。 在某些条件下,水下图像可能失真很小,或者根本没有失真。 本文将IC设为没有失真的水下图像,将ID设为没有失真的同一图像。 我们的目标是学习功能f:ID→IC。 由于难以收集水下数据,因此不仅存在ID或IC,由于难以收集水下数据,通常IC和ID都有的情况很少,因此为了为了避免图像对不足的问题,本文使用CycleGAN从IC生成ID,从而提供了成对的图像数据集。(CycleGAN的具体内容请见我的下一篇博客)

2.2 对抗生成网络

在GAN中,其主要任务是生成器G不断生成虚假图片以“欺骗”判别器D,判别器的任务则为判断生成器所生成的图片是否为真实图片,因而在GAN的原始公式中,其任务主要是解决minmax问题:

要理解这个公式,只需要将其分解为两个部分:

优化D:

优化G:

优化D的公式的第一项,使的真样本x输入的时候,得到的结果越大越好,因为需要真样本的预测结果越接近于1越好嘛。对于假样本,需要优化是的其结果越小越好,也就是D(G(z))越小越好,因为它的标签为0,也就是说,log(1-D(G(z)))越大越好,这样两者合起来就是越大越好。

同样在优化G的时候,这个时候没有真样本什么事,所以把第一项直接却掉了。这个时候只有假样本,但是我们说这个时候是希望假样本的标签是1的,所以是D(G(z))越大越好,但是呢为了统一成1-D(G(z))的形式,那么只能是最小化1-D(G(z)),本质上没有区别,只是为了形式的统一。之后这两个优化模型可以合并起来写,就变成了最开始的那个最大最小目标函数了。

(此处参考链接为:https://www.imooc.com/article/28569,有兴趣可以去看一下。)

本文中作者提到,为简化以上方程,我们忽略,在这里鉴别器假设为一个具有S形交叉熵损失函数的分类器,在实践中可能会导致梯度消失和模式崩溃等问题,在不断提高鉴别器的时候,生成器会出现梯度消失的情况,也就是说会生成器生成许多同一类别的图片,而不是多样的图片,这种情况不是我们所想要看到的,为了避免这种情况,作者采用了WGAN,采用具有梯度惩罚的Wasserstein GAN(WGAN-GP),而不是裁剪网络权重,而是通过对鉴别器输出相对于其输入的梯度范数进行软约束,确保了Lipschitz约束。(WGAN与WGAN-GP见我的下一个博客),WGAN公式如下:

Px:沿着来自真实数据分布和发生器分布的成对点之间沿直线的样本,λGP:加权因子。为了使G具有基本的真实感,并捕获图像中的低电平频率,(因为水下图像增强的后一个阶段是生物识别等功能的增强),所以在这里考虑了L1loss:

因此UGAN最终的loss形式为:

通常,生成模型会产生模糊的图像。作者提出通过直接惩罚生成器中图像梯度预测的差异来增强这些预测的策略,以增强视觉效果,给定地面真实图像IC,预测图像IP = G(ID),并且α是大于或等于1的整数,则梯度差损失(GDL)由下式给出:

作者用UGAN-P作为另一个loss函数形式:

2.3 网络架构与训练细节

(参考自https://blog.csdn.net/qq_33780536/article/details/79140410)

unet网络可以简单看为先下采样,经过不同程度的卷积,学习了深层次的特征,在经过上采样回复为原图大小,上采样用反卷积实现。最后输出类别数量的特征图,如分割是两类(是或不是),典型unet也是输出两张图,最后要说明一下,原网络到此就结束了,其实在最后还要使用激活函数softmax将这两个类别转换为概率图,针对某个像素点,如输出是[0.1,0.9],则判定这个像素点是第二类的概率更大。
网络结构可以看成3个部分:
    •下采样:网络的红色箭头部分,池化实现
    •上采样:网络的绿色箭头部分,反卷积实现
    •最后层的softmax:在网络结构中,最后输出两张fiture maps后,其实在最后还要做一次softmax,将其转换为概率图。
    本文UGAN的kernalsize是4x4,步长是2.encoder部分的网络层都会跟在一个batch normalization和一个斜率为0.2的激活函数leakyRELU后面。Decoder部分则是跟在激活函数RELU后,没有Batch Normalization(原因:WGAN-GP会针对每个输入单独惩罚判别器梯度的范数,该批归一化将无效,层归一化也没有明显的改进)。最后一层的激活函数用的是tanh。判别部分的网络用了一个叫patchgan的设计,大意就是判别网络输出的是一个32x32x1的特征矩阵,
本文判别器被建模为PatchGAN ,它在图像块级别上进行判别。与常规判别器不同,PatchGAN鉴别器输出的是一个32×32×1特征矩阵,不是0或者1,这样可以获得更多的细节信息,为高阶频率提供了一个度量。

3.方法评估

实验结果如下:

紧接着,作者通过图像空间的距离、梯度差异、均值和方差评估了CycleGAN、UGAN与UGAN-P三种方法。

接下来的工作:

1. WGAN与WGAN-GP

2. 看GAN最开始的论文,找一些代码看一下

3. CycleGAN论文+代码

参考文献:

1. Generative Adversarial Nets(GAN)

地址:http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf

代码:https://github.com/goodfeli/adversarial

2.Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (CycleGAN)

地址:https://arxiv.org/abs/1703.10593

3. Wasserstein GAN(WGAN)

地址:https://arxiv.org/abs/1701.07875

参考博客链接:

1.https://blog.csdn.net/qq_33780536/article/details/79140410

2.https://blog.csdn.net/qq_39377134/article/details/103084982

3.https://blog.csdn.net/demo_jie/article/details/106724833

论文解读 《Enhancing Underwater Imagery using Generative Adversarial Networks》ICRA2018相关推荐

  1. 论文翻译:2019_Bandwidth Extension On Raw Audio Via Generative Adversarial Networks

    论文地址:原始音频的带宽扩展通过生成对抗网络 博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/10661950.html 摘要 基于神经网络的方法最 ...

  2. ESRGAN - Enhanced Super-Resolution Generative Adversarial Networks论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

  3. 论文翻译:2019_Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 论文地址:基于GAN的音频超分辨率 博客地址:https://www.cnblogs.com/LXP-Never/p/10874993.html 论文作者:Sefik Emre Es ...

  4. 论文翻译:Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 论文地址:https://ieeexplore.ieee.org/document/8682215 博客地址:https://www.cnblogs.com/LXP-Never/p/ ...

  5. GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解

    GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解 格式:一段英文,一段中 ...

  6. 论文阅读 [TPAMI-2022] DE-GAN: A Conditional Generative Adversarial Network for Document Enhancement

    论文阅读 [TPAMI-2022] DE-GAN: A Conditional Generative Adversarial Network for Document Enhancement 论文搜索 ...

  7. ESRGAN - Enhanced Super-Resolution Generative Adversarial Networks论文翻译——中文版

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

  8. Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for t2i 用于文本图像合成的动态记忆生成对抗网络

    Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis ...

  9. 论文翻译:2018_Speech Bandwidth Extension Using Generative Adversarial Networks

    论文地址:基于生成对抗网络的语音频带扩展 博客作者(引用请指明出处):https://www.cnblogs.com/LXP-Never/p/10121897.html 摘要 语音盲带宽扩展技术已经出 ...

最新文章

  1. Product Orders(生产订单)状态相关函数BAPI
  2. ubuntu12.04中shell脚本无法使用source的原因及解决方法
  3. 常见算法:C语言求最小公倍数和最大公约数三种算法
  4. 1 redux初探、用react开发数值增值案例
  5. 使用springboot来实现WebLog
  6. 编程错题本——解析OpenWnn(1)命名问题
  7. 利用hacking搜索技巧搜索到你任何特定想要的内容
  8. 拓端tecdat|R语言机器学习实战之多项式回归
  9. HyperMesh有限元分析报错集锦
  10. OLED SH1108 STM32 8080接口实际使用
  11. 计算机VFP基础知识,计算机二级《VFP》考试基础知识:VisualFoxPro基础
  12. 智能门禁人脸识别小程序开发制作
  13. python 青少年人工智能_青少年人工智能教育的典范 优必学教孩子用Python编写一部人工智能的字典...
  14. NotePad++安装HEX-Editor插件
  15. adf机器_adf(adf文件转成shp)
  16. PHPWord的使用
  17. 章鱼网络 Community Call #4|推进章鱼社区治理
  18. 关于缓存一致性协议、MESI、StoreBuffer、InvalidateQueue、内存屏障、Lock指令和JMM的那点事
  19. Android Studio Chipmunk 发布啦,快来看看有什么更新
  20. stm32驱动syn6288语音合成芯片

热门文章

  1. Python学习笔记:第七站 夫妻站
  2. python 求三角形面积
  3. 怎么给照片换发型?这几种照片换发型方法很简单
  4. 在openjdk中加入宋体
  5. 数据可视化之NBA球员雷达图
  6. Docker的私有仓库
  7. P2159 [SHOI2009]舞会(DP高精)
  8. 「从零开始学习Figma,成为高效设计师的秘诀揭晓!」
  9. Vue中 模板template的四种写法
  10. 我相信每个人都有选择自己生活方式的权利 —— 写在美术专栏前面