目录

ouc-DLS

1.Introduction

2. GAN

3.相对判别器

4.网络结构

5.损失函数

实验结果

Conclusion

[1]U-Net生成器

下采样的特征

上采样的特征

长连接

[2]棋盘效应

[3]patchGAN

[4]NIQE


ouc-DLS

1.Introduction

在低光照条件下拍摄的图像对比度低,能见度差,ISO噪声高,这些问题即挑战了喜欢高可视性图像的人类视觉感知,也挑战了大量依赖计算机视觉算法的智能系统,比如无人驾驶系统和生物特征识别系统,为了解决这种问题,人们提出了大量的算法,从基于直方图的方法到深度学习的重建和增强方法,其中深度学习方法已经在图像重建和增强上已经取得了显著的成功,但是他们对于图像的要求都比较高,需要成对的图像数据来进行训练,甚至有的算法对图片质量要求极高。因为我们有时候并没有那么多高质量并且配对的低光/正常光图片,那么这样在实践当中是一个很严重的问题。那么如何在没有配对数据的情况下进行训练?如何更好的增强图像局部细节?如何使得增强的图像能够更容易适应现实世界的各种图像呢?于是本文作者提出了一个无监督的生成对抗网络EnlightenGAN,他提出了一系列的创新,包括全局-局部鉴别器结构,自正则化感知损失,以及自正则注意机制。经过实验证明,作者的模型能够很容易适应增强现实世界的各种图像。

2. GAN

我们先大概简单介绍一下生成对抗网络GAN,GAN是一种深度生成式模型,也是一种无监督学习模型。主要由生成器和判别器组成,简单的来说就是生成器不断的生成假数据来骗过判别器,以达到以假乱真的效果,而判别器不断提高自己的鉴别能力来鉴别出假数据,以达到火眼金睛的效果。

主要流程类似这个图,首先它有一个一代的生成器,它能生成一些很差的图片,然后有一个一代的判别器,我们刚开始是要先训练判别器的,使它能够准确的把生成图片和真实的图片进行分类。简单的来说,判别器就是一个二分类器,对生成的图片输出0,对真实的图片输出1。

接着训练出二代的生成器,这个生成器能够生成稍好一点的图片,能够骗过一代的判别器,之后再去训练二代的判别器,使得这个判别器能够把二代判别器生成的图片和真实图片进行一个准确的分类。以此类推,会有三代,四代....n代的生成器和判别器。最后判别器无法分辨出生成的图片和真实的图片,这个网络就拟合了。

接下来我们再介绍标准GAN的目标函数。

D代表着判别器,G代表着生成器,V代表着真实数据和生成数据之间的差异。maxV代表着尽可能最大化判别器的能力使其鉴别真实数据还是生成数据,MinMaxV代表着尽可能求一个生成器使得真实数据和生成数据分布之间的差异最小。

接下来让我们分两段来理解这个公式

因为GAN是单独交替迭代训练的,对于判别器的训练。这个目标函数也是对判别器和生成器进行优化的,首先对判别器进行优化,其中D(x)表示对真实的样本进行判别,这个我们希望它的结果越接近于1越好,G(z)生成的假数据,D(G(z)我们希望它的结果越接近于0越好,通过这样的目标函数我们就能够训练出我们的判别器了。

对于生成器的训练,G(z)表示生成器的假数据,我们希望D(G(z))越大越好,也就是能够生成越来越真实的数据,通过这样的目标函数我们就能够训练出我们的生成器了。

3.相对判别器

可参考:相对的判别器:现有GAN存在关键属性缺失 - 知乎

相对论判别器其实就是把原来GAN的损失函数给改写了,它重新定义了GAN的损失函数,其实就是为了区分饱和和非饱和,把常见的GAN网络公式改写成了如下:

P是真实数据的数据分布,Pz是多变量的高斯分布,期望值为0,方差为1.

如果生成器能够直接影响判别器,那SGAN和基于IPM的GAN(使用了相对判别器)可以性能相近。对于后者,GAN在计算判别器损失函数梯度时会同时考虑实际数据和伪数据,但SGAN的D(Xr)是不会随着D(Xf)变化而变化的,它会停止学习,转而更关注伪数据。另一方面如果D(Xr)会随D(Xf)的上升而下降,这就意味着真实数据会被纳入梯度计算中,这也是基于IPM的GAN更稳定,而SGAN更容易崩溃的原因。

4.网络结构

         在上述结构中,作者提出的方法采用注意引导的U-Net作为生成器骨干网络,在光线空间变换的弱光图像中,我们总是希望增强暗区而不是亮区,这样输出的图像既不会曝光过度也不会曝光不足,我们将输入的RGB图像的光照通道I归一化为[0,1],然后使用1-I(元素间的差异)作为我们的自正则化注意力图。然后我们将所有的注意力图大小重置到与每个特征图相匹配,并与所有中间的特征图相乘得到最后的输出图像。

下图我们可以看到这就是自正则注意化注意力图的一个生成过程:

整个注意力导向U-Net 生成器[1]由8个卷积块组成,每个卷积块由两个3*3的卷积层和一个BN层和LeakRelu层,在这里之所以把ReLu层换为LeakyRelu层的原因是由于稀疏梯度虽然在大多数网络中通常是理想的目标,但是在GAN中,它会妨碍训练过程,影响GAN的稳定性,所以作者的网络中没有maxpool层和Relu层,而是用LeakRelu层替代Relu层。在上采样阶段,由于反卷积的"不均匀重叠"的结果,使图像中某个部分的颜色比其他部位更深,造成了一个棋盘效应。为了减少棋盘效应[2],作者将标准反卷积替换为一个双线性上采样层加上一个卷积层。为了在增强局部区域的同时提升全局亮度,在鉴别器阶段我们采用了全局-局部双鉴别器来引导全局和局部信息,全局和局部鉴别器都采用了PatchGAN[3]来用于真假鉴别,除了图像级别的全局鉴别,在局部鉴别器中我们通过从输出和真实图像之间随机裁剪局部块来区分真/假。也使用了自特征保留损失来指导训练过程,并保持纹理和结构。

5.损失函数

作者改写了原来的标准GAN判别器结构,它既考虑了假数据比真数据更真实的概率也考虑了真实数据比假数据更真实的概率。这里的C代表着判别器的打分值,D代表着相对判别器的概率评估值。DRa(Xr,Xf)代表着真数据相对于假数据更加真实的概率。DRa(Xf,Xr)代表着假数据相对于真数据更加真实的概率。

之后作者将DRa套进了最小二乘GAN结构中,最小二乘GAN也就是将目标函数改成一个平方误差,这里的最小二乘GAN相对于传统的GAN的改进点主要在于去掉了D中的log,原来的log loss换成了MSE均方误差(L2 loss)。

在判别器的目标函数计算当中,因为要最小化损失D,我们希望D(Xr,Xf)越大越好,D(Xf,Xr)越小越好

类似的,在生成器的目标函数计算当成,因为要最小化损失G,我们希望D(Xf,Xr)越大越好,D(Xr,Xf)越小越好,也就是提高假数据被判断成真实的概率,降低真数据被判断成真实的概率。如下所示:

对于局部判别器,我们每次从增强后的图像和真实图像中随机裁剪5个path,在这里采用了原始的最小二乘GAN作为我们的对抗损失。如下所示:

这里的目标函数计算与之前的全局鉴别器的目标函数计算类似。

为了限制感知相似性,作者借鉴感知损失提出了自特征保留损失,这里自特征保留loss来限制输入暗光图像与其增强后的正常图像之间的VGG特征距离,作者基于经验观察到它对像素强度范围并不敏感,它能够很好的保留图片的内容特征。这个Loss定义为:

这里的I是输入的暗光图像,G(I)是生成器输出的增强后的图像,是在ImageNet上预训练的VGG-16的特征图,指的是第i个最大池化层之后的第j个卷积层。W和H是提取的特征图维度。

最后我们整个EnlightenGAN的loss为:

也就是将全局鉴别器和局部鉴别器的自特征保留损失和全局生成器和局部生成器的对抗性损失整合到一起。

实验结果

本文主要进行了四个实验。

第一个实验是消融实验:

第一行到第五行分别展示了不同的低光图像、注意力图、不加局部鉴别器之后的增强图像,不加注意力图之后的增强图像,以及最终的EnlightenGAN之后的增强图像,从第三行到第四行中被红框标起来的部分我们能看出来它有一个严重的颜色失真和不一致。从第五行的红框部分我们能看出来enlightenGAN它能够很好的消除掉上述问题并且获得一个视觉上令人满意的结果。

第二个实验是与其他方法对比的一个结果。

从这里我们使用三个例子做对比,从第一个例子我们可以看出EnlightenGAN能够成功的抑制黑夜中的一个噪音并且使得黄墙上的细节更加明显。

在第二个例子中我们可以看出来NPE和SRIE算法对于增强背景细节方面做的并不好,LIME算法使得女人的脸部区域过度曝光。LLNet生成的图像使得颜色失真。然而EnlightenGAN算法明显优于其他算法,它不仅恢复了背景细节还避免了过曝现象。

在第三个例子中EnlihgtenGAN在汽车和云朵区域产生了一个令人满意的结果。其它方法要不就是没有很好的去增强一个黑暗细节要不就是产生了过曝现象。

第三个实验是人体视觉评价测试,作者选取了9位参与者对经过EnlightenGAN,SRIE,NPE,Retinex-Net、LIME五种方法生成的23幅增强后图像进行打分。从中可以看出EnlightenGAN打分是明显优于其他方法的。

第四个实验是在五个子数据集上进行了测试,并采用了NIQE(无参考图像质量评价算法)[4]及进行定量评估,NIQE越小代表着图像质量越好,从中我们可以看出EnlightenGAN在多个子数据集中取得了最好的效果。

Conclusion

在本文中,作者解决了弱光增强问题,提出了一个新颖灵活的无监督框架。它并不需要配对的数据进行训练,实验结果也表明作者的方法可以很容易地适应真实的噪声低光图像并产生视觉上令人满意的增强图像。作者也指出其未来的工作可以围绕着如何控制和调整光线增强展开。

[1]U-Net生成器

U-Net网络顾名思意,是呈现一个U形形状的,如下图所示:

它分为收缩路径和扩展路径,类比自动编码器的编码器和解码器,我们知道自动编码器可以实现压缩和去噪等任务,而这种体系结构在保持输出大小方面是理想的,但有一个问题是它对输入进行线性压缩,从而导致所有特性都无法完整传输。而U-Net能够很好的解决这个瓶颈,U-Net在解码器部分采用反卷积,这种结构可以克服自编码器在特征传递过程中所产生的的特征丢失问题。U-Net对于一些有限数据集图像上的效果是比较好的。

U-Net之所以那么优秀,主要是因为它的下采样、上采样、skip connection。

下采样的特征

进行特征的提取,提取图像的位置、语义等信息。

浅层网络:一般感受野较小,能够利用更多的细粒度特征信息,而且此时特征图每个像素点对应的感受野重叠区域还很小,早就保证了网络能捕获更多细节。(颜色、线条等等细节)

深层网络:随着下采样或卷积次数增加,感受野逐渐增加,感受野之间的重叠区域也不断增加,此时的像素点代表的信息是一个区域的信息,获取的是这块区域或相邻区域之间的特征信息,相对不够细粒度。(大小、位置等等细节)

下面这个图能够很好的解释:

第一层:提取低层次的简单特征(边缘特征)

第二层:将简单特征组合成复杂一点的特征(器官)

第三层:将第二层的特征组合起来(面部)

有些复杂函数只有非常深层的神经网络可以学习,而一些浅层网络是无法学习的。当然有时候深层网络提取的特征并不像上图所示的特征(面部)那么明显,而是一些说不清道不明的抽象特征。

上采样的特征

上采样最大的作用就是将抽象的特征还原解码到一个具有和原图相同尺寸的输出图,最终得到分割结果。

长连接

U-Net中的长连接是非常有必要的,它联系了输入图像的很多信息,有助于还原下采样所带来的的信息损失。

[2]棋盘效应

棋盘效应是由于反卷积的"不均匀重叠"的结果,使图像中某个部分的颜色比其他部位更深。

具体原因:在反卷积操作时,如果卷积核(Kernel)大小不能被步长(Stride)整除时,反卷积输出的结果就会不均匀重叠。在二维情况下棋盘效应更为严重。原则上,网络可以通过训练调整权重来避免这种情况。解决办法就是调整好卷积核大小与步长的关系。不重叠(图a: kernel <= stride)与均匀重叠(图b: kernel % stride == 0)均可避免此类情况。还可以“先进行插值Resize操作,再进行反卷积操作”来避免。该方式在超分辨率的相关论文中比较常见。例如我们可以用常见的图形学中常用的双线性插值和近邻插值以及样条插值来进行上采样。

[3]patchGAN

原始GAN的判别器基本构成是卷积层+全连接层+密集连接层,输出的仅仅是一个评价值,是对整幅图像的真实概率评价,而patchGAN又可以看作全卷积GAN,它是全部由卷积层组成,图像经过各种卷积层提取特征后,并不会输入到全连接层或者激活函数中,而是使用卷积层将输入映射为一个N*N矩阵,这个N*N矩阵中的每一个像素都代表着原始图像中的一块区域,就是对这块区域的一个真实概率评价,之后再将这些值取平均,相当于考虑了很多人的建议,最终做了决策。PatchGAN用N*N矩阵的评价去代替了原来的一个值去评价整幅图像,其实也就是相当于一个感受野的应用,这样训练使得GAN能够更好的关注于图像细节。

[4]NIQE

是一种图像质量评价算法,它,无需利用人眼评分的失真图像进行训练,它在计算其局部MSCN 归一化图像后, 根据局部活性选择部分图像块作为训练数据, 以广义高斯模型拟合得到模型参数作为特征, 采用多变量高斯模型描述这些特征, 评价过程中利用待评价图像特征模型参数与预先建立的模型参数之间的距离来确定图像质量。

简单的来说就是NIQE质量评价模型不需要原始图像的主现评价分数,其在原始图像库中提取图像特征,再利用多元高斯( multivariate Gaussian. MYG)模型进行建模。

论文详解EnlightenGAN: Deep Light Enhancement Without Paired Supervision相关推荐

  1. 【论文精读】EnlightenGAN: Deep Light Enhancement without Paired Supervision

    目录 贡献 网络架构 全局-局部鉴别器 自特征保持损失 自注意引导的UNet生成器 贡献 1.EnlighttenGAN是第一个成功地将不成对训练引入微光图像增强的工作.这样的训练策略消除了对成对训练 ...

  2. EnlightenGAN: Deep Light Enhancement without Paired Supervision

    摘要 本文提出了出了一种高效的.无监督的生成对抗网络,称为EnlightenGAN,它可以在不需要低/正态光图像对的情况下进行训练,并被证明在各种真实世界的测试图像上具有很好的通用性.模型使用全局局部 ...

  3. EnlightenGAN: Deep Light Enhancement without Paired Supervision论文阅读笔记

    EnlightenGAN: Deep Light Enhancement without Paired Supervision论文解读 Motivation and introduction 最近在x ...

  4. Low-light images enhancement系列:EnlightenGAN:Deep Light Enhancement without Paired Supervision

    众所周知,在暗光增强任务中,要获取到适合的成对的暗光/正常曝光训练图像是非常困难的,甚至是不存在唯一的定义良好的正常曝光ground truth图片.如果用正常曝光的图像去合成带噪点的暗光图像作为训练 ...

  5. EnlightenGAN:Deep Light Enhancement Without Paired Supervision阅读札记

    EnlightenGAN:Deep Light Enhancement Without Paired Supervision阅读札记   论文发表于2021年的TIP. Abstract    本文提 ...

  6. Deep Light Enhancement without Paired Supervision (非配对数据监督学习用于低曝光图像增强)

    Deep Light Enhancement without Paired Supervision 注:本篇总结仅供学习交流 1.Abstracrt 基于深度学习的方法在图像还原和增强方面取得了显著成 ...

  7. 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...

    原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...

  8. KernelGAN论文详解分享

    KernelGAN- Blind Super-Resolution Kernel Estimation using an Internal-GAN论文详解 论文地址:https://arxiv.org ...

  9. YOLO v1论文详解

    YOLO v1:一体化的,实时物体检测 声明:笔者翻译论文仅为学习研究,如有侵权请联系作者删除博文,谢谢! 源论文地址:https://arxiv.org/pdf/1506.02640.pdf 注:文 ...

最新文章

  1. 网络游戏,原罪和救赎
  2. 互联网算法面试高频题目
  3. linux CMA使用机制分析--基于SigmaStar SSD202
  4. List的remove(对象)操作有时候会报ConcurrentModificationException异常
  5. 进程句柄和进程ID的区别和关系
  6. Java String 类型对象不能改变
  7. CentOS 6.6 nginx PHP 配置
  8. 全球抵押销售点(POS)软件行业调研及趋势分析报告
  9. W3CSchool离线文档下载
  10. matlab 2ask原理,基于Matlab对2ASK调制解调及其仿真设计
  11. android 仿小米便签,高仿小米便签
  12. CE+OD外挂制作实战 [提高篇]
  13. omw-1.4压缩包下载
  14. 本地生活服务,快手直播电商外的又一大金矿!
  15. 计算机频道地读写硬盘是因为,怎样读取硬盘数据
  16. 第二十二章 : 格式化输出
  17. 常见漏洞知识库(原理/场景/修复)
  18. arcgis新建图层信息复制_arcgis如何创建图层要素 专家详解
  19. RAM、ROM、emmc、iNand、SD卡、mmc 与 Nandflash 的区别
  20. 计算机网络实验 ——wireshark抓包简要分析TCP、UDP协议

热门文章

  1. x64dbg安装xAnalyzer插件失败问题解决
  2. Socket编程(Android客户端+PC服务器端)
  3. Qt实战(二)——方块游戏
  4. js:nextSibling兄弟节点的使用
  5. mallplus多商户商城全流程 操作文档
  6. 【电路设计】晶振选择和负载容抗匹配参考指南
  7. 交流纯电容电路中电容的容抗、容量和频率以及电压与电流的关系
  8. Kafka Exception:Bootstrap broker disconnected Consumer disconnected
  9. 一个类月光宝盒应用,把手机,电视,盒子变家庭游戏机(FBA,FBNEO,MAME)
  10. QObject成员函数connect()函数