← 返回 PaperDaily
视觉与图像
DCP改造后有多强?四叉树+引导滤波跑出0.74SSIM
这篇工作很“朴素”,但不空。它没有靠大模型堆参数,而是把低光照增强里最容易被忽略的几个老问题——大气光估计不准、透射率细节糙、结果容易发灰——逐个拆开处理。思路偏传统,但工程味很足,适合想看物理模型怎么落地的人。
龙哥读论文
发布于 2026-08-14 09:11:17
阅读 4
查看原文
原论文信息如下:
虚拟雾霾+暗通道先验:低光照图像增强的新思路
低光照增强这件事,表面看是“把图调亮”,实际上常常是“三件套”一起发作:亮度不够、细节糊掉、颜色还容易跑偏。很多方法要么一味拉亮,结果像把夜景拍成了雾霾天;要么上来就堆复杂网络,训练数据、算力、稳定性一起上强度,工程落地时又开始掉链子。更麻烦的是,低光照图像本身的质量退化机制非常复杂:传感器噪声在暗部被放大,色彩通道之间的信噪比失衡,再加上不同光源色温的干扰,使得简单的直方图均衡或伽马校正几乎无法同时兼顾亮度、对比度和自然度。因此,如何在不过度依赖大规模标注数据的前提下,设计一种可解释、可控制的增强方案,一直是该领域的一个核心痛点。
这篇论文的思路很有意思:它不跟深度网络硬碰硬,而是把低光照图像先“反相”成一张虚拟雾霾图 ,再借用去雾领域已经很成熟的暗通道先验 (Dark Channel Prior,DCP,暗通道先验,He 等人提出)来做增强。说人话就是:既然低光照图像和雾图在统计特性上有点像,那就别死磕“低光照增强”这个名词,直接把它当成“去雾问题”来处理,绕个弯,反而更顺。这个“反相”操作并非简单的像素值取反,而是对RGB三个通道分别进行反转,从而在数学上构建出一个与大气散射模型输入条件高度相似的退化图像。作者在论文中通过大量的统计直方图对比,证明了反相后的低光照图像在暗通道分布上,与真实雾霾图像具有极高的相似性,这为后续借用物理模型提供了坚实的理论依据。
这一步的妙处在于,它不是生硬地把低光照图像硬套进一个完全不相干的框架,而是先做了一个统计层面的同构映射 :低亮度区域在反相后会变成更亮的“雾感区域”,而高亮部分会保留下来。这样一来,后续的物理成像模型就不再是摆设,而是能真正参与重建。这个思路朴素,但不土,属于那种“老模型重新上岗,还真能干活”的路线。🤨 具体来说,整个流程分为三步:首先对输入的低光照图像进行反相处理,得到虚拟雾霾图;然后利用改进的暗通道先验方法,从虚拟雾霾图中估计出大气光值和透射率;最后通过大气散射模型的逆变换,恢复出清晰的“无雾”图像,再将其反相回正常亮度空间,从而得到最终的增强结果。这个闭环流程确保了每一步都有明确的物理意义,避免了黑箱操作带来的不确定性。
论文在这里把去雾模型搬了过来:先估计大气光,再估计透射率,最后通过成像逆过程把清晰图像恢复出来。之所以能用在低光照增强上,是因为反相后的虚拟雾霾图在分布上与雾图相近。换句话说,作者不是在“发明一套新宇宙”,而是在把一个已经很成熟的物理框架,换个入口重新利用起来。这种“问题转换”的思路在计算机视觉中并不罕见,但关键在于转换后的形式是否严格满足原模型的假设条件。作者通过实验验证了这种转换的有效性,为传统物理模型在新时代的应用提供了一个很好的范例。
四叉树+遗传算法:大气光估计的精准优化
去雾类方法最容易翻车的地方,不是公式写不出来,而是大气光值估计不准 。一旦把白色物体、强光源、反光区域误当成大气光,后面整张图就会开始“发灰”“发白”或者颜色串味。传统 DCP 常常直接取暗通道图里最亮的 0.1% 像素作为大气光,简单是简单,但也容易被噪声和异常点带偏。例如,在夜景中,如果画面中存在车灯、路灯或白色招牌,这些区域的像素值会非常高,如果直接将其作为大气光,会导致整幅图像的背景被过度提亮,产生一种“褪色”的观感,丢失了夜景应有的氛围感。因此,如何从复杂的场景中精准地分离出代表环境光照的“大气光”,是提升增强质量的关键。
四叉树分解的作用,是把整张图递归切成更小的块,优先保留有效叶子节点。这样做的好处很明显:搜索空间大幅缩小,后续不必在整张图上盲找。论文中还设置了终止条件,当子区域长宽小于 100 时停止继续分解。这个阈值不算玄学,属于比较典型的“先粗后细”策略,既节省计算,也避免把图切得像豆腐渣。四叉树分解的具体过程是:从整张图像开始,计算每个子区域的得分(通常是该区域内的像素均值与方差),然后选择得分最高的区域继续分解,直到达到终止条件。这种自顶向下的分割方式能够快速定位到图像中最亮且最平坦的区域,这些区域最有可能包含大气光信息。
接着上场的是遗传算法(Genetic Algorithm,GA,遗传算法)。它的角色不是“重新发明大气光”,而是从四叉树留下的候选区域里继续做全局搜索。论文里把每个候选区域当成一个个体,个体的基因可以理解为区域的坐标和尺寸;然后通过选择、交叉、变异三步进化,逐渐找到更靠谱的区域。遗传算法的引入,是为了解决四叉树分解可能陷入局部最优的问题。四叉树虽然高效,但其贪心策略有时会错过一些非连续但整体亮度更高的区域。遗传算法通过模拟自然选择的过程,能够在解空间中进行更广泛的探索,找到全局最优或近似全局最优的区域。
这里的适应度函数 设计得比较实用:它同时考虑区域的平均亮度和亮度方差。平均亮度越高,越可能是大气光区域;方差越小,说明这个区域内部亮度更均匀,更像“真正的环境光”,而不是某个局部高亮噪点。这个判断逻辑很朴素,但很对路。具体来说,适应度函数 F 被定义为 F = mean(I_region) - std(I_region),其中 mean 是区域的平均亮度,std 是区域亮度的标准差。这个函数鼓励算法寻找那些“又亮又均匀”的区域,从而有效地区分了“大气光”和“光源”。
如果只看结果,这一块像是在“抠细节”;但如果从系统角度看,它其实是在解决一个老问题:大气光不是越亮越好,而是越像全局环境光越好 。这也是为什么四叉树和遗传算法组合后会更合理——前者负责缩小范围,后者负责在范围内做稳健优化。一个负责省时间,一个负责少犯错,配合得还算像样。👍 此外,论文还讨论了遗传算法的参数设置,如种群大小设为20,交叉概率0.8,变异概率0.1,最大迭代次数为50,这些参数在实验中表现出了良好的收敛性和稳定性。
自适应窗口与形态学:透射率计算的细节提升
大气光估计只是第一步,真正决定“图像到底是清楚还是发脏”的,还有透射率估计。透射率可以理解为光穿过介质后还能剩多少。估得太低,图像会过度去雾,颜色发飘;估得太高,图像又会像没救回来。在低光照增强中,透射率图的质量直接决定了最终图像的细节丰富度和边缘清晰度。一个粗糙的透射率图会导致增强后的图像出现光晕、块效应或细节丢失。论文在这一步做了三层处理:自适应窗口 、加权最小值 、形态学+引导滤波 。
先说自适应窗口。传统暗通道会固定一个 patch 大小,但低光照图像的亮度分布差异很大,固定窗口很容易“顾此失彼”。论文根据平均亮度动态调节窗口大小:亮区域多时用 9×9,中等亮度用 7×7,暗区域多时用 3×3。这个逻辑很直接,像是给算法装了一个会看脸色的眼睛。这种自适应策略的物理意义在于:在亮度较高的区域,图像的信噪比较高,使用较大的窗口可以更稳定地估计局部最小值,减少噪声干扰;而在亮度较低的区域,图像细节更容易被大窗口“抹平”,使用较小的窗口可以更好地保留边缘和纹理信息。
接下来是加权最小值过滤。传统暗通道是直接取局部窗口中的最小值,但最小值有时并不“聪明”,它可能被噪声、边缘误差或者异常亮点影响。作者给每个像素设计了权重,让更接近暗区域中心、亮度更合理的像素占更大权重。这样算出来的暗通道更稳,不容易被一两个离群点带偏。权重的设计基于像素在窗口内的空间位置和亮度差异,例如,距离窗口中心越近、亮度越低的像素,其权重越大。这种加权策略本质上是一种空间自适应滤波,能够有效抑制边缘处的“暗通道溢出”现象。
再往后是形态学操作。先腐蚀,再膨胀,本质上就是对暗通道图做一次“去毛刺、补细节”的整理。腐蚀会压掉局部的亮噪点,膨胀则能在一定程度上修补腐蚀带来的细节损失。这里的操作看起来像传统图像处理的老把式,但它的价值非常现实:能把透射率图里那些不该出现的尖刺和孔洞,先收拾一下。腐蚀操作使用一个结构元素(如3x3的矩形)对图像进行扫描,将结构元素覆盖区域内的最小值赋给锚点,从而消除小的亮点;膨胀操作则相反,取最大值,用于恢复物体的轮廓。这一对操作组合起来,被称为“开运算”,能够有效平滑物体轮廓并断开狭窄的连接。
最后是引导滤波(Guided Filter)。引导滤波的英文全称是 Guided Filter ,中文一般译为引导滤波 。它的作用是平滑透射率图,同时尽量保留边缘。说白了,就是别把物体边界也一起抹平。论文还根据图像尺寸自适应调整滤波半径和正则参数,这一点比较务实,说明作者不是把滤波器当黑箱,而是在认真控制“平滑”和“保边”之间的平衡。引导滤波的核心假设是,输出图像与引导图像之间存在局部线性关系。在本方法中,通常使用原始低光照图像作为引导图,这样可以使最终得到的透射率图在物体边缘处与原始图像保持一致,从而避免光晕伪影。
整套流程最后还要做一次逆操作,把去雾后的虚拟图像再反回低光照增强结果。这个“反相—去雾—再反相”的链条看上去有点绕,但逻辑是闭合的:先把问题转换成更容易处理的形式,再用物理模型求解,最后回到原始任务。对工程实现来说,这类流程最大的优点是可解释性强 ,不像某些深度模型,效果好坏全靠玄学调参,出问题时连锅都不知道甩给谁。😏 此外,由于整个流程不涉及复杂的神经网络训练,其计算资源需求较低,在普通的CPU上即可实现快速处理,这对于资源受限的嵌入式设备或移动端应用来说,是一个巨大的优势。
实验对比:主客观评价双优的增强效果
实验部分最重要的不是“赢没赢”,而是赢得是否合理 。这篇论文的实验设置比较完整:一方面用自建数据集 M 做了 1000 张低光照图像测试,另一方面又在 DICM、LIME、LOW 和 FUSION 等公开数据集上与 Dong、IBOOST、LDR、PLM、RetinexNet、IceNet 等方法做了对比。这样做的好处是,既能看主观观感,也能看跨数据集的泛化表现。自建数据集M包含了多种低光照场景,如室内、室外、城市夜景、自然风光等,确保了训练和测试的多样性。而公开数据集则提供了与学术界主流方法公平比较的平台。
从论文给出的主观分析看,Dong 算法能提亮,但容易过度平滑;IBOOST 边缘更清楚,但会有轻微伪影;LDR 比较自然,但遇到极暗场景时不够强;PLM 提亮明显,却可能带来噪声和偏色;RetinexNet 有时会出现颜色失真。相比之下,本文方法在亮度、对比度、颜色自然度和细节保留之间做到了更均衡的折中。这种均衡性并非偶然,而是得益于其物理模型驱动的设计理念:大气光估计保证了全局色调的正确性,透射率优化保证了局部细节的清晰度,两者协同作用,共同实现了高质量的增强效果。
客观评价方面,论文使用了两类指标:有参考图像时看 PSNR、SSIM、MSE;无参考图像时看熵、平均梯度、边缘强度。这里先解释两个缩写:PSNR 是峰值信噪比(Peak Signal-to-Noise Ratio,峰值信噪比),SSIM 是结构相似性指标(Structural Similarity Index,结构相似性指数)。前者更关注像素误差,后者更关注结构是否像原图。对增强任务来说,这两个指标能比较直观地反映“亮了没”和“像不像”。MSE(均方误差)则衡量了像素级别的差异。无参考指标如熵(衡量图像信息量)、平均梯度(衡量图像清晰度)和边缘强度(衡量边缘保持能力),则用于在没有真实参考图的情况下评估图像质量。
不过,实验也有边界。第一,这套方法依赖物理模型假设,面对极端噪声、复杂彩色光源、强反射场景时,模型匹配度未必始终理想。例如,在存在大量彩色噪点的极暗场景下,反相后的虚拟雾霾图可能无法完美模拟真实雾霾的统计特性,导致估计偏差。第二,遗传算法虽然提升了大气光估计的稳健性,但也引入了额外搜索开销,若追求端侧实时部署,还需要进一步压缩复杂度。例如,在一张1080P的图像上,遗传算法的搜索过程可能需要数秒时间,这对于视频处理来说是难以接受的。第三,自建数据集虽然丰富,但公开可复现性仍然受限,因为论文没有提供代码和数据链接。这个问题不算小,毕竟算法再漂亮,不能复现就容易变成“论文里很强,别人手里很玄”。此外,论文中对比的深度学习方法大多是几年前的版本,没有与最新的基于Transformer或扩散模型的方法进行对比,这在一定程度上削弱了其先进性的说服力。
龙迷三问
这篇论文到底解决了什么问题? 它解决的是低光照图像增强中“亮度提上去,但细节、颜色和自然度一起崩”的老问题。核心做法是先把低光照图像转成虚拟雾霾图,再借助去雾物理模型恢复清晰图像,重点优化了大气光估计和透射率估计。它不依赖大规模训练数据,提供了一条可解释、可控制的增强路径,特别适合对算法鲁棒性和可解释性要求较高的工业应用场景。
四叉树和遗传算法分别在干什么? 四叉树负责把整张图切成更小的候选区域,减少搜索范围;遗传算法负责在这些候选区域里进一步优化,找到更像“大气光区域”的位置。前者是粗筛,后者是精筛。两者结合,既保证了搜索效率,又提高了最终结果的全局最优性,避免了传统方法容易陷入局部极值的问题。
为什么要先反相成虚拟雾霾图? 因为反相后的低光照图像在统计分布上更接近真实雾图,而 DCP 本来就是为雾图设计的。这样做相当于把一个难题换成了一个更擅长的老问题,属于“换赛道解题”。这种“问题转换”的思路在算法设计中非常巧妙,它利用了不同视觉任务之间的内在联系,实现了知识的迁移复用。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数: ★★★☆☆
把低光照增强转成虚拟雾霾去处理,思路不算颠覆,但把四叉树、遗传算法、自适应窗口和引导滤波串起来,形成了一套能跑通的工程方案,属于“老框架里做出了新组合”。其核心创新在于对传统DCP方法的系统性改进,使其能够适应低光照增强这一特定任务。
实验合理度: ★★★★☆
对比了多个传统方法和深度方法,主观图和客观指标都给了,实验设置比较完整。遗憾是没有代码和数据开源,复现验证会打一点折扣。此外,与最新SOTA方法的对比缺失,使得其先进性评估不够全面。
学术研究价值: ★★★☆☆
对去雾物理模型在低光照增强中的迁移做了一个比较完整的落地示范,对后续研究“如何把老物理模型换场景继续用”有启发。它证明了在深度学习时代,传统方法经过精心改进,依然具有强大的生命力和竞争力。
稳定性: ★★★☆☆
对复杂场景的鲁棒性比纯阈值法强,但仍受物理模型假设约束,极端噪声和复杂光源下未必总稳。例如,在强光源与极暗区域共存的场景中,大气光估计仍可能受到干扰。
适应性以及泛化能力: ★★★☆☆
跨多个数据集都有结果,说明泛化不差;但方法本质上还是依赖雾化假设,场景边界不可能无限外扩。对于非雾化退化的低光照图像(如运动模糊、散焦模糊),该方法可能效果不佳。
硬件需求及成本: ★★★☆☆
MATLAB 环境下可跑,算力门槛不算高,但遗传算法会增加额外搜索成本,实时端部署还得继续瘦身。未来可以考虑用更高效的优化算法(如粒子群算法)替代遗传算法,或者通过预计算来加速。
复现难度: ★★☆☆☆
方法描述较细,但代码未开源、数据集也未公开,复现需要自己补不少工程细节。对于希望直接使用该方法的开发者来说,这是一个不小的障碍。
产品化成熟度: ★★★☆☆
适合对可解释性要求高、算力有限、场景相对稳定的图像增强任务;但要上真实产品,还需要更强的速度优化和鲁棒性验证。例如,在安防监控、自动驾驶等实时性要求高的场景中,还需要进一步优化。
可能的问题: 方法依赖物理假设,复杂光源下可能失真;遗传算法增加开销;缺少开源代码与数据,复现和落地都不算轻松。此外,与最新深度学习方法相比,其在极端场景下的性能上限可能较低。
主要参考文献
[1] Wang Wencheng, Yin Baoxin, Li Lei, et al. A Low Light Image Enhancement Method Based on Dehazing Physical Model. CMES, 2025.
[2] He K, Sun J, Tang X. Single Image Haze Removal Using Dark Channel Prior. IEEE TPAMI, 2011.
[3] 原论文链接:https://cdn.techscience.press/files/CMES/2025/TSP_CMES-143-2/TSP_CMES_63595/TSP_CMES_63595.pdf