使用深度学习的微光图像和视频增强:综述

news2024/11/16 23:39:53

1INTRODUCTION

微光图像增强(LLIE)旨在提高在光照较差的环境中捕获的图像的感知或可解释性。该领域的最新进展主要是基于深度学习的解决方案,其中采用了许多学习策略、网络结构、损失函数、训练数据等。在本文中,我们提供了一个全面的调查,涵盖了从算法分类到未解决的开放问题的各个方面。为了检验现有方法的通用性,我们提出了一个低光图像和视频数据集,其中图像和视频由不同的手机摄像头在不同的照明条件下拍摄。此外,我们首次提供了一个统一的在线平台,涵盖了许多流行的LLIE方法,其中的结果可以通过用户友好的网络界面产生。除了在公开的数据集和我们提出的数据集上对现有方法进行定性和定量评估外,我们还验证了它们在黑暗中人脸检测中的性能。该调查与所提出的数据集和在线平台一起,可以作为未来研究的参考来源,促进该研究领域的发展。拟议的平台和数据集以及收集的方法、数据集和评估指标是公开的,并将定期更新。

Project page: https://www.mmlab-ntu.com/project/lliv_survey/index.html

由于不可避免的环境和/或技术限制,如照明不足和曝光时间有限,通常在次优照明条件下,在背光、不均匀光和昏暗光的影响下拍摄图像。这种图像的美学质量受到损害,并且对于诸如对象跟踪、识别和检测之类的高级任务而言,信息传输不令人满意。图1显示了由次优照明条件引起的退化的一些例子。微光增强在不同领域有着广泛的应用,包括视觉监控、自动驾驶和计算摄影。特别是,智能手机摄影已经变得无处不在,引人注目。受相机光圈大小的限制,实时处理的要求和内存的限制,在昏暗的环境中用智能手机的相机拍照尤其具有挑战性。在这样的应用中,增强微光图像和视频是一个令人兴奋的研究领域。

用于微光增强的传统方法包括基于直方图均衡的方法[35]、[36]和基于Retinex模型的方法[37]、[38]、[39]、[40]、[41]、[42]、[43]、[44]。后者受到的关注相对较多。典型的基于Retinex模型的方法通过先验或正则化将微光图像分解为反射分量和照明分量。所估计的反射分量被视为增强的结果。这种方法有一些局限性:1)将反射分量视为增强结果的理想假设并不总是成立,特别是考虑到各种照明特性,这可能导致不现实的增强,如细节丢失和颜色失真,2)在Retinex模型中通常忽略噪声,因此在增强结果中保留或放大噪声,3)找到有效的先验或正则化是具有挑战性的。不准确的先验或正则化可能导致增强结果中的伪影和颜色偏差,以及4)由于其复杂的优化过程,运行时间相对较长。

自第一项开创性工作[1]以来,近年来,基于深度学习的LLIE取得了令人信服的成功。与传统方法相比,基于深度学习的解决方案具有更好的准确性、鲁棒性和速度,因此越来越受到关注。基于深度学习的LLIE方法的一个简明里程碑如图所示。2。如图所示,自2017年以来,基于深度学习的解决方案的数量逐年增长。在这些解决方案中使用的学习策略包括监督学习(SL),强化学习(RL)、无监督学习(UL)、零样本学习(ZSL)和半监督学习(SSL)。请注意,我们只在图2中报告了一些有代表性的方法。2。事实上,从2017年到2021年,有100多篇关于基于深度学习的方法的论文。此外,尽管一些通用的照片增强方法[45]、[46]、[47]、[48]、[49]、[50]、[51]、[52]、[53]可以在一定程度上提高图像的亮度,但我们在本调查中省略了它们,因为它们不是为处理不同的弱光条件而设计的。我们专注于专门为微光图像和视频增强开发的基于深度学习的解决方案。

尽管深度学习主导了LLIE的研究,但缺乏对基于深度学习的解决方案的深入全面调查。LLIE有两个评审[54],[55]。王等人[54]主要回顾了传统的LLIE方法,而我们的工作系统而全面地回顾了基于深度学习的LLIE的最新进展。刘等人[55]回顾了现有的LLIE算法,测量了不同方法的机器视觉性能,提供了一个同时服务于低水平和高水平视觉增强的微光图像数据集,并开发了一个增强型人脸检测器,与此相比,我们的调查从不同方面回顾了微光图像和视频增强,并具有以下独特特征。1) 我们的工作主要集中在基于深度学习的微光图像和视频增强的最新进展上,我们在各个方面进行了深入的分析和讨论,涵盖了学习策略、网络结构、损失函数、训练数据集、测试数据集、评估指标、模型大小、推理速度、增强性能等。因此,这项研究的重点是深度学习及其在微光图像和视频增强中的应用。2) 我们提出了一个数据集,其中包含不同手机摄像头在不同照明条件下拍摄的图像和视频,以评估现有方法的泛化能力。这个新的具有挑战性的数据集是对现有微光图像和视频增强数据集的补充,因为这一研究领域缺乏这样的数据集。此外,据我们所知,我们是第一个在这类数据上比较基于深度学习的微光图像增强方法的性能的人。3) 我们提供了一个在线平台,涵盖了许多流行的基于深度学习的微光图像增强方法,其中可以通过用户友好的网络界面产生结果。有了我们的平台,没有任何GPU的人可以在线评估任何输入图像的不同方法的结果,这加快了这一研究领域的发展,并有助于创建新的研究。我们希望我们的调查能够提供新的见解和灵感,以促进对基于深度学习的LLIE的理解,促进对所提出的开放问题的研究,并加快这一研究领域的发展。

2 DEEP LEARNING-BASED LLIE
2.1 Problem Definitio

我们首先给出了基于深度学习的LLIE问题的一个常见公式。对于弱光图像

 

2.2 Learning Strategies

根据不同的学习策略,我们将现有的LLIE方法分为监督学习、强化学习、无监督学习、零样本学习和半监督学习。从不同角度进行的统计分析如图所示。3。在下文中,我们回顾了每种策略的一些代表性方法。

监督学习。对于基于监督学习的LLIE方法,它们进一步分为端到端、基于深度Retinex和现实数据驱动的方法。

第一种基于深度学习的LLIE方法LLNet[1]采用堆叠稀疏去噪自动编码器[56]的变体来同时提亮和去噪低光图像。这项开创性的工作启发了LLIE中端到端网络的使用。Lv等人[3]提出了一种端到端多分支增强网络(MBLLEN)。MBLLEN通过特征提取模块、增强模块和融合模块提取有效的特征表示来提高LLIE的性能。同一作者[15]提出了其他三个子网络,包括照明网、融合网和恢复网,以进一步提高性能。Ren等人[12]设计了一种更复杂的端到端网络,包括用于图像内容增强的编码器-解码器网络和用于图像边缘增强的递归神经网络。与Ren等人[12]类似,Zhu等人[16]提出了一种称为EEMEFN的方法。EEMEFN由两个阶段组成:多曝光融合和边缘增强。提出了一种用于LLIE的多曝光融合网络TBEFN[20]。TBEFN估计两个分支中的传递函数,可以获得两个增强结果。最后,采用简单的平均方案对这两幅图像进行融合,并通过细化单元对结果进行进一步细化。此外,在LLIE中引入了金字塔网络(LPNet)[18]、残差网络[19]和拉普拉斯金字塔[21](DSLR)。这些方法学习通过LLIE常用的端到端网络结构来有效和高效地集成特征表示。基于对噪声在不同频率层中表现出不同对比度的观察,Xu等人[57]提出了一种基于频率的分解增强网络。该网络在低频层中恢复具有噪声抑制的图像内容,同时推断高频层中的细节。最近,提出了一种渐进递归微光图像增强网络[23],该网络使用递归单元来逐步增强输入图像。为了解决处理低光视频时的时间不稳定性,张等人[22]提出从单个图像中学习和推断运动场,然后增强时间一致性。

与在端到端网络中直接学习增强结果相比,由于物理上可解释的Retinex理论[58],[59],基于深度Retinex的方法在大多数情况下具有更好的增强性能。基于Deep Retinex的方法通常通过专门的子网络分别增强照度分量和反射率分量。提出了一种Retinex Net[4],它包括一个Decom Net和一个Enhance Net,Decom Net将输入图像分割为与光无关的反射率和结构感知的平滑照明,Enhance Network调整照明图以进行低光增强。最近,Retinex Net[4]通过添加新的约束和先进的网络设计可获得更好的增强性能[24]。为了减少计算负担,李等人[5]提出了一种用于弱照明图像增强的轻量级LightenNet,它只由四层组成。LightenNet将弱照明图像作为输入,然后估计其照明图。基于Retinex理论[58],[59],通过将输入图像除以照明图来获得增强图像。为了准确估计照明图,Wang等人[60]提取全局和局部特征,通过他们提出的DeepUPE网络学习图像到照明的映射。张等人[11]分别开发了三个子网络,用于层分解、反射率恢复和光照调整,称为KinD。此外,作者通过多尺度照明注意力模块减轻了KinD[11]结果中留下的视觉缺陷。改进后的KinD称为KinD[61]。为了解决在基于深度Retinex的方法中忽略噪声的问题,Wang等人[10]提出了一种渐进式Retinex网络,其中IM网络估计照明,NM网络估计噪声水平。这两个子网络以渐进机制工作,直到获得稳定的结果。Fan等人[14]将语义分割和Retinex模型相结合,进一步提高了真实情况下的增强性能。其核心思想是使用语义先验来指导照明分量和反射分量的增强。

尽管一些方法可以获得不错的性能,但由于使用了合成训练数据,它们在真实的弱光情况下表现出较差的泛化能力。为了解决这个问题,一些工作试图生成更真实的训练数据或捕获真实数据。蔡等人[6]构建了一个多曝光图像数据集,其中不同曝光水平的低对比度图像具有相应的高质量参考图像。每个高质量的参考图像都是通过主观地从通过不同方法增强的13个结果中选择最佳输出而获得的。此外,在构建的数据集上训练频率分解网络,并通过两阶段结构分别增强高频层和低频层。Chen等人[2]收集真实的微光图像数据集(SID),并训练U-Net[62]以学习从微光原始数据到相应的长曝光高质量参考图像的映射。此外,Chen等人[8]将SID数据集扩展到低光视频(DRV)。DRV包含静态视频和相应的长曝光地面实况。为了保证动态场景视频处理的泛化能力,提出了一种siamese网络。为了增强黑暗中的运动物体,姜和郑[9]设计了一个同轴光学系统来捕捉时间同步和空间对齐的低光和亮视频对(SMOID)。与DRV视频数据集[8]不同,SMOID视频数据集包含动态场景。为了学习从原始低光视频到高光视频的映射,提出了一种基于三维U-Net的网络。考虑到以前低光视频数据集的局限性,如仅包含统计视频的DRV数据集[8]和仅具有179个视频对的SMOID数据集[9],Triantafylidou等人[17]提出了一种低光视频合成管道,称为SIDGAN。

SIDGAN可以通过具有中间域映射的半监督双循环GAN来产生动态视频数据(原始到RGB)。为了训练这个管道,从Vimeo-90K数据集收集真实世界的视频[63]。从DRV数据集采样低光原始视频数据和相应的长曝光图像[8]。利用合成的训练数据,本工作采用与Chen等人[2]相同的U-Net网络进行低光视频增强。

强化学习。 在没有配对训练数据的情况下,Yu等人[25]通过强化对抗性学习来学习曝光照片,称为DeepExposure。具体地,首先根据曝光将输入图像分割成子图像。对于每个子图像,策略网络基于强化学习依次学习局部曝光。通过对抗性学习来近似奖励评估函数。最后,利用每个局部曝光对输入进行修饰,从而获得不同曝光下的多个修饰图像。最终的结果是通过融合这些图像来实现的。

无监督学习。 在配对数据上训练深度模型可能导致过拟合和有限的泛化能力。为了解决这个问题,提出了一种名为EnligthenGAN[26]的无监督学习方法。EnlightenGAN采用注意力引导的U-Net[62]作为生成器,并使用全局局部鉴别器来确保增强的结果看起来像真实的正常光图像。除了全局和局部对抗性损失外,还提出了全局和局部自特征保持损失来保持增强前后的图像内容。这是稳定训练这种单路径生成对抗性网络(GAN)结构的关键。

