引言 夜间摄影常常受到强光源引起的镜头眩光(lens flare)影响,表现为画面中出现光晕、炫光条...
創建於:2025年8月24日
使用 Deep Research 回答 Chat01
創建於:2025年8月24日
使用 Deep Research 回答 Chat01
引言
夜间摄影常常受到强光源引起的镜头眩光(lens flare)影响,表现为画面中出现光晕、炫光条纹或明亮斑点等伪影 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 。眩光不仅降低图像视觉质量,还会干扰下游算法(如目标检测、分割等)的正常工作 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 。由于眩光的形态多样(包括由镜头表面散射造成的弥散光晕和由镜片反射造成的“鬼影”斑点 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) ),自动去除眩光一直是低阶视觉中的一项具有挑战性的任务 (Light Source Guided Single-Image Flare Removal From Unpaired Data) 。传统方法依赖于预定义的光斑强度和几何先验或硬件手段(如防反射涂层 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 、遮光罩 (Light Source Guided Single-Image Flare Removal From Unpaired Data) )来减少眩光,但这些方法只能处理有限类型的眩光,并可能错误地将真实光源当作眩光去除 (Light Source Guided Single-Image Flare Removal From Unpaired Data) (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 。近期,一些研究开始尝试利用深度学习解决单幅图像的眩光去除问题。然而,深度模型的训练首先面临缺乏成对训练数据的困难 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 。为此,Wu等人提出了半合成的数据生成策略,获取了包含2000+张真实和3000张模拟眩光的训练集,并训练了首个U-Net架构的去眩光模型 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) (Light Source Guided Single-Image Flare Removal From Unpaired Data) 。“如何训练神经网络去除眩光”一文(ICCV’21)详细介绍了该数据生成管线 (Light Source Guided Single-Image Flare Removal From Unpaired Data) 。尽管这项开创性的工作使深度模型能够学习多种眩光的去除 (Light Source Guided Single-Image Flare Removal From Unpaired Data) ,“合成训练+U-Net”的方法在应对复杂真实场景时泛化能力有限 (Light Source Guided Single-Image Flare Removal From Unpaired Data) 。随后,Qiao等人提出了一个无需成对数据的循环一致生成框架(ICCV’21),通过检测光源区域并引入光源感知的指导来区别眩光与真实光源 (Light Source Guided Single-Image Flare Removal From Unpaired Data) 。他们使用未配对的含眩光/无眩光图像进行循环训练,从而避免了人工标注 (Light Source Guided Single-Image Flare Removal From Unpaired Data) 。此后,随着数据的逐步丰富和方法改进,单幅去眩光性能有所提升。例如,Dai等人构建了专门面向夜间场景的Flare7K数据集(NeurIPS’22),涵盖了25类散射眩光和10类鬼影眩光,共7000种眩光模式,可叠加到无眩光图像上生成训练对 (Flare7K: A Phenomenological Nighttime Flare Removal Dataset) 。有了更多样的训练数据,模型在夜间眩光下的性能显著改善 (Flare7K: A Phenomenological Nighttime Flare Removal Dataset) 。基于Flare7K的数据,一些网络在夜晚合成测试集上已经达到约26–27dB的PSNR水平 (DFDNet: Dynamic Frequency-Guided De-Flare Network) 。Zhou等人(ICCV’23)深入分析了以往数据合成的局限,提出改进的物理光学建模来生成更真实的眩光退化,同时设计了一种针对多光源恢复的后处理策略 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 。他们的方法在白天和夜晚场景均取得更好的去眩光效果,并成功恢复出多个真实光源而不再一味依赖阈值抑制 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 。此外,为了消除占帧极小但高度亮眼的鬼影斑点,Dai等人(CVPR’23)针对反射型眩光提出了“光学中心对称”先验 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) :即鬼影伪像与光源关于光轴中心成对出现。据此,他们创建了BracketFlare数据集,利用不同曝光的双帧策略捕获并合成含鬼影/无鬼影图像对 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 。这些工作使模型能更有效地区分鬼影斑点与真实光源,并在多种智能手机拍摄的夜景中验证了良好的泛化性 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 。
尽管上述方法在逐步提升单帧去眩光的性能,但它们仅依赖RGB图像本身的信息。然而,在极暗环境或强眩光下,可见光图像往往细节全失或淹没在炫光中 (LLVIP: A Visible-infrared Paired Dataset for Low-light Vision) (LLVIP: A Visible-infrared Paired Dataset for Low-light Vision) 。相比之下,红外成像能够捕获场景的热辐射或近红外反射信息,不受可见光照强度的影响,因而在弱光甚至无光源情况下仍能清晰成像 (LLVIP: A Visible-infrared Paired Dataset for Low-light Vision) 。这启发我们考虑:** 能否利用红外图像来辅助可见光图像的眩光去除?** 直观而言,同一场景下,红外和可见光图像应包含相似的结构内容,而眩光是由可见光透镜内部的光学效应造成的伪影,可能在红外通道中呈现不同的强度或形态。如果我们能够将红外信息与RGB图像有效融合,就有望在眩光区域“看穿”炫光遮蔽,恢复出被遮挡的真实场景。同时,跨模态信息还能提供冗余约束来提高在正常区域的重建可靠性。这方面在低光融合领域已有所探索,例如红外-可见光图像融合用于夜视增强 (LLVIP: A Visible-infrared Paired Dataset for Low-light Vision) 和行人检测等 (LLVIP: A Visible-infrared Paired Dataset for Low-light Vision) 。然而,将红外用于眩光去除目前尚未见于顶会文献报道。
我们的工作开创的提出RGB-IR 联合去炫光任务,通过RGB 与IR 的不同成像机制:RGB 眩光成形机制与IR 眩光不同,想要提出一种新的网络框架去解决这个问题,目前而言,我希望你能够:
1 提出一个新的backbone 框架,专属于rgb-ir 联合去眩光任务,要求:可以根据目前的顶会顶刊中的backbone 修改/重构/组合 而来,但是要保证创新性,且不能和最新的眩光去除 论文撞车
2 提出一个flare aware 模块,能够mask rgb 以及IR 图像的眩光(可能位置不同)
3 提出一种RGB -IR 眩光部分信息互补机制
上述三点为你的任务,为了让我更好的完成目标,我希望你每个都出三种方案
最终我希望你交付我:
1 网络设计方案 3 份
2 代码设计指南 3 份
为了确保我能为你设计出具创新性的 RGB-IR 联合去眩光网络结构和模块,能否请你进一步明确以下几点:
提供这些信息后,我会为你生成三套完整方案(网络设计方案 + 模块说明 + 代码实现指南)。
1 并没有选定与倾向
2 图像尺寸为 rgb 512 x 512 x3 IR 512x512 训练资源为 4090 x 4
3 请你根据目前顶会顶刊 的喜好确定架构
4 没有
5 伪代码
ps 引用请务必都是顶会顶刊或者高被引 ,不要引用一些无聊的论文 ,最好图文并茂,但如果篇幅限制,就不用图片了
明白了。我将设计三个创新性网络架构方案,专用于RGB-IR联合去眩光任务,每个方案都将包括:
每个方案将配有详细的模块设计说明和伪代码形式的实现指南。我会优先借鉴CVPR、ICCV、ECCV、NeurIPS、TPAMI等顶会/顶刊中的权威成果。
我会尽快整理出完整内容与你分享。
夜间强光拍摄产生的镜头眩光(lens flare)会严重降低图像质量,并干扰后续视觉算法 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 。可见光相机在极暗环境或直面强光源时,图像细节常被炫光淹没,而红外成像不受可见光照影响,能在弱光甚至无光条件下获取清晰的场景结构 (LLVIP: A Visible-Infrared Paired Dataset for Low-Light Vision) 。研究表明,将红外与可见光信息融合可以生成兼具细节和目标信息的图像 (LLVIP: A Visible-Infrared Paired Dataset for Low-Light Vision) 。因此,我们提出利用RGB与IR双模态联合去除眩光的思路:红外图像提供被眩光遮挡区域的结构线索,辅助恢复可见光图像的真实内容;同时在正常区域提供冗余信息增强细节。下面提出三种创新网络架构方案,每种方案都包含:(1) 专为RGB-IR去眩光任务设计的骨干网络;(2) 自适应识别并屏蔽眩光的**“flare-aware”模块**;(3) 跨模态的信息互补融合机制。每种方案均力求借鉴顶会顶刊最新网络结构并体现创新性,避免与现有单模态去眩光方法相撞车。
架构设计: 该方案采用双编码器单解码器的对称结构,类似U-Net但针对双模态进行了扩展。 (DSA-Net: Infrared and Visible Image Fusion via Dual-Stream Asymmetric Network - PMC) 为了充分挖掘两种模态的不同特性,我们为RGB和IR分别配置独立的编码器。可见光(RGB)编码器采用卷积残差块堆叠,以提取丰富的纹理细节和颜色信息;红外(IR)编码器则侧重于几何结构,采用轻量卷积层提取热分布下的场景形状。两路编码器均提取多尺度特征,在各层特征图保持与输入图像严格对齐(假定RGB与IR图像已配准)。解码器部分融合来自两编码器的特征并逐级上采样重建出无眩光的RGB图像。为保留细节,我们在解码过程中引入跨模态跳跃连接:每一级解码层不仅接收自身编码层特征,还融合对应尺度下另一模态的特征。这样保证红外提供的结构线索和可见光的细节纹理在各尺度充分整合。此外,可在解码器中加入注意力机制(如通道-空间注意力模块)以自适应调节融合特征的权重,从而抑制噪声干扰,突出关键信息。
Flare-Aware模块: 我们在双编码器的基础上引入一个眩光感知掩膜分支。该模块可视为一个小型子网络(类似于分割头),利用编码器的浅层特征来预测RGB图像中的眩光区域掩膜。例如,借鉴Qiao等人ICCV’21对光源和眩光分开检测的做法 (ICCV 2021 Open Access Repository) , (ICCV 2021 Open Access Repository) 我们的掩膜分支首先从RGB编码器提取的高亮度特征中检测潜在眩光位置。同时参考IR编码器对应位置的响应:若某区域RGB显著变亮而IR没有相应高亮,则判定该区域可能是眩光伪影(因为真实物体应在红外上有所体现)。如此,我们得到RGB的眩光概率图 ;类似地,如IR图像存在自身眩光伪影(例如红外镜头可能产生的耀斑),也可预测 。最终得到的flare掩膜 用于指示每个像素哪种模态受眩光影响更严重。掩膜模块可以采用U-Net分支实现,对含眩光图像进行二分类(眩光/非眩光),训练时以模拟或标注的眩光区域为监督。 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 文献指出单纯依赖阈值检测易将真实光源误当眩光去除,我们的掩膜通过结合IR信息缓解了此问题——对于IR也暗的亮斑才判为眩光,从而保留可能仅在可见光亮的真实光源。需要注意的是,对于LED等在红外频段不发光的光源,我们的掩膜判别策略会更加谨慎:结合上下文判断其形状、大小是否符合眩光特征,避免错杀真实光源。
RGB-IR信息融合机制: 有了像素级的眩光掩膜,本方案通过分区加权融合实现信息互补:在推理阶段,对每层编码特征图进行融合时,引入掩膜权重 表示该位置信任IR或RGB的程度。例如,在像素 ,若 表示RGB有眩光,而 表示IR正常,则提高红外特征在融合特征中的权重,反之亦然。具体实现上,我们可计算模态权重图 (这里为Sigmoid归一化),从而令在RGB眩光且IR无眩光处接近1,在反之情况接近0,在两者都正常或都眩光时接近0.5。据此得到融合公式:,其中为两编码器提取的对应层特征。 (LLVIP: A Visible-Infrared Paired Dataset for Low-Light Vision) 由于低光情况下传统融合算法难以兼顾细节与目标,我们的方法通过动态调整权重,有效利用IR提供的结构(例如被眩光遮挡的行人轮廓)和RGB提供的细节(正常区域的纹理和色彩),实现优势互补。此外,在解码重建时,对于掩膜判定为真实光源的区域,可直接将原RGB输入的高亮值部分保留或与网络输出融合(类似于用输入与输出按光强凸组合恢复光源 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) ),避免不必要地削弱真实光源亮度。总之,该融合机制确保**“该亮则亮,该清则清”**:眩光区域由IR“看穿”恢复,非眩光区域保留RGB细节,真实光源则适度保留其亮度以呈现自然效果。
代码实现指南: 以下给出该方案的伪代码与模块划分:
python# 输入: RGB图像 (rgb), IR图像 (ir) # 输出: 去眩光后的清晰RGB图像 (output) # 1. 特征提取(编码器) feat_rgb = RGB_Encoder(rgb) # 提取RGB多尺度特征 feat_ir = IR_Encoder(ir) # 提取IR多尺度特征 # 2. 眩光掩膜预测(flare-aware模块) mask_rgb = FlareMaskHead_RGB(feat_rgb[0..L]) # 利用RGB浅层特征预测眩光区域 mask_ir = FlareMaskHead_IR(feat_ir[0..L]) # (可选)预测IR中的眩光区域 # 计算模态融合权重矩阵 omega,根据mask差异动态调整 omega = Sigmoid(mask_rgb - mask_ir) # 元素值约在[0,1],偏向IR或RGB # 3. 特征融合(逐层) fused_feats = [] for level in range(L): F_rgb = feat_rgb[level] F_ir = feat_ir[level] # 像素级加权融合特征 F_fused = omega * F_ir + (1 - omega) * F_rgb fused_feats.append(F_fused) # (可选)跨模态跳接,将另一模态高层特征拼接用于解码 fused_feats[level] = Concatenate(F_fused, feat_rgb[level], feat_ir[level]) # 4. 解码重建(解码器) output = Decoder(fused_feats) # 若需要光源保真,在输出图像output中将mask判定真实光源区域用输入rgb的像素值替换或融合 output = RestoreLightSources(output, rgb, mask_rgb, mask_ir) return output
以上伪代码中,我们定义RGB_Encoder
和IR_Encoder
为两路共享类似架构但独立参数的编码器网络;feat_rgb[i]
表示第i级(从高到低分辨率)RGB特征。FlareMaskHead
是利用编码器特征的小型卷积网络,产生与输入同尺寸的掩膜图。融合步骤对每层特征按元素加权,并在解码器中使用标准的上采样和跳接。实际实现时,可使用深度可分离卷积或轻量模块加速IR分支编码,使用注意力机制(如CBAM)优化权重生成。训练策略: 可利用合成含眩光/无眩光图像对进行监督训练 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) ,损失包括输出与无眩光真值的重建误差,以及掩膜分支的分割误差;同时可加入感知损失提升视觉质量。通过这样的设计,方案一能在保证创新性的同时,结合U-Net的高效结构,实现对多种眩光的鲁棒去除。
架构设计: 第二种方案采用当前流行的Transformer架构,实现跨模态特征的深度融合。网络由双分支编码器 + Transformer融合模块 + 解码器组成。首先,RGB和IR各自通过一个浅层卷积提取低级特征(降采样至较小分辨率),然后将特征映射展开为序列嵌入供Transformer编码。 (DSA-Net: Infrared and Visible Image Fusion via Dual-Stream Asymmetric Network - PMC) 鉴于红外和可见光信息分布差异,我们设计不对称编码器:IR分支引入Transformer编码层获取其全局语义和热目标分布,而RGB分支采用卷积/残差块深入提取局部纹理和颜色细节。这类似于文献中提出的红外-可见不对称双流网络,一支使用Transformer关注全局语义,另一支用卷积捕获丰富细节 (DSA-Net: Infrared and Visible Image Fusion via Dual-Stream Asymmetric Network - PMC) 。接下来是跨模态注意力融合模块:我们堆叠若干层Cross-Attention Transformer,让RGB和IR特征序列通过交叉注意力机制相互融合。 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 由于多个光源的存在会导致网络难以判断哪些高亮是眩光,我们希望Transformer能通过跨模态匹配来区分:注意力层以一种模态的特征为查询,另一模态为键/值,当RGB的某些特征在IR中没有对应激活时,注意力机制将自动降低对该RGB特征的权重,反之亦然。通过多头注意力,网络可以“对比”两种模态的特征来识别并抑制眩光伪影——因为眩光伪影通常是跨模态不一致的信号。这类似于人类在比对可见光与红外图像时,可以发现只有可见光图中存在的亮斑即为眩光。最后,Transformer融合后的特征序列再通过解码器重建出目标RGB图像。解码器可采用Transformer解码器或卷积解码器。我们倾向于多尺度Transformer结构:例如基于Swin Transformer的金字塔架构 (DSA-Net: Infrared and Visible Image Fusion via Dual-Stream Asymmetric Network - PMC) ——先将图像分块编码,多层交叉注意力融合,全局信息融合后再通过逐级上采样和跳接还原高分辨率细节。这样既利用Transformer长程建模能力,又保留U-Net式的层级细节。
Flare-Aware模块: 在纯Transformer方案中,我们可以将“眩光感知”融入注意力机制本身,而不再是单独的显式分割分支。具体而言,我们引入一个显式眩光查询向量或增加输入Token来引导注意力聚焦眩光区域。例如,可以在Transformer输入序列中附加一组额外的掩膜查询token,这些token的初始值来自于RGB与IR图简单对比得到的粗略眩光图(例如将RGB转灰度与IR做差,得到初步伪影提示)。这些查询向量在Transformer交叉注意力层中,将尝试匹配输入特征中与眩光相关的成分,相当于显式寻找“哪些位置需要用另一模态信息替换”。同时,我们也可以在注意力计算中应用掩膜约束:对于Transformer的注意力矩阵 ,如果先验掩膜指示RGB第个patch受眩光影响而IR第个patch没有,则可以放大从到的注意力权重,从而强化IR对RGB受损区域的贡献。这种先验引导类似于给注意力机制加一个引导地图,提高其辨别眩光的效率。当然,这些操作需要精心设计权重和训练策略,以免引入偏差。在本方案中,flare-aware的作用更多体现在Transformer融合层:不局限于检测一个显式的眩光二值图,而是通过注意力动态建模眩光影响。例如,注意力头可以自动学到:若RGB特征非常明亮而对应IR特征不突出,则推断该亮特征多半是眩光,应更多参考IR特征来重建。这样的机制与Qiao等人提出的“基于光源指导的去眩光”异曲同工,即利用光源/眩光的关联来指导去除 (ICCV 2021 Open Access Repository) 。不同的是,我们利用跨模态注意力隐式完成了这种关联建模。
RGB-IR信息互补机制: Transformer提供了高度灵活的特征融合手段,实现了全局范围的信息互补。具体来说,每一个RGB特征patch都能全局地检索IR特征中匹配的信息,反之亦然。这避免了简单逐像素加权可能出现的误差,尤其当眩光造成RGB大片区域信息缺失时,IR的对应区域特征可以通过注意力直接填补进去。例如,一束强光造成RGB图像左下角大片泛白,但IR图像中该区域地形纹理清晰,那么通过跨模态注意力,IR分支的相关位置特征将被大幅度地广播到RGB分支对应的位置来完成重建。在融合过程中,我们还考虑不同尺度的信息:低分辨率的注意力层提供全局配准和大致结构补全,高分辨率层次则细致融合边缘和纹理。 (LLVIP: A Visible-Infrared Paired Dataset for Low-Light Vision) 由于普通融合方法在极端弱光下难以捕获细节,我们引入多层次跨模态融合,确保既补充宏观结构又增强细节纹理。值得一提的是,该机制还能有效保留真实光源:假如某光源在IR中也有强响应(例如热灯泡),Transformer会识别到这一双模态高亮模式,从而在融合时保留该亮源(不会像传统网络那样一概压制所有亮点 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) )。相反,如果某亮斑仅在RGB有而IR无,Transformer会倾向用周围IR信息填充,使之不再突兀地亮斑存在——相当于去除了伪影。因此,信息互补在此通过注意力的“存在性检查”来实现:** 两模态均有则保留,一方缺失则由另一方提供**。
代码实现指南: 此方案实现可基于现有Transformer框架进行扩展,下面提供核心步骤的伪代码:
python# 输入: rgb (H×W×3), ir (H×W×1) # 输出: 去眩光后的RGB图像 (output) # 1. 初步特征提取与嵌入 feat_rgb0 = ConvEmbedding_RGB(rgb) # 用卷积将RGB图像嵌入初始特征序列 feat_ir0 = ConvEmbedding_IR(ir) # 将IR图像嵌入初始特征序列 # 可选:附加一个粗略眩光掩膜序列作为Transformer输入的一部分 flare_hint = EstimateFlareTokens(rgb, ir) # 估计眩光提示token序列 # 2. 跨模态Transformer融合编码 # 将RGB和IR序列以及可选掩膜token一起输入Transformer fused_tokens = CrossModalTransformer(feat_rgb0, feat_ir0, hint_tokens=flare_hint) # 3. 解码重建输出 output = TokenDecoder(fused_tokens) # 将融合后的token序列重投影为图像 return output
实现说明:ConvEmbedding_RGB/IR
可以是若干卷积层或PATCH分块+线性投影,将图像变为 个embedding(类似ViT的patch embedding)。CrossModalTransformer
由多层跨注意力块组成,每层包括自注意力(在RGB和IR各自序列内)和交叉注意力(让RGB序列作为query从IR序列提取信息,反之亦然),以及前馈网络等。可以复用Swin Transformer或ViT的实现,改造为双序列交互。 (DSA-Net: Infrared and Visible Image Fusion via Dual-Stream Asymmetric Network - PMC) 例如,红外分支可引入局部窗口注意力捕获局部结构和全局上下文,而可见光分支用残差密集块提取细节,然后在Transformer层进行交叉融合 (DSA-Net: Infrared and Visible Image Fusion via Dual-Stream Asymmetric Network - PMC) 。EstimateFlareTokens
是可选模块,用简单规则或卷积网络估计眩光分布(如计算),并嵌入若干token表示高疑似眩光区域的位置和强度。如果不使用该先验,则完全依赖Transformer自学习。TokenDecoder
则是将融合后的表示转换为图像,可采用Transformer解码器逐步扩展分辨率,或直接reshape回原图维度通过卷积精炼。训练可使用模拟眩光数据集,损失为输出与无眩光真值的像素L1+感知损失;同时可对Transformer中间层加入对比约束,让对应位置的RGB/IR特征在融合后保持一致,从而明确跨模态互补的目标。由于Transformer参数量大,4×RTX4090的算力可以支持较大的patch尺寸和多头注意力。实践中需注意调节Transformer深度和patch大小,以平衡全局建模和局部细节恢复的效果。
架构设计: 第三种方案从分层分解的角度解决眩光去除,设计一个同时输出干净图像和眩光层的网络,并通过IR辅助实现对被遮挡信息的补全。该架构包含共享编码器和双解码器:(1) 基础图像解码器用于重建无眩光的RGB场景;(2) 眩光伪影解码器用于估计输入图像中的眩光分量。直觉上,输入的含眩光图像可以近似分解为“真实场景”+“眩光伪影”两部分 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) (虽然并非简单线性相加,但可作为优化目标)。我们的编码器同时接收RGB和IR图像,将其级联为多通道输入,通过一系列卷积提取联合特征表示。这样编码器能够获取场景的多模态表征:既有RGB的颜色细节,又有IR的结构线索。然后,基础解码器从编码特征中重建场景,可视为去除了眩光的图像;伪影解码器则从特征中提取出炫光条纹、光斑等伪影组件。两支解码器各自输出与原图同尺寸的图像 和 ,并满足约束 (在一定颜色变换下近似成立 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) )。为强化这种分解,我们可以在解码器之间引入对抗或循环一致性约束:例如,将 添加到真值干净图像应当复原原始含眩光图,反之从 减去模型预测的眩光层应当得到接近IR图像在可见光域的一个重建。 (Disentangle Nighttime Lens Flares: Self-supervised Generation-based Lens Flare Removal) 类似的思想在去夜间雾和眩光的研究中已有探索:Jin等人提出无监督分解光效应层的方法来抑制眩光 (Disentangle Nighttime Lens Flares: Self-supervised Generation-based Lens Flare Removal) 。这里,我们采用显式分层使网络学习将眩光“拿出来”,从而更纯粹地恢复场景。
Flare-Aware模块: 在此方案中,flare-aware的作用体现在解码器分支的协作上。我们设计一种眩光掩膜引导的特征路由机制:编码器输出的特征首先分流为两部分,一部分流向基础解码器,一部分流向眩光解码器。分流系数由预测的眩光掩膜决定。例如,我们可从编码器早期层直接预测一张粗略眩光掩膜图(类似方案一的FlareMaskHead,但这里只需关注RGB中的眩光即可)。对于特征图中的位置 ,若掩膜判定眩光存在,则更多该位置特征成分路由到眩光解码器;反之则主要路由到基础解码器。这种机制确保眩光相关的信息(高亮度、不合理炫光纹理等)被送去生成 ,而场景结构和物体纹理信息送往 分支。如果不采用显式掩膜,我们也可采用注意力路由:令两个解码器对编码特征竞争注意力权重,让网络自行学出每个特征属于哪一层(类似于软分配)。不过显式掩膜能引入先验,训练更可控。在实现上,可将编码器特征通道拆分或复制成两份,经逐元素加权后分别送入两个解码器。需要注意的是,红外信息通常不含眩光伪影(或极少),因此IR相关特征应主要路由到基础解码器支路——这可通过让掩膜预测仅依据RGB通道来决定,避免IR特征被错误分配到眩光层。另外,我们在眩光解码器中引入光轴对称约束用于鬼影斑点的检测:即利用相机光学中心,对称的位置若出现亮斑则判定为鬼影 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 。训练时可对眩光解码器输出施加此先验(例如损失惩罚不符合对称性的输出),促使其更准确地重建鬼影模式 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 。这一策略借鉴了CVPR’23的BracketFlare方法,通过光学中心对称先验有效定位眩光斑点 (Nighttime Smartphone Reflective Flare Removal Using Optical Center Symmetry Prior) 。
RGB-IR信息互补机制: 基础解码器在重建无眩光图像时,通过多模态编码特征已经融合了IR提供的场景结构。但我们进一步设计局部细节补全机制,充分利用IR在眩光遮挡区域的补偿信息。具体而言,在基础解码器重建过程中,对于掩膜判定为眩光的区域,我们额外引入一支IR引导的细节填充网络。它可以是一个小型卷积或Transformer模块,输入为IR图像或其提取的局部块,输出为应填充到RGB图像相应区域的细节纹理。例如,对于RGB中因眩光而模糊的建筑边缘,IR图像清晰呈现了该边缘的形状,则细节填充模块提取IR的边缘特征,在重建RGB对应区域时添加进去,恢复清晰的轮廓。由于IR缺乏颜色,我们还采取邻域色彩迁移策略:对由IR填充的区域,其颜色成分由周围未受眩光影响的RGB像素推断,这可通过融合层的卷积自动学习(相当于用周围环境给IR结构上色)。此外,信息互补还体现在损失函数上:我们可对和IR图像施加结构一致性约束,例如使的灰度边缘与IR图的边缘在眩光区域高度吻合,从而确保IR的有用信息完全体现在输出中。 (LLVIP: A Visible-Infrared Paired Dataset for Low-Light Vision) 总的来说,本方案通过红外辅助,将原本被眩光遮蔽的关键信息重建出来,同时利用RGB提供色彩纹理,使结果既真实又清晰。相比简单融合,显式分解使模型更清楚“该还原什么、去除什么”。
代码设计指南: 方案三的实现涉及两个输出,伪代码框架如下:
python# 输入: 含眩光RGB图 rgb,以及对应IR图像 ir # 输出: 去眩光RGB图像 clean_rgb # 1. 编码器:联合提取多模态特征 combined_input = Concatenate(rgb, ir) # 通道维拼接 features = Encoder(combined_input) # 提取联合特征表示 # 2. 眩光掩膜预测(用于特征路由) flare_mask = FlareMaskPredictor(features) # 预测眩光区域掩膜(基于RGB特征) # 3. 分流路由特征给两个解码器 features_clean = features * (1 - flare_mask) # 掩膜反选,主要特征用于重建干净图像 features_flare = features * flare_mask # 掩膜选择,眩光相关特征用于重建伪影 # 4. 解码阶段:分别重建干净场景和眩光图层 pred_clean = CleanDecoder(features_clean) # 重建无眩光的RGB图像 pred_flare = FlareDecoder(features_flare) # 重建估计的眩光伪影图像 # 5. IR细节填充:用IR细节增强pred_clean的眩光区域 pred_clean_refined = IR_guided_detail_fill(pred_clean, ir, flare_mask) # 6. 最终输出干净图像 clean_rgb = pred_clean_refined return clean_rgb
实现要点:编码器Encoder
可以采用ResNet或DenseNet等主干,在融合输入时注意对RGB和IR的通道归一化(IR只有1通道可重复堆叠或扩展为3通道以平衡尺度)。FlareMaskPredictor
可以是接在编码器末端的1x1卷积+Sigmoid,输出与特征同尺寸的掩膜(值在0~1表示属于眩光的概率)。上述将特征简单乘以掩膜实现软路由,更高阶的做法也可以是在解码器中加入门控单元,由掩膜控制特征流动的比例。两个解码器可以共享部分浅层解码网络以减少参数,但在后期逐渐分开,以专注重建各自内容。训练时需要有成对数据(含眩光输入及对应无眩光真实图)或采用半合成数据。损失包括: 和 ,确保两分支分别逼近真实场景和真实眩光。 (Improving Lens Flare Removal with General-Purpose Pipeline and Multiple Light Sources Recovery) 如果真实拆分难以获得,可采用周期一致性:让 重构回原输入,从而无监督地逼近分解。 (Disentangle Nighttime Lens Flares: Self-supervised Generation-based Lens Flare Removal) 此外,可在眩光分支上应用对抗损失,使其生成的眩光纹理逼真且不干扰干净分支。在IR细节填充模块IR_guided_detail_fill
中,我们针对掩膜区域提取IR的梯度或高频分量(例如Sobel边缘),融合到pred_clean
相应频率成分中(可通过小卷积网络将IR边缘与pred_clean特征融合 (Disentangle Nighttime Lens Flares: Self-supervised Generation-based Lens Flare Removal) )。这一模块应重点训练在掩膜区域提升结构清晰度,同时保持过渡自然。最后输出的clean_rgb
即为去除眩光且细节完备的可见光图像。
三种方案各有侧重:方案一结合经典U-Net结构加入了显式掩膜和加权融合,直观易实现且充分利用像素级先验;方案二引入Transformer实现深度跨模态融合,适合复杂场景下的全局匹配与多源眩光去除;方案三采用物理分解思路,将问题转化为层分离与补全,具有很强的可解释性(输出的伪影层直接展示了去除掉的眩光)。这三套方案均围绕**“flare-aware”和跨模态互补**展开创新设计,借鉴了近期顶会研究的思想又有所扩展。例如方案二的跨模态注意力类似于先进的多光谱融合Transformer提高目标检测的效果 (DSA-Net: Infrared and Visible Image Fusion via Dual-Stream Asymmetric Network - PMC) ;方案三的分解策略则呼应了最新无监督眩光消除对物理过程建模的趋势 (Disentangle Nighttime Lens Flares: Self-supervised Generation-based Lens Flare Removal) 。在实现过程中,可根据具体数据情况和性能需求择优采用或融合这些方案,以在RGB-IR联合去眩光任务中取得最佳效果。
参考文献: