论文题目:《Enhancing UnderwaterImagery using Generative Adversarial Networks》

论文作者:Cameron Fabbri, Md JahidulIslam, and Junaed Sattar(University of Minnesota, Minneapolis MN)

论文发表期刊:ICRA 2018

论文内容介绍:

本文的主要内容是使用生成对抗网络增强水下图像。作者首先用CycleGAN网络将质量相对较高的undistorted underwaterimage,也就是畸变较轻的水下图像渲染为质量比较差的畸变较大的水下图像dostortedunderwater image;再通过渲染生成的这些数据训练本文提出的另一种网络UnderwaterGAN,也就是UGAN,最终可以将质量比较差,分辨率较低的模糊水下图像转变为比较清晰,分辨率也较高的高质量图像。

首先作者提出现在水下机器人发展越来越快,包括ROV和AUV都会代替潜水员在深海执行许多任务。通常这些设备都会携带许多传感器,其中使用视觉传感器,也就是相机来执行任务是一个很流行的方案。但是水下图像会出现许多问题,比如红光在水下吸收较快,这就会导致水下图像发蓝或者发绿。当深度越深时,这种状况就越明显。然后这种情况是比较复杂的,取决于很多种因素,比如光照方向和强度,不同的水质,相机的参数等等,所以没法用固定的算法去改善,或者说效果不理想。这就会影响水下机器人在执行分割,追踪以及分类等直接或间接用到颜色特征的任务的准确性。

鉴于这些问题,作者提出了使用深度学习的方法来解决。深度学习模型的训练需要大量的数据,但是水下图像作为图像增强训练数据有一个很大的问题,那就是它没有确切的ground truth,也就是说我们其实没有一个准确的目标图像去对应一张水下图像。举个例子,水下图像增强之后最好的效果就是看起来像是在空气中拍摄的,然而我们并没有对应的水下物体在空气中拍摄的样子。所以作者就提出了使用GAN网络生成训练数据。作者使用了一个叫做CycleGAN的模型,CycleGAN实际上所做的就是给一幅图像渲染上一个效果。通过CycleGAN可以把一副相对来说比较清晰符合视觉处理要求的水下图像X渲染成模糊不清晰的水下图像Y,这样就得到了一组对应的训练数据,然后再用这些数据去训练另一个网络,进行水下图像的复原。也就是说作者最终的目标不是将水下图像处理成空气中拍摄的样子,而是将图像处理成看上去比较清晰,对比度比较高,符合之后视觉处理要求的水下图像就可以了。

作者在related work里提到了另一篇类似的研究,也就是WATERGAN。这篇文章也是我在大组会上讲的论文,后来发表在了CVPR2017上。WaterGAN的整体思想和标准GAN一致,不过输入的不止是一个噪声向量z,还包括空气中的图像以及相机到场景的距离,也就是我们经常提到的深度。可以看到,生成网络包括三部分,分别是G-I衰减部分,G-II散射部分以及G-III晕影部分。经过生成网络处理的合成图片与真实水下照片随机输入到判别网络进行判别,返回0和1的标签,最终得到大量的模拟水中拍摄图像的数据集,再通过这些数据去训练一个颜色校正网络,就可以恢复水下图像的真实色彩。作者也提出了两篇论文的不同,比如WATERGAN使用了欧氏距离用来进行颜色校正,而本文生成图像和颜色校正的网络都用了GAN;此外WATERGAN的训练过程需要用到深度信息,而本文只需要同种物体在不同水域清晰度状况下的图像就可以。

网络结构部分,首先是第一部分CycleGAN。CycleGAN是一种可以实现图像风格变换的网络,通过CycleGAN我们可以将一副图像变换成另一种风格,比如将莫奈油画的风格转换成照相的写实风格,斑马转变成普通的马,夏天转换成秋天等,当然也可以反向转换。原理如下图所示,网络学习一个映射maping G,将域X中的图片转换到域Y的图片中,反之也建立一个映射F,将域Y中的图片转成域X中的图片,两个域的训练集图片并不是成对出现。转换后的图片需要分别定义自己的D来做训练,达到欺骗和识别的对抗训练,使得生成在本域的图片y‘和实际属于本域的图片y不可被分辨,这样在训练时,可以将原有的GAN结构扩展为cycle的形式F(G(X))约等于X.

接下来是第二个网络UNDERWATER GAN,也就是UGAN。网络结构作者说是similar to the U-Net,也使用了encoder-decoder的结构。如图是U-Net的结构。作者说UGAN的kernalsize是4x4,步长是2.encoder部分的网络层都会跟在一个batch normalization和一个斜率为0.2的激活函数leakyRELU后面。Decoder部分则是跟在激活函数RELU后,没有BatchNormalization。最后一层的激活函数用的是tanh。判别部分的网络用了一个叫patchgan的设计,大意就是判别网络输出的是一个32x32x1的特征矩阵,不是0或者1,这样可以获得更多的细节信息。

此外作者还讨论了loss函数。首先UGAN的loss采用了Wasserstein距离,也就是EM距离,不是欧式距离,也就是上面的LWGAN,然后加了一个L1正则化项。加入正则化项可以避免过拟合。EM距离主要是用于衡量两个分布之间的距离。作者说这样可以获得更多细节信息。除此以外呢作者还提出了一个UGAN-P loss,就是在UGAN的基础上加了一个叫Gradient Diffrence Loss的项,用来锐化图像来避免生成的图像模糊。作者用这两个loss分别训练了两个网络,之后也进行了对比。

接下来就是实验部分了。第一步训练CycleGAN输入的数据集大小是高质量水下图像6143张,低质量水下图像1817张。这些图像是从imagenet或者youtube上收集的。模型训练完后的测试图像是从flickr上收集的,有56张。如图所示经过CycleGAN风格转换后的效果,上面是转换前,下面是转换后。可以看到图像质量有所下降。

接下来是UGAN以及UGAN-P的测试,基本上上这两个的效果都很好。由于CycleGAN可以实现风格的反向变换。也就是如果不训练UGAN的话,只用CycleGAN也是可以把低质量图片转变为高质量水下图片的。所以作者也做了一个对比实验,来比较UGAN和CycleGAN之间的效果。这个在我看来效果其实差不多。作者用了CANNY边缘检测算法来比较图像的对比度还有细节,接下来又取出了小块图像进行对比。可以看到UGAN和UGAN-P都是比CycleGAN表现的要好的,然后作者说UGAN实际上效果要比UGAN-P要好一点点,这个挺值得研究,会在以后的工作里进行探讨。

最后作者把UGAN训练好的模型用到了他们的AUV上,用来查看水下追踪任务的效果有没有得到改善。这个任务主要是追踪运动状态下的东西,可以看到在500帧图像中,没有使用UGAN的图像准确的追踪到了42帧,使用了UGAN的图像准确的追踪到了147帧,效果还是得到了很大幅度的提高的。在实时性方面,使用1080GPU可以达到每秒钟72张,使用5代I7CPU可以达到每秒8张。

【论文总结】Enhancing Underwater Imagery using Generative Adversarial Networks相关推荐

  1. 论文解读 《Enhancing Underwater Imagery using Generative Adversarial Networks》ICRA2018

    项目:http://irvlab.cs.umn.edu/enhancing-underwater-imagery-using-gans 论文: https://arxiv.org/pdf/1801.0 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 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 ...

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

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

最新文章

  1. Hadoop学习笔记之三 数据流向
  2. 社交网络图挖掘4--三角形计数问题
  3. 线程同步思考 - Condition模块
  4. 4.3. postForObject
  5. Personal preference
  6. 论文浅尝 | 基于迭代的概率规则约束的知识图谱分布式表示
  7. linux系统ip占用,IP地址被占用的问题,折腾我好几天了 (已解决)
  8. 正确的理解MySQL的MVCC及实现原理
  9. IntelliJ IDEA 中文语言包插件
  10. 区块链毕业设计中期检查表模板
  11. 微信小程序发送服务通知(模板消息)前后端实现代码附效果图
  12. 用HTML写一个会员注册、登录界面
  13. 二倍图三倍图什么意思_小程序有二倍图三倍图使用的必要吗?
  14. iOS 应用Archiving问题
  15. Opencv实战 文字区域的提取
  16. 实训十二:路由器静态路由配置
  17. tif构建金字塔失败arcgis_arcgis构建金字塔
  18. VR全景打造透明农业后花园,帮助农业走出乡村
  19. 无线电广播和接收概述
  20. 5G引领时代潮流----技术改变生活

热门文章

  1. python爬取图片源码_python爬图源码
  2. EHub_tx1_tx2_E100 测试VisionWorks跑自带的demo
  3. stm32 /*定时器ETR外部时钟初始化配置
  4. 中国大学慕课python测验八答案_中国大学慕课Python编程基础章节测验答案
  5. 搭建java环境和java学习
  6. html怎么用css文件怎么打开,css文件用什么打开?
  7. Nginx-动静分离与 URLRwrite
  8. Xftp5 安装教程
  9. graphpad两组t检验_Graphpad Prism如何科学地选择统计学方法
  10. 闭关之 Vulkan 应用开发指南笔记(二):队列、命令、移动数据和展示