TPAMI 2024 | Flare7K++:混合合成与真实数据集用于夜间眩光去除及其它应用

文摘   2024-10-24 19:00   辽宁  

点击下方“计算机书童”卡片,每天获取顶刊论文解读

点击加入论文投稿、写作、阅读分享交流群

Flare7K++: Mixing Synthetic and Real Datasets for Nighttime Flare Removal and Beyond

题目:Flare7K++:混合合成与真实数据集用于夜间眩光去除及其它应用

作者:Yuekun Dai; Chongyi Li; Shangchen Zhou; Ruicheng Feng; Yihang Luo; Chen Change Loy


摘要

夜间拍摄的图像常常会受到强烈镜头耀斑的影响,这不仅降低了图像的视觉质量,还影响了视觉算法的性能。现有的去除耀斑方法主要集中在去除白天的耀斑,在夜间情况下则常常失败。夜间去除耀斑的挑战在于人造光源独特的亮度和光谱,以及耀斑的多样化模式和图像退化。夜间耀斑去除数据集的缺乏限制了这一关键任务的研究。在本文中,我们介绍了Flare7K++,这是第一个全面的夜间耀斑去除数据集,包括962张真实捕获的耀斑图像(Flare-R)和7000个合成耀斑(Flare7K)。与Flare7K相比,Flare7K++在消除光源周围的复杂退化方面特别有效,这是仅使用合成耀斑无法解决的。此外,以前的耀斑去除流程依赖于手动阈值和模糊核设置来提取光源,当光源太小或没有过曝时可能会失败。为了解决这个问题,我们额外提供了Flare7K++中所有图像的光源注释,并提出了一个新的端到端流程,在去除镜头耀斑的同时保留光源。我们的数据集和流程为未来夜间耀斑去除研究提供了宝贵的基础和基准。广泛的实验表明,Flare7K++补充了现有耀斑数据集的多样性,并将夜间耀斑去除的前沿推向了真实世界场景。

关键词

  • 眩光

  • 低级计算机视觉

  • 图像恢复

  • 夜间摄影

I. 引言

镜头耀斑是一种光学现象,其中强烈的光线在光学系统中发生散射和/或反射。它在捕获的照片中留下辐射状的亮区和光斑。由于夜间环境中存在多个人造光源,耀斑的效果更加严重。这种现象可能导致光源周围的对比度降低和细节受到抑制,从而降低图像的视觉质量以及视觉算法的性能。以夜间使用立体相机的自动驾驶为例,散射耀斑可能被立体匹配算法误判为近距离障碍物。对于空中目标跟踪,镜头耀斑引入的亮点可能会误导算法去跟踪耀斑而不是飞行物。

为了避免镜头耀斑带来的潜在风险,主流的方法是优化硬件设计,例如使用特别设计的镜头组或应用防反射涂层。尽管专业镜头可以减轻耀斑效果,但它们无法解决耀斑的根本问题。此外,镜头前的指纹、灰尘和磨损经常带来意想不到的耀斑,这些耀斑无法通过硬件减轻,特别是在智能手机和监控成像中。因此,非常需要一个耀斑去除算法。

典型的耀斑可以分为三种主要类型:散射耀斑、反射耀斑和镜头光斑(又名背散射)[2],[5],[6],如图1所示。我们根据它们对光源移动的反应来区分这三种耀斑。散射耀斑是由镜头上的灰尘和划痕引起的。这种类型的耀斑产生辐射状线条图案。当移动镜头或光源时,散射总是围绕光源包裹,并在捕获的照片中保持相同的图案。反射耀斑是由镜头系统中空气-玻璃界面之间的多次反射引起的[6]。它们的图案由光圈的形状和镜头结构决定。这种图案通常在捕获的照片中表现为一系列圆形和多边形[7]。与散射耀斑不同,当移动相机时,反射耀斑会朝着与光源相反的方向移动。镜头光斑是由镜头表面未聚焦的尘埃颗粒或水滴引起的[8]。它们是固定在照片的同一位置的光圈形状的多边形。只有围绕光源的镜头光斑才会变亮,并且它们不会随着光源或相机移动而移动。由于镜头光斑的位置相对固定,这种效果在视频中更容易被去除[5]。因此,我们主要关注本研究中夜间散射耀斑和反射耀斑的去除。

去除夜间耀斑极其具有挑战性。首先,耀斑图案多样,由光源的不同位置和光谱、镜头制造中的不稳定性缺陷以及日常使用中随机划痕和油腻污垢引起。其次,不同波长的光的散射以及小光学结构之间的干涉也可能导致类似彩虹的光晕和彩色的莫尔条纹。尽管有一些传统的耀斑去除方法[9],[10],[11],它们主要集中在检测和擦除反射耀斑中的小亮点。最近,一些基于学习的耀斑去除方法[2],[12],[13],[14],[15]已被提出用于日间耀斑去除或去除具有特定类型图案的耀斑。为了获得成对的耀斑损坏/无耀斑图像,Wu等人[2]合成基于物理的耀斑,并在暗室中用相同的清洁镜头拍摄耀斑照片。这些耀斑图案将叠加在无耀斑图像上以产生成对数据。Sun等人[13]假设所有耀斑都是由相同的2点星点扩散函数(PSF)生成的。Feng等人[14],[15]的方法主要关注去除显示屏下摄像头的耀斑伪影。所有这些耀斑生成流程都假设镜头污染物或光源是特定类型的,从而导致相对均匀的耀斑图案。然而,对于监视器镜头、智能手机摄像头、无人机和自动驾驶摄像头,指纹、日常磨损和灰尘可能充当光栅,从而产生条纹(条状耀斑)和夜间非常明显的极其多样化类型的耀斑。此外,人造光源的光谱通常与太阳的光谱有很大不同,导致不同的衍射图案,进一步使耀斑建模复杂化。现有合成耀斑与真实世界夜间耀斑之间的差异使得很难开发能够很好地泛化到各种夜间情况的模型。

为了促进夜间耀斑去除的研究,我们构建了一个大规模的分层耀斑数据集,包含精心设计的夜间耀斑,称为Flare7K++,这是同类数据集中的第一个。它由962张真实捕获的耀斑图像(Flare-R)和7000个合成耀斑(Flare7K)组成。Flare-R数据集是由华为P40、iPhone 13Pro和ZTE Axon 20 5G的后置摄像头捕获的。对于每个智能手机的后置镜头,我们在暗室中拍摄了大约100张耀斑图案的照片。为了模拟日常使用,我们在拍摄每张耀斑图案后用不同的材料(如手指、丝巾和尼龙布)擦拭镜头。与Flare-R不同,Flare7K由合成耀斑图案组成。它提供了5000个散射和2000个反射耀斑图像,包括25种类型的散射耀斑和10种类型的反射耀斑。这些耀斑图案是基于对真实世界夜间耀斑的观察和统计合成的。由于散射和反射耀斑是独立的,我们分别生成各自的耀斑数据。因此,不同的反射耀斑可以添加到任何散射耀斑上以获得图案多样性。这7000个耀斑图案可以随机添加到无耀斑图像上,形成可用于训练深度模型的耀斑损坏和无耀斑图像对。在图2中,我们展示了我们的数据与真实世界夜间图像的比较。我们还展示了最近一个耀斑数据集[2]的合成数据。相比之下,我们的数据在耀斑图案方面更类似于真实世界的夜间图像。此外,我们数据集中的每个散射耀斑图像可以分成三个部分:光源、条纹和眩光。耀斑组件的分离使我们的数据集比以前的耀斑数据集[2]更具可解释性和可操作性。

这项工作基于我们之前的会议版本[16]。与会议版本相比,我们引入了大量新材料如下:1)为了克服镜头系统中复杂衍射引起的严重退化的挑战,我们创建了一个名为Flare7K++的混合数据集,它通过新的实际捕获的Flare-R数据集扩展了合成的Flare7K数据集(会议版本)。利用这个混合数据集训练深度模型可以显著提高去除强烈退化的有效性。2)我们为Flare7K++中的所有图像提供了额外的光源注释,并提出了一个网络来从真实捕获的耀斑图像中提取光源。3)以前的方法如[2],[16]依赖于手动设置阈值和模糊核来提取光源。当光源太小或没有过曝时,它往往会在最终输出中抹去光源。基于我们提供的光源注释,我们设计了一个新的端到端框架用于耀斑去除,同时保留光源并去除镜头耀斑。4)我们为测试耀斑损坏图像的不同耀斑组件手动标记了遮罩,并引入了两个新的度量标准,G-PSNR和S-PSNR,以反映眩光和条纹损坏区域的恢复结果。5)为了展示耀斑去除的重要性,我们在包括立体匹配、光流估计和语义分割在内的下游任务上评估了我们的方法,这些是夜间自动驾驶中的一些常见任务。

III. 夜间镜头耀斑的物理原理

典型的夜间镜头耀斑通常由两种类型的耀斑组成,即散射耀斑和反射耀斑,它们很复杂,因为它们包括许多组件,如光晕、条纹、虹膜、鬼影、亮线、饱和斑点、雾、眩光、闪烁、闪光、光泽、微光、尖球、环和圆环等。在视觉特效(VFX)、计算摄影、光学和摄影中,相同类型的组件可能有不同的名称。我们根据它们的图案将这些名称归类为几种常见类型,以避免混淆。例如,闪光、光泽和尖球都是辐射状线形图案。在本文中,我们使用闪烁来表示所有辐射状线形组件。为了更好地理解我们提出数据集,我们在下面解释了每种类型的夜间镜头耀斑的形成原理。

A. 散射耀斑

散射耀斑中的常见组件可以分为眩光、闪烁和条纹,如图4所示。

眩光是围绕光源的平滑雾状效果,也称为辉光效果[30]。即使在理想的镜头系统中,具有有限半径的瞳孔仍将充当低通滤波器,导致光源模糊。此外,镜头中的磨损或点状杂质会导致镜头厚度不均匀,显著增加了眩光效果的区域。此外,色散使眩光的色调并不全局恒定。如图4所示,远离光源的眩光像素比光源周围的像素更蓝。在白天有足够照明的情况下,光源周围的景象足够亮,可以覆盖眩光效果。然而,在低光条件下,眩光明显比场景亮得多,因此在夜间耀斑去除中不能忽视。

闪烁(又名闪光、光泽、尖球)是由光圈的形状和线状杂质以及镜头缺陷引起的多条辐射条纹图案[6]。由于光圈的结构,瞳孔不是完美的圆形,因此会在照片上产生星形耀斑。以十二边形光圈为例,光阑边缘的衍射将点光源投影到照片上的十二边形上。与光圈不同,线状镜头缺陷总是导致不均匀的闪烁。对于日间的镜头耀斑,由于光源强度高,太阳会在整个屏幕上留下明亮的闪烁。相比之下,人造光源的强度较低,闪烁区域总是与眩光效果相似。由于闪烁与眩光的区别仅在于图案,因此也可以将其视为眩光的高频分量。

条纹(又名亮线、条纹)是比闪烁明显更长更亮的线条状耀斑[13],[31]。它们经常出现在智能手机摄影和夜间驾驶视频中。镜头前部的定向油渍或划痕可能充当光栅,引起类似光束的PSF。在白天,条纹就像更亮的闪烁。然而,在低光条件下,即使光源强度低,也可能在整个屏幕上产生条纹。由于人们无法始终保持智能手机镜头或车载摄像头的清洁,这种在夜间非常明显。

B. 反射耀斑

反射耀斑(又名鬼影)是由镜头中多个空气-玻璃表面之间的反射引起的[6]。对于具有n个光学表面的镜头系统,即使光线正好反射两次,仍然有n(n−1)/2种组合选择n个表面中的两个表面[2],[6]。一般来说,反射耀斑在图像上形成不同图案的组合,如圆圈、多边形或圆环。由于镜头之间的多次反射,物理上合成反射耀斑具有挑战性。模拟反射耀斑的一种更直接的方法是使用2D方法[7]。具体来说,在2D反射耀斑渲染中,由于色散引起的环和圆环效果在夜间不明显,我们可以将反射耀斑抽象为一排不同的虹膜,如图4所示。在反射过程中,如果光路被光圈挡住,这将产生剪切虹膜。在2D方法中,这可以通过为光阑和光源之间的距离设置剪辑阈值来模拟。如果这个距离大于剪辑阈值,虹膜的部分将按比例剪辑。

理想情况下,每个虹膜可以独立添加到图像中。此外,不同虹膜之间不会有干扰。然而,在真实世界的场景中,邻近的光线通常是相关的,并产生三角网格。为了避免阻塞伪影,Ernst等人[32]提出了一种用于焦散渲染的方法,并引入了一种用于组合和插值这些虹膜的技术。在我们的方法中,由于渲染物理上真实的焦散会增加模拟反射耀斑的难度,我们使用特定的焦散图案来模拟这种效果。

IV. Flare7K++ 数据集

Wu等人[2]提出的唯一的现有耀斑数据集主要是为日间耀斑去除设计的。因此,夜间耀斑中常见的条纹效应和眩光效应在Wu等人的数据集中并未考虑。对于夜间耀斑,图案主要由附着在镜头上的污渍决定。污染类型的多样性使得像Wu等人的方法这样的基于物理的方法很难通过遍历所有不同的瞳函数来收集真实的夜间耀斑。这导致合成耀斑与真实世界夜间场景中耀斑之间的领域差距和缺乏多样性。为了解决领域差距和缺乏多样性带来的挑战,我们引入了Flare7K++,一个新颖的数据集,包括两个组成部分:Flare7K,一个合成耀斑数据集,和Flare-R,一个在真实世界设置中捕获的耀斑图像集合。如图5所示,我们的耀斑图案更具多样性,并且更接近真实世界的夜间情况。

A. Flare7K 数据集

为了合成Flare7K,我们采用数百张具有不同类型镜头(智能手机和相机)和各种光源的夜间耀斑图像作为参考图像。我们汇总了捕获的图像,并根据它们的图案将散射耀斑总结为25种典型类型。对于每种类型的耀斑,我们生成了200张不同参数的图像,例如眩光的半径、条纹的宽度等。由于反射耀斑直接与镜头组的类型相关,我们也捕获了一些使用不同相机拍摄的视频片段作为反射耀斑合成的参考。通过参考这些真实世界的夜间耀斑视频,我们为每种特定类型的相机设计了一组虹膜,并合成了10种典型的反射耀斑。我们最终获得了5000个散射耀斑和2000个反射耀斑。由于耀斑渲染技术相对成熟,我们选择直接使用Adobe After Effects中的Video Copilot's Optical Flares插件来生成定制的耀斑。图6展示了我们散射耀斑合成的流程。我们将镜头耀斑分成四个组成部分,包括闪烁、条纹、眩光和光源。对于每个组件,我们分析了参考图像中的参数,如眩光半径范围和颜色-距离曲线。然后,我们使用Adobe After Effects合成耀斑模板。

眩光合成:从每种类型的参考耀斑损坏图像中,我们首先绘制像素的RGB值与其到光源的距离之间的关系作为眩光曲线。将此颜色-距离关系除以眩光的半径,可以将其视为颜色校正曲线。将此曲线应用于具有眩光半径的圆形渐变图案,可以产生这种类型的耀斑的眩光效果。由于条纹区域周围的区域的亮度有时比正常区域弱,我们手动测量消失角度,并使用羽毛遮罩在这些区域减少眩光的不透明度。这个缺失角的角度被设置为一个变量,以在生成这种类型的散射耀斑时覆盖更多情况。

条纹合成:在Sun等人[13]的工作中,假设条纹总是由2点星PSF生成的。然而,条纹效果并不均匀对称,一侧通常比另一侧锐利得多。为了模仿这种效果,我们在Adobe After Effects中为每种类型的条纹手动绘制一个遮罩,并将宽度设置为一个变量。然后,我们绘制条纹部分和眩光部分的RGB值,并使用这个曲线来为条纹上色并模糊遮罩的边缘。每个边缘的模糊大小从截面曲线的半衰值中得出。

闪烁合成:对于闪烁,我们使用Optical Flares的闪烁模板,并调整参数直到它大致匹配图像中的耀斑。在光源周围的图像区域通常受到强烈的退化,这很难通过Optical Flares来模拟。如果我们假设我们的镜头耀斑是平滑的,这种退化将被分离为去除耀斑后的图像的一部分。因此,我们使用Adobe After Effects的默认插件分形噪声来生成一个噪声图案,然后添加径向模糊效果,从而创建一个径向噪声图案。

光源合成:我们对耀斑损坏的图像应用阈值处理以获得一组过曝的小形状。为了模拟光源的辉光效果,我们在Adobe After Effects中对不同的小形状应用另一个名为Real Glow的插件。为确保只有光源区域过曝,将光源做得比眩光的过曝部分大。然后,它以屏幕混合模式添加到耀斑中。这种模式确保过曝区域不会扩大,并带来逼真的视觉效果。这些合成的光源将作为我们训练流程中的光源注释。

