图像去雾之 Retinex 算法
Retinex是一个合成词,它的构成是retina(视网膜)+ cortex(皮层)→ Retinex
μ 读作 “缪”(miù,音同 “谬”),是希腊字母 “mu” 的音译,常用于表示均值(如高斯分布的均值)
σ 读作 “西格玛”(xī gé mǎ),是希腊字母 “sigma” 的音译,常用于表示标准差(如高斯分布的标准差)
引入高斯滤波
距离卷积核中心越近的像素,权重越大(符合高斯分布的 “中心高、边缘低” 特性),从而实现图像平滑,同时抑制高斯噪声。
应用:
- 图像预处理(如边缘检测前的噪声去除)
- 降低图像细节复杂度,突出整体特征(如目标检测中模糊背景,聚焦目标)
证明
其中对 dxdy = rdrdθ 的解释(微分本质和数学推导)
背景
人眼看到的世界是光与物质相互作用的结果,映射到人眼中的图像和光的长波(R)、中波(G)、短波(B)以及物体的反射性质有关
Retinex 算法是计算机视觉领域经典的图像增强算法,核心目标是从退化图像中分离 “物体本身的反射特性(Reflectance)” 和 “环境的光照特性(Illumination)”,从而消除光照不均匀、雾天、阴影等干扰,还原图像的真实细节。
其名称源于 “Retina(视网膜)” 和 “Cortex(皮层)” 的结合,模拟人类视觉系统对 “物体固有颜色 / 亮度” 的感知能力(人类能忽略光照变化,稳定识别物体颜色,比如在阴天和晴天都能认出苹果是红色)。
单尺度 Retinex(Single-Scale Retinex, SSR)
核心思想:
用一个 “高斯滤波核” 对原始图像进行平滑处理,将平滑后的结果作为 “光照分量 L(x,y)”(因为光照变化通常是 “慢变化” 的,高斯滤波能保留慢变化的光照,过滤快变化的反射细节)。
优点:原理简单、计算快,能有效增强局部细节
缺点:“单尺度” 导致权衡困难,若高斯核小,光照估计不准(易保留噪声);若高斯核大,反射分量会丢失细节(图像模糊)
高斯核的解读
多尺度 Retinex(Multi-Scale Retinex, MSR)
核心思想:用多个不同尺度的高斯核分别估计光照分量,再对多个反射分量进行加权融合(解决 SSR 的 “尺度权衡” 问题)
优点:兼顾 “细节保留”(小尺度)和 “光照平滑”(大尺度),增强效果更自然,是 Retinex 的主流应用形式
缺点:计算量比 SSR 大(多尺度卷积),且对彩色图像易出现 “颜色失真”
带颜色恢复的多尺度 Retinex(Multi-Scale Retinex with Color Restoration, MSRCR)
核心思想:在 MSR 的基础上,增加 “颜色恢复步骤”(解决彩色图像的颜色失真问题),通过引入 “颜色增益因子” 和 “强度增益因子”,确保增强后图像的颜色与原始图像一致。
关键改进:
先对彩色图像的 RGB 三通道分别执行 MSR,得到初步的反射分量 R、G、B
计算 “颜色恢复因子”:根据原始图像的亮度均值,调整三通道的增益,避免某一通道(如 R 通道)过亮或过暗
强度拉伸:对融合后的亮度分量进行非线性拉伸(如对数拉伸),进一步增强对比度
优点:彩色增强效果最优,能同时解决 “光照不均” 和 “颜色失真”,广泛用于雾天图像去雾、医学图像增强、航拍图像增强;
缺点:计算量最大,实现复杂度较高。
Retinex 的局限性
计算复杂度高:多尺度高斯卷积的时间成本较高,难以实时应用
对噪声敏感:高斯滤波无法完全区分 “噪声” 和 “反射细节”,易放大噪声
光照估计偏差:若图像中存在强高光(如镜面反射),高斯滤波会将高光误判为光照,导致反射分量失真
Retinex 的改进方向:
快速实现:
用 “引导滤波(Guided Filter)”“双边滤波(Bilateral Filter)” 替代高斯滤波,在保证光照估计精度的同时降低计算量(如 Fast Retinex)
结合深度学习:
用 CNN(卷积神经网络)直接学习 “从原始图像到反射分量” 的映射(如 Deep Retinex),避免手工设计光照估计模型
多模态融合:
结合暗通道先验、大气散射模型等,提升雾天、低光照场景的增强效果。
高斯滤波示例