图像修复(拖影、失焦、雨雾、模糊)deblurGAN 论文解读

look for papers for deblurGAN contributer : leoluopy

  • 欢迎提issue.欢迎watch ,star.
  • 微信号:leoluopy
  • 关注AI前沿技术及商业落地,欢迎交流

更多图像AI笔记分享: https://github.com/leoluopy/paper_discussing

Overview

  • 端到端的条件GAN修复网络,首个以不适定问题思路解决图像模糊修复问题
  • 在PSNR和SSIM参数对比情况下比同期deepblur快5倍
  • 提出新颖的模糊方法和新的使用检测网络评价优劣的手段

a method generating synthetic motion blurred image GANs preserve texture details , create image manifold and look perceptually convincing

loss design and new architecture 5x faster than deep blur(the fastest before 2018)

性能对比

PSNR 用于评价画面质量,品质指数

SSIM 用于评价图像结构相似性指数

速率方面,由于舍弃了大量的残差堆叠过程,速率指数级别提升。

结构综述

  • 整体模型结构12921.
  • 1个普通卷积模块,2个1/2卷积模块,9个残差模块,2个反卷积模块,1个带tanh卷积模块。
  • 输入图像跳跃至输出加 所有层输出的运算矢量,得图像修复结果

+ IS 修复的图像
+ IR 通过12921运算得到的修复图像矢量
+ IB 输入的模糊图像
  • 残差模块每个模块由卷积,instanceNore和Relu构成
  • 其他卷积模块使用instanceNorm和LeakyRelu(a=0.2),最后一层卷积例外
  • dropOut 和 instanceNorm 在推理阶段仍然使用

GAN 提要

x 为输入图像, D为判别器,G为生成器, Pr图像分布,Pg为模型分布。

原始GAN网络的loss设计,具有训练生成器或判别器不容易,并且不能对单独一方训练太好,导致梯度消失无法训练问题,同时原始GAN也容易导致模式奔溃,导致生成的目标缺乏多样性。

GAN网络难以训练的理解:

  • 上图公式图KL散度和JS散度,详细说明见参考文献。经过大神得到推导,GAN网络最终的优化目标实际上是求两个概率分布JS散度的最优值, 而当这两个概率分布完全不一致的时候,JS散度为常数,那么对应的梯度为0,在深度学习的框架实现中这一情况下,梯度也就几乎消失了。因此难以训练。

WGAN作者通过多篇的数学推导和数学论证,证明和说明了GAN网络之所以难以训练的原因并给出了解决方案,Wasserstein距离,如上图所示。 Wasserstein距离相对于JS和KL散度,具备导数不突变,连续的特点,更加利于梯度平滑求导,利于深度学习训练。 WGAN 的改进如下:

+ 判别器最后一层去掉sigmoid
+ 生成器和判别器的loss不取log
+ 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c
+ 不要用基于动量的优化算法(包括momentum和Adam),推荐RMSProp,SGD也行

TIPS: 有没有发现这些修改基本都有一个目的,曲线由以前的陡峭变得更加平滑,由以前不设置梯度限制,到设置梯度限制, 都能达到生成器能跟随判别器进行数据学习,梯度下降的目的。

关于更新参数截取使用的lipschitz常数理解

假如不进行Lipschitz常数的限制, 那么D会倾向于给fake sample打低分,给real sample打高分,而两者之间的D(X)会倾向于产生一个gap,这样对于与真实分布 与G映射出来的分布之间就形成不了有效的梯度,即G会不知道如何让fake sample改变来获得高分. 加上Lipschitz限制条件之后,在D使得上面的损失函数最大化的时候,因为梯度不能太大, D不能无脑的并且无限制的给fake打低分,给real打给分,因为这样会使得fake与real只之间的Lipschitz大于k, 也就是加上此限制后,D(X)并不会在fake分布的区域打很低的分数,然后经历一个gap到real分布的很高的参数, 而是在fake与real之间形成一个较为平缓的坡,fake处G可以了解到往哪里移动过可以获得更高的分数,从而解决对G来说梯度消失的问题。 实现的时候想到了一个方法就是简单将参数clip,简单的限制到一个区间中,这样经过简单的乘加,Lipschitz必定是限制在某个上限下