反射耀斑合成:对于反射耀斑,插件Optical Flares的Pro Flares Bundle包含51种不同类型的高质量捕获的虹膜图像,可以作为虹膜库。在与参考视频比较时,我们挑选最相似的虹膜,并使用Optical Flares插件手动调整它们的大小和颜色。由于不同虹膜到光源的距离总是成比例的,我们遵循插件的流程以成比例的距离将不同的虹膜组件设置在一条线上。之后,我们可以获取反射耀斑模板。

对于某些特殊的反射耀斑类型,我们还考虑了耀斑的动态触发机制,如焦散和剪辑效果。这些现象发生在光源在图像上的位置远离镜头的光学中心时。如第III-B节所述,焦散现象是由不同虹膜之间的干涉引起的。为了模拟这种效果,我们使用Optical Flares的默认焦散模板在虹膜中心生成一个焦散图案。为了模拟动态触发效果,焦散图案的不透明度设置为与虹膜和光源之间的距离成比例。对于剪辑效果,它在反射光路被两个以上的镜头光圈挡住时产生。它可以被视为两个虹膜的交集。因此,当虹膜-光源距离大于剪辑阈值时,我们开始使用另一个虹膜作为遮罩擦除虹膜的部分。这个虹膜将只作为遮罩使用,不会被渲染。

在夜间情况下,矩阵式LED灯很常见,可能会带来格子状的反射耀斑。为了模仿这种效果,我们合成了一些格子形状的虹膜,如图7所示。与之前的[2]数据集相比,这些设计更好地反映了真实世界的夜间情况。

B. Flare-R 数据集

由于合成数据集不包含镜头系统中衍射和色散引起的复杂退化,我们还使用962个耀斑图案捕获了真实世界的耀斑数据集Flare-R。与Wu等人的捕获方法不同,我们再现了日常使用中常见的镜头污染物,以丰富我们数据集的多样性。我们将不同类型的液体,包括水、油、乙醇和碳酸饮料浸在镜头表面,并用手指和不同类型的衣物擦拭。每次擦拭后,我们捕获一张新的镜头耀斑图像。我们禁用了手机相机的自动白平衡,并通过改变光源的颜色温度获得不同颜色的镜头耀斑图像。华为P40、iPhone 13 Pro和ZTE AXon 20 5G都有三个后置镜头,具有不同的焦距。对于每个镜头,我们改变相机与光源的距离,并捕获大约100张图像。总共,我们收集了覆盖几乎所有常见情况的962张耀斑图像。图5展示了合成和真实耀斑图案之间差异的示例。

与合成的Flare7K数据不同,为真实捕获的耀斑获取光源注释很困难。为了解决这个问题,我们使用Flare7K及其光源注释训练了一个网络,以从真实耀斑图像中提取光源。我们使用这个网络处理Flare-R数据集中的所有图像,以自动获取光源注释。对于极少数反射耀斑未被去除、影响光源提取精度的失败案例,我们手动擦除错误的亮点以获得光源注释。光源提取的详细信息在补充材料中提供。

C. 与现有耀斑数据集的比较

我们在表I中比较了我们的数据集和Wu等人的数据集之间的差异。比较表明,我们的新数据集提供了更丰富的图案和注释,这有利于更广泛的应用,例如镜头耀斑分割和光源提取。扩展应用的详细信息在补充材料中提供。此外,图5显示我们的新数据集在颜色和图案方面更能代表真实世界的夜间耀斑。为了评估不同耀斑数据集的保真度,我们收集了1273张真实捕获的夜间耀斑损坏图像和2000张类似场景的无耀斑夜间图像。按照补充材料中的数据增强流程,我们将从这些耀斑数据集中采样的耀斑图像添加到收集的无耀斑图像上,以合成不同的耀斑损坏数据集。然后,我们计算每个合成耀斑损坏数据集与真实捕获的夜间耀斑损坏图像数据集之间的Fréchet inception distance (FID) [33]。定量比较如表II所示,揭示了我们Flare7K和Flare-R的真实性。

D. 成对测试数据收集

由于没有公开可用的夜间耀斑去除测试数据集,我们收集了新的真实的夜间耀斑成对数据进行全参考评估。对于大多数设计良好的镜头,夜间场景的耀斑主要是由镜头表面(或夜间驾驶的挡风玻璃)上的污渍引起的。为了再现这些耀斑,我们用我们的手指和布擦拭相机的前镜头以模仿常见的污渍。之后,我们使用镜头纸轻微清洁前镜头以获得无耀斑的真实情况。清洁操作可能会导致成对图像的轻微不对齐。因此,我们手动对齐成对图像,并获取100对真实世界的耀斑损坏/无耀斑图像作为我们的测试数据集。由于真实情况可能仍受到镜头缺陷带来的轻微耀斑的影响,全局PSNR无法完全反映耀斑去除方法的性能。为了解决这个问题,我们为所有条纹、眩光和光源区域手动标记了遮罩,如图9所示。可以使用遮罩PSNR来评估不同耀斑组件区域的恢复结果。我们将眩光和条纹区域的遮罩PSNR称为G-PSNR和S-PSNR。

