EnlighenGAN 使用指南

  • EnlightenGAN 网络结构 = 生成器(带自注意力机制的 U-Net)+ 判别器(两个全局-局部鉴别器)
  • 优化目标
  • 环境搭建和训练自己的数据



 


暗光图像增强:

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_人工智能


优点在于,可以不用成对数据,一个场景的暗光/正常光的两张图。

EnlightenGAN 论文:https://arxiv.org/abs/1906.06972

EnlightenGAN 项目代码:https://github.com/VITA-Group/EnlightenGAN

EnlightenGAN 网络结构 = 生成器(带自注意力机制的 U-Net)+ 判别器(两个全局-局部鉴别器)

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_生成器_02

EnlightenGAN整体的方法和思想:

  • 全局-局部鉴别器(PatchGAN来鉴别真/假)就像是一个帮你检查画面的专家。全局鉴别器会检查整个画面的光照情况,而局部鉴别器会更关注画面中的一些细节。他们会告诉你哪些地方需要改善,比如哪些地方需要增加亮度,哪些地方需要更清晰的细节。
  • 自注意力机制,保留原始画面的特征和细节。它会非常小心地修改画面,使得画面变得更亮、更清晰,但同时也会确保不丢失原始画面的特色。
  • EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_最小化_03

  • 输入是,图中第二幅灰色图:
  • 是把原图转为灰度图
  • 归一化灰度图
  • 1 - 归一化灰度图,突出暗部部分
  • 相当于注意力机制,重点关注暗部部分

EnlightenGAN 主干网络是 U-Net

最后是,全局-局部鉴别器:

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_灰度图_04

  • 全局鉴别器(上图第一个灰色块,判断生成的图像和真实图像之间的整体光照差异,改善图像的全局光照特征):对抗性损失来最小化真实图像和输出图像的光照分布的距离。但全局鉴别器,对于一些暗场景下存在明亮区域的图像,适应性不够。
  • 局部鉴别器(上图第二个灰色块,判断生成的图像和真实图像之间的局部细节差异。改善图像的细节特征):用的 PatchGAN来鉴别真/假 来鉴别真/假。从输出图像和真实图像中随机采样 5 个图像块(上图),来判断是真实图像还是模型增强出来的图像。解决全局鉴别器带来的局部曝光不足或过度的情况了。

流程:U-Net 得到特征图,和注意力图,像素相乘,加到原图上,得到增强结果。

优化目标

生成器损失-特征保持损失:最小化输入图像和生成图像在相同层和通道上特征差异,生成图像中保留的原始特征和结构。

  • EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_灰度图_05

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_最小化_06表示暗光图像(没有增强的图)。

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_计算机视觉_07表示增强后的图。

增强前、后只改变亮度,语义、结构、内容都不能改变,需要一种叫 特征保持的损失。

判别器损失-非饱和损失

  • 全局判别器,把增强后的图、真实图输入到全局判别器,进行真假判别
  • 局部判别器:从增强后的图、真实图随机裁剪 5 个图像块,输入局部判别器,进行真假判别

非饱和损失是:不是对真、假样本的输出强制约束一个数,而是相对约束,真样本数据大于假样本、假样本数据小于真样本。

  • EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_计算机视觉_08

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_人工智能_09

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_灰度图_10

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_最小化_11 是假样本、EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_计算机视觉_12 是真样本、EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_计算机视觉_13 是判别器输出、EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_生成器_14

全局判别器损失:

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_计算机视觉_15

局部判别器损失:

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_生成器_16

最后整个EnlightenGAN的loss为:

EnlighenGAN 使用指南:将暗光图像点亮,焕发光彩_生成器_17

环境搭建和训练自己的数据

请猛击:EnlightenGAN的运行环境搭建和训练自己的数据