基于以上的描述WGAN最终的Loss定义如上图两项所示。

loss 方法

  • deblurGAN的loss函数由两部分组成,WGAN-loss和content-loss
  • WGAN-loss控制图像生成的真假判别性
  • content-loss控制生成图像的特征质量

 + WGAN-loss 在deblurGAN 中的表示形式 

content-loss 详细表达形式,

+ WH:特征图长宽
+ IB:模糊图像, IS 清晰图像
+ xy:特征图具体位置
+ Φ: 提取当前特征图位置特征

Training 方法

deblurGAN 输入原始模糊图像,通过生成器生成恢复后图像,恢复图像与原始GT做content-loss 和 WGAN-loss优化

  • 参考的合成图像以及由高速相机造成的模糊图像比例设置2:1
  • 判别器训练5步,生成器训练1步,交替训练
  • 使用Adam优化器训练,首个150epoch :学习率10^-4,随后150epoch学习率线性降低至0
  • dropOut 和 instanceNorm 在推理阶段仍然使用
  • batch size 设置为1, 在GoPro 数据集大约训练需要6天

在目标检测中的贡献

deblurGAN 对模糊图像的恢复能有效提高检测网络对目标检测的置信度

有效提高Recall 从而提高 F1

参考文章:

  • WGAN: https://www.cnblogs.com/Allen-rg/p/10305125.html
  • WGAN-GP : https://blog.csdn.net/weixin_41036461/article/details/82385334
  • 理解 WGAN好训练:https://blog.csdn.net/xiaoxifei/article/details/86611566
  • KL,JS 散度,wassertein 距离: https://zxth93.github.io/2017/09/27/KL%E6%95%A3%E5%BA%A6JS%E6%95%A3%E5%BA%A6Wasserstein%E8%B7%9D%E7%A6%BB/index.html
  • JS 散度:https://www.cnblogs.com/smuxiaolei/p/7400923.html
  • 论文译文: https://blog.csdn.net/a312863063/article/details/86627030
  • 论文笔记1: https://blog.csdn.net/yh0vlde8vg8ep9vge/article/details/78641844
  • 论文笔记2:https://zhuanlan.zhihu.com/p/32260634