零样本学习。 监督学习、强化学习和无监督学习方法要么泛化能力有限,要么训练不稳定。为了解决这些问题,提出了零样本学习,仅从测试图像中学习增强。请注意,在低级视觉任务中使用零样本学习的概念是为了强调该方法不需要成对或不成对的训练数据,这与高级视觉任务中的定义不同。张等人[27]提出了一种零样本学习方法,称为ExCNet,用于后向图像恢复。首先使用网络来估计最适合输入图像的S曲线。一旦估计了S曲线,就使用引导滤波器将输入图像分离为基本层和细节层[64]。然后通过估计的Scurve来调整基层。最后,使用Weber对比度[65]来融合细节层和调整后的基层。为了训练ExCNet,作者将损失函数公式化为基于块的能量最小化问题。朱等人[29]提出了一种三分支CNN,称为RRDNet,用于曝光不足的图像恢复。RRDNet通过迭代最小化专门设计的损失函数,将输入图像分解为照度、反射率和噪声。为了驱动零样本学习,提出了Retinex重建损失、纹理增强损失和照明引导噪声估计损失的组合。赵等人([31])通过神经网络进行Retinex分解,然后基于Retinex模型增强低光图像,称为RetinexDIP。受到Deep Image Prior(DIP)[66]的启发,RetinexDIP利用随机采样的白噪声生成输入图像的反射分量和照明分量,其中与分量特征相关的损失(如照明平滑度)用于训练。刘等人([32])提出了一种基于Retinex灵感的LLIE展开方法,在其中利用合作式架构搜索来发现基本块的轻量级先验架构,并使用非参考损失来训练网络。与基于图像重建的方法[1],[3],[4],[11],[12],[21],[61]不同,提出了一种深度曲线估计网络,Zero-DCE [28]。Zero-DCE将光增强表述为图像特定曲线估计的任务,将低光图像作为输入,并将高阶曲线作为输出。这些曲线用于对输入的动态范围进行像素级调整,以获得增强的图像。此外,提出了一种加速和轻量级版本,称为Zero-DCE++ [30]。这些基于曲线的方法在训练过程中不需要任何配对或非配对数据。它们通过一组非参考损失函数实现零参考学习。此外,不同于需要高计算资源的基于图像重建的方法,图像到曲线的映射只需要轻量级网络,因此具有快速推断速度。

半监督学习。 为了结合监督学习和无监督学习的优势,近年来提出了半监督学习。杨等人[33]提出了一种半监督深度递归带网络(DRBN)。DRBN首先在监督学习下恢复增强图像的线性波段表示,然后通过基于无监督对抗性学习的可学习线性变换重新组合给定波段来获得改进的波段表示。DRBN是通过引入长短期记忆(LSTM)网络和在美学视觉分析数据集上预训练的图像质量评估网络来扩展的,这实现了更好的增强性能[34]。

观察图3a,我们可以发现,在基于深度学习的LLIE方法中,监督学习是主流,其比例达到73%。这是因为当使用成对的训练数据(如LOL[4]、SID[2])和各种低/正常光图像合成方法时,监督学习相对容易。然而,基于监督学习的方法面临一些挑战:1)收集覆盖不同现实世界弱光条件的大规模配对数据集是困难的,2)合成弱光图像不能准确地表示真实世界的照度条件,如空间变化的照明和不同水平的噪声,以及3)在配对数据上训练深度模型可能导致对具有不同照明特性的真实世界图像的有限泛化。

因此,一些方法采用无监督学习、强化学习、半监督学习和零射击学习来绕过监督学习中的挑战。尽管这些方法实现了竞争性的性能,但它们仍然存在一些局限性:1)对于无监督学习/半监督学习方法,如何实现稳定的训练,避免颜色偏差,并建立跨域信息的关系,对当前方法提出了挑战;2)对于强化学习方法,设计有效的奖励机制和实现高效稳定的训练是复杂的。3)对于零样本学习方法,当需要考虑颜色保持、伪影去除和梯度反向传播时,非参考损失的设计是不平凡的。

3TECHNICAL REVIEW AND DISCUSSION

在本节中,我们首先总结了表1中具有代表性的基于深度学习的LLIE方法,然后分析和讨论它们的技术特征。

3.1 Network Structure

现有的模型中使用了多种网络结构和设计,从基本的U-Net、金字塔网络、多级网络到频率分解网络。通过分析图3b,可以看出,LLIE中主要采用U-Net和U-Net类网络结构。这是因为U-Net可以有效地集成多尺度特征,并同时使用低层次和高层次特征。这样的特性对于实现令人满意的微光增强是必不可少的。

然而,在当前的LLIE网络结构中,一些关键问题可能会被忽略:1)在经过几个卷积层之后,由于其像素值较小,极低光图像的梯度可能会在梯度反向传播过程中消失。这将降低增强性能并影响网络训练的收敛性,2)类UNet网络中使用的跳过连接可能会在最终结果中引入噪声和冗余特征。应仔细考虑如何有效地滤除噪声并集成低级和高级特征,以及3)尽管LLIE提出了一些设计和组件,但大多数都是从相关的低级视觉任务中借鉴或修改的。在设计网络结构时,应考虑弱光数据的特性。

3.2 Combination of Deep Model and Retinex Theory

如图3c,几乎1/3的方法将深度网络的设计与Retinex理论相结合,例如,设计不同的子网络来估计Retinex模型的分量,并估计照明图来指导网络的学习。尽管这种组合可以桥接基于深度学习和基于模型的方法,但它们各自的弱点可能会被引入最终模型:1)基于Retinex的LLIE方法中使用的反射率是最终增强结果的理想假设仍然会影响最终结果,2)尽管使用了Retinex理论,深度网络中的过拟合风险仍然存在。当研究人员将深度学习与Retinex理论相结合时,应该仔细考虑如何提炼出最好的东西并过滤掉杂质。

3.3 Data Format 

如图3d,RGB数据格式主导了大多数方法,因为它通常是智能手机相机、Go-Pro相机和无人机相机产生的最终图像形式。尽管原始数据仅限于特定的传感器,例如基于拜耳模式的传感器,但数据覆盖了更宽的色域和更高的动态范围。因此,在原始数据上训练的深度模型通常恢复得很清楚的细节和高对比度,获得生动的色彩,减少噪音和伪影的影响,提高极低光线图像的亮度。在未来的研究中,从不同模式的原始数据到RGB格式的平滑转换将有可能结合RGB数据的便利性和LLIE高质量增强原始数据的优势。

3.4 Loss Function

在图3e中,LLIE模型中常用的损失函数包括重建损失(L1、L2、SSIM)、感知损失和平滑度损失。此外,根据不同的需求和配方,还采用了颜色损失、曝光损失、对抗性损失等。我们详细介绍了代表性损失函数如下。

重建损失。不同的重建损失有其优缺点。L2丢失倾向于惩罚较大的错误,但容忍较小的错误。L1损失很好地保持了颜色和亮度,因为无论局部结构如何,误差都被相等地加权。SSIM损失很好地保留了结构和纹理。详细分析请参考本研究论文[67]。

感知损失。感知损失[68],特别是特征重建损失,被提出来约束特征空间中类似于地面实况的结果。这种损失提高了结果的视觉质量。它被定义为增强结果的特征表示与相应的基本事实的特征表示之间的欧氏距离。特征表示通常从在ImageNet数据集[70]上预训练的VGG网络[69]中提取。