V. 提出的方法

Wu等人[2]提出的推理流程中,网络输出一个缺少光源的无耀斑预测。然后,将处理过的耀斑损坏图像通过手动阈值和模糊核提取出光源掩模,如图8所示。然而,条纹区域可能仍然过曝,导致图像上残留部分耀斑。此外,基于阈值的算法可能无法分割亮度不够的光源,模糊操作可能会意外地抹去微小的光源。因此,希望有一种方法能够在去除耀斑伪影的同时准确保留光源。为了解决这些挑战,我们引入了一个端到端训练流程,使用我们的光源注释,确保在耀斑去除过程中可靠地保留光源。

A. 训练流程

如图8所示,我们之前的Flare7K流程[2],[16]采用耀斑损坏的图像I作为输入,并输出一个无耀斑的图像。然后,通过计算输入I和输出之间的差异来预测估计的耀斑图像。阈值和腐蚀操作将应用于耀斑损坏的图像I,以获得掩模M0。在掩模外的区域计算估计耀斑和无耀斑图像的遮罩损失,以驱动网络专注于重建光源区域之外的细节。因此,该方法产生了一个没有任何光源的耀斑去除图像,并通过后处理将光源粘贴回去。
我们的新Flare7K++流程修改了框架,直接预测一个6通道输出,其中3通道为无耀斑图像,另外3通道为耀斑图像。为了确保这两个图像可以相加以得到原始输入,使用重建损失来监督最终输出。与之前的耀斑数据集[2]不同,我们的Flare7K++数据集提供了光源注释。如图8所示,将光源图像IL添加到背景图像IB以合成无耀斑图像的真值I0。然后,计算耀斑图像IF和光源图像IL之间的差异,以监督估计的耀斑。这使我们能够训练端到端网络,而无需手动设置阈值来提取光源。因此,我们的流程使网络能够区分过曝的光源和过曝的条纹。即使对于未过曝的光源,我们基于学习的方法也可以产生准确的输出。

B. 损失函数

在训练过程中,从Flare7K++数据集中随机采样配对的耀斑和光源图像。将光源图像IL添加到背景图像IB以获得无耀斑图像I0的真值。然后,耀斑IF和光源IL之间的差异用作耀斑图像F的真值。由于我们的耀斑图像和Flickr背景图像都是伽马编码的,我们遵循Wu等人的流程,应用一个近似的反伽马校正曲线,其中从[1.8,2.2]中采样,以在每次添加和减法操作之前线性化图像。我们的耀斑去除网络可以定义为,它采用耀斑损坏的图像I作为输入。然后,估计的无耀斑图像和耀斑图像可以表示为:
像之前的工作[2],[16]一样,耀斑和背景图像使用L1损失和感知损失进行监督。背景图像损失可以写为:
它与耀斑损失的表达式相同。
重建损失定义为:
其中表示在线性化伽马解码域中的加法运算,先前采样的应用于此。然后,加法被限制在[0,1]的范围内。总体而言,最终的损失函数旨在最小化所有这些损失的加权和:
在我们的实验中,分别设置为0.5,0.5和1.0。

VI. 实验

A. 实验细节

训练细节:在训练阶段,我们的输入耀斑损坏的图像被裁剪到512×512×3,批量大小为2。我们在24K Flickr图像数据集[38]上用ADAM优化器训练我们的模型300K次迭代。学习率设置为。为了在我们Flare7K++数据集上建立基准,我们重新训练了包括MPRNet [35],HINet [34],Uformer [37]和Restormer [36]在内的最新图像恢复网络。由于MPRNet和HINet是为处理输入和输出通道数一致而设计的多阶段图像恢复网络,我们向输入添加了一个3通道的黑色图像。这样做,我们确保输入通道的数量等于6,这对于网络的正常运作是必要的。为了确保实验的公平性,我们使用与上述相同的训练设置和数据增强方法来训练这些方法。所有这些模型都是在NVIDIA Geforce RTX 3090 GPU上训练的。由于NVIDIA Geforce RTX 3090(24G内存)的GPU内存限制,我们减少了MPRNet和Restormer的参数,这两个网络是众所周知的大型网络。具体来说,我们将Restormer的细化块数量从4减少到1,并将特征通道的维度设置为16而不是默认的48。MPRNet的特征数量设置为24而不是默认的40,以满足内存限制。我们相信这两个网络的默认参数设置会有更好表现。每个模型的详细参数、执行时间和乘累加操作(MACs)在表IV中概述。