图像修复(拖影、失焦、雨雾、模糊)deblurGAN 论文解读相关推荐

  1. 计算保证图像不拖影的最大曝光时间

    相机在拍摄运动的物体时,如果物体运动过快,相机的曝光时间设置过长,那么图像就会产生拖影.本文计算保证图像不拖影的最大曝光时间. 如果物体运动速度V=100mm/s,系统分辨率R=1/100(mm/pi ...

  2. 计算最大曝光时间保证图像不拖影

    相机在拍摄运动的物体时,如果物体运动过快,相机的曝光时间设置过长,那么图像就会产生拖影.本文计算保证图像不拖影的最大曝光时间. 如果物体运动速度V=100mm/s,系统分辨率R=1/100(mm/pi ...

  3. 图像修复方法总结以及深度学习的论文汇总(更新中。。。)

    1.图像修复总结 图像修复(Image inpainting or Image complete )的目的是在给定一个mask的情况下,填充缺失区域的像素,使其整体达到纹理和结构一致性,或者语义和视觉 ...

  4. 运动模糊/拖影的原因分析

    目录 原因一:曝光时间过长 原因二:手抖导致运动模糊 原因三:时域去噪过大 原因四:多帧导致 原因五:果冻效应 原因六:AF失焦 在常见项目调试过程中,经常会遇见拍摄运动模糊和拖影问题,这其中是由多种 ...

  5. 摄像头拍摄运动物体,产生运动模糊/拖影的原因分析

    目录 1.问题背景: 2.问题分析: 3.运动模糊/拖影产生的原因分析: 1)曝光时间过长 2)相对运动导致的运动模糊 3)时域降噪强度过大 4)宽动态模式下双帧融合 5)果冻效应 : 1.问题背景: ...

  6. 运动模糊的图像修复调研

    前言 1.什么是运动模糊 在用摄像机获取景物图像时,如果在相机曝光期间景物和摄像机之间存在相对运动,例如用照相机拍摄快速运动的物体,或者从行驶中的汽车上拍摄外面静止不动的景物时,拍得的照片都可能存在模 ...

  7. 运动模糊运动拖影果冻效应分析

    1. 前言 拍摄运动物体会出现运动模糊.运动拖影.果冻效应等问题: 如何确定是哪种问题以及对应策略 2. 运动模糊 现象: 原因: 曝光时间过长导致 解决办法: 降低曝光时间可以解决此问题 2. 运动 ...

  8. 图像超清化+老照片修复技术,拯救所有模糊和黑白的照片

    也许你曾从柜子里翻出家人们压箱底的老照片,它们已经变黄.变脆,甚至褪色:科技的进步AI智能图像修复技术--基于领先的深度学习技术,将使这些照片奇迹般地回归. 从古老的胶片相机到今天的数字时代,人类捕捉 ...

  9. 苏黎世华人博士提出模型SwinIR,只用33%的参数量就碾压图像修复领域sota

    来源:新智元 [导读]参数量和模型的性能有绝对关系吗?苏黎世华人博士提出SwinIR模型,实验结果告诉你,越小的模型还可能更强!SwinIR使用Transformer力压CNN,又在图像修复领域屠榜, ...

  10. 图像修复神器!带上口罩都能还原!DDPM:用去噪扩散概率模型极限修复图像,效果太牛了!...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:机器之心 | 编辑:杜伟.陈萍 无论掩码类型如何多变,苏黎世联邦理工学院计算机视觉实验室(CVL)的 ...

最新文章

  1. 中国安防为何世界最强?中科院AI+安防报告,解密8大趋势和8大限制【附下载】| 智东西内参...
  2. 验算神经网络谐振子模型的第二组数据
  3. linux通常使用的 rc 和 .(点)文件
  4. python3程序转python2_python2到python3代码转化:2to3
  5. tinyxml2遍历所有节点_Python实现二叉树的遍历
  6. 分布式通信协议RPC协议简介
  7. tesseract 使用说明
  8. win8.1计算机开启远程桌面连接不上,Win8.1电脑远程桌面无法连接提示“你的凭据不工作”怎么办...
  9. java电商ERP源码 跨境电商ERP源码 ERP源码
  10. Ubuntu18.04修改登录页面背景
  11. UVALive7461 - Separating Pebbles 判断两个凸包相交
  12. admin后台管理系统
  13. CentOS 系统查询开机启动项服务
  14. bixby怎么编程_三星的Bixby很烂。 这是如何将其关闭。
  15. opencv05:图像的基本操作
  16. 小米路由器安装花生壳实现外网映射
  17. C语言中的函数与数组详解
  18. lnmp下nginx出现5xx问题解决汇总
  19. MySQL学习整理-码农进阶之路(二)
  20. 2012年08月20日

热门文章

  1. 1004. 伊甸园日历游戏
  2. 智能陈桥五笔输入法 for linux,科技教程:在Linux下安装陈桥五笔输入法
  3. 加速数据无限超高速空间免费虚拟主机无限大小 支持SSL
  4. 体验更简单的 DM —— v1.0.2
  5. java+web网页导航栏_【JavaWeb】106:导航栏的实现
  6. 个人2台网站服务器,急急急 如何架设个人web服务器
  7. JS找出数组中重复的数字
  8. 网络中的延迟和抖动问题
  9. csp是什么比赛_2020年CSP-J/S来了,你想知道的都在这里
  10. 赵小楼《天道》《遥远的救世主》深度解析(123)价格战的目的:是分一杯羹,不是吃肉