平滑度损失。为了去除增强结果中的噪声或保持相邻像素的关系,通常使用平滑度损失(TV损失)来约束增强结果或估计的照明图。

对抗性损失。为了鼓励增强的结果与参考图像不可区分,对抗性学习解决了最大-最小优化问题[71],[72]。

暴露损失。作为关键的非参考损失之一,曝光损失测量在没有配对或未配对图像作为参考图像的情况下增强结果的曝光水平。

LLIE网络中常用的损失函数也用于图像重建网络,用于图像超分辨率[73]、图像去噪[74]、图像去训练[75]、[76]、[77]和图像去模糊[78]。与这些通用损耗不同,LLIE专门设计的暴露损耗启发了非参考损耗的设计。非参考损失使模型具有更好的泛化能力。在损失函数的设计中考虑图像特征是一项正在进行的研究。

3.5 Training Datasets

图3f报告了用于训练弱光增强网络的各种成对训练数据集的使用情况。这些数据集包括真实世界的捕获数据集和合成数据集。我们在表2中列出了它们。

Simulated by Gamma Correction. 由于其非线性和简单性,Gamma校正被用来调整视频或静止图像系统中的亮度或三刺激值。它由一个幂律表达式定义。

其中输入Vin和输出Vout通常在[0,1]的范围内。在常见情况下,常数A被设置为1。功率g控制输出的亮度。直观地说,当g<1时输入变亮,而当g>1时输入则变暗。输入可以是图像的三个RGB通道,或者亮度相关通道,例如CIELab颜色空间中的L通道和YCbCr颜色空间的Y通道。在使用伽玛校正调整亮度相关通道之后,以相等比例调整颜色空间中的相应通道,以避免产生伪影和颜色偏差。

为了模拟在真实世界的低光场景中拍摄的图像,将高斯噪声、泊松噪声或真实噪声添加到Gamma校正的图像中。使用伽玛校正合成的微光图像可以表示为:

通过随机照明模拟。根据Retinex模型,可以将图像分解为反射分量和照明分量。假设图像内容与照明分量无关,并且照明分量中的局部区域具有相同的强度,则可以通过

其中L是[0,1]范围内的随机照明值。噪声可以被添加到合成图像中。这样的线性函数避免了伪影,但强假设要求合成仅在局部区域具有相同亮度的图像块上操作。在这样的图像块上训练的深度模型可能由于上下文信息的疏忽而导致次优性能。

LOL.LOL[4]是第一个在真实场景中拍摄的成对低光/正常光图像数据集。通过改变曝光时间和ISO来收集低光图像。LOL包含以RGB格式保存的500对大小为400X600的低光/正常光图像。

SCIE。SCIE是低对比度和高对比度图像对的多曝光图像数据集。它包括589个室内和室外场景的多曝光序列。每个序列具有3到18个不同曝光水平的低对比度图像,因此总共包含4413个多重曝光图像。589幅高质量参考图像是通过从13种代表性增强算法的结果中进行选择而获得的。也就是说,许多多重曝光图像具有相同的高对比度参考图像。图像分辨率介于3000、2000和6000、4000之间。SCIE中的图像以RGB格式保存。

MIT-Adobe FiveK. 

MIT-Adobe FiveK [79]是为全局色调调整而收集的,但已被用于低光图像增强(LLIE)。这是因为输入图像具有低光和低对比度。MIT-Adobe FiveK包含5000张图像,每张图像都由5位训练有素的摄影师进行润色,以呈现视觉上令人愉悦的效果,类似明信片。这些图像都是原始格式。为了训练能够处理RGB格式图像的网络,需要使用Adobe Lightroom对图像进行预处理,并按照专用流程将它们保存为RGB格式。通常会将图像调整大小,使其中较长的边为500像素。

SID。SID[2]包含5094个原始短曝光图像,每个图像具有对应的长曝光参考图像。不同的长曝光参考图像的数量是424。换言之,多个短曝光图像对应于相同的长曝光参考图像。这些照片是用两台相机拍摄的:索尼a7S II和富士胶片X-T2,用于室内和室外场景。因此,图像具有不同的传感器模式(索尼相机的拜耳传感器和富士相机的APS-C X-Trans传感器)。索尼的分辨率为4240 2832,富士的分辨率为6000 4000。通常,长曝光图像由libraw(原始图像处理库)处理并保存在RGB颜色空间中,并随机裁剪512个补丁进行训练。

VE-LOL. VE-LOL[55]由两个子集组成:成对VEOL-L用于训练和评估LLIE方法,非成对VE-LOL-H用于评估LLIE对人脸检测的影响。具体而言,VEOL-L包括2500张配对图像。其中,1000对是合成的,而1500对是真实的。VE-LOL-H包括10940张未配对的图像,其中人脸用边界框手动注释

DRV.  DRV [8] 包含 202 段静态原始视频,每个视频都有对应的长曝光参照图。每个视频以连续拍摄模式以约 16 到 18 帧每秒的速度拍摄,最多有 110 帧。这些图像是由索尼 RX100 VI 相机在室内和室外场景中拍摄的,因此全部都是 Bayer 格式的原始图像。分辨率为 3,672X5,496。

SMOID. SMOID 包含179对由同轴光学系统拍摄的视频,每个视频具有200帧。因此,SMOID包括35800个拜耳图案的极低光原始数据及其相应的明亮RGB对应数据。SMOID由在不同照明条件下行驶的车辆和行人组成。

一些问题挑战了上述配对训练数据集:1)由于合成数据和真实数据之间的差距,在处理真实世界的图像和视频时,在合成数据上训练的深度模型可能会引入伪影和颜色偏差;2)真实训练数据的规模和多样性不令人满意,因此一些方法结合了合成数据来增强训练数据。这可能导致次优增强,并且3)由于运动、硬件和环境的影响,输入图像和相应的地面实况可能存在错位。这将影响使用逐像素损失函数训练的深度网络的性能。

3.6 Testing Datasets

除了配对数据集[2]、[4]、[6]、[8]、[9]、[55]、[79]中的测试子集外,还有一些从相关工作中收集的测试数据或通常用于实验比较。此外,一些数据集,如黑暗中的人脸检测[80]和微光图像中的检测和识别[81],被用来测试LLIE对高级视觉任务的影响。我们在表3中总结了常用的测试数据集,并介绍了具有代表性的测试数据如下。

