beginning

  作为一个文章小白,此刻怀着忐忑及忐忑不安的心情写下了第一篇文章(怕文笔欠好,让技能大佬们看笑话)。可是不摔跤哪能学会走路呐(理不直气也壮)。今日要和盆友们共享学习的是超全的低照度图画增强算法,这时候你或许就说了——低光照的图片用python亮度增强几行代码就搞定了啊,还用学什么算法,我这都有:

def brightnessEnhancement(root_path,img_name):#亮度增强
    image = Image.open(os.path.join(root_path, img_name))
    enh_bri = ImageEnhance.Brightness(image)
    brightness = 1.5
    image_brightened = enh_bri.enhance(brightness)
    return image_brightened

  唉唉唉,此言差矣,这种opencv完成的几行亮度增强代码与我们用数据集练习出来的增强算法还是不相同滴,先不说增强作用,最少我们技能型人才用起来不至于那么low叭(狗头保命)。话不多说,假如你也有低照度图画增强方面的学习需求,我们开始一同欢乐的学习吧!

1. 低照度图画增强简介

  低照度图画增强是指将光线较暗、噪点多、细节不明晰的低照度图画转换为更亮堂、更明晰的图画的进程(如下所示)。低照度图画增强技能能够协助进步图画的品质,使其愈加合习惯用于核算机视觉、机器学习和人工智能等范畴。常见的低照度图画增强办法包含直方图均衡化、依据深度学习的办法、依据图画复原的办法等。本文首要研讨介绍依据深度学习的增强算法。

一文读懂14种低照度图像增强算法——原理+对比效果图
一文读懂14种低照度图像增强算法——原理+对比效果图

2. 十四种低照度增强原理

2.1 Zero-DCE

  • 论文:arxiv.org/pdf/2103.00…
  • 代码:github.com/wangyin0810…

  Zero-DCE(Zero-Reference Deep Curve Estimation)中文叫作零参阅深度曲线估量,旨在进步低光照条件下的图画质量。与传统的依据参阅图画的办法不同,Zero-DCE无需参阅图画,而是经过深度学习模型直接学习曲线来进行图画增强。Zero-DCE的结构如下:

一文读懂14种低照度图像增强算法——原理+对比效果图
  Zero-DCE运用了两个要害组件:比照丢掉函数和特征重建网络DCE-Net。比照丢掉函数是一种用于评价图画增强作用的丢掉函数,经过比较原始图画和增强图画之间的特征差异来核算丢掉。特征重建网络是一个深度卷积神经网络,它将原始图画作为输入,输出一条曲线,该曲线用于增强图画。

  详细来说,Zero-DCE算法首要将输入的低光照图画转换为灰度图画,并对其进行规范化处理。然后该算法运用特征重建网络生成一条曲线,该曲线经过最小化比照丢掉函数来确保与原始图画的特征相匹配。终究,增强图画经过将原始图画的像素值经过曲线进行调整而生成。

  • 长处:
  1. 零参阅:不需求任何参阅图画或先验常识,能够直接对单张低光照图画进行增强,与其他依据参阅图画的办法比较具有更大的灵敏性和实用价值
  2. 细节保存:经过学习大局曲线和部分曲线,在增强图画的一起能够保存细节信息,防止图画过度增强导致失真等问题
  3. 可扩展性:能够经过增加练习数据集等办法来进步其功用和适用规模
  • 缺陷:
  1. 练习本钱高:需求运用很多的低光照图画作为练习数据集,在练习进程中需求消耗很多的核算资源和时刻
  2. 对输入图画质量要求高:假如输入图画噪声较多或者分辨率较低,算法功用或许会遭到影响
  3. 处理速度慢:需求运转深度学习网络和曲线调整等操作,处理速度比较于传统的图画增强算法较慢

2.2 Zero-DCE++

  • 论文:li-chongyi.github.io/Proj_Zero-D…
  • 代码:github.com/Li-Chongyi/…

  Zero-DCE++ 是依据 Zero-Reference Deep Curve Enhancement (Zero-DCE) 算法的改善版本,首要改善了部分曲线的学习办法,使得其愈加合适处理低光照图画中的细节。

  Zero-DCE++ 算法的首要思维是经过深度学习技能学习到一个映射函数,将输入的低光照图画映射到高光照度空间。这个映射函数由两部分构成:一部分是大局曲线,用于控制整个图画的明暗度;另一部分是部分曲线,用于处理图画中的细节。详细来说,Zero-DCE++ 算法的进程如下:

  1. 输入低光照图画,并将其缩放到固定巨细
  2. 提取亮度信息,得到亮度通道图画
  3. 经过深度学习网络学习得到大局曲线和部分曲线
  4. 运用学习得到的曲线对亮度通道图画进行调整,得到增强后的亮度通道图画
  5. 将增强后的亮度通道图画与原始图画的颜色信息兼并,得到终究的增强成果
  • 长处:
  1. 能够自习惯地调整图画比照度,使得终究增强后的图画愈加明晰、亮堂,视觉作用更好
  2. 不需求手动调整参数,运转速度较快,具有很好的实时功用
  3. 能够运用于多种类型的图画增强使命,例如低光照度图画增强、雾霾图画去除等
  • 缺陷:
  1. 在处理极暗或极亮的图画时或许会失效,因为这些状况下图画中的细节信息被彻底丢掉
  2. 增强后的图画或许呈现过度增强或失真等问题,影响视觉作用
  3. 对核算资源的要求较高,需求运用GPU进行核算,因而无法在一些设备上运转

2.3 LightenNet

  • 论文及代码:li-chongyi.github.io/proj_lowlig…

  LightenNet是一种用于弱光照图画增强的可练习卷积神经网络(CNN),它以弱光照图画为输入,输出其光照映射,然后依据Retinex模型取得增强图画。LightenNet增强算法的首要思维是经过对图画进行预处理和后处理,使得图画质量得到进步。详细来说,该算法选用了以下三个进程:

  1. 预处理:经过对原始图画进行调整,包含颜色平衡、直方图均衡化、高斯含糊等办法,削减噪声和进步比照度
  2. 神经网络模型:LightenNet增强算法运用了一个轻量级的神经网络模型,该模型由多个卷积层、池化层和全衔接层组成。在练习进程中,该模型学习怎么将预处理后的图画进一步增强。例如,模型能够学习怎么增强边际、进步细节和加强图画比照度等
  3. 后处理:终究输出的图画会进行一系列的后处理,包含锐化、去含糊、颜色增强等操作,以进一步进步图画质量

  其间,LightenNet的架构如下所示:

一文读懂14种低照度图像增强算法——原理+对比效果图
  从上图中能够看到,LightenNet包含四个具有特定使命的卷积层,别离是补丁提取和表明、特征增强、非线性映射和重建。这四个部分的参数设置如下,一望而知嗷:
一文读懂14种低照度图像增强算法——原理+对比效果图

  • 长处:
  1. 快速:LightenNet能够在几毫秒内对图画进行增强处理,十分合适实时运用
  2. 自习惯:能够主动调整参数,以习惯不同类型的图画和光照条件
  3. 高效:运用了轻量级卷积神经网络(CNN)架构,具有较低的核算本钱和内存占用
  • 缺陷:
  1. 该算法只能针对亮度进行增强处理,无法处理其他图画特征,如颜色饱和度、明晰度等
  2. 因为其选用了轻量级CNN结构,因而在某些状况下,增强作用或许不如其他更杂乱的算法
  3. LightenNet依据有监督学习模型,需求很多符号数据进行练习,因而在缺少满足数据的状况下,算法的功用或许会遭到影响