B. 与先前工作的比较

为了展示我们数据集的有效性和优势,我们比较了不同数据集和方法在夜间耀斑去除方面的性能。我们还提供了现有图像恢复方法在我们数据集上的基准。
实验设置:在缺乏夜间耀斑去除方法的情况下,我们将我们的基线模型与夜间去雾方法[27]、夜间视觉增强方法[28]和耀斑去除方法[2]进行了比较。Zhang等人[27]提出了一种夜间雾合成方法,可以模拟光线并用合成数据训练网络。我们使用其预训练模型进行比较。Sharma等人的夜间视觉增强方法[28]是一种无监督的测试时训练方法,可以基于灰色世界假设和眩光平滑先验提取低频光效。我们按照其设置测试我们测试数据上的结果。Wu等人的研究[2]与我们的工作最相关。由于Wu等人没有提供他们的模型检查点,我们使用他们发布的代码和数据训练模型进行比较。我们还比较了我们的方法与先前的Flare7K基线,后者使用Uformer [37]作为主干。定量结果在表III中展示。

定性比较:我们首先在图10和图11中展示了真实夜间眩光的视觉比较。比较结果表明,近期针对夜间雾去除[27]和夜间视觉增强[28]的方法对夜间镜头眩光的影响甚微。相反,在我们数据集上训练的模型能够在夜间眩光污染的图像上产生令人满意的输出。尽管吴等人[2]可以有效地消除眩光效应,但它无法处理多样化的光线条效应,甚至可能移除光源。我们在图12中展示了我们方法的更多结果。在这些具有挑战性的情况下,我们的方法能够产生令人满意的无眩光结果。借助Flare-R数据集,我们的新方法能够更好地消除光源周围的复杂退化。此外,我们的端到端流程能够解决微小且不过度曝光的光源难以恢复的问题。我们的方法甚至能够在多光源场景中实现稳健的结果。

定量比较:我们使用常见的全参考指标PSNR、SSIM[39]和LPIPS[40]来量化不同方法在表III中的性能。为了更好地说明不同方法在去除不同眩光成分方面的有效性,我们还引入了两个指标,S-PSNR和G-PSNR,来衡量在眩光和光线条区域的眩光去除性能。测试数据的眩光和光线条的掩码如图9所示,是手动绘制的。由于Sharma等人的方法[28]基于灰度世界假设,因此在白色眩光效应中失败。张等人的方法[27]主要针对夜间雾设计。尽管它可以减轻镜头眩光,但它也改变了图像的颜色,导致SSIM下降。在表III中,我们数据集上的U-Net[21]与吴等人的方法之间的差异也表明了Flare7K++的有效性。相比之下,Uformer[37]在PSNR和LPIPS方面表现最佳。因此,我们遵循Flare7K的设置,并将Uformer[37]作为我们在以下部分的基线方法。所有这些网络都取得了良好的性能,揭示了我们数据集的可靠性。我们方法的更多结果在补充材料中展示。

C. 消融研究

在本节中,我们研究了我们提出方法的主要设计,并与之前的Flare7K数据集进行了详细比较。
数据集:为了说明使用Flare-R和Flare7K进行训练的必要性,我们使用新的训练流程进行了消融研究,仅使用Flare7K。结果如图13所示,揭示了光源附近区域经常出现严重的伪影。由于这些伪影难以合成,仅用Flare7K训练的网络可能无法完全从图像中去除它们。然而,通过将Flare-R纳入训练过程,我们的混合训练策略大大改善了条纹区域的耀斑去除性能,并有效解决了伪影问题,如表V所示。此外,我们对使用我们数据集训练的耀斑去除方法与Wu等人[2]提出的方法进行了比较分析。定量结果突出了我们提出数据集的有效性。

光源补全:为了展示我们光源处理方法的有效性,我们进行了消融研究,以评估在训练中纳入光源注释的影响。为了进行比较,我们训练了一个不使用光源注释的6通道输出的Uformer[37],如图8(b)所示。然后,我们遵循Flare7K的设置,在输入的过曝区域设置一个掩模,并且通过使用遮罩耀斑损失和遮罩背景损失,不在这些区域监督输出。在推理阶段,我们将亮度阈值设置为0.97以提取掩模,并使用Wu等人[2]的掩模羽化方法将光源平滑地恢复到图像中。如表VI所示,不使用光源注释进行训练可能会严重降低定量结果。此外,图14展示了我们新的光源注释的好处。它可以帮助很好地重建微小的光源,并且可以避免在光源旁边留下条纹效应的尾巴。

训练流程:在Wu等人和Flare7K的训练流程[2]中,网络将输出一个去除了耀斑的图像。然后,通过计算耀斑损坏图像和去除了耀斑的图像之间的差异来预测耀斑。为了消除光源注释带来的影响,我们用图8(a)所示的流程训练了一个网络,并且通过不采用遮罩损失,在估计的去除了耀斑的图像和耀斑图像的过曝区域进行监督。在耀斑损坏图像的饱和区域中,无耀斑真值图像和耀斑真值图像的加法将超过1.0。因此,训练时在计算耀斑图像的差异操作可能会引入偏差。这种偏差可能会在条纹的过曝区域带来伪影,如在图15中所示。这些伪影可能会严重影响定量结果,如在表VII中所示。由于我们的新流程不包含减法操作,它可以避免这个问题,并在饱和区域很好地重建细节。

VII. 局限性

上述实验表明了Flare7K++在各种场景中的卓越性能。然而,基于我们数据训练的网络可能仍然无法解决一些具有挑战性的情况。由于反射耀斑总是产生类似于夜间远处明亮窗户和路灯的亮点,这些窗户或灯光也可能被视为反射耀斑的一部分而被移除。此外,当光源离相机很近时,可能会留下一个很大的眩光,可能覆盖整个图像。这种眩光很难去除。在这种情况下,条纹和光源周围的区域可能在一个或多个通道中饱和。当前的图像分解方法难以有效解决这种丢失的信息。探索使用语义先验来恢复图像是一个潜在的未来方向。此外,我们现有的基线方法面临着在边缘设备上直接部署的挑战,例如智能手机,因为其参数数量庞大。需要强调的是,这些局限性主要是由于耀斑去除方法本身,而不是我们数据集的任何缺点。因此,迫切需要推进轻量级模型设计、模型压缩和蒸馏技术的进展,以克服这些挑战。

VIII. 结论

在本文中,我们提出了一个新的数据集Flare7K++,旨在推进夜间耀斑去除。Flare7K++由真实捕获的耀斑图像数据集Flare-R和合成耀斑图像数据集Flare7K组成。Flare7K包含5000个散射和2000个反射耀斑图像,包括25种类型的散射耀斑和10种类型的反射耀斑。Flare-R包含962个耀斑图案,是在暗室中用不同类型的镜头污染物捕获的。此外,我们为不同的耀斑组件提供了丰富的注释,如光源、条纹和带有闪烁的眩光,这些在以前的数据集中总是缺失的。借助所提出的数据集,我们设计了一个新的夜间耀斑去除流程,以提高夜间图像的质量并增强夜间视觉算法的稳定性。我们的新流程有效地利用了光源注释,提高了保留光源的同时消除耀斑的准确性。广泛的实验表明,我们的数据集足以促进去除不同类型夜间镜头耀斑。

声明

本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。

#论  文  推  广#

 让你的论文工作被更多人看到 


你是否有这样的苦恼:自己辛苦的论文工作,几乎没有任何的引用。为什么会这样?主要是自己的工作没有被更多的人了解。


计算机书童为各位推广自己的论文搭建一个平台,让更多的人了解自己的工作,同时促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 计算机书童 鼓励高校实验室或个人,在我们的平台上分享自己论文的介绍、解读等。


稿件基本要求:

• 文章确系个人论文的解读,未曾在公众号平台标记原创发表, 

• 稿件建议以 markdown 格式撰写,文中配图要求图片清晰,无版权问题


投稿通道:

• 添加小编微信协商投稿事宜,备注:姓名-投稿

△长按添加 计算机书童 小编



计算机书童
为大家分享计算机、机器人领域的顶会顶刊论文
 最新文章