BBD-100K。BBD-100K[84]是最大的驾驶视频数据集,有10000个视频,在一天中的许多不同时间、天气条件和驾驶场景中拍摄了超过1100小时的驾驶体验,以及10个任务注释。在BBD-100K中夜间拍摄的视频用于验证LLIE对高级视觉任务的影响以及在真实场景中的增强性能。

ExDARK。ExDARK[81]数据集用于低光图像中的物体检测和识别。ExDARK数据集包含7363张从极低光环境到黄昏的低光图像,其中12个对象类用图像类标签和局部对象边界框进行了注释。

DARK FACE. DARK FACE[80]数据集包含6000张夜间拍摄的微光图像,每张图像都用人脸的边界框标记。

从图3g和表1可以观察到,人们更倾向于在实验中使用自行收集的测试数据。主要原因有三点:1)除了配对数据集的测试部分外,没有公认的基准用于评估;2)常用的测试集存在一些缺点,比如规模较小(一些测试集仅包含10张图像)、重复内容和光照属性,以及未知的实验设置;3)一些常用的测试数据并非最初用于评估低光图像增强。总的来说,当前的测试数据集可能导致偏见和不公平的比较。

3.7 Evaluation Metrics

除了基于人类感知的主观评估外,图像质量评估(IQA)指标,包括全参考和非参考IQA指标,能够客观地评估图像质量。此外,用户研究、可训练参数的数量、FLOP、运行时间和应用程序也反映了LLIE模型的性能,如图3h。我们将详细说明如下。

PSNR和MSE。PSNR和MSE是广泛使用的IQA度量。它们总是非负的,并且更接近无穷大(PSNR)和零(MSE)的值更好。然而,逐像素PSNR和MSE可能提供图像质量的视觉感知的不准确指示,因为它们忽略了相邻像素的关系。MAE表示平均绝对误差,作为成对观测之间误差的度量。MAE值越小,相似性越好。SSIM用于度量两幅图像之间的相似度。它是一种基于感知的模型,将图像退化视为结构信息中可感知的变化。值1仅在两个相同的数据集的情况下才可达,表示完美的结构相似性。LOE表示反映增强图像的自然度的明度阶误差。对于LOE,LOE值越小,亮度顺序就保持得越好。

应用。除了提高视觉质量,图像增强的目的之一是为高级视觉任务服务。因此,通常会检查LLIE对高级视觉应用程序的影响,以验证不同方法的性能。

LLIE中使用的当前评估方法需要在几个方面进行改进:1)尽管PSNR、MSE、MAE和SSIM是经典和流行的指标,但它们仍然远远不能捕捉到人类的真实视觉感知;2)一些指标最初并不是为低光图像设计的。它们用于评估图像信息的保真度和对比度。使用这些度量可以反映图像质量,但它们远不是微光增强的真正目的,3)除了LOE度量之外,缺乏专门为微光图像设计的度量。此外,没有用于评估低光视频增强的度量,并且4)期望能够平衡人类视觉和机器感知的度量。

4 BENCHMARKING AND EMPIRICAL ANALYSIS

 本节提供了实证分析,并强调了基于深度学习的LLIE中的一些关键挑战。为了便于分析,我们提出了一个低光图像和视频数据集来检查不同解决方案的性能。我们还开发了第一个在线平台,可以通过用户友好的网络界面生成LLIE模型的结果。在本节中,我们对几个基准和我们提出的数据集进行了广泛的评估。

在实验中,我们比较了13种具有代表性的基于RGB格式的方法,包括8种基于监督学习的方法(LLNet[1]、LightenNet[5]、Retinex-Net[4]、MBLLEN[3]、KinD[11]、KinD[61]、TBEFN[20]、DSLR[21])、,以及三种基于零样本学习的方法(ExCNet[27]、zero-DCE[28]、RRDNet[29])。此外,我们还比较了两种基于原始格式的方法,包括SID[85]和EEMEFN[16]。请注意,基于RGB格式的方法在LLIE中占主导地位。此外,大多数基于原始格式的方法都不会发布它们的代码。因此,我们选择了两种具有代表性的方法来提供实证分析和见解。对于所有比较的方法,我们使用公开的代码来生成它们的结果,以便进行公平的比较。

4.1 A New Low-Light Image and Video Dataset

我们提出了一个名为LLIV-Phone的微光图像和视频数据集,以全面彻底地验证LLIE方法的性能。LLIV Phone是同类产品中最大、最具挑战性的真实世界测试数据集。特别是,该数据集包含18款不同手机摄像头拍摄的120个视频(45148张图像),包括iPhone 6s、iPhone 7、iPhone 7 Plus、iPhone 8 Plus、iPhone 11、iPhone 11 Pro、iPhone XS、iPhone XR、iPhone SE、小米Mi 9、小米Mix 3、Pixel 3、Pixel4、Oppo R17、Vivo Nex、LG M322、OnePlus 5T,华为Mate 20 Pro在室内和室外的各种照明条件下(如弱光、曝光不足、月光、黄昏、黑暗、极暗、背光、非均匀光和彩色光)。LLIV Phone数据集摘要见表4。我们在图4中展示了LLIV Phone数据集的几个样本。LLIV Phone数据集可在项目页面上获得。

这个具有挑战性的数据集是在真实场景中收集的,包含各种低光图像和视频。因此它适用于评估不同微光图像和视频增强模型的泛化能力。值得注意的是,该数据集可以用作无监督学习的训练数据集和合成方法的参考数据集,以生成逼真的微光数据。

4.2 Online Evaluation Platform 

不同的深度模型可以在不同的平台上实现,如Caffe、Theano、TensorFlow和PyTorch。因此,不同的算法需要不同的配置、GPU版本和硬件规格。对于许多研究人员来说,这样的要求是令人望而却步的,尤其是对于新手来说,他们甚至可能没有GPU资源。为了解决这些问题,我们开发了一个名为LLIE平台的LLIE在线平台,可在http://mc.nankai.edu.cn/ll/. 

截至本提交之日,LLIE平台涵盖了14种流行的基于深度学习的LLIE方法,包括LLNet[1]、LightenNet[5]、Retinex-Net[4]、EnlightenGAN[26]、MBLLEN[3]、KinD[11]、KinD[61]、TBEFN[20]、DSLR[21]、DRBN[33]、ExCNet[27]、Zero DCE[28]、ZeroDCE[30]和RRDNet[29],其中任何输入的结果都可以通过用户友好的网络界面生成。我们将定期在此平台上提供新方法。我们希望这个LLIE平台能够通过为用户提供一个灵活的界面来运行现有的基于深度学习的LLIE方法并开发他们自己的新LLIE方法,从而为不断增长的研究社区服务。

