一、文章摘要概述

文章的题目是:
《MBLLEN: Low-light Image/Video Enhancement Using CNNs》
这是一篇2018年6月份的BMCV(视觉顶刊)使用CNN做图像弱光增强的一篇会议文章,针对单分支或简单神经网络不能同时进行亮度、对比度增强和伪影去除、降噪等多功能需求,文章提出一种多分支弱光增强网络模型–MBLLEN。通过CNN卷积层将图像丰富的特征提取到不同的层次,使用多个子网进行同时增强,最后将多分支输出结果融合成最终增强图像,达到从多方面提高图像质量的效果,另外文章所提模型可以扩展到弱光视频增强。总结一下,文章在使用CNN做弱光增强时,做了以下三点创新:

  • 提出一种多分支弱光图像增强网络模型MBLLEN。
  • 提出一种新的损失函数:结构损失+内容损失+区域损失。
  • 修正模型,用3D卷积代替2D卷积可以做弱光视频增强。

二、背景(先验)知识

做弱光增强的大体上可分为两个方面:传统方法和深度学习的方法

(1)传统方法

传统算法可分为基于直方图均衡化方法和基于Retinex理论对光照估计区域增强的方法

  • HE方法:对单个像素进行优化达到整体亮度和对比度提升,但是会忽略区域像素之间的关联导致细节信息破坏,常用的如:HE、DHE、BPDHE、CVC、LDR等。
  • Retinex方法:从图像光照信息中恢复图像亮度和颜色信息,考虑了图像区域特征的关联性,但对于不均匀光照会造成颜色失真伪影现象,常用的如:SSR、MSR、NPE、SRIE、LIME、MF等。
(1)Deep Learning方法

一般是针对弱光照数据集(有Label图像),端到端的从弱光图像学习正常光照图像,效率高泛化能力强但对于硬件要求较高,前人提出很多优秀的神经网络结构,如下:

  • LLNet:在去噪自编码的基础上提出一种堆叠式去噪自编码器实现弱光图像增强和去噪功能,但源码较难实现且针对单通道灰度图。
  • LLCNN:基于VSDR和ResNet提出一种双分支+残差学习模块,可用于弱光图像增强。
  • Retinex-Net:提出一种基于Retinex分解+增强网络模型,和LoL数据集,方便实现但是测试增强图像有颜色失真。

另外,文章指出很多神经网络在弱光增强的同时没有实现去噪功能,在弱光视频增强时会出现**flickering(闪烁)**现象。

二、MBLLEN弱光增强模型

整体框架如下:
弱光增强论文解读--MBLLEN

(1)模型结构介绍

MBLLEN模型由三个部分构成:特征提取模块(FEM)、增强模块(EM)、融合模块(FM)。

  • FEM:从不同的卷积层提取图像特征

由单向10层网络结构构成,32个3×3卷积核,卷积步长为1,ReLU**函数,没有池化处理表面特征损失。每一层的输出同时是下一个FEM卷积层的输入和EM对应卷积层的输入。

  • EM:对每一个子网络分别进行增强处理,从多个方面增强图像特征

包含和FEM卷积层相同数量的子网络,子网络结构相同,都是1卷积层(8个3×3卷积核、步幅为1、ReLU**函数)+3卷积(16个5×5卷积核、步幅为1、ReLU**函数,每一层输出尺寸是减小的应该是没有padding=0,)+3反卷积(5×5卷积核个数分别为16/8/3、步幅为1、ReLU**函数)

  • FM:将增强子网络的输出结果融合成最终增强图

融合所有从EM子网输出的图像,使用3通道1×1卷积核卷积得到最终增强结果。

对于视频增强,需要对模型修正,用3D卷积代替2D卷积(16核大小为3×3×3尺寸),第一层输入为31帧图像。后面都是对三维图像流进行处理。

(2)损失函数

常用的MSE和MAE损失函数不足以表达图像丰富的特征,文章提了一个新的损失函数,包括结构损失、内容损失和区域损失。
反向传播作用过程如下图:
弱光增强论文解读--MBLLEN
公式为:
Loss=LStr+LVGG/i,j+LRegionLoss=L_{Str}+L_{VGG/i,j}+L_{Region}
第一项:Structure loss
结构损失主要减小增强图像对于Label图像的结构扭曲和畸变,借用LLCNN中的SSIM损失函数,文章使用SSIM和MS-SSIM之和表示结构损失,公式如下:
LStr=LSSIM+LMSSSIML_{Str}=L_{SSIM}+L_{MS-SSIM}其中:LSSIM=1Npimg2μxμy+C1μx2+μy2+C12σxy+C2σx2+σy2+C2L_{SSIM}=-\frac{1}{N}\sum_{p\in img}^{ }\frac{2\mu _{x}\mu _{y}+C_{1}}{\mu _{x}^{2}+\mu _{y}^{2}+C_{1}}\cdot \frac{2\sigma _{xy}+C_{2}}{\sigma _{x}^{2}+\sigma _{y}^{2}+C_{2}}
第二项:Context loss
像MSE和SSIM这样的度量标准只关注图像中的低级信息,为了使用某种高级信息来提高视觉质量。文章借鉴了论文SRGAN的idea(增强图像和Label图像应该有相识的高级图像内容),使用一个内容提取器表征增强图像的输出。通过最小化增强图像和Label图像在预训练VGG-19网络输出的绝对差值,表征增强图像的内容损失。公式如下:
LVGG/i,j=1Wi,jHi,jCi,jx=1Wi,jy=1Hi,jz=1Ci,jΦi,j(E)x,y,zΦi,j(G)x,y,zL_{VGG/i,j}=\frac{1}{W_{i,j}H_{i,j}C_{i,j}}\sum_{x=1}^{W_{i,j}}\sum_{y=1}^{H_{i,j}}\sum_{z=1}^{C_{i,j}}\left \| \Phi _{i,j}(E)_{x,y,z}-\Phi _{i,j}(G)_{x,y,z} \right \|式中,EEGG分别表示增强图像和Label图像,Wi,jW_{i,j}Hi,jH_{i,j}Ci,jC_{i,j}分别表示预训练VGG网络的三通道的对应特征图维度。Φi,j\Phi _{i,j}表示VGG-19网络第jj卷积层、第ii块的特征图。
第三项:Region loss
以上两项损失函数都是考虑图像整体特征的差异,考虑到弱光图像光照不均匀性,文章提出区域损失来提升弱光区域质量。文章通过分割图像40%(经验值)最暗像素值来近似估计整图暗光区域,得到如下损失函数:
LRegion=wL1mLnLi=1nLj=1mL(EL(i,j)GL(i,j))+wH1mHnHi=1nHj=1mH(EH(i,j)GH(i,j))L_{Region}=w_{L}\cdot \frac{1}{m_{L}n_{L}}\sum_{i=1}^{n_{L}}\sum_{j=1}^{m_{L}}(\left \| E_{L}(i,j)-G_{L}(i,j) \right \|)+w_{H}\cdot \frac{1}{m_{H}n_{H}}\sum_{i=1}^{n_{H}}\sum_{j=1}^{m_{H}}(\left \| E_{H}(i,j)-G_{H}(i,j) \right \|)式中,ELE_{L}GLG_{L}分别表示增强图和Label图的弱光区域,EHE_{H}GHG_{H}分别表示增强图和Label图的其他区域,系数wLw_{L}wHw_{H}设为4和1.

三、对比实验结果及源码

3.1数据预处理

3.2对比实验

3.3源码

相关文章:

  • 2021-05-15
  • 2022-12-23
  • 2022-12-23
  • 2021-07-31
  • 2021-11-08
  • 2021-07-16
  • 2021-04-22
  • 2021-09-17
猜你喜欢
  • 2021-08-02
  • 2021-07-02
  • 2021-07-03
  • 2021-08-12
  • 2021-08-10
  • 2021-11-27
  • 2022-01-03
相关资源
相似解决方案