2.4 EnlightenGAN

  • 论文:arxiv.org/abs/1906.06…
  • 代码:github.com/VITA-Group/…

  依据深度学习的办法在图画康复和增强方面取得了显著的成功,可是在缺少配对练习数据的状况下它们仍然具有竞争力吗?为了处理这一问题,运用从输入自身提取的信息来规范非配对练习,而不是运用ground truth数据监督学习,提出了一个高效的无监督生成对立网络,称为 EnlightenGAN,能够在没有低光/正常光图画对的状况下进行练习,可用于增强来自不同范畴的实在世界低光图画。

  EnlightenGAN是一种经过生成对立网络(GAN)进行图画增强的算法,首要分为两个部分:生成器和判别器。生成器运用U-Net架构,将输入的低质量图片映射到高质量图片空间中。判别器则用于区别生成器输出的图画是否实在,并提供反应信号来改善生成器的功用。在练习进程中,生成器会不断测验生成与实在图画类似的图画,而判别器则会尽力将实在图画与生成的图画区别开来。经过替换练习这两种模型,终究使得生成器能够生成愈加传神的高质量图画。EnlightenGAN的结构如下:

一文读懂14种低照度图像增强算法——原理+对比效果图

  从图中能够看到,EnlightenGAN:

  1. 选用自调整注意力引导的 U-Net 作为生成器
  2. 运用双判别器来引导大局和部分信息
  3. 运用自特征保存丢掉来指导练习进程并坚持纹路和结构
  4. 运用低光输入的照度信息作为深度特征每一层的自规则化注意图来规范无监督学习
  • 长处:
  1. 生成器能够处理多种类型的图画,包含人物、风景等
  2. 生成的图画具有高度传神性,乃至能够欺骗人眼
  3. 算法能够调整图画的光照、颜色等特点,使图画看起来愈加生动
  • 缺陷:
  1. 练习时刻较长,需求很多的核算资源和时刻
  2. 算法还存在必定的不稳定性,有时会生成含糊或失真的图画
  3. 需求很多的符号数据来进行练习,假如缺少满足的数据,算法的功用或许会遭到影响

2.5 MBLLEN

  • 论文:www.bmva.org/bmvc/2018/c…
  • 代码:github.com/Lvfeifan/MB…

  MBLLEN——多分支弱光增强网络,经过CNN卷积层将图画丰富的特征提取到不同的层次,运用多个子网进行一起增强,终究将多分支输出成果融组成终究增强图画,到达从多方面进步图画质量的作用,别的所提模型能够扩展到弱光视频增强。详细结构如下:

一文读懂14种低照度图像增强算法——原理+对比效果图

  MBLLEN由三种类型的模块组成:特征提取模块(FEM)、增强模块(EM)和交融模块(FM):

  • FEM:它是一个有10个卷积层的单流网络,每个层运用的内核巨细为33,步幅为1和ReLU非线性,没有池化操作。对第一层的输入是低光五颜六色图画。每一层的输出既是下一层的输入,也是EM相应子网的输入
  • EM:它包含多个子网,其数等于FEM中的层数。子网的输入是FEM中某一层的输出,输出是与原始弱光图画巨细相同的五颜六色图画。每个子网都有一个对称的结构,首要运用卷积,然后进行反卷积。第一个卷积层运用8个巨细为33、步幅1和ReLU非线性的内核。然后,有3个卷积层和3个反卷积层,运用核巨细为55、步幅1和ReLU非线性,核数别离为16、16、16、16、8和3。请注意,一切子网都是一起练习的,但独自练习,不共享任何学习的参数
  • FM:它承受一切EM的输出,以发生终究增强的图画。我们将来自EM的一切输出衔接到颜色通道维度中,并运用一个11的卷积核来兼并它们。这等于具有可学习权重的加权和
  • 长处:
  1. 高效性:MBLLEN运用依据深度学习的办法进行图画增强,具有十分高的核算效率和处理速度
  2. 多样性:该模型具有多分支结构,每个分支对应不同的特征提取器和注意力机制,能够捕获不同尺寸和语境的信息,然后习惯不同场景的图画增强需求
  3. 自习惯性:运用自习惯模块调整每个分支的权重,以最大程度地进步预测成果精确性和稳定性
  • 缺陷:
  1. 数据依赖性:需求很多的练习数据才干发挥最佳功用,在缺少满足练习数据时,或许会呈现过拟合或欠拟合等问题
  2. 通用性:尽管MBLLEN具有多分支结构,但它仍然是一种依据特定使命的神经网络模型,而且关于其他类型的图画增强问题或许无法有效适用