4.3 Benchmarking Results

为了对不同的方法进行定性和定量评估,除了所提出的LLIV-Phone数据集外,我们还采用了常用的LOL[4]和MIT Adobe FiveK[79]数据集用于基于RGB格式的方法,以及SID[85]数据集用于原始格式的方法。更多可视化结果可在补充材料中找到。 https://www.youtube.com/watch?v¼Elo9TkrG5Oo&t¼6s.

我们从LLIV Phone数据集的每个视频中平均选择五个图像,形成一个总共有600个图像的图像测试数据集(表示为LLIV Phone imgT)。此外,我们从每个手机品牌的LLIV phone数据集中随机选择一个视频,形成一个共有18个视频的视频测试数据集(表示为LLIV phone vidT)。我们将LLIV Phone imgT和LLIV Phone vidT中的帧分辨率减半,因为一些基于深度学习的方法无法处理测试图像和视频的全分辨率。对于LOL数据集,我们采用原始测试集,包括在真实场景中捕获的15幅微光图像进行测试,称为LOL测试。对于MIT Adobe FiveK数据集,我们遵循Chen等人[47]中的协议,将图像解码为PNG格式,并使用Lightroom调整其大小,使其具有512像素的长边。我们采用了与Chen等人相同的测试数据集。[47],麻省理工学院Adobe FiveK测试,包括500张图像,其中专家C的润饰结果作为相应的基本事实。对于SID数据集,我们使用EEMEFN[16]中使用的默认测试集进行公平比较,表示为SID测试(SID测试Bayer和SID-test-X-Trans),这是SID的部分测试集[85]。SID测试拜耳包括93个拜耳图案的图像,而SID测试-X-Trans包括94个APS-C X-Trans图案的图像。

定性比较。我们首先在图5和图6中展示了不同方法对从LOL测试和MIT Adobe FiveK测试数据集采样的图像的结果。如图5所示,所有方法都提高了输入图像的亮度和对比度。然而,当将结果与基本事实进行比较时,它们都没有成功地恢复输入图像的准确颜色。特别地,LLNet[1]产生模糊结果。LightenNet[5]和RRDNet[29]产生曝光不足的结果,而MBLLEN[3]和ExCNet[27]过度曝光图像。KinD[11]、KinD[61]、TBEFN[20]、DSLR[21]、EnlightenGAN[26]和DRBN[33]引入了明显的伪影。在图6中,LLNet[5]、KinD[61]、TBEFN[20]和RRDNet[29]产生过度暴露的结果。Retinex-Net[4]、KinD[61]和RRDNet[29]在结果中产生伪影和模糊。我们发现MIT Adobe FiveK数据集的基本事实仍然包含一些黑暗区域。这是因为数据集最初是为全局图像修饰而设计的,在全局图像修饰中,恢复弱光区域不是这项任务的主要优先事项。我们还观察到,LOL数据集和MIT Adobe FiveK数据集中的输入图像相对干净,没有噪声,这与真实的低光场景不同。尽管一些方法[18]、[21]、[60]将MIT Adobe FiveK数据集作为训练或测试数据集,但我们认为该数据集不适合LLIE的任务,因为其LLIE的基本事实不匹配/不令人满意。

为了检验不同方法的泛化能力,我们对从LLIV Phone imgT数据集中采样的图像进行了比较。不同方法的可视化结果如图7和图8所示。如图6所示,7,所有方法都不能有效地提高输入微光图像的亮度和去除噪声。此外,Retinex-Net[4]、MBLLEN[3]和DRBN[33]会产生明显的伪影。在图8中,所有方法都提高了该输入图像的亮度。然而,只有MBLLEN[3]和RRDNet[29]在没有颜色偏差、伪影和过度/不足曝光的情况下获得视觉上令人愉悦的增强。值得注意的是,对于有光源的区域,没有一种方法可以在不放大这些区域周围的噪声的情况下使图像变亮。将光源考虑到LLIE将是一个有趣的探索方向。结果表明,增强LLIV Phone imgT数据集的图像是困难的。由于这些方法的泛化能力有限,真实的微光图像无法通过大多数现有的LLIE方法。潜在的原因是使用了合成训练数据、小规模训练数据或不切实际的假设,如局部照明一致性和在这些方法中将反射分量视为Retinex模型的最终结果。

我们在图9中进一步展示了基于原始格式的方法的视觉比较。如图所示,输入的原始数据具有明显的噪声。SID[2]和EEMEFN[16]都可以有效地去除噪声的影响。与SID[2]中使用的简单U-Net结构相比,EEMEFN[16]更复杂的结构获得了更好的亮度恢复。然而,他们的结果与相应的GT相去甚远,尤其是对于APS-C X-Trans模式的输入。

定量比较。对于具有基本事实的测试集,即LOL测试、MIT Adobe FiveK测试和SID测试,我们采用MSE、PSNR、SSIM[86]和LPIPS[87]度量来定量比较不同的方法。LPIPS[87]是一种基于深度学习的图像质量评估指标,用于测量结果与其之间的感知相似性定量比较。对于具有基本事实的测试集,即LOL测试、MIT Adobe FiveK测试和SID测试,我们采用MSE、PSNR、SSIM[86]和LPIPS[87]度量来定量比较不同的方法。LPIPS[87]是一种基于深度学习的图像质量评估指标,用于测量结果与其之间的感知相似性。

如表5所示,在LOL-test和MIT-Adobe FiveK-test数据集上,基于监督学习的方法的量化得分优于基于无监督学习、基于半监督学习和基于零样本学习的方法。其中LLNet[1]获得LOL测试数据集上的最佳MSE和PSNR值;然而,它在MIT Adobe FiveK测试数据集上的性能有所下降。这可能是由于LLNet[1]对LOL数据集的偏见造成的,因为它是使用LOL训练数据集训练的。对于LOL测试数据集,TBEFN[20]获得最高的SSIM值,而KinD[11]获得最低的LPIPS值。尽管一些方法是在LOL训练数据集上训练的,但在LOL测试数据集上的这四个评估指标中没有赢家。对于MIT Adobe FiveK测试数据集,尽管在合成训练数据上进行了训练,但MBLLEN[3]在四个评估指标下的性能优于所有比较方法。尽管如此,MBLLEN[3]仍然无法在两个测试数据集上获得最佳性能。

......

5 OPEN ISSUES

在本节中,我们将微光图像和视频增强中的未决问题总结如下。

