Underexposed Photo Enhancement using Deep Illumination Estimation(DeepUPE)笔记

文章:Underexposed Photo Enhancement using Deep Illumination Estimation (DeepUPE) (CVPR2019)

github: https://github.com/wangruixing/DeepUPE

Loss: Reconstruction Loss + Smoothness Loss + Color Loss

摘要:该文章的任务是对曝光不足的图像进行增强。与之前的图像增强方法(直接学习图像到图像的映射)不同,DeepUPE学习(曝光不足图像)\emph{I}与(illumination map)\emph{S}的映射,这样可以更好地学习Grund Truth的复杂光照。DeepUPE根据光照先验建立Loss函数。

图像增强:图像增强任务可以看作寻找\emph{I}与增强图像\tilde{I}的映射关系\mathcal{F},增强图像可以表示为\tilde{I}=\mathcal{F}(I),在Retinex图像增强方法中,\mathcal{F}的逆过程被建模为(illumination map)\emph{S}。存在关系\emph{I}=\emph{S}*\tilde{I},其中符号*表示基于像素的乘法,当已知\emph{S}时,增强图像便可以求得\mathcal{F}(I)=\emph{S}^{-1}*{I}。DeepUPE的任务就是通过网络学习\emph{I}\emph{S}的映射关系。

网络结构:

Underexposed Photo Enhancement using Deep Illumination Estimation(DeepUPE)笔记_第1张图片

首先,将\emph{I}下采样后送入Encoder(采用VGG16的pre-trained模型),得到feature map;然后提取feature map的局部和全局features,将得到的features通过卷积层组合成低分辨率illumination;然后上采样得到\emph{S};最后结合\emph{I}得到最终的增强图像\tilde{I}。训练网络时使用Reconstruction Loss (L_r)、Smoothness Loss (L_s)、 Color Loss (L_c)。

       L_r:重构loss定义为重构的增强图像\mathcal{F}(I)与Ground Truth \tilde{I} 的L2误差,参考;

       L_s:根据平滑先验,自然图像的光照通常是局部平滑的。在DeepUPE中引入平滑先验有两方面的优点:首先,可以防止过拟合,增加网络的泛化能力;其次,可以增强图像的对比度。

       L_c:将重构的增强图像\mathcal{F}(I) 的每个RGB像素看作三维向量(\mathcal{F}(I))_p,同样Ground Truth \tilde{I}对应的向量为(\tilde{I})_p,他们之间的角度为\angle{((\mathcal{F}(I))_p,(\tilde{I})_p)}。其中()_p表示一个像素,\angle(,)表示计算两个向量夹角的一种方法。颜色loss可以通过在颜色空间中计算像素的L2距离,之所以不采用这种简单的方法,是因为:一、重构loss已经使用L2计算了像素误差;二、L2进行数值度量,不能保证颜色向量的方向一致性,可能导致颜色的不匹配。

通过Figure.4可以对比不同loss的效果(作用):

Underexposed Photo Enhancement using Deep Illumination Estimation(DeepUPE)笔记_第2张图片

实验:作者只提供了测试代码,如果想用自己的数据训练需要自己写训练代码。下图为使用自己的数据训练与测试的结果:

其中,Input表示输入图像,DeepUPE Pre-train Model表示源代码模型结果,Ours为我们的训练测试结果。

你可能感兴趣的:(深度学习,深度学习)