4. LSC校正原理(一):镜头阴影的数学模型

镜头阴影(Lens Shading Correction, LSC)是ISP Pipeline中消除光学系统亮度不均匀性的关键环节。本章从物理成因出发,建立径向衰减与多项式拟合两种数学模型,并引入增益图(Gain Map)的核心概念,为后续的校正实现奠定理论基础。

4.1 镜头阴影的物理成因与表现

镜头阴影主要由两种物理效应叠加产生:

  • 自然衰减(Natural Vignetting): 镜头边缘光线入射角增大,到达传感器的光通量按cos⁴θ规律衰减。
  • 光学渐晕(Optical Vignetting): 镜头镜筒、光圈等机械结构对边缘光线的遮挡,加剧了边缘亮度下降。

在RAW域中,镜头阴影表现为从图像中心到边缘的亮度平滑下降,且R、G、B三个通道的衰减曲线不同(因波长不同导致折射率差异)。

工程提示: 实际项目中,镜头阴影在暗角区域的亮度可能降至中心亮度的40%~70%,且色温偏移明显(边缘偏绿或偏紫)。LSC校正必须在去马赛克(Demosaic)之前的RAW域完成,否则会引入不可逆的色差。

4.2 径向衰减模型(Radial Attenuation Model)

径向衰减模型假设镜头阴影仅与像素到图像中心的距离有关,是最基础的数学模型。其核心思想是:距离中心越远,衰减越严重。

模型定义:

// 归一化距离计算
dx = (x - cx) / maxRadius
dy = (y - cy) / maxRadius
r = sqrt(dx² + dy²)

// 径向衰减函数(一阶形式)
gain(r) = 1 + k₁ · r² + k₂ · r⁴ + k₃ · r⁶

其中:

  • (cx, cy) 为光学中心坐标(通常不等于图像几何中心)
  • maxRadius 为图像对角线半长
  • k₁, k₂, k₃ 为径向畸变系数,通过标定获得
关键参数: 实际工程中,k₁ 主导近中心区域的衰减,k₂ 控制中间过渡带,k₃ 修正边缘极端区域。三个通道(R/G/B)的系数独立标定。
径向衰减模型:亮度随距离变化曲线 归一化距离 r (0 → 1) 增益 Gain 理想(Gain=1) 实际衰减 中心 r=0 r=0.5 边缘 r=1.0 径向模型假设:亮度衰减仅与距离有关,与方向无关(旋转对称)

4.3 多项式拟合模型(Polynomial Fitting Model)

实际镜头阴影并非完美的旋转对称,受镜头装配公差、传感器倾斜等因素影响,存在非对称性。多项式拟合模型通过二维多项式曲面来逼近真实的阴影分布,具有更高的精度。

模型定义:

// 二维多项式拟合(3阶示例)
gain(x, y) = a₀₀ + a₁₀·x + a₀₁·y + a₂₀·x² + a₁₁·x·y + a₀₂·y²
            + a₃₀·x³ + a₂₁·x²·y + a₁₂·x·y² + a₀₃·y³

其中 aᵢⱼ 为多项式系数,通过最小二乘法拟合标定数据获得。

径向模型 vs 多项式模型对比
对比维度 径向衰减模型 多项式拟合模型
对称性假设 旋转对称 非对称(任意形状)
系数数量 3~5个(每通道) 10~28个(每通道,取决于阶数)
计算复杂度 低(仅需计算r²) 中高(需多次乘加)
拟合精度 中等(忽略非对称) 高(可拟合任意分布)
适用场景 低成本、低精度要求 高端相机、多镜头模组
工程陷阱: 多项式阶数并非越高越好。阶数过高会导致过拟合——在标定板区域拟合完美,但在真实场景的未采样区域出现剧烈振荡(Runge现象)。工程推荐:3阶(10个系数)或4阶(15个系数)为最佳平衡点。

4.4 增益图(Gain Map)的概念

增益图是LSC校正的核心数据结构,它是一个与传感器分辨率相同的二维数组(或降采样后的网格),每个像素位置存储一个增益值,用于补偿该位置的亮度衰减。

增益图生成流程:

  1. 标定采集: 拍摄均匀光照下的灰卡或积分球图像
  2. 参考值提取: 取图像中心区域(通常为5%×5%区域)的平均亮度作为参考值 I_ref
  3. 增益计算: 每个像素的增益 G(x,y) = I_ref / I(x,y)
  4. 模型拟合: 用径向模型或多项式模型拟合原始增益数据,得到平滑的增益曲面
  5. 增益图存储: 将拟合后的增益值按网格存储(通常为16×16或32×32网格,运行时双线性插值)
增益图(Gain Map)生成与校正流程 均匀光源(积分球) 传感器采集RAW 提取中心参考值 逐像素增益计算 模型拟合(平滑) 增益图(16×16网格) 双线性插值 + 校正 校正后均匀亮度输出

4.5 增益图的工程实现要点

在实际ISP系统中,增益图并非以全分辨率存储,而是采用网格+插值策略以降低存储和带宽开销:

  • 网格尺寸: 常见为16×16、32×32或64×64(取决于芯片面积和精度要求)
  • 插值方式: 双线性插值(Bilinear Interpolation)是主流选择,兼顾精度与硬件友好性
  • 通道独立: R、G、B三个通道分别存储独立的增益图,以校正色差
  • 定点化: 增益值通常用Q8.8或Q4.12定点数表示,避免浮点运算
存储优化: 一个1920×1080传感器,若使用32×32网格,每通道存储1024个增益值,三个通道共3072个值。每个值用16bit定点数表示,总存储仅6KB。相比全分辨率存储(约6MB),压缩比达1000:1。

4.6 本章小结

LSC数学模型核心概念速查
概念 核心公式/描述 工程意义
径向衰减模型 gain(r) = 1 + k₁r² + k₂r⁴ + k₃r⁶ 快速、低复杂度,适合对称性好的镜头
多项式拟合模型 gain(x,y) = Σaᵢⱼxⁱyʲ 高精度、非对称校正,适合高端模组
增益图(Gain Map) 网格存储 + 双线性插值 存储与精度的工程平衡方案