泛化能力。尽管现有的方法可以产生一些视觉上令人愉悦的结果,但它们的泛化能力有限。例如,在MIT Adobe FiveK数据集[79]上训练的方法不能有效增强LOL数据集[4]的低光图像。尽管使用合成数据来增加训练数据的多样性,但在真实数据和合成数据的组合上训练的模型不能很好地解决这个问题。提高LLIE方法的泛化能力是一个悬而未决的问题。

消除未知噪音。观察现有方法对不同类型手机摄像头拍摄的微光图像的处理结果,我们可以发现这些方法不能很好地去除噪声,甚至不能放大噪声,尤其是在噪声类型未知的情况下。尽管有些方法在训练数据中添加了高斯和/或泊松噪声,但噪声类型与实际噪声不同,因此这些方法在实际场景中的性能并不令人满意。消除未知噪音仍未解决。

消除未知伪影:可以增强从互联网下载的微光图像。图像可能经历了一系列退化,如JPEG压缩或编辑。因此,图像可能包含未知伪影。抑制未知伪影仍然挑战现有的微光图像和视频增强方法。

校正不均匀照明。在真实场景中拍摄的图像通常表现出不均匀的照明。例如,在夜间拍摄的图像具有暗区域和正常光,或者具有过度暴露的区域,例如光源的区域。现有的方法倾向于使暗区域和光源区域都变亮,从而影响增强结果的视觉质量。期望它增强暗区域,但抑制过度暴露的区域。然而,在现有的LLIE方法中,这个悬而未决的问题并没有很好地解决。

区分语义区域。现有的方法倾向于增强弱光图像,而不考虑其不同区域的语义信息。例如,在低光图像中的男性的黑色头发被增强为灰白色,因为黑色头发被视为低光区域。期望理想的增强方法仅增强由外部环境引起的低光区域。如何区分语义区域是一个悬而未决的问题。

使用相邻帧。尽管已经提出了一些增强低光视频的方法,但它们通常逐帧处理视频。如何充分利用相邻帧来提高增强性能,加快处理速度是一个悬而未决的问题。例如,相邻帧的良好照明区域用于增强当前帧。例如,可以重用用于处理相邻帧的估计参数来增强当前帧,以减少参数估计的时间。

6 FUTURE RESEARCH DIRECTIONS

微光增强是一个具有挑战性的研究课题。从第4节中的实验和第5节中未解决的未决问题可以看出,仍有改进的空间。我们建议未来的潜在研究方向如下。

有效的学习策略。如上所述,当前的LLIE模型主要采用监督学习,这需要大量的配对训练数据,并且可能在特定的数据集上过度拟合。尽管一些研究人员试图将无监督学习引入LLIE,但LLIE与这些学习策略之间的内在关系尚不清楚,它们在LLIE中的有效性需要进一步提高。零样本学习在不需要配对训练数据的情况下,在真实场景中表现出了稳健的性能。这一独特优势表明零样本学习是一个潜在的研究方向,尤其是在零参考损失、深度先验和优化策略的制定方面。

专门的网络结构。网络结构会显著影响增强性能。如前所述,大多数LLIE深度模型采用U-Net或U-Net类结构。尽管他们在某些情况下取得了有希望的表现,但如果编码器-解码器网络结构是最适合LLIE任务的仍然缺乏的。一些网络结构由于其大的参数空间而需要高的内存占用和长的推理时间。这种网络结构对于实际应用是不可接受的。因此,考虑到微光图像的特性,如不均匀照明、小像素值、噪声抑制和颜色恒定性,研究LLIE的更有效的网络结构是值得的。还可以通过考虑低光图像的局部相似性或考虑更有效的操作(如深度可分离卷积层[95]和自校准卷积[96])来设计更有效的网络结构。神经结构搜索(NAS)技术[97],[98]可以被认为是获得更有效和高效的LLIE网络结构。将变压器架构[99]、[100]改编为LLIE可能是一个潜在且有趣的研究方向。

损失函数。损失函数约束输入图像和地面实况之间的关系,并驱动深度网络的优化。在LLIE中,常用的损失函数是从相关的视觉任务中借来的。因此,需要设计更适合LLIE的损耗函数。最近的研究表明,使用深度神经网络来近似人类对图像质量的视觉感知的可能性[101],[102]。这些思想和基本理论可用于指导微光增强网络的损耗函数设计。

真实的训练数据。尽管LLIE有几个训练数据集,但它们的真实性、规模和多样性都落后于真实的弱光条件。因此,如第4节所示,当遇到在真实世界场景中捕获的微光图像时,当前的LLIE深度模型无法实现令人满意的性能。需要更多的努力来研究大规模和多样化的真实世界配对LLIE训练数据集的收集,或者生成更真实的合成数据。

标准测试数据。目前,没有公认的LLIE评估基准。研究人员更喜欢选择可能与他们提出的方法有偏差的测试数据。尽管一些研究人员将一些配对数据作为测试数据,但在文献中,训练和测试分区的划分大多是临时的。因此,如果不是不可能的话,在不同的方法之间进行公平的比较往往是费力的。此外,一些测试数据要么易于处理,要么不是最初为低光增强而收集的。希望有一个标准的低光图像和视频测试数据集,其中包括大量具有相应地面实况的测试样本,覆盖不同的场景和具有挑战性的照明条件。

特定任务评估指标。LLIE中常用的评价指标可以在一定程度上反映图像质量。然而,如何衡量LLIE方法增强的结果有多好仍然是当前IQA指标的挑战,尤其是对于非参考测量。当前的IQA指标要么关注人类视觉感知,如主观质量,要么强调机器感知,如对高级视觉任务的影响。因此,在这一研究方向上,预计将有更多的工作致力于为LLIE设计更准确、更具体的评估指标。

强大的泛化能力。在真实世界的测试数据上观察实验结果,大多数方法由于泛化能力有限而失败。泛化能力差是由合成训练数据、小规模训练数据、无效的网络结构或不切实际的假设等因素造成的。探索提高泛化能力的方法是很重要的。

扩展到微光视频增强。与视频去模糊[103]、视频去噪[104]和视频超分辨率[105]等其他低级别视觉任务中视频增强的快速发展不同,微光视频增强受到的关注较少。直接应用现有的LLIE方法来视频软化会导致不令人满意的结果和闪烁的伪影。需要付出更多的努力来有效地去除视觉闪烁,利用相邻帧之间的时间信息,并加快增强速度。

整合语义信息。语义信息对于弱光增强至关重要。它指导网络在增强过程中区分不同的区域。没有语义先验的网络很容易偏离区域的原始颜色,例如,在增强后将黑色头发变成灰色。因此,将语义先验集成到LLIE模型中是一个很有前途的研究方向。在图像超分辨率[106]、[107]和人脸恢复[108]方面也进行了类似的工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1323223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用 SpringBoot+Redis 解决海量重复提交问题