2.6 KinD

  • 论文:dl.acm.org/doi/10.1145…
  • 代码:[https://github.com/zhangyhuaee/KinD]

  在低光增强中还存在一些应战,例如,怎么从单个图画中有效地估量出光照重量,并灵敏地调整光照呢?怎么增强低照度亮度的一起消除噪声和颜色失真呢?怎么练习一个模型,在没有明确的地面本相光条件,只看两个/几个不同的例子状况下增强低光图画呢?(究竟谁也说不出什么光照条件是最好的,或者说 ground-truth 的确认因人而异)为了处理这些问题,KinD应运而生。

  受retinex理论的启示,KinD深度网络将图画分化为反射率层和光照层。分化成果是将原始空间解耦为两个更小的子空间。因为地面实况反射率和照度信息都很少,因而能够运用在不同光/曝光条件下捕获的成对图画对网络进行替换练习。为了消除之前隐藏在黑暗中的退化,kind建立了一个修正模块;kind还学习了映射功用,比传统的伽玛校正更契合实际状况,并能灵敏调整光级,满足不同用户的光照需求。

  KinD的网络架构如下,首要分为三个模块,包含层分化反射率康复光照调整

一文读懂14种低照度图像增强算法——原理+对比效果图

2.7 DRBN

  • 论文:ieeexplore.ieee.org/document/91…
  • 代码:github.com/flyywh/CVPR…

  DRBN(Deep Recursive Band Network)是一种用于图画增强的深度学习算法。与传统的单个神经网络不同,DRBN运用多个递归神经网络来逐步增强图画。该算法的首要思路是经过级联多个递归神经网络来逐步进步图画的质量。每个递归神经网络都会对输入图画进行处理,并将其输出传递给下一个网络。这样,每个网络的输出都包含前一个网络无法处理的细节信息。终究的输出则是一切网络输出的加权均匀值。

  除了递归神经网络外,DRBN还运用了Boosting算法来进一步进步图画的质量。Boosting算法是一种集成学习算法,它能够将多个弱分类器结合起来构成一个更强的分类器。在DRBN中,Boosting算法被用来调整各个递归神经网络的输出权重,以进一步进步图画的质量。

  深度递归频带网络 (DRBN) 的结构如下,包含两个阶段: 递归频带学习和频带重构。在DRBN中,首要履行频带表明学习。在成对数据集的指导下,对每个频带信号进行学习康复,该阶段确保信号保真度和细节康复。然后,在非配对数据集的感知指导下,履行频带重组以增强图画的视觉质量,其间高质量图画充任人类视觉感知的先验。

一文读懂14种低照度图像增强算法——原理+对比效果图

第一阶段:递归频带学习 Recursive Band Learning.

意图:确保信号保真度和细节康复

  1. 在每次递归中,学习一系列从粗到细(s1到s3)的频带表明,在递归进程中共同揣度不同的频带信号,再将其兼并到增强成果中
  2. 在特征域和图画域都选用了残差学习
  3. 递归学习增强了建模能力。前一次递归的增强成果用作下一次递归的引导,也就是说,后边的递归仅在从前的递归估量指导下康复残差信号。因而,后边的递归更能够建模结构细节和抑制噪声
  4. 从上一次递归揣度出的高阶Xs3带将影响本次递归中低阶Xs1频带的揣度。即前一次递归的输出,被用作下一次递归的引导输入,其在联合估量中将一切频带估量衔接在一同。因而,低阶和高阶带之间的衔接是双向的,高阶带也为康复低阶带提供了有用的指导
  5. 递归估量使不同的频带能够学习依据一切频带的从前估量来校正它们的估量

第二阶段:频带重组 Band Recomposition

意图:经过感知质量引导的对立学习,重组频带表明,以进步增强的弱光图画的感知质量

2.8 Retinex-Net

  • 论文:arxiv.org/abs/1808.04…
  • 代码:github.com/weichen582/…

  该算法依据Retinex理论,该理论认为人眼所看到的物体颜色不仅仅取决于物体自身的反射率,还遭到光照和周围环境的影响。Retinex-Net运用卷积神经网络来模仿人类大脑中的信号处理进程,然后在保存图画细节的一起,增强图画的比照度和颜色饱和度。与传统的依据Retinex理论的办法比较,Retinex-Net能够自习惯调整参数,适用于不同的场景和图画。其间心是一个由多个残差块组成的深度卷积神经网络,每个残差块包含多个卷积层和批量归一化层。

  Retinex-Net的全体结构如下,首要包含两个网络: 分化网络DecomNet和增强网络RelightNet。分化网络是一个五层的卷积神经网络,代码中是运用relu函数进行激活,没有什么特别的处理,能够看到将图画中的低照度图画和正常图画作为输入数据送入卷积神经网络进行分化,终究得到光照图画和反射图画,依据Retinex理论反射图画基本接近,可是两者光照图画相差很大,这样把每一张练习图画进行分化,然后再送入后边的增强网络进行练习。增强网络是一个九层的卷积神经网络,运用relu进行激活,中心还进行最附近差值的resize操作,对方才分化的反射图画进行去噪音操作,中心用了平滑。

一文读懂14种低照度图像增强算法——原理+对比效果图

  • 长处:
  1. 能够习惯各种不同的图画场景和环境,包含低光、低比照度、雾霾等状况
  2. 经过模仿人脑处理视觉信号的进程,能够保存图画细节的一起,进步比照度和饱和度,使图画愈加明晰、亮堂、实在
  3. 运用卷积神经网络来进行图画增强,能够主动学习特征并进行参数调整,具有较高的灵敏性和精确性
  • 缺陷:
  1. 需求很多的数据进行监督学习,以便优化网络权重和参数。这要求具有大规模数据集和高质量标注的条件
  2. 关于某些极点状况,例如极低光照和强烈的雾霾,Retinex-Net或许无法到达理想的作用
  3. 对核算资源的要求较高,需求较长的练习时刻和较大的核算量,因而需求运用高功用核算平台

2.9 RRDNet

  • 论文:[https://ieeexplore.ieee.org/document/9102962/]
  • 代码:github.com/aaaaangel/R…

  大多数低曝光图画康复办法忽略噪音,并在拉伸比照度时将其扩大,由此提出了一种依据RRDNet(Robust Retinex Decomposition Network)的零样本低曝光图画康复办法。传统的低曝光图画康复算法通常需求一个练习好的模型来处理低曝光图画,但这些模型或许无法处理新的、不同于练习集中的场景。因而,这个问题被称为“零样本”问题。而RRDNet则经过鲁棒的Retinex分化来处理这个问题,使得网络能够自习惯地处理新场景下的低曝光图画。详细而言,该办法运用RRDNet将输入的低曝光图画分化成两个部分:一个是来自大局光照的残差图画,另一个是来自部分反射的显著图画。然后,对显著图画进行修正,再与残差图画兼并即可得到康复后的图画。这儿的要害是运用RRDNet的鲁棒性来自习惯地分化出残差图画和显著图画。

  该办法的作业流程如下,包含分化Decomposition和康复Restoration两个阶段。在分化阶段,RRDNet是一个三分支全卷积神经网络,这三个分支别离用于估量反射率Reflectance、光照Illumination和噪声Noise。估量反射率和光照的网络终究一层激活函数为sigmoid函数,以确保强度在[0,1]内下降。与之不同的是,为了更好地拟合加性噪声,在噪声估量网络的终究一层运用了tanh激活函数,使噪声值降至[−1,1]。图中所示的噪声图被归一化以便于可视化。经过迭代最小化丢掉函数,更新RRDNet的权值,就能够生成终究的输入图画分化。

一文读懂14种低照度图像增强算法——原理+对比效果图

  • 长处:
  1. RRDNet能够经过零样本学习来处理各种不同类型和巨细的低曝光图画,而且不需求针对不同场景进行特定的练习
  2. 与其他算法比较,RRDNet在坚持图画细节和颜色饱和度方面具有很好的体现
  3. RRDNet具有较快的处理速度,合适实时运用
  • 缺陷:
  1. 在某些状况下,RRDNet或许无法彻底还原低曝光图画,因为它依赖精确的反射和照明分化
  2. 因为RRDNet需求高质量的输入图画,因而它或许无法很好地处理极点低曝光图画

2.10 TBEFN

  • 论文:ieeexplore.ieee.org/abstract/do…
  • 代码:github.com/lukun199/TB…

  TBEFN是一种依据深度学习的低光图画增强办法,其全称为“一个双分支曝光交融网络用于低光图画增强(Two-Branch Exposure-Fusion Network for Low-Light Image Enhancement)”。该办法由两个分支组成,一个用于将多个曝光缺乏的图画交融,另一个用于对交融后的图画进行增强。这样能够在保存细节的一起进步图画的亮度和比照度,然后让用户能够更明晰地看到低光照下的场景。详细架构如下所示。

一文读懂14种低照度图像增强算法——原理+对比效果图
  首要,我们来看一下TBEFN的第一个分支。这个分支首要用于将同一场景的多个曝光缺乏的图画进行兼并,得到一张具有更好曝光和动态规模的图画。详细来说,TBEFN选用了加权曝光交融技能,即对每个输入图画依据其不同的曝光值进行加权均匀,终究得到交融后的图画。这个进程能够有效地降低图画中的噪声和伪影,而且进步图画的动态规模。

  接下来是TBEFN的第二个分支,它首要用于对交融后的图画进行增强。这个分支选用了一系列卷积和残差块的结构,能够在保存图画细节的一起进步其亮度、比照度和颜色饱和度。此外,TBEFN还引入了自习惯残差块(Adaptive Residual Block)和注意力模块(Attention Module),能够进一步优化增强作用,而且使得网络愈加稳健。

  • 长处:
  1. 能够处理杂乱照明条件和高噪声水平的场景,具有较强的鲁棒性
  2. 选用了双分支结构,能够一起处理曝光交融和图画增强两个要害问题
  3. 引入了自习惯残差块和注意力模块等立异性结构,能够进一步进步增强作用
  4. 在多个基准数据集上取得了最先进的成果,证明了其有效性和实用性
  • 缺陷:
  1. TBEFN需求多张同一场景的曝光图画,这在某些状况下或许不可用或不切实际
  2. TBEFN的练习进程需求很多的符号数据,这或许会消耗时刻和金钱
  3. 尽管TBEFN能够进步全体图画质量,但在输入图画具有极点光照条件时,它或许无法发生传神的成果

2.11 LLNet

  • 论文:www.sciencedirect.com/science/art…
  • 代码:github.com/kglore/llne…

  LLNet是一种依据深度自编码器的办法,用于天然低光图画增强。LLNet的作者运用了一个包含两个部分的网络架构:一个编码器和一个解码器。 编码器的作用是将输入的图片压缩成一个更小的向量,而解码器则将这个向量还原为原始图画。在LLNet中,编码器和解码器都是由卷积神经网络(CNN)构建而成的。

  LLNet的练习进程分为两个阶段。在第一个阶段中,作者运用了一个已知的数据集进行有监督的练习。他们运用了一组重复的低光图画和对应的高光图画来练习模型。在这个阶段,作者运用重建误差和感知误差两种丢掉函数来优化网络参数。在第二个阶段中,作者运用自我重建战略进行无监督的练习。在这个阶段,他们将同一张低光图画输入到编码器和解码器中,并比较输出的图画和原始图画之间的差异。经过最小化这个差异,网络能够逐步学习怎么重建低光图画。

  LLNet的结构如下图所示:

一文读懂14种低照度图像增强算法——原理+对比效果图

  LLNet办法的长处在于它不需求任何手动调整参数,即使在极点状况下也能够发生比较好的成果。此外,因为LLNet是依据深度学习的办法,因而它能够自习惯地学习怎么处理各种类型的低光图画。

2.12 ExCNet

  • 论文:dl.acm.org/doi/abs/10.…
  • 代码:cslinzhang.github.io/ExCNet/

  ExCNet是一种运用深度内部学习的零样本背光图画康复办法。它能够经过学习场景中不同区域之间的联系,主动康复被背光照耀的图画的细节和颜色。

  当我们拍摄一个背光照明的场景时,通常会发现照片中暴露在背光下的物体的细节被彻底丢掉或过度曝光。这是因为传统的相机感知技能无法正确地处理暴露在背光下的物体。而ExCNet则经过排除掉背光影响,并主动调整图画的亮度和比照度,使得图画的质量得到了有效进步。

  ExCNet的中心思维是运用深度内部学习来进行无监督练习。详细来说,该算法经过将图画分成若干个小块,然后将这些小块重新组合起来,然后构建出一个新的图画。这个新的图画被称为重建图画,在这个进程中,算法会不断地更新其内部参数,直到终究得到一个最优解。ExCNet算法中最重要的组成部分是编码器和解码器。编码器将输入图画转换为特征向量,解码器则将特征向量转换回输出图画。这两个部分一同作业,经过学习来自不同场景的图画之间的相关性,然后完成对背光图画的康复。

  ExCNet实际上是一个CNN,结构如下图所示。它的每个练习迭代在概念上能够被视为有两个阶段:1.运用中心S曲线调整亮度通道;2.核算丢掉。

一文读懂14种低照度图像增强算法——原理+对比效果图

  • 长处:
  1. 能够主动康复被背光照耀的图画的细节和颜色,完成对背光图画的高效处理
  2. 该算法能够进行无监督练习,因而在运用时不需求很多标注数据
  3. ExCNet能够主动调整图画的亮度和比照度,使得被背光照耀的物体细节得到了康复
  • 缺陷:
  1. 或许遭到场景限制,关于一些十分特别或极为杂乱的场景,其处理作用或许会遭到影响
  2. 因为ExCNet选用了深度网络模型,其练习时刻或许会很长,导致处理速度慢
  3. 尽管ExCNet能够有效地康复被背光照耀的图画的细节和颜色,可是在某些状况下,其无法彻底康复图画的原始质量
  4. 运用了深度网络模型,因而对核算机硬件的要求较高,在一些低端设备上或许无法运转

2.13 DSLR

  • 论文:ieeexplore.ieee.org/abstract/do…
  • 代码:github.com/SeokjaeLIM/…

  DSLR是一种用于低光照条件下图画增强的办法,它能够改善噪点、含糊和失真等问题,使得图画愈加明晰和细节愈加丰富。该办法依据深度学习和图画处理技能,经过对原始图画进行屡次小幅度的偏移和叠加来消除噪声和增加亮度。接下来我们将详细介绍DSLR的原理和完成办法。

  首要,DSLR办法运用了深度神经网络(DNN)模型,该模型包含一个编码器和一个解码器。编码器将原始输入图画转换为特征向量,解码器则将这些特征向量转换回输出图画。这个进程能够被看作是一种自编码器(autoencoder)模型,其间输入和输出之间存在着一种非线性映射联系。经过练习这个DNN模型,我们能够取得一种合适于特定使命的映射函数。

  其次,DSLR办法运用了图画退化模型,该模型能够描述在低光照条件下图画会遭到哪些影响,例如噪点、含糊、失真等。在DSLR办法中,我们假设原始图画能够表明为退化图画与残差图画的和,其间退化图画表明低光照条件下的图画,残差图画则表明原始图画与退化图画之间的差异。因而,我们的方针就是经过练习DNN模型来学习怎么康复残差图画,然后取得愈加明晰和丰富的图画。

  终究,DSLR办法运用了拉普拉斯金字塔(Laplacian pyramid)技能,该技能能够将原始图画分化成多个尺度的子图画。经过对每个子图画进行处理,例如去噪、增亮等操作,我们能够在不影响全体图画质量的状况下对其进行增强。在DSLR办法中,我们将每个子图画看作是一个小块,经过对这些小块进行屡次叠加,我们能够逐步康复出原始图画并消除噪声和失真。

  DSLR的网络结构如下:

一文读懂14种低照度图像增强算法——原理+对比效果图

  输入图画首要经过一个残差块(ResBlock),然后将其馈送到一个拉普拉斯金字塔分化模块,该模块对图画进行多层次的下采样和高斯滤波,得到不同尺度的拉普拉斯金字塔。接着,每个拉普拉斯金字塔都会经过一个深度残差块(Deep Residual Block),以在每个尺度上进行特征提取和修正。终究,各个尺度的修正成果将被级联起来,并经过一个反卷积模块进行上采样和兼并,得到终究的增强图画。其间,拉普拉斯金字塔分化模块和重建模块能够运用规范的图画处理技能进行完成,例如OpenCV库中的pyrDown和pyrUp函数

2.14 KinD++

  • 论文:link.springer.com/article/10.…
  • 代码:github.com/zhangyhuaee…

  与传统的增强图画亮度的办法不同,KinD++办法经过纹路康复和颜色均衡来进步图画质量。KinD++办法首要运用低光照图画中的部分杰出特征,经过对这些特征进行加权均匀来生成基准图画。然后,在基准图画上进行部分纹路康复,以补充因低光照而丢掉的细节信息。终究,经过颜色均衡来调整图画的颜色平衡,使其愈加实在天然。

  详细地说,KinD++办法包含以下三个进程:

  1. 基准图画生成:首要,从低光照图画中提取出部分杰出特征,比方高斯滤波器输出的响应值较大的区域。然后,依据这些特征在图画中的散布状况,将它们进行加权均匀,得到一个基准图画。这个基准图画能够保存原始图画中的首要物体和布景结构信息,但会去除一些噪点和阴影。
  2. 部分纹路康复:在基准图画上,运用部分纹路康复算法来补充因低光照而丢掉的细节信息。这个算法能够经过对每个像素周围的邻域进行纹路剖析和纹路组成来完成。详细地说,能够运用非部分均值(NLM)滤波器来估量出每个像素的纹路信息,然后将这些纹路信息组成到原始图画中。
  3. 颜色均衡:终究,运用颜色均衡算法来调整图画的颜色平衡。这个算法能够将图画的亮度、饱和度和色相别离进行调整,以使图画的颜色愈加实在天然。详细地说,能够运用直方图均衡化来增强图画的亮度和比照度,然后运用色相变换来调整图画的颜色平衡。

  KinD++办法的网络结构如下:

一文读懂14种低照度图像增强算法——原理+对比效果图

  KinD++和KinD的首要奉献都是相同的,但不同的地方体现在反射率康复网络,如下图中的(a)和(b)是KinD++和KinD的比照,在KinD++ 中,反射率康复网络没有选用 U-Net,整个网络进程图画的空间分辨率坚持不变,并引入了多尺度亮度注意力(MSIA)模块,如图(c)所示。

一文读懂14种低照度图像增强算法——原理+对比效果图

3. 十四种增强比照图

  学完这十几种算法的首要原理、思维之后,相信盆友们最关怀的就是增强作用了,这儿为了比较阐明呢,用同一张低照度图片来看看在我们这14种算法下的呈现作用,成果如下图所示:

一文读懂14种低照度图像增强算法——原理+对比效果图

一文读懂14种低照度图像增强算法——原理+对比效果图

一文读懂14种低照度图像增强算法——原理+对比效果图

  这儿详细哪种办法的增强作用更好呢?我觉得不太好说(废话博主)。究竟每个人关于图片的评判规范不同、对最好光照的了解不同、对数据集的使命需求也不同。要特别阐明的是,以上的算法只需依据代码阐明,大部分是能够成功跑出来的滴,假如你有低照度数据增强的需求,请依据你的数据集耐心搞一搞叭~~~

ending

  行文至此,终于松了一口气,很开心能把学到的常识以文章的方式共享给我们。假如你也觉得我的共享对你有所协助,please一键三连嗷!!!下期见

一文读懂14种低照度图像增强算法——原理+对比效果图