图像增强系列一:Learning to See in the Dark & Deep Retinex Decomposition for Low-Light Enhancement

从对图像增强什么都不知道开始吧。随便搜搜,看的有些乱。

几个概念:
来源:https://zhidao.baidu.com/question/589306011787844365.html

  1. ISO:CCD或者CMOS感光元件的感光速度。ISO数值越高就说明该感光元器件的感光能力越强。

  2. 曝光:是指被摄影物体发出或反射的光线,通过照相机镜头投射到感光片上。

  3. ISO的计算公式为H*S=0.8(S感光度,H为曝光量),从公式中我们可以看出,感光度越高,对曝光量的要求就越少。变形公式:H=0.8/s,相同曝光量的前提下,iso50时的曝光时间为iso100时的曝光时间的两倍。

评价指标:

  1. 峰值信噪比-PSNR(Peak Signal to Noise Ratio):
    即增强后的图片X与对应的ground truth图片Y计算MSE,采用平方应该是放大误差。但感觉这样子的话对ground truth要求比较高,一般网络的输出或处理后的图片是较为平滑的,反而ground truth可能存在噪声点。应该先平滑Y吗?n为精度位数,一般为8。
    M S E = 1 H ∗ W ∑ i = 1 H ∑ j = 1 W ( X ( i , j ) − Y ( i , j ) ) 2 MSE={1\over H*W} \sum_{i=1}^{H}\sum_{j=1}^{W}(X(i,j)-Y(i,j))^2 MSE=HW1i=1Hj=1W(X(i,j)Y(i,j))2
    P S N R = 10 log ⁡ 10 ( 2 n − 1 ) 2 M S E PSNR=10\log10{(2^n-1)^2\over{MSE}} PSNR=10log10MSE(2n1)2

  2. 结构相似SSIM
    SSIM取值为【-1,1】当x与y一致时,SSIM值为1。c1,c1为调节系数。 S S I M ( x , y ) = ( 2 μ x μ y + c 1 ) ( 2 σ x y + x 2 ) ( μ x 2 + μ y 2 + c 1 ) ( σ x 2 + σ y 2 + c 2 ) SSIM(x,y) ={(2\mu _x \mu _y + c1)(2\sigma_{xy}+x2)\over (\mu_x^2+\mu_y^2+c1)(\sigma_x^2+\sigma_y^2+c2) } SSIM(x,y)=(μx2+μy2+c1)(σx2+σy2+c2)(2μxμy+c1)(2σxy+x2)

paper1:Learning to See in the Dark

introduction:
提高照片亮度的方法

  • 增加拍照时ISO的设置==》容易引进噪声
  • 通过后处理,直方图均衡等==》并不能解决SNR(信噪比signal to noise ratio,噪声还是噪声)
  • 增加曝光时间==》时间长容易因相机抖动或物体走动变得模糊
  • 开闪光灯等。。。

dataset:we introduce a dataset of raw short-exposure low-light images, with
corresponding long-exposure reference images。
数据集5094张,即训练时一组图片对应的低曝光和高曝光图片。输入为RAW格式的图像(还有一个参数,曝光时间的ratio: ratio of exposure times between input and reference images),输出为RGB图像

网络与语义分割类似,采用FCN。部分细节论文没细说(还有一些概念不是很清楚,没去仔细了解。如X-trans,black level等)
在这里插入图片描述

loss为L1 loss,即对应的高曝光图像转RGB格式后再与输出计算loss。
result:
在这里插入图片描述
由于自己想要的是能对普通暗光图像增强的。而不是RAW格式的。剩下的没仔细看。
 
 

paper2:Deep Retinex Decomposition for Low-Light Enhancement

Retinex理论:

人眼感知颜色是光和物质的相互结果,是光和物质共同产生的结果。
S ( x , y ) = R ( x , y ) ∗ L ( x , y ) (1) S(x,y)=R(x,y)*L(x,y) \tag 1 S(x,y)=R(x,y)L(x,y)(1)
ln ⁡ R ( x , y ) = ln ⁡ S ( x , y ) − ln ⁡ L ( x , y ) (2) \ln R(x,y) = \ln S(x,y) - \ln L(x,y) \tag2 lnR(x,y)=lnS(x,y)lnL(x,y)(2)
其中 S ( x , y ) S(x,y) S(x,y)即人眼所感知到的图像, R ( x , y ) R(x,y) R(x,y)为反射图像(能反映图像真实模样), L ( x , y ) L(x,y) L(x,y)为光照分量。
即,retinex的目标即去除光照影响,得到图像的真实模样。故Retinex理论基本围绕根据S,如何去求得光照分量L,从而得到真实的R(即公式2)。
注:查阅时发现S,R,L的叫法不一。
这篇paper中是用 S ( s o u r c e ) = R ( r e f l e c t a n c e ) ∗ I ( i l l u m i n a t i o n ) S(source)=R(reflectance)*I(illumination) S(source)=R(reflectance)I(illumination)表示

  • Reflectance describes the intrinsic property of captured objects, which is considered to be consistent under any lightness conditions.
  • The illumination represents the various lightness on objects. On low-light images, it usually suffers from darkness and unbalanced illumination distributions.
正文

dataset:作者合成的数据集LOL(Low-light)

网络结构:
网络分3部分, decomposition, adjustment, and reconstruction

  1. Decomposition:负责将图像分解成reflectance部分和illumination部分。
    输入:正常亮度图 S n o r m a l S_{normal} Snormal和低光照图 S l o w S_{low} Slow
    decom-net:即将图像分解,权重共享。(因为做的是同一件事,即将原图分解成R分量和I分量)
    由retinex理论,2张输入分解出来的reflectance分量应该相同。
  2. Adjustment:负责去噪和亮度增强
    Denoising Operatio:去掉低光图像所带的大量噪声
    Enhance-Net:即对低光照图像的亮度分量进行加强
  3. Reconstruction
    根据 S = R ∗ I S=R*I S=RI恢复图像
    在这里插入图片描述

loss设计:

  1. decompose-net部分 loss设计:
    Loss分2个部分,一部分为decompose-net部分,和enhence-net部分。
    注:在retinex理论中有假设光照分量是平滑的。(因为照射过来的光基本可以认为是一致的,而物体的细节部分由Reflect部分表示)
    L o s s ( d e c o m − n e t ) = L r e c o n + λ i r L i r + λ i s L i s (1) Loss_{(decom-net)} =L_{recon}+\lambda_{ir}L_{ir}+\lambda_{is}L_{is} \tag1 Loss(decomnet)=Lrecon+λirLir+λisLis(1)
    L r e c o n = ∑ i = l o w , n o r m a l ∑ j = l o w , n o r m a l λ i j ∣ ∣ R i ∗ I j − S j ∣ ∣ 1 (2) L_{recon} = \sum_{i=low,normal} \sum_{j=low,normal} \lambda_{ij}||R_i*I_j-S_j||_1 \tag2 Lrecon=i=low,normalj=low,normalλijRiIjSj1(2)
    L i r = ∣ ∣ R l o w − R n o r m a l ∣ ∣ 1 (3) L_{ir}=||R_{low}-R_{normal}||_1 \tag3 Lir=RlowRnormal1(3)
    其中 L r e c o n 和 L i r L_{recon}和L_{ir} LreconLir很好理解。
    对于 L i s L_{is} Lis为平滑亮度分量的loss, ∇ I i \nabla I_i Ii表示的是梯度大小(包括水平和竖直方向),本来需要限制亮度平滑的话,只需要 m i n ∇ I i min\nabla I_i minIi就足够了。但实际上,在物体强结构边缘处就会有问题。虽然假设前提中光照分亮应该平滑,但如下图。方块的四个面材质相同,表现出来的R分量应该相同,但是向光测很亮,背光测的光照分量不应该与向光测相同。因此在结构变化处应该降低其权重 e − λ g R i e^{-\lambda_g R_i} eλgRi在这里插入图片描述
    L i s = ∑ i = l o w , n o r m a l ∣ ∣ ∇ I i ∗ e − λ g R i ∣ ∣ (4) L_{is}=\sum_{i=low,normal}||\nabla I_i*e^{-\lambda_g R_i}|| \tag4 Lis=i=low,normalIieλgRi(4)

在这里插入图片描述

  1. enhence-net部分 loss设计:
    L o s s ( E n h e n c e − n e t ) = L r e c o n + λ L i s (6) Loss_{(Enhence-net)}=L_{recon} + \lambda L_{is} \tag6 Loss(Enhencenet)=Lrecon+λLis(6)
    L r e c o n = ∣ ∣ R l o w ∗ I ^ − S n o r m a l ∣ ∣ 1 (7) L_{recon}=||R_{low}*\hat I- S_{normal}||_1 \tag7 Lrecon=RlowI^Snormal1(7)
    L i s 与 L r e c o n L_{is}与L{recon} LisLrecon与decom-net的loss都一样,只是 I ^ \hat I I^为增强后的 I I I

Denoising on Reflectance:
采用的BM3D去噪算法。同时we use a illumination relative strategy (see supplementary material).具体实现没看。

result:
在这里插入图片描述

小结
开始时觉得Learning to See in the Dark中的一个参数amplification ratio有点累赘。但应该是挺有必要的一个参数。不然一个暗光图像可以对应很多正常亮度的图像(对应不同的亮度值,亮暗这种直观的感受,本来就是一个范围值),反之也是。若没这个参数限制,则网络的输出值应该不能有很稳定的表现。但是这个参数应该也只限于RAW的数据集才可用吧。
猜测Deep Retinex Decomposition for Low-Light Enhancement的结果有点失真可能有这方面的原因,即不知道该把图像增强到哪种程度。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值