| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> MBLLEN: Low-light Image/VideoEnhancement Using CNNs (2018 BMCV(视觉顶刊)) -> 正文阅读 |
|
[人工智能]MBLLEN: Low-light Image/VideoEnhancement Using CNNs (2018 BMCV(视觉顶刊)) |
?Abstract 我们提出了一种基于深度学习的弱光图像增强方法。这个问题具有挑战性,因为难以同时处理各种因素,包括亮度、对比度、伪影和噪声。为了解决这一任务,我们提出了多分支低光增强网络(MBLLEN)。其关键思想是从不同的层次上提取丰富的特征,使我们可以通过多个子网应用增强,最终通过多分支融合生成输出图像。这样,就从不同的方面提高了图像质量。通过大量的实验,我们提出的MBLLEN被发现大大优于最先进的技术。此外,我们还表明,我们的方法可以直接扩展到处理低光视频。 源代码:MBLLEN:Low-lightImage/VideoEnhancementUsingCNNs源代码-深度学习文档类资源-CSDN下载
1 Introduction
????????图像和视频携带着丰富和详细的真实场景的信息。通过对图像和视频数据的捕获和处理,智能系统可以开发用于目标检测、分类、分割、识别、场景理解和三维重建等各种任务,然后应用于许多实际应用,如自动驾驶、视频监控和虚拟/增强现实。
????????然而,真实的系统严重依赖于输入的图像/视频的质量。特别是,它们可能在高质量的输入数据下表现良好,但在其他方面表现不佳。一个典型的情况是使用在光照较差的环境中捕获的图像。当照相机在捕捉过程中无法接收到足够的光线时,
黑暗区域将会出现信息丢失和意外的噪声,如图1所示。由于光线不足,使用这种
低质量的图像肯定会降低大多数基于视觉的算法的性能,因此,在不需要额外昂贵硬件的情况下提高低光图像的质量是非常需要的。
????????在文献中已经对弱光图像增强进行了各种研究。它们通常专注于恢复图像的亮度和对比度,并抑制意想不到的视觉效果,如颜色失真。现有的方法大致可以分为两类,即基于
直方图均衡化的方法和
基于Retinex理论的方法。前一类算法基于直方图均衡的思想对像素亮度进行优化,后一类方法恢复场景的照明图,并相应地增强不同的图像区域。
????????虽然已经取得了显著的进展,但仍有很大的改进空间。例如,现有的方法往往依赖于关于像素统计量或视觉机制的某些假设,然而,这可能不适用于某些真实的场景。其次,除了亮度/对比度优化外,其他因素也应更仔细地处理暗区域的伪影和弱光捕获引起的图像噪声。最后,开发有效的弱光视频增强技术需要更多的努力。 ????????在本文中,我们利用最新的深度学习技术,提出了一种新的弱光图像增强方法。该方法的核心是所提出的全卷积神经网络,即多分支低光增强网络(MBLLEN)。MBLLEN由三种类型的模块组成,即特征提取模块(FEM)、增强模块(EM)和融合模块(FM)。其思想是学习到1)通过有限元法提取不同层次的丰富特征,2)通过EM分别增强多层次特征,3)通过FM进行多分支融合获得最终输出。这样,MBLLEN就能够从不同的方面提高图像质量,充分完成弱光增强任务。 ??????? 总的来说,我们的贡献有三点。 1)提出了一种基于深度神经网络的低光图像增强新方法。它提高了客观和主观的图像质量。 2)我们的方法在抑制低光区域的图像噪声和伪影方面也很好。 3)我们的方法可以直接扩展到利用时间信息来处理低光视频。这些特性使我们的方法优于现有的方法,定量和定性的评估表明,我们的方法在很大程度上优于最先进的方法。
2 Related Work
本节简要介绍现有的弱光图像/视频增强技术。
????????
低光图像增强。弱光图像增强的方法主要可分为两类。第一类是建立在众所周知的直方图均衡(HE)技术上,也使用了额外的先验和约束。特别是,BPDHE[15]试图动态保持图像亮度;Arici等人[2]提出对非自然的视觉效果进行分析和惩罚,以提高视觉质量;DHECI[29]引入并使用差分灰度直方图;CVC[5]使用像素间上下文信息;LDR[26]专注于二维直方图的分层差异表示,试图扩大相邻像素之间的灰度差异。
????????另一类是基于
Retinex理论[22],该理论假设一个图像是由反射和照明组成的。典型的方法,如MSR[17]和SSR[18],尝试恢复和使用照明地图进行弱光图像增强。最近,AMSR[24]提出了一种基于SSR的加权策略。NPE[37]平衡了增强水平和图像的自然性,以避免过度增强。MF[11]以多尺度的方式处理照明地图,以提高局部对比度和保持自然性。SRIE[12]开发了一个加权振动模型来估计照明地图。LIME[14]同时考虑了照明图的估计和去噪。BIMEF[41,42]提出了一种双曝光融合算法,Ying等[43]使用相机响应模型进行进一步增强。一般来说,传统的弱光增强方法依赖于某些统计模型和假设,这只能部分解释现实世界的场景。
???????
?深度学习的方法。近年来,深度学习在低级图像处理领域取得了巨大的成功。端到端网络和GANs[13]等强大的工具已被广泛应用,包括图像超分辨率[4,23]、图像去噪[31,44]和图像到图像的转换[16,45]。同时,还提出了一种实现弱光图像增强的方法。LLNet[28]使用深度自动编码器进行低光图像去噪。然而,它并没有利用深度学习的最新发展。其他基于cnn的方法,如LLCNN[35]和[34],不同时处理亮度/对比度增强和图像去噪。
???????
?低光视频增强。关于弱光视频增强的研究很少。其中一些人的[27,36]也遵循
Retinex理论,而另一些人则使用
伽马校正技术[19]或类似的框架的图像去雾霾[9,30]。为了抑制伪影,可以使用来
自相邻帧的类似补丁进行[21]。虽然这些方法在弱光视频增强方面取得了一定的进展,但它们仍然有一定的局限性,如时间信息没有得到很好的利用来避免闪烁。
3 Methodology
????????本节将介绍所提出的方法和所有必要的细节。由于图像内容的复杂性,一个简单的网络往往很难实现高质量的图像增强。因此,我们以
多分支的方式设计了MBLLEN。它将图像增强问题分解为与不同特征层次相关的子问题,分别通过多分支融合解得到最终输出。
????????MBLLEN的输入是一个低光彩色图像,输出是一个
相同大小的增强的干净图像。整个网络体系结构和数据处理流程如图2所示。后面详细描述了
FEM、EM和FM三个模块。
3.1 Network Architecture
如图2所示,所提出的MBLLEN由三种类型的模块组成:特征提取模块(FEM)、增强模块(EM)和融合模块(FM)。
?????????FEM.它是一个有10个卷积层的单流网络,每个层使用的内核大小为3×3,步幅为1和ReLU非线性,没有池化操作。对第一层的输入是低光彩色图像。每一层的输出既是下一层的输入,也是EM相应子网的输入。 ????????EM. 它包含多个子网,其数等于FEM中的层数。子网的输入是FEM中某一层的输出,输出是与原始弱光图像大小相同的彩色图像。每个子网都有一个对称的结构,首先应用卷积,然后进行反卷积。第一个卷积层使用8个大小为3×3、步幅1和ReLU非线性的内核。然后,有3个卷积层和3个反卷积层,使用核大小为5×5、步幅1和ReLU非线性,核数分别为16、16、16、16、8和3。请注意,所有子网都是同时训练的,但单独训练,不共享任何学习的参数。 ???????FM。它接受所有EM的输出,以产生最终增强的图像。我们将来自EM的所有输出连接到颜色通道维度中,并使用一个1×1的卷积核来合并它们。这等于具有可学习权重的加权和。 ???? 网络视频。我们的方法可以处理简单修改后的视频增强。1)让有限元对大小为3×3×3的16个核进行三维卷积,而不是二维卷积。第一层的输入是具有31帧的低光彩色视频。每一层输出的前三个维度被发送到EM,其余的维度被用作下一个卷积的输入。2)EM被修改以进行三维卷积。3)FM使用原始的弱光视频作为融合的额外输入。
3.2 Loss Function
????????为了在定性和定量上提高图像质量,
使用常见的误差指标如MSE和MAE被证明是不够的。因此,我们通过进一步考虑
结构信息、
上下文信息和图像的
区域差异,如图3所示。其计算方法为:
? ?其中,结构损失、环境损失和区域损失的详细信息如下。 ????????结构损失。这种损失旨在提高输出图像的视觉质量。特别是,弱光捕获通常会导致结构扭曲,如模糊效果和伪影,这在视觉上是显著的,但MAE不能很好地处理。因此,我们引入结构损失来测量增强图像与地面真实值之间的差异,从而指导学习过程。特别是,我们使用著名的图像质量评估算法SSIM[39]和MS-SSIM[38]来构建我们的结构损失。最近的一种方法LLCNN[35]也采用了类似的策略。 ????????我们使用一种简化形式的SSIM计算的一个像素p由:
其中,μx和μy为像素值平均值,σx2和σy2为方差,σxy为协方差,C1和C2为常数,以防止分母为零。由于页面的限制,MS-SSIM的定义可以在[38]中进行检查。SSIM和MS-SSIM的值范围分别为((1,1]和[0,1]。最终的结构损失定义为LStr=LSSIM+lmsssim。
?上下文丢失。MSE和SSIM等指标只关注图像中的低级信息,同时也有必要使用某种高级信息来提高视觉质量。因此,我们参考了SRGAN[23]中的想法,并使用类似的策略来指导网络的训练。其基本思想是使用一个内容提取器。然后,如果增强图像和地面真实相似,它们从内容提取器的相应输出也应该是相似的。 ????????一个合适的内容提取器可以是一个在一个大的数据集上训练的神经网络。由于VGG网络[33]的结构良好,行为良好,所以我们在我们的方法中选择了VGG网络作为内容提取器。特别地,我们根据预先训练过的VGG-19网络的ReLU激活层的输出来定义上下文损失。为了测量增强图像的表示和地面真实值之间的差异,我们计算它们的绝对差异之和。最后,对上下文丢失的定义如下: 其中,E和G为增强图像和地面真相,Wi、j、Hi、j和Ci,j描述了VGG网络中各自特征图的维数。另外,φi,j表示VGG-19网络中第i个块中第j个卷积层得到的特征图。 ????????区域损失。上述损失函数将图像作为一个整体。然而,对于我们的弱光增强任务,我们需要更多地关注那些弱光区域。因此,我们提出了区域损失,它平衡了弱光和其他区域之间的增强程度。 ????????为了做到这一点,我们首先提出了一个简单的策略来分离低光区域从图像的其他部分。通过初步实验,我们发现在所有像素中选择前40%最暗的像素可以很好地近似于弱光区域。人们也可以提出更复杂的暗区域选择方法,事实上在文献中有很多。最后,对区域损失的定义如下: 其中,EL和GL为增强图像和地面真实值的低光区域,EH和GH为图像的其余部分。在我们的例子中,我们建议使用wL=4和wH=1。 3.3实施细节 ????????我们的实现是用Keras[7]和Tensorflflow[1]完成的。在Titan-XGPU上训练5000个小批次后,从帕斯卡VOC数据集[10]的16925张图像可以快速收敛。我们使用了24个大小为256×256×3的小批量补丁。输入的图像值应该被缩放为[0,1]。在设计上下文损失方面,我们测试了VGG-19的每一个卷积层。从第四个卷积块开始,增强效果略有降低。另一方面,随着层次越深,特征图的尺寸越减小,从而提高了计算效率。作为一种权衡,我们使用VGG的第三个块的第四个卷积层的输出作为上下文损失提取层。在实验中,使用ADAM优化器[20]进行训练,学习速率分别为α=0.002,β1=0.9,β2=0.999和ε=1008。我们还使用了学习率衰减策略,它在下一个时代之前将学习率降低到95%。 4实验评价 ????????通过大量的实验,对该方法与现有方法进行了评价和比较。为了进行比较,我们使用了现有方法中已发布的代码。总的来说,我们已经做了以下四组主要的实验。1)我们将我们的方法与一些现有的方法进行了比较,包括那些最新的和最具代表性的、关于弱光图像增强任务的方法。2)我们展示了另一组在泊松噪声存在下的弱光图像增强任务的比较。3)我们使用真实世界的低光图像来显示实验结果。4)我们进行了进一步的弱光视频增强实验。 4.1数据集和指标 捕获真实世界的低光图像与地面真相是困难的。因此,在之前的研究[28]的基础上,我们基于帕斯卡尔VOC图像数据集[10],通过合成生成了大量的低光图像。 低光图像合成。低光图像与普通图像的区别在于,它有两个最突出的特征:低亮度和噪声的存在。对于前一个特征,我们对普通图像的每个通道进行随机伽马调整,以产生与[28]相似的低光图像。该过程可以表示为Iout=A×Iγ,其中A是由图像中最大像素强度决定的常数,γ服从均匀分布U(2,3.5)。至于噪声,虽然以前的许多方法都忽略了它,但我们仍然考虑到它。特别地,我们在弱光图像中加入峰值为=为200的泊松噪声。最后,我们在VOC数据集中选择16925张图像来合成训练集,56张图像用于验证集,144张图像用于测试集。 低光视频合成。我们选择了e-Lab视频数据集(e-VDS)[8]来合成弱光视频。我们将原始视频剪辑成视频剪辑(31×255×255×3),构建一个约20000个样本的数据集,其中95%构成训练集,其余用于测试。 性能指标。为了从不同的方面和更公平的方式评估不同方法的性能,我们使用了各种不同的指标,包括PSNR,SSIM[39],平均亮度(AB)[6],视觉信息保真度(VIF)[32],轻顺序误差(LOE),如[41]和TMQI[40]的建议。请注意,在下表中,红色、绿色和蓝色分别表示最佳、次优和第三优的结果。
4.2 Low-light Image without Additional Noise
我们使用合成数据集进行实验。我们将我们的方法与其他10种最新方法的结果进行了比较,如表1所示。我们的方法在所有情况下都优于所有其他方法,并且远远领先于第二好(绿色)和第三好(蓝色)。 ? ?具有代表性的结果如图4所示。通过检查细节,很明显,我们的方法获得了更好的视觉效果,包括良好的亮度/对比度和更少的伪影。我们强烈鼓励它放大来比较细节。 为了强调我们在除亮度恢复之外的细节恢复方面的优势,我们根据地面真相对所有方法的图像亮度进行了调整,使它们具有精确正确的最大值和最小值。然后,我们比较了表2中的结果。由于空间限制,我们只从表1中选择这些最佳方法。结果表明,该方法仍然在很大程度上优于其他所有方法。
4.3 Low-light Image with Additional Poisson Noise
?我们在带有附加泊松噪声的弱光图像上测试了我们的方法。为了进行比较,我们从表1中选择了最佳的比较方法,并将它们与IVST[3]去噪方法一起使用,得到最终的比较结果。在最后的实验中,在原始输出(左数字)和比例输出(右数字)的情况下,使用了各种质量指标进行评估,如表3所示。 ? ?在表3中,我们的方法几乎在所有质量指标下获得了所有的最佳结果。它排名第二的唯一情况是在AB指标下的亮度尺度结果上。但是,请注意,对于亮度尺度,我们需要提供所有的方法与地面真实亮度,这些结果只是为了参考,而不是一个公平的比较。图5给出了可视化演示。
4.4 Real-world Image
除了上述合成数据集外,我们的方法在自然弱光图像上也表现良好,优于现有图像。由于页面限制,图6显示了一个代表性例子的比较,以及我们的方法附加的弱光图像增强结果。更多的结果和比较,包括前面的部分,包括在补充文件中,这充分证明了我们的方法的有效性。
? ?我们的MBLLEN、其视频版本(mbllven)和其他三种方法的比较如表4所示。我们还引入了AB(var)度量来测量增强视频和地面真实值之间的平均亮度方差的差异。这个指标反映了视频是否有意外的亮度变化或闪烁,并且所提出的mbllven在保持帧间一致性方面取得了最好的性能。增强后的视频在补充文件中提供,以便进行直观的比较。
5 Conclusion
本文提出了一种基于cnn的弱光增强方法。现有的方法通常依赖于某些假设,而往往忽略其他因素,如图像噪声。为了解决这些挑战,我们的目标是训练一个强大和灵活的网络来更有效地解决这一任务。我们的网络由有限元法、EM和FM三个模块组成。该方法能够在有限元法中从不同的层中提取丰富的特征,并通过电磁法中不同的子网进行增强。通过FM融合多分支输出,它可以产生高质量的结果,并大大超过了最先进的技术。该网络还可以进行修改,以有效地处理低光视频。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:50:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |