论文信息
Paper: [ECCV] Global and Local Enhancement Networks for Paired and Unpaired Image EnhancementLink: http://mcl.korea.ac.kr/research/hukim-eccv-glenet/5010.pdfCode: /hukim1124/GleNet背景梳理
图像增强(Image Enhancement)任务是指将低质量的图像(低照度,低对比度,低动态范围等)恢复为对应高质量的图像(正常照度,高对比度,高动态范围等)。一些专业的应用软件比如Photoshop提供了大量能进行图像增强的工具包,但使用软件需要消耗大量人力成本和时间成本,同时图像增强的效果十分依赖使用者的专业程度。因此,使用算法对图像进行自适应增强在学术界和工业界已经成为了一个热门研究领域。
本文提出了两个图像增强网络,分别为全局增强网络(Global Enhancement Network, GEN)和局部增强网络(Local Enhancement Network, LEN)。GEN和LEN分别从全局层面和像素细节层面来对图像进行画质增强。同时,文章针对unpaired learning还提出了一种基于GAN的two-stage训练的方法。实验结果表明了本文的算法有十分显著的效果。
主要贡献
本文提出了GEN和LEN,分别从全局和像素细节层面进行画质增强
针对unpaired数据,本文提供了一种two-stage的训练方法
本文提出的算法在MIT-Adobe 5K数据集上取得了state-of-the-art的效果
方法
整体框架
算法整体分为2个部分,分别为GEN和LEN。GEN通过预测RGB通道的变换函数来对输入图像进行画质增强,LEN则使用了空间域的滤波(卷积)来对GEN的输出结果进行微调,得到最终增强后的图像。
算法整体框架
Global enhancement network(GEN)
I(p)=(Ir(p),Ir(p),Ir(p))TI(p)=(I_r(p),I_r(p),I_r(p))^TI(p)=(Ir(p),Ir(p),Ir(p))T表示图像在ppp位置的RGB三个颜色通道的像素值。wc=[wc,0,...,wc,255]Tw_c=[w_{c,0},...,w_{c,255}]^Twc=[wc,0,...,wc,255]T表示对于ccc通道变换函数,c∈{r,g,b}c∈\{r,g,b\}c∈{r,g,b},函数中第kkk个元素wc,kw_{c,k}wc,k表示输入图像IcI_cIc中值为kkk的像素在输出图像I^c\hat I_cI^c将会被映射成值为wc,kw_{c,k}wc,k的像素。因此,对于通道ccc位置为ppp的像素来说,其变换可以定义为如下
I^c(p)=vpTwc\hat I_c(p)=v_p^Tw_c I^c(p)=vpTwc
其中vpTv_p^TvpT表示256维的one-hot编码向量,向量中第Ic(p)I_c(p)Ic(p)个元素为1,其余都为0。对于8-bit的图像来说,GEN预测了768维的向量w=wr∣∣wg∣∣wbw=w_r||w_g||w_bw=wr∣∣wg∣∣wb。在GEN网络预测出变换函数后,就通过上式对输入图像RGB三个通道进行色彩变换,就可得到增强后的输出图像。因为该色彩变换操作是可微的,因此GEN可以进行端到端的训练。
GEN模型具体结构从上到下分别为输入图像,GEN的输出图像,以及色彩变换函数
Local enhancement network(LEN)
虽然GEN使用了色彩变换函数使得网络十分的简单和高效,但GEN毕竟只是像素值的一个映射,没有考虑到像素值的位置信息,因此本文提出了LEN网络。LEN网络使用了空间域的滤波(卷积)来对图像的局部进行增强,来弥补GEN的不足。
LEN网络总体为encoder-decoder结构,其将GEN的输出图像I^global\hat I_{global}I^global作为encoder的输入,decoder输出需要增强区域的残差图像ΔI^local\Delta \hat I_{local}ΔI^local,最终的输出图像I^\hat II^可由下式得到
I^=I^global+ΔI^local\hat I = \hat I_{global} + \Delta \hat I_{local} I^=I^global+ΔI^local
LEN模型具体结构
训练策略
本文分别针对paired数据和unpaired数据制定了不同的训练策略
Paired Learning
{(IiLQ,IiHQ)}i=1N\{(I_i^{LQ},I_i^{HQ})\}_{i=1}^N{(IiLQ,IiHQ)}i=1N表示成对的图像,IiLQI_i^{LQ}IiLQ为低质量图像,IiHQI_i^{HQ}IiHQ为高质量图像。针对paired数据,本文将GEN和LEN进行联合训练,其losslossloss定义如下
Lp=∣∣I^iHQ−IiHQ∣∣1+λp∑k=2,4,6∣∣ϕk(I^iHQ−IiHQ)∣∣1L_p=||\hat I_i^{HQ} - I_i^{HQ}||_1 + \lambda_p\sum_{k=2,4,6}|| \phi^k(\hat I_i^{HQ} - I_i^{HQ}) ||_1 Lp=∣∣I^iHQ−IiHQ∣∣1+λpk=2,4,6∑∣∣ϕk(I^iHQ−IiHQ)∣∣1
其中第一项为color loss,代表增强后的图像和ground-truth之间的l1损失。第二项为perceptual loss(感知损失),代表增强后的图像和ground-truth在预训练VGG-16特定层数中特征之间的差别。
Unpaired Learning
{IiLQ}i=1M\{I_i^{LQ}\}_{i=1}^M{IiLQ}i=1M和{IjHQ}j=1N\{I_j^{HQ}\}_{j=1}^N{IjHQ}j=1N分别代表低质量图像和高质量图像。首先使用GAN的思路来对GEN进行训练。首先定义2个GAN网络,分别为Enhancement GAN和Degradation GAN,Enhancement GAN,Ge:ILQ→IHQG_e:I^{LQ}→I^{HQ}Ge:ILQ→IHQ,将低质量图片增强为高质量的图片,Degradation GAN,Gd:IHQ→ILQG_d:I^{HQ}→I^{LQ}Gd:IHQ→ILQ,将高质量的图片退化为低质量的图片。同时,DeD_eDe和DdD_dDd分别代表2个GAN网络的判别器。
本文使用了WGAN-GP来定义生成器和判别器的目标函数。判别器的losses LDeL_{D_e}LDe和LDdL_{D_d}LDd定义为
LDe=De(Ge(ILQ))−De(IHQ)+λgp(∣∣∇I^HQDe(I‾HQ)∣∣2−1)2L_{D_e}=D_e(G_e(I_{LQ}))-D_e(I_HQ)+\lambda_{gp}(||\nabla_{\hat I^{HQ}}D_e(\overline I^{HQ})||_2-1)^2 LDe=De(Ge(ILQ))−De(IHQ)+λgp(∣∣∇I^HQDe(IHQ)∣∣2−1)2
LDd=Dd(Gd(IHQ))−Dd(ILQ)+λgp(∣∣∇I^LQDd(I‾LQ)∣∣2−1)2L_{D_d}=D_d(G_d(I_{HQ}))-D_d(I_LQ)+\lambda_{gp}(||\nabla_{\hat I^{LQ}}D_d(\overline I^{LQ})||_2-1)^2 LDd=Dd(Gd(IHQ))−Dd(ILQ)+λgp(∣∣∇I^LQDd(ILQ)∣∣2−1)2
其中前两项为对抗损失,最后一项为满足WGAN-GP[1]中Lipschitz constraint的梯度惩罚。
同时,对于生成器GeG_eGe和GdG_dGd,loss函数定义为
LGe=−De(Ge(ILQ))+λi∣∣Ge(ILQ)−ILQ∣∣1+λc∣∣Ge(Gd(IHQ))−IHQ∣∣1L_{G_e}=-D_e(G_e(I_{LQ}))+\lambda_i||G_e(I^{LQ})-I^{LQ}||_1+\lambda_c||G_e(G_d(I^{HQ}))-I^{HQ}||_1 LGe=−De(Ge(ILQ))+λi∣∣Ge(ILQ)−ILQ∣∣1+λc∣∣Ge(Gd(IHQ))−IHQ∣∣1
LGd=−Dd(Gd(IHQ))+λi∣∣Gd(IHQ)−IHQ∣∣1+λc∣∣Gd(Ge(ILQ))−ILQ∣∣1L_{G_d}=-D_d(G_d(I_{HQ}))+\lambda_i||G_d(I^{HQ})-I^{HQ}||_1+\lambda_c||G_d(G_e(I^{LQ}))-I^{LQ}||_1 LGd=−Dd(Gd(IHQ))+λi∣∣Gd(IHQ)−IHQ∣∣1+λc∣∣Gd(Ge(ILQ))−ILQ∣∣1
其中第一项为对抗损失,第二项为身份损失(identity loss),第三项为cyclic color loss。
然后本文通过制造pseudo pair的方式来对LEN进行训练。首先将高质量图像IHQI^{HQ}IHQ通过GdG_dGd来获得一个pseudo pair (Gd(IHQ),IHQ)(G_d(I^{HQ}),I_{HQ})(Gd(IHQ),IHQ)。然后使用GeG_eGe来对Gd(IHQ)G_d(I^{HQ})Gd(IHQ)进行增强,我们可以获得通过GEN增强后的图像和高质量图像的一个pseudo pair,(Ge(Gd(IHQ)),IHQ)(G_e(G_d(I_{HQ})),I^{HQ})(Ge(Gd(IHQ)),IHQ)。最终使用这些paired数据来对LEN进行训练。
实验结果
Paired Learning
在实验部分,本文使用MIT-Adobe 5K数据集,数据集中共有5000对数据,将其中4500对作为训练集,500对作为测试集。以下为本文算法与以前state-of-the-art算法的客观指标对比和主观效果对比,都可以看到不论是客观还是主观,本文算法都有着更好的效果。
以下为GEN与GEN&LEN的主观效果对比。可以看到在加入了LEN网络后,增强的效果更好,图像的对比度相比于GEN有着较大的提升。
Unpaired Learning
在Unpaired Learning中,将训练集中的4500对数据拆分为2个部分,其中2250对数据只取其LQ图像,另外2250对数据只取其HQ图像。以下为在Unpaired Learnging中,和其他state-of-the-art算法的客观指标和主观效果对比图。也可以看出不论是客观还是主观,本文算法都有着更好的效果。
分析与总结
本文提出的GEN和LEN网络在图像画质增强中有着很好的性能。我认为其中最大的因素在于GEN网络的设计,与平常直接预测像素值的网络不同,GEN网络预测的是进行色彩变换的函数。其不仅减小了网络映射域的范围,也大大减小了参数量,使得GEN网络很容易进行训练,且有着较好的性能。而GEN网络也有不足的地方,其只是对像素值进行映射,没有很好的利用图像空间域的信息,因此使用了LEN网络来对GEN进行补充,LEN网络只是很简单的encoder-decoder结构,来将图像的空间域信息进行利用,因此GEN和LEN网络进行结合可以很好的解决图像画质增强的问题。
参考文献
[1] Gulrajani I, Ahmed F, Arjovsky M, et al. Improved training of wasserstein gans[C]//Advances in neural information processing systems. : 5767-5777.
[2] Wang, R., Zhang, Q., Fu, C.W., Shen, X., Zheng, W.S., Jia, J.: Underexposed photo enhancement using deep illumination estimation. In: CVPR () 2, 3, 10, 11, 12
[3] Kosugi, S., Yamasaki, T.: Unpaired image enhancement featuring reinforcement-learning-controlled image editing software. In: AAAI () 2, 3, 11, 12, 13