2. 图像退化基础
在防抖与低照度增强方案中,所有算法都建立在同一个前提之上:我们看到的“模糊、脏、暗、偏色”并不是随机出现的视觉瑕疵,而是有明确物理来源、可以用数学模型描述的信号退化过程。只有把退化拆解成可建模的环节,后续的逆滤波、维纳滤波、多帧对齐、降噪与色彩校正才有可验证的输入输出关系。本节围绕四类典型退化——运动模糊、噪声、低对比度、色偏——分别讨论其成因与数学表达。
一、统一退化模型:从清晰图像到观测图像
最通用的图像退化模型可写成卷积加噪声的形式:
g(x, y) = (h * f)(x, y) + n(x, y)
其中:
f(x, y) 原始清晰图像
h(x, y) 退化核(点扩散函数 PSF)
n(x, y) 加性噪声
g(x, y) 实际观测图像
* 二维卷积
这个式子把四类退化统一到两个关键对象上:退化核 h 决定空间上的模糊与位移,噪声项 n 决定像素值的随机扰动。低对比度和色偏则更多体现在全局映射与通道关系上,通常不直接写进卷积项,而是作为后级或并行的变换处理。理解这一点,就能明白为什么防抖算法主要估计 h,而低照度增强算法主要处理 n 与全局映射。
二、运动模糊:成因与点扩散函数建模
运动模糊来自曝光时间内相机与场景之间的相对位移。若曝光时间为 T,相机在像平面上的运动轨迹为 (x(t), y(t)),则点扩散函数可写成轨迹上的能量积分:
h(x, y) = (1/T) ∫₀ᵀ δ(x - x(t), y - y(t)) dt
匀速直线运动时简化为:
h(x, y) = 1/L, 沿运动方向长度 L 内均匀分布
其余位置为 0
这意味着运动模糊核的形状直接由运动轨迹决定:匀速直线运动产生一条线段核,加速运动产生非均匀线段,旋转运动产生弧线核。在频域中,线段核的傅里叶变换会出现周期性零点,导致观测图像频谱出现规则暗带,这也是逆滤波会放大噪声的根源。防抖算法要做的,就是从 g 中估计出这条轨迹,再构造对应的 h 进行反卷积。
三、噪声:来源分类与统计模型
低照度场景下噪声被显著放大,主要来源包括光子散粒噪声、读出噪声、暗电流噪声和量化噪声。不同噪声服从不同分布,建模方式也不同:
- 高斯噪声:读出噪声与热噪声的近似,n ~ N(0, σ²),方差与信号无关,适合加性模型。
- 泊松噪声:光子到达的随机性,方差与信号强度成正比,低照度下主导,需用信号相关模型。
- 椒盐噪声:坏点或传输错误,表现为极值脉冲,适合中值滤波而非线性滤波。
- 条带噪声:传感器列读出不一致,表现为固定方向的周期性条纹。
在低照度增强中,常用泊松-高斯混合模型描述原始 RAW 数据:
g = α · Poisson(f / α) + N(0, σ²)
α 增益系数,与 ISO 相关
σ² 读出噪声方差
f 理想光子数
该模型说明:提高 ISO 会同时放大泊松噪声的可见度并抬升读出噪声基底,因此低照度增强不能只靠后期提亮,必须在降噪与细节保留之间做权衡。
四、低对比度与色偏:全局映射与通道关系
低对比度的本质是动态范围被压缩。若场景亮度范围为 [Lmin, Lmax],传感器响应后输出范围为 [Omin, Omax],则对比度可表示为:
C = (Omax - Omin) / (Omax + Omin)
低对比度对应 C 偏小,通常由以下原因造成:
- 曝光不足,信号集中在低灰度区
- 大气散射或雾霾,叠加了全局偏置
- 镜头眩光,抬升黑电平
- 传感器非线性响应,压缩高光或暗部
色偏则发生在通道维度。若 R、G、B 三通道的响应增益不一致,或光源色温与白平衡设定不匹配,就会产生整体偏色。其数学模型可写成通道增益矩阵:
[R'] [kr 0 0 ] [R]
[G'] = [0 kg 0 ] [G]
[B'] [0 0 kb] [B]
kr、kg、kb 为各通道增益,偏离 1 即产生色偏。
更一般地,可用 3×3 色彩校正矩阵 M 描述通道间串扰。
五、四类退化对比与处理优先级
| 退化类型 | 主要成因 | 数学形式 | 频域表现 | 处理优先级 |
|---|---|---|---|---|
| 运动模糊 | 曝光内相对位移 | 卷积 h * f | 周期性零点 | 先对齐再反卷积 |
| 噪声 | 光子/读出/暗电流 | 加性 n 或泊松-高斯 | 全频段抬升 | 先降噪再增强 |
| 低对比度 | 曝光不足、散射、眩光 | 全局映射 T(·) | 直方图集中 | 先校正再拉伸 |
| 色偏 | 白平衡失配、通道增益差 | 通道增益/矩阵 M | 通道能量失衡 | 先白平衡再校色 |
六、案例与常见误区
以夜间手持拍摄为例:曝光 1/15s、ISO 6400,画面同时出现拖影、彩色噪点、灰雾感和偏黄。按统一模型拆解,拖影对应运动模糊核 h,彩色噪点对应高 ISO 下的泊松-高斯噪声,灰雾感对应低对比度全局映射,偏黄对应白平衡失配。若直接对原图做锐化,会同时放大噪声和模糊核的频域零点,结果更差。
把四类退化分别建模,是后续防抖、降噪、低照度增强算法能够组合成完整方案的基础。只有明确每一级处理针对的是 h、n 还是全局映射,才能避免模块之间互相放大误差。