资讯动态

低光图像增强全解析:从Retinex到深度学习的演进路线

发布时间:2026/10/3 5:17:51 来源:尧图企业网站定制
夜晚用手机拍出来的照片一团黑里勉强能分辨出轮廓放大全是彩色噪点安防监控在凌晨的走廊里拍到的画面人脸完全没法辨认或者你在家拍宠物室内的暗光环境下快门一慢就糊成一片。这些问题都属于同一个研究领域——低光照图像增强。我最近在系统读这个方向的综述把从传统方法到深度学习路线的演进脉络梳理了一遍这篇先把方法论骨架和核心思想讲透。这个领域的目标很直接把一张暗光下拍到的图像恢复成亮度正常、细节清楚、颜色自然的图像。它的应用面非常广手机摄影、自动驾驶夜间感知、安防监控、医学内窥镜、遥感成像都能用得上。对于刚接触这个方向的研究生或者工程师来说最头疼的问题不是找不到论文而是方法太多、术语太杂不知道从哪条线入手。这篇综述速读就是帮你把整个版图拉开理清各类方法之间的关系包括它们的数学假设、网络设计逻辑、实验设定偏好以及那些论文里不会明说但实际跑起来才知道的坑。1. 问题定义的核心矛盾为什么低光增强不是一个简单的调亮很多第一次接触这个方向的人会有一个直觉图像太暗了把亮度乘一个系数不就行了灰度值拉一拉、直方图挪一挪看起来确实会变亮但效果很糟糕。原因是低光退化过程远不止亮度降低这一件事它是多个耦合问题的叠加结果。1.1 低光图像的退化模型与噪声耦合从信号处理的角度看相机传感器捕获的光子数量减少导致信噪比急剧下降。暗光环境下的噪声模型通常用泊松-高斯混合分布来描述泊松部分来自光子的随机到达与信号强度相关高斯部分来自传感器读取电路的热噪声和量化噪声。这意味着暗部区域的噪声不是均匀的信号越弱的地方噪声相对越强这种噪声被称为信号相关噪声。如果只是简单地放大亮度噪声会被同步放大最终得到的图像亮确实亮了但满屏噪点观感甚至比原图更差。更麻烦的是低光环境还会导致色彩信息丢失。先看一个现象你在黄昏的室内拍一张白纸拍出来往往偏黄或者偏蓝这是白平衡算法在暗光下失效的表现。同时物体的纹理细节在低光照下对比度极低边缘信息几乎淹没在噪声里。所以低光增强的实际任务应该是亮度提升、去噪、对比度恢复、色彩校正、纹理重建这几个目标互相牵扯单独优化任何一个都不行。1.2 增强任务的病态本质低光增强在数学上是一个病态(ill-posed)问题。图像退化过程可以简化为观测图像 光照分量 × 反射分量 噪声其中反射分量是物体的固有属性也就是我们希望恢复的本质信息但光照分量和噪声混合在一起无法直接分离。给定一个观测值有无穷多个光照和反射的组合能够生成它这就是病态性的来源。所有增强算法的工作本质上都是在做一件事施加某种先验假设从这个无穷解空间中挑出一个看起来合理的解。传统方法依赖手工设计的先验平滑性、颜色恒常性等深度学习方法则是从数据中学习这些先验。理解了这个核心矛盾后面看所有方法都会有一个统一的视角它们本质上是不同的解空间约束方式。这也是为什么同样是增强任务不同论文的网络结构差距如此巨大。2. 方法分类的总览版图传统先验与数据驱动的分水岭低光照图像增强的研究历史可以分成两个大阶段深度学习大规模应用之前的传统方法阶段和以CNN、GAN、Transformer为主流的深度学习方法阶段。后者还可以细分出监督学习、无监督/自监督、物理模型驱动等方法路线。2.1 传统方法的三条技术分支传统方法主要沿着三个方向发展。第一类是直方图均衡化及其改进版本核心思想是调整像素灰度分布来提升对比度其中CLAHE因为加入了对比度限制和分块处理至今仍是很多工程的baseline算法。第二类是Retinex理论驱动的方法这类方法假设图像可以分解为光照图和反射图通过对光照分量的估计和调整实现增强SSR、MSR、MSRCR都属于这个家族。第三类是基于大气散射模型的思路这类方法比较巧妙先把低光图像取反把它当作雾天图像来处理然后用去雾算法解算最后再取反得到增强结果。这三条分支各有各的局限。直方图均衡化不考虑物理成像过程容易造成过度增强和色彩失真Retinex方法对光照平滑性的假设在强边缘场景下会崩基于去雾思路的方法对噪声极其敏感因为取反操作会把暗部噪声变成亮部噪声去雾算法会把它当作细节保留下来。2.2 深度学习方法的范式迁移深度学习方法本质上是用网络来代替人工设计的先验。早期工作直接把低光图像和正常亮度图像组成训练对用端到端的CNN学习映射关系。后来研究者发现物理模型可以嵌入网络结构于是出现了RetinexNet这类把Retinex分解作为网络框架的方法。再后来Zero-DCE这类方法提出了完全不依赖参考图的增强策略通过设计一系列无参考损失函数来驱动网络学习亮度调整曲线从实力上证明了没有GT也能做增强。从FLOPS、参数量、推理速度这些工程指标看传统方法仍然占优因为不需要GPUCPU上也能实时跑。但从增强效果的上限和复杂场景适应性来看深度学习方法的优势非常明显。这个分水岭本质上是手工先验与数据驱动先验的较量后者能从海量数据中学到更贴近真实分布的图像统计规律。3. 传统路线从直方图到Retinex先验设计的演进逻辑传统方法虽然已经是上一代技术但它们的思路对理解深度学习模型的设计非常有帮助。尤其Retinex理论它几乎是低光增强领域最重要的思想源头之一值得花篇幅讲透。3.1 直方图均衡化的局限与CLAHE的补救全局直方图均衡化(HE)的核心操作是把像素值的累积分布函数当作映射函数让输出图像的直方图尽量平坦。这样做的好处是简单高效但有两个致命缺陷一是全局映射对局部光照不均匀的图像无能为力比如一张上半部分亮、下半部分暗的图全局均衡化会让亮部过曝、暗部仍然偏暗二是噪声会被放大暗部噪声在直方图中表现为某些灰度值附近的集中分布均衡化强行拉伸这些区间噪声自然就跟着放大了。CLAHE做的改进是在局部做文章先把图像划分成若干小块(tile)在每个小块内分别做直方图均衡化同时设置一个对比度阈值对超过阈值的直方图高度进行裁剪并重新分配有效限制了噪声放大的幅度。最后再通过双线性插值消除块与块之间的拼接痕迹。我自己在实际工程里用CLAHE做过baseline它的优点是参数少、无训练、速度极快对整体偏暗但不复杂的图像效果其实能看但一旦场景里有强烈光照梯度或者需要恢复真实色彩它就不够用了。3.2 Retinex理论拆解与SSR、MSR、MSRCRLand提出的Retinex理论认为人眼感知的颜色亮度取决于物体的反射率而不直接取决于入射光照。把图像表示为入射光分量L与反射分量R的乘积I(x,y) L(x,y) × R(x,y)入射光对应环境光照变化缓慢、集中在低频反射分量携带物体的本质纹理和颜色信息变化剧烈、集中在高频。算法要做的是估计L然后恢复R I / L。由于对数运算可以把除法变成减法所以通常在对数域处理。SSR单尺度Retinex用中心环绕函数对I做高斯模糊得到L的估计然后在对数域做差得到R。问题在于滤波尺度太小增强不自然容易出现光晕滤波尺度太大局部对比度不足。于是MSR多尺度Retinex把多个尺度的SSR结果加权平均。但它还有一个问题增强后的颜色会偏灰。MSRCR加入了色彩恢复因子把RGB三个通道的比例关系拉回来算是这个家族的最终形态。我在复现MSRCR的时候注意到一个容易被忽略的细节高斯滤波的半径设置对结果影响极大半径越大光照图越平滑但也会把高对比度边缘的光晕效应(asymmetric halo)放大。此外对数域计算的数值稳定性也需要小心如果图像中存在纯黑像素取对数会出现负无穷实际工程中要加一个极小的偏置常数。3.3 取反去雾思路一个巧妙的跨领域映射这个方法很有意思把低光图像取反之后视觉上的效果与雾天图像高度相似——整体灰蒙蒙、对比度低、细节模糊。于是研究者直接使用暗通道先验去雾算法先估计取反后图像的大气光成分得到透射率图再求解清晰图像最后取反回来。这条路线在论文里看起来逻辑严密实际跑一遍就会发现很多崩溃情况去雾算法依赖于暗通道先验假设也就是指望图像中至少有一个颜色通道的强度接近零但这个假设在取反后的暗部区域基本不成立因为暗部噪声抬高了像素值加上取反操作把低光图像中的噪声抬高到了可见范围去雾算法会把这些噪声当作场景细节来恢复。所以这个方法现在基本只作为对比实验中的一条baseline存在但它给我们提供了一个启示算法领域之间的经验是可以迁移的做研究的时候不妨想想自己的问题能否映射到另一个有成熟解决方案的问题上。4. 深度学习增强的两条主线监督学习与无监督学习深度学习入场之后低光增强问题的解法被彻底重构。需要先说明一个背景低光增强与超分辨率、去雨这类底层视觉任务有一个本质区别——真实的低光/正常光图像对极难采集。这是因为同一场景要分别在低光和正常光下拍摄期间场景内的物体不能有任何移动光照变化要可控传感器噪声特性还要一致。所以早期深度学习工作大多依赖合成数据后来才逐步出现LOL、SICE这类真实数据集以及无监督方法来绕开数据对的需求。4.1 端到端监督学习LLNet到KinD的演进LLNet可以算是深度学习用于低光增强的早期代表工作之一它直接使用合成低光图像训练一个堆叠式自编码器学习从暗到亮的映射。思路简单直接网络输入低光图输出增强图用均方误差做损失。合成数据的方式通常是在正常图像上随机减少曝光、增加噪声来模拟低光效果。但合成与真实之间的domain gap很大毕竟真实低光的退化机制远比降曝光加噪声复杂。RetinexNet是另一个有代表性的工作它把Retinex分解思想塞进了深度学习框架先用一个分解网络把输入图像分解为光照图和反射图然后对反射图做去噪论文里用的是BM3D这是个传统去噪算法插在网络中间用对光照图做亮度提升最后重建。这个结构的优点在于把任务拆解各个子问题可以用针对性的模块解决。但我在复现的时候发现一个工程上的痛点BM3D是CPU密集型算法在GPU训练流程中会导致严重的效率瓶颈而且它作为一个非参数模块无法端到端反向传播这限制了整个网络的联合优化。KinD在RetinexNet基础上做了很多改进用编码器-解码器结构同时处理光照图调整和反射图增强模型中引入了感受野增强模块来扩大空间上下文范围损失函数也做了更精细的设计包括重建损失、平滑损失、颜色损失等。KinD的训练策略中还有非常关键的一步使用LOL数据集中由专业后期生成的参考图作为监督信号这比简单用正常曝光图做GT更合理因为专业后期图在色彩和亮度分布上更可控。4.2 零参考与对抗训练Zero-DCE和EnlightenGAN的另辟蹊径Zero-DCE的全称是Zero-Reference Deep Curve Estimation核心思想是不需要成对的正常光参考图只需要输入低光图像本身就能完成增强。它的做法是用一个深度网络学习一组与输入图像同分辨率的亮度曲线参数然后对输入图像做多次逐像素曲线映射得到增强结果。网络本身很小参数量不到十万。关键是损失函数的设计Zero-DCE定义了一组无参考损失包括空间一致性损失相邻像素在增强前后的变化应保持一致防止局部过度增强曝光控制损失增强后图像的亮度应接近某个合理的曝光水平论文里设为0.6左右的灰阶均值颜色恒常性损失基于图像统计的灰度世界假设约束RGB通道均值之间的关系光照平滑损失防止亮度曲线参数在空间上剧烈突变这套损失函数虽然没有GT但每一项都对应一个合理的图像先验合在一起居然能work而且效果不输部分监督方法。这提示一个更深层的问题好的增强结果并不需要一个标准答案多个弱约束组合起来也能稳定收敛到视觉上合理的解。EnlightenGAN用对抗学习的思路解决无监督增强问题。它使用U-Net作为生成器输入低光图输出增强图判别器则负责区分真实正常光图像和生成器的输出。更关键的设计是把注意力机制引入了生成器让网络关注需要增强的区域同时用全局判别器和局部判别器的组合让网络同时优化全局亮度和局部细节。实际使用这些无监督方法的时候我最大的感触是稳定性问题Zero-DCE的四个损失函数之间的权重关系十分敏感某个权重稍微调大增强结果就可能出现色偏或者局部过度曝光。而且零参考方法在极端低光场景下的表现不太稳定因为它没有见过真正的标准答案全靠先验约束偶尔会产生一种视觉效果上自洽但不真实的输出。4.3 合成数据训练与真实场景的Domain Gap无论监督还是无监督方法都需要在推理时面对真实世界中的各类复杂场景。监督方法的问题在于合成退化与真实退化的不一致性这一点在低光任务上尤其突出合成时加的简单高斯噪声与真实传感器噪声完全不同。无监督方法不需要成对数据泛化性理论上更好但在评价指标上往往不如监督方法因为PSNR和SSIM这类全参考指标需要GT来对比无监督方法的输出不在GT的分布覆盖范围内指标自然吃亏。现在大量新工作开始转向自监督或者物理模型驱动的混合思路比如用真实低光图的噪声统计特性来构建损失或者利用连续帧的多曝光序列来提供自监督信号。这些都是综述中反复出现的趋势值得后续单独展开。5. 评测指标与基准数据集看综述时必须知道的底层逻辑读任何一篇低光增强论文实验部分的评价指标和数据集的设置都是必看内容。但这里有个隐蔽的现象同一方法在不同论文里的指标对比经常有出入不完全是因为方法复现问题很多时候是评测协议的细节不同——是否使用边界裁剪、是否处理颜色空间、PSNR计算时的像素值范围等。作为读者不能看个数字就信要理解指标本身的倾向性。5.1 全参考指标与无参考指标的适用边界PSNR和SSIM是最常见的全参考指标需要有ground truth。PSNR计算的是两幅图像的像素级均方误差的对数表示数值越大越好但它的缺陷非常明显PSNR对像素值的全局偏移敏感对结构信息不敏感。一个增强算法如果只是简单提高整体亮度PSNR可能很高但视觉上仍然有很多伪影。SSIM从亮度、对比度、结构三个维度衡量两幅图像的相似性更贴近人眼感知但对模糊图特别宽容因为模糊会降低对比度差异反而有可能得到较高的SSIM值。LPIPS是深度特征空间的感知相似度指标使用预训练的AlexNet或VGG提取特征在特征空间里计算距离它和人类感知的一致性比PSNR/SSIM好很多。但LPIPS有一个使用前提它依赖预训练网络对内容和纹理的编码如果增强图像改变了某些在预训练网络中敏感的属性LPIPS的评分可能不太稳定。我在对比实验中发现同一组增强结果用不同版本的LPIPS实现会得到不同的排序这提醒我们论文中引用的LPIPS数值必须标明特征提取骨干网络的版本。无参考指标方面NIQE基于自然图像统计特征不需要GT在评价增强图像的自然度方面有优势BRISQUE与之类似但侧重失真的整体感知。这些指标在无监督方法评价中承担重要角色但它们也有明显的局限性对色彩失真不敏感对局部异常区域可能完全无感。我在实际工作中评价模型输出时一般是全参考指标无参考指标人工主观评分三者结合单一指标容易骗人。5.2 LOL、FiveK、SICE的差异和选择逻辑LOL数据集是目前用得最多的真实低光数据集包含LOLv1和LOLv2两个版本。v1包含500对低光/正常光图像v2扩展到多场景并且细分了LOLv2-real和LOLv2-synthetic。LOL系列的特点是场景集中在室内和相对静态的场景对动态场景和极端弱光覆盖不足。MIT-Adobe FiveK数据集最初是为图像后期处理研究的包含5000张RAW格式照片每张都有5个不同曝光和后期处理程度的版本作为GT其中Expert C版本通常被当作参考图。这个数据集的优势是量大、覆盖场景广、版本丰富可以做很多scale实验缺点是图像风格偏向专业摄影后期不同版本之间的差异不仅仅是亮度还有色调映射和色彩风格的差异用Expert C做GT时模型学到的其实是如何把暗图处理成专家风格而不仅仅是增强亮度。SICE数据集由多曝光序列组成每个场景从欠曝到过曝有多张图像通常用中间正常曝光作为GT也可以用来构建任意曝光程度的监管信号。Multi-exposure的特点让SICE很适合做亮度等级可控的学习任务。在选择数据集时我的建议是如果你的目标是真实场景落地LOLv2-real是最基本的评测集合如果做泛化性验证或者消融实验把FiveK和SICE加上会比较有说服力如果你做的是无监督方法也可以在带GT的数据集上做测试虽然训练没用到GT但测试阶段仍然需要GT来算指标分数。5.3 评测协议中容易被忽略的细节很多论文在计算PSNR和SSIM之前会做一个边缘裁剪一般是每边8像素或图像总面积的某个比例原因是频域变换类方法在图像边界会产生伪影。如果不同论文的裁剪设置不同数值比较就没有可比性。另外sRGB空间和线性空间下计算的PSNR差异很大因为sRGB的gamma变换放大了暗部像素值的差异。如果一篇论文没有明确说明评测空间那它的数字参考意义就很有限。6. 跑实验过程中实测踩过的坑和几条选型建议前面讲的都是方法和理论层面的内容接下来这部分来自我实际复现和对比实验的体会。这个领域论文代码的成熟度参差不齐很多经典模型跑通容易想跑出论文报告的效果需要绕开不少坑。6.1 代码复现中的典型麻烦RetinexNet的官方代码在tfkeras实现中使用了一些特殊的数据增强操作如果不完全复现这些细节直接用自己的dataloader跑最终指标会差一截。更麻烦的是它的去噪模块BM3D与GPU训练流程的衔接问题如果你在PyTorch框架下面重新实现要特别注意BM3D的输入范围彩色图像通常需要转换到YCbCr空间并且对每个通道单独去噪去噪强度参数sigma需要根据图像的低光强度动态调整固定值的效果很不稳定。Zero-DCE的实现相对简单但训练过程有一个让我挠头的细节它用的初始学习率是1e-4还是1e-5在LOL数据集上的最终效果差异肉眼可见。虽然论文和官方代码都贴出来了但不同版本的代码仓库之间学习率设置不一样重新训练的时候最好以官方仓库为准。无监督方法还有一类常见的崩溃模式在训练的某个中间epoch生成结果突然变绿或者变紫这是颜色恒常性损失权重设置不合适导致的。一旦出现这种情况基本上只能从头训练靠中途改权重很难恢复。6.2 方法选型的实际建议如果需求是移动端实时处理且场景相对固定比如固定位置的安防摄像头传统CLAHE仍然值得放进候选清单它不需要数据集、不需要训练、CPU上表现稳定作为预处理步骤直接提升后续任务的对比度有时就够了。如果对效果有更高期待且能接受离线推理Zero-DCE的轻量特性和无监督训练方式是性价比不错的选择。如果手头有成对的低光/正常光数据且场景分布相对可控直接上监督模型是效果上限更高的路线。而如果追求极致效果且不限制计算资源目前基于Transformer和扩散模型的方法在视觉质量上往往会更好。6.3 推荐体验的小型复现路径建议你自己跑一条最小路径来感受这些方法的差异拿LOL数据集中的50张图先用CLAHE做一次增强然后用Zero-DCE增强有条件再加一个End-to-End的监督小模型。不需要调参调优只要观察三者的输出差异你很快就能建立起对这个领域的效果坐标系——CLAHE的结果过度平滑、色彩发灰Zero-DCE的亮度分布更自然但偶尔局部过曝监督方法整体最稳定但对域外场景泛化差。这些直观对比带来的感知比读任何综述文字都更有用。低光增强领域这几年的发展速度非常快文章里提到的这些方法只是整体版图的骨架。综述类的阅读最重要的价值不是记忆每篇论文的细节而是建立一个判断坐标系看到新的低光增强论文你要能迅速判断它属于哪条路线、解决了什么问题、用什么评测方式验证、相比既有方法在哪个环节做了改进。建立这个坐标系之后你再回头读具体的论文效率和理解深度都会完全不一样。这一篇先把问题定义、传统方法演进、深度方法主干和评测逻辑讲清楚了后面如果有机会再展开说说Transformer和扩散模型在低光增强方向的最新进展以及真实场景落地时噪声去除和色彩保真这两大难题的专项处理方案。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