1 前言 在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求&#xff0c;我们来解释一下幂等的概念&#xff1a;**任意多次执行所产生的影响均与一次执行的影响相同 。**按照这个含义&#xff0c;最终的含义就是 对数据库的影响只能是一次性的&#xff0c;不能重复处理…

智能优化算法应用:基于寄生捕食算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于寄生捕食算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于寄生捕食算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.寄生捕食算法4.实验参数设定5.算法结果6.…

(自适应手机版)全屏滚动装修装潢公司网站模板

(自适应手机版)全屏滚动装修装潢公司网站模板 PbootCMS内核开发的网站模板&#xff0c;该模板适用于装修公司网站、装潢公司网站类等企业&#xff0c;当然其他行业也可以做&#xff0c;只需要把文字图片换成其他行业的即可&#xff1b; 自适应手机版&#xff0c;同一个后台&a…

企业微信无法给Gmail发邮件问题

问题说明 在使用企业微信给国外客户的Gmail邮箱发信件的时候&#xff0c;邮件一直被退信&#xff0c;退信内容如下&#xff1a; 发件人&#xff08;*******.cn&#xff09;域名的DNS记录未设置或设置错误导致对方拒收此邮件。 host gmail-smtp-in.l.google.com[142.251.175.2…

Qt Q_DECL_OVERRIDE

Q_DECL_OVERRIDE也就是C的override&#xff08;重写函数&#xff09;&#xff0c;其目的就是为了防止写错虚函数,在重写虚函数时需要用到。 /* 鼠标按下事件 */ void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; 参考: Qt Q_DECL_OVERRIDE - 一杯清酒邀明月 - 博客…

CentOS:Docker容器中安装vim

在使用docker容器时&#xff0c;里边没有安装vim时&#xff0c;敲vim命令时提示说&#xff1a;vim: command not found 这个时候就须要安装vim&#xff0c;安装命令&#xff1a; apt-get install vim 出现以下错误&#xff1a; 解决方法&#xff1a; apt-get update 这个命令的…

RabbitMQ 高级

1.发送者的可靠性 首先&#xff0c;我们一起分析一下消息丢失的可能性有哪些。消息从发送者发送消息&#xff0c;到消费者处理消息&#xff0c;需要经过的流程是这样的&#xff1a; 消息从生产者到消费者的每一步都可能导致消息丢失&#xff1a; 发送消息时丢失&#xff1a; 生…

http -- 跨域问题详解(浏览器)

参考链接 参考链接 1. 跨域报错示例 Access to XMLHttpRequest at http://127.0.0.1:3000/ from origin http://localhost:3000 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: No Access-Control-Allow-Origin header…

星融元中标华夏银行项目,助力金融数据中心可视网建设工作

近日&#xff0c;星融元成功入围华夏银行国产品牌网络流量汇聚分流器&#xff08;TAP&#xff09;设备供应商&#xff0c;在助力头部金融机构构建数据中心可视网络的建设工作中&#xff0c;星融元又一次获得全国性股份制银行客户的青睐。 华夏银行作为全国性股份制商业银行积极…

Vue+ElementUI前端添加展开收起搜索框按钮

1、搜索框添加判断 v-if"advanced" <el-form-item label"创建日期" v-if"advanced"><el-date-pickerv-model"daterangeLedat"size"small"style"width: 240px"value-format"yyyy-MM-dd"type&q…

SQL 入门指南:从零开始学习 SQL

当今时代&#xff0c;数据已经成为了我们生活中不可或缺的一部分。无论是企业的经营决策&#xff0c;还是个人的日常消费习惯&#xff0c;都需要通过对数据的收集、分析和应用来实现更好的结果。 而关系型数据库系统&#xff0c;作为最常见的数据存储和管理方式&#xff0c;SQ…

大数据讲课笔记5.1 初探MapReduce

文章目录 零、学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;MapReduce核心思想&#xff08;二&#xff09;MapReduce编程模型&#xff08;三&#xff09;MapReduce编程实例——词频统计思路1、Map阶段&#xff08;映射阶段&#xff09;2、Reduce阶段&#xff08…

webpack知识点总结(基础应用篇)

一、为什么需要webpack 1.为什么使用webpack ①传统的书写方式&#xff0c;加载太多脚本会导致网络瓶颈&#xff0c;如不小心改变JavaScript文件加载顺序&#xff0c;项目会崩溃&#xff0c;还会导致作用域问题、js文件太大无法做到按需加载、可读性和可维护性太低的问题。 ②…

AWS Linux安装桌面并远程访问

文章目录 小结问题及解决参考 小结 在AWS Linux安装了桌面并进行远程访问。 问题及解决 需要使用过程桌面访问AWS Linux&#xff0c;这里在AWS服务器安装并使用Amazon Linux 2 MATE desktop。 检查OS版本&#xff1a; [ec2-userip-10-0-3-241 ~]$ grep PRETTY_NAME /etc/o…

lv12 linux 内核移植 10

目录 1 内核概述 1.1 内核与操作系统 1.2 Linux层次结构 1.3 Linux内核特点 2 Linux内核源码结构 2.1 Linux内核源码获取 2.2 源码结构 3 Linux内核移植 3.1 在 Linux 官网下载 Linux 内核源码&#xff08;这里我们下载 linux-3.14.tar.xz&#xff09; 3.2 拷贝内核源…

景区气象站:旅游体验的新升级

随着科技的发展和人们生活水平的提高&#xff0c;越来越多的人选择在节假日或周末外出旅游&#xff0c;感受大自然的美好。然而&#xff0c;在享受大自然的同时&#xff0c;天气因素成为了影响旅游体验的关键因素之一。为了更好地服务游客&#xff0c;许多景区开始引入气象站&a…

多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现KOA-CNN-B…

ArcGIS Pro中去除黑边方法汇总

在有些时候&#xff08;比如镶嵌栅格后&#xff09;&#xff0c;我们获取到的影像数据可能会有黑边&#xff0c;这里为大家汇总一下在ArcGIS Pro中去除黑边的方法&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的影像数据&#xff0c;除了…

开发知识点-09Rust

Rust Rust 语言通常用于编写系统级软件、网络服务器和高性能应用程序&#xff0c;它具有以下特点&#xff1a;1. 高性能和内存安全&#xff1a;Rust 在保证高性能的同时&#xff0c;利用其所有权模型和借用检查器等特性确保内存安全&#xff0c;避免了 C/C 等语言的内存错误和崩…

再看参数校验

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 写一个接口&#xff0c…