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

 


暗光图像增强:

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

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

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

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

EnlightenGAN整体的方法和思想:

  • 全局-局部鉴别器PatchGAN来鉴别真/假)就像是一个帮你检查画面的专家。全局鉴别器会检查整个画面的光照情况,而局部鉴别器会更关注画面中的一些细节。他们会告诉你哪些地方需要改善,比如哪些地方需要增加亮度,哪些地方需要更清晰的细节。

  • 自注意力机制,保留原始画面的特征和细节。它会非常小心地修改画面,使得画面变得更亮、更清晰,但同时也会确保不丢失原始画面的特色。

    输入是,图中第二幅灰色图:

  • 是把原图转为灰度图

  • 归一化灰度图

  • 1 - 归一化灰度图,突出暗部部分

  • 相当于注意力机制,重点关注暗部部分

EnlightenGAN 主干网络是 U-Net

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

  • 全局鉴别器(上图第一个灰色块,判断生成的图像和真实图像之间的整体光照差异,改善图像的全局光照特征):对抗性损失来最小化真实图像和输出图像的光照分布的距离。但全局鉴别器,对于一些暗场景下存在明亮区域的图像,适应性不够。

  • 局部鉴别器(上图第二个灰色块,判断生成的图像和真实图像之间的局部细节差异。改善图像的细节特征):用的 PatchGAN来鉴别真/假 来鉴别真/假。从输出图像和真实图像中随机采样 5 个图像块(上图),来判断是真实图像还是模型增强出来的图像。解决全局鉴别器带来的局部曝光不足或过度的情况了。

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

优化目标

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

  • L S F P ( I L ) = 1 W i , j H i , j ∑ x = 1 W i , j ∑ y = 1 H i , j ( ϕ i , j ( I L ) − ϕ i , j ( G ( I L ) ) ) 2 \mathcal{L}_{SFP}(I^L)=\frac{1}{W_{i,j}H_{i,j}}\sum_{x=1}^{W_{i,j}}\sum_{y=1}^{H_{i,j}}(\phi_{i,j}(I^L)-\phi_{i,j}(G(I^L)))^2 LSFP(IL)=Wi,jHi,j1x=1Wi,jy=1Hi,j(ϕi,j(IL)ϕi,j(G(IL)))2

I L I^L IL表示暗光图像(没有增强的图)。

G ( I L ) G(I^L) G(IL)表示增强后的图。

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

判别器损失-非饱和损失

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

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

  • D R a ( x r , x f ) = σ ( C ( x r ) − E x f ∼ P t a l [ C ( x f ) ] ) , ( 1 ) D R a ( x f , x r ) = σ ( C ( x f ) − E x r ∼ P t a l [ C ( x r ) ] ) , ( 2 ) \begin{aligned}D_{Ra}(x_{r},x_{f})&=\sigma(C(x_{r})-\mathbb{E}_{x_{f}\sim\mathbb{P}_{\mathrm{tal}}}[C(x_{f})]),\quad(1)\\\\D_{Ra}(x_{f},x_{r})&=\sigma(C(x_{f})-\mathbb{E}_{x_{r}\sim\mathbb{P}_{\mathrm{tal}}}[C(x_{r})]),\quad(2)\end{aligned} DRa(xr,xf)DRa(xf,xr)=σ(C(xr)ExfPtal[C(xf)]),(1)=σ(C(xf)ExrPtal[C(xr)]),(2)

D R a ( x r , x f ) D_{Ra}(x_{r},x_{f}) DRa(xr,xf) 表示判别器对真实图像和生成图像的输出,即判别器判断真实图像为真实样本的概率。

D R a ( x f , x r ) D_{Ra}(x_{f},x_{r}) DRa(xf,xr) 表示判别器对生成图像和真实图像的输出,即判别器判断生成图像为真实样本的概率。

x f x_f xf 是假样本、 x r x_r xr 是真样本、 C ( x f ) C(x_{f}) C(xf) 是判别器输出、 σ \sigma σ 是将判别器的输出进行映射,将其范围限制在0到1之间。

全局判别器损失:

局部判别器损失:

最后整个EnlightenGAN的loss为:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值