暗光增强论文:“EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure”

假装没事ソ 提交于 2020-01-30 23:36:02

暗光增强论文:“EEMEFN: Low-Light Image Enhancement via Edge-Enhanced Multi-Exposure Fusion Network”

摘要

暗光增强的目的:提高图片的亮度,找到暗区所隐藏的图片的信息。
现存的方法有如下三个问题:
(1)低光照的图片一般有较高的对比度。(颜色差异较大)因此现有方法很难复原暗区或者亮区的细节。
(2)和暗光增强大多数问题一样,暗光会导致颜色失真不可复原。
(3)由于物体的边界比较模糊,pixel-wise loss会对不同的物体进行相同的处理,并导致一个模糊的结果。
本论文提出了二阶段的边缘增强的多曝光融合网络(Edge-Enhanced Multi-Exposure Fusion Network)用于极暗图像的增强。
在第一阶段,使用多曝光融合模块来解决高对比度问题和颜色的偏差。本文作者通过原始图像设置不同的曝光时间来合成多张不同的图像,并通过融合多曝光图像中曝光良好的区域重建了一张正常曝光的图像。
在第二阶段,通过边缘增强模块(edge enhancement module),通过提取到的边缘信息来精化原始的图片。
因此,作者认为本文可以重建获得sharp edge的高质量的图像,并在See-In-the-Dark的数据集上取得了不错的效果。
(很奇怪问什么不在LOL Dataset上做?)

Introduction

过去的方法有什么问题?

传统的方法:通过对像素的增强来获得一个更加自然的分布。
深度学习方法:设计较深的网络来恢复高质量的图像。存在以下三个问题:
(1)由于low-light的图像的对比度较高,难以获得一个一对一的映射来恢复极暗和极亮的区域。生成的图像有可能存在噪声或者存在模糊。
(2)由于缺乏well-exposed的图像的信息,可能会受到颜色畸变的干扰。
(3)像素级的loss对图片的空间分布处理是平等的,会导致l1l_1 loss和l2l_2 loss被相邻的像素平均化。生成的图像边界容易模糊,细节也不是很好。

Contributions

(1)提出了一个多曝光融合的网络(multi-exposure fusion, MEF),用于解决高对比度问题和色彩偏差问题。
(2)通过边缘增强网络精化细节。
(3)效果不错。

相关工作

低光照增强

传统算法:直方图均衡化和Retinex增强

直方图均衡化问题:仅考虑逐像素的映射,未考虑像素会受到周边像素的影响。
Retinex-based增强:先预测一个illumination map,并通过这个照明图进行重建。缺点是在有很多噪声的极暗条件下很难预测一个照明图。

深度学习算法

LLNet:对比度增强模块+去噪模块
LLCNN:多尺度的特征图来进行图像增强
Retinex-Net:Decom-Net用于图像分解,Enhance-Net用于光照图的调整。
CAN:模拟若干种的processing operator

边缘检测

(1)通过设置不同的filter来人工获得边缘图:Canny算子等等
(2)通过提取到的边缘信息来设计data-driven模型,比如随机决策森林。
(3)深度学习方法来学习复杂的特征表示。
由于人眼对图片的边缘信息更加敏感,本文希望通过边缘细节的增强来提高复原的效果。

Methodology

在这里插入图片描述

Stage-I 多曝光融合

图片生成
输入一张raw图片IlowRH×W×1I_{low}\in\mathbb{R}^{H\times W\times 1}和一系列不同的曝光度值{k1,k2,...,kNk_1,k_2,...,k_N}来通过公式Ii=Clip(Ilow×ki)I_i=Clip(I_{low}\times k_i)从而生成多张曝光度的图片{I1,I2,...,INI_1,I_2,...,I_N}。在Learning-to-see-in-the-dark那篇论文里,作者用了一个特定的exposure ratio kk^{*}。然而考虑到多曝光图片中的信息冗余,将多张不同的图像引入网络中不一定会提高性能,反而会增强计算的代价。
图像融合
从若干个生成的图片I={I1,I2,...,IN}I=\{I_1,I_2,...,I_N\}中获得初始图片InormalI_{normal},Inormal=MEN(I0,I1,...,IN)I_{normal}={MEN}(I_0,I_1,...,I_N)
首先先将每张图片通过相同结构的U-Net的方式,在不同的尺度中重建细节。
其次,使用融合模块来以互补的方式利用特征中有效的信息。使用了permutation-invariant technique(引用自ECCV 2018的论文,链接http://people.csail.mit.edu/miika/eccv18_deblur,并加强了特征间的聚合。作者认为这些融合模块可以较大程度上复原暗区细节以及校准颜色畸变。输入为{f1,f2,...,fNRc×hwf_1,f_2,...,f_N\in\mathbb{R}^{c\times hw}}个特征,其中fmax=max(f1,f2,...,fN)f_{max}=max(f_1,f_2,...,f_N)favg=(f1+f2+...+fN)/Nf_{avg}=(f_1+f_2+...+f_N)/N
将特征fmaxf_{max}favgf_{avg}转换到输入的特征空间并将其送入对应的分支,f=W×[fmax,favg],fRc×hw,WRc×2cf = W\times[f_{max},f_{avg}],f\in\mathbb{R}^{c\times hw},W\in\mathbb{R}^{c\times 2c}
最终将最后一层的特征结合在一起,将其送入1x1的卷积层,从而利用融合信息综合的去利用不同分支的信息。
损失函数使用l1l_1损失函数,loss=||InormalIgtI_{normal}-I_{gt}||1_1
在这里插入图片描述

Stage-II 边缘增强网络

边缘检测网络也分为两个模块:检测模块增强模块 。 由于原始的low-light图像的边缘过于不清晰,作者用生成的InormalI_{normal}图像来获得边缘信息;在增强模块中,作者利用检测模块获得的边缘信息去生成更加平滑的色彩,并且减少多余的纹理和尖锐的边缘信息。
检测模块中,作者使用2017年的边缘检测论文来提取一个edge map E。(论文:Richer convolutional features for edge detection)
考虑到边缘信息和非边缘信息的分布是不均衡的,本文设置了两个不同的平衡系数α\alphaβ\beta,边缘损失函数EiE_i和Ground Truth Egt=(ej,j=1,2,..,Egt)E_{gt}=(e_j,j=1,2,..,|E_{gt}|),从而定义为一种带权重的交叉熵损失函数
ledge(Ei,Egt)=αjEgt+logPr(ej=1i)βjEgtlog(1Pr(ej=1i))l_{edge}(E_i,E_{gt})=-\alpha\sum_{j\in E_{gt}^+}log\pmb {Pr}(e_j=1|i)-\beta\sum_{j\in E_{gt}^-}log(1-\pmb {Pr}(e_j=1|i))
其中α=EgtEgt++Egt\alpha=\frac{|E_{gt}^-|}{|E_{gt}^+|+|E_{gt}^-|},β=Egt+Egt++Egt\beta=\frac{|E_{gt}^+|}{|E_{gt}^+|+|E_{gt}^-|},Egt+|E_{gt}^+|Egt|E_{gt}^-|代表着边缘信息和非边缘信息的GT label sets,最后将全部的loss function汇总:
lossDetection=i=15ledge(Ei,Egt)+ledge(E,Egt)loss_{Detection}=\sum_{i=1}^5l_{edge}(E_i,E_{gt})+l_{edge}(E,E_{gt})
增强模块:同样使用U-Net的结构,将多曝光图片I={I1,I2,...,IN}I=\{I_1,I_2,...,I_N\},合成的initial图片IinitialI_{initial} 和边缘图E作为输入生成新的增强后的图片Inormal+I_{normal}^+
Iinitial+=Enhancement(I,Iinitial,E)I_{initial}^+=Enhancement(I,I_{initial},E)
同样使用l1l_1损失函数,本文还试过edge-preserving loss和perceptual loss,然而edge-preserving loss会极大的降低性能,perceptual loss也无法提高效果。

性能比较

在这里插入图片描述
在这里插入图片描述

消融实验

不同的exposure ratio对应的消融实验结果。
在这里插入图片描述
使用不同的融合策略进行融合
在这里插入图片描述
不同的损失函数:
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!