2. LSC(镜头阴影校正)原理

镜头阴影(Lens Shading)是图像传感器在捕获均匀光照场景时,画面中心与边缘出现亮度不一致的现象。LSC(Lens Shading Correction)校正正是ISP Pipeline中消除这一非均匀性的关键模块。本章从物理成因、数学模型和RAW域处理位置三个维度深入剖析LSC原理。

2.1 镜头阴影的成因

镜头阴影主要由两种物理效应叠加产生:光学渐晕和像素角度响应。理解这两种机制是设计校正算法的前提。

成因类型 物理机制 影响特征 典型衰减量
光学渐晕 镜头光阑遮挡、镜筒机械遮挡导致斜入射光线被部分阻挡 从中心到边缘平滑下降,与cos⁴θ定律近似 边缘亮度降至中心的40%~70%
像素角度响应 CMOS像素微透镜与光电二极管的入射角敏感度差异 边缘像素对斜射光响应降低,且R/G/B通道衰减不一致 边缘响应降至中心的50%~80%
色差阴影 不同波长光线在镜头折射率不同,导致R/G/B通道阴影曲线分离 边缘出现偏色(通常偏绿或偏紫) 色差可达5%~15%
工程要点: 光学渐晕是亮度衰减的主因,而像素角度响应则引入了通道间的不一致性。LSC校正必须同时补偿亮度衰减和色差阴影,否则校正后会出现边缘偏色。

2.2 LSC校正的数学模型

LSC校正的核心思想是为每个像素位置计算一个增益系数,乘以原始像素值以补偿衰减。增益矩阵通常基于多项式拟合或网格插值实现。

2.2.1 增益矩阵模型

设图像中心坐标为 \((x_c, y_c)\),像素位置 \((x, y)\) 处的原始RAW值为 \(I_{raw}(x,y)\),校正后值为 \(I_{corr}(x,y)\),则:

I_corr(x,y) = I_raw(x,y) × G(x,y)

其中 G(x,y) 为增益系数,通常满足:
- 中心区域 G ≈ 1.0(无需增益)
- 边缘区域 G > 1.0(补偿衰减)
- 各通道独立计算 G_R, G_Gr, G_Gb, G_B

2.2.2 多项式拟合模型

最常用的增益模型是径向多项式,以像素到中心的归一化距离 \(r\) 为自变量:

G(r) = 1 + a₁·r² + a₂·r⁴ + a₃·r⁶

其中:
- r = sqrt((x-x_c)² + (y-y_c)²) / R_max
- R_max 为图像对角线半长
- a₁, a₂, a₃ 为各通道独立的拟合系数
- 通常使用 2~4 阶多项式即可达到良好效果
调优建议: 实际工程中,R/G/B三个通道的增益系数需要分别标定。G通道(Gr和Gb)通常差异较小,可共用一组系数以节省存储;R和B通道系数差异较大,必须独立存储。

2.2.3 网格增益表模型

对于高精度校正,ISP常采用网格增益表(Gain Grid)方式:将图像划分为M×N个网格,每个网格顶点存储一个增益值,中间像素通过双线性插值获得。

参数 典型值 说明
网格尺寸 16×16 ~ 32×32 网格越密,校正精度越高,但存储开销增大
增益精度 Q8.8 定点数 8位整数+8位小数,范围1.0~4.0
插值方式 双线性插值 硬件实现简单,平滑过渡
通道数 4通道 (R, Gr, Gb, B) 每个通道独立存储增益网格
避坑指南: 网格增益表在边缘区域可能出现增益突变,导致校正后出现网格状伪影。建议在标定时对边缘网格进行平滑约束,或使用更高阶插值(如双三次插值)来抑制伪影。

2.3 LSC在RAW域中的处理位置

LSC校正位于ISP Pipeline的RAW域预处理阶段,通常在黑电平校正(BLC)之后、去马赛克(Demosaic)之前。这一位置选择有明确的工程考量。

核心原则: LSC必须在RAW域、Bayer格式下进行,因为增益乘法操作对每个像素独立进行,不依赖颜色插值。若在RGB域或YUV域进行,会引入颜色混叠和精度损失。

下图展示了LSC在典型ISP Pipeline中的位置与数据流关系:

LSC在ISP Pipeline中的处理位置 LSC在ISP RAW域Pipeline中的位置 Sensor RAW BLC LSC 镜头阴影校正 Demosaic AWB / CCM / Gamma 数据流说明: RAW域(Bayer格式)→ 黑电平校正 → 镜头阴影校正(增益乘法)→ 去马赛克(插值成RGB)→ 后续颜色处理 增益矩阵示意(Bayer格式下各通道独立增益) R Gr Gb B × G_R(x,y) × G_Gr(x,y) × G_Gb(x,y) × G_B(x,y) R' Gr' Gb' B' → 校正后Bayer数据

2.4 LSC校正的关键参数与调优流程

在实际工程中,LSC校正的调优涉及以下关键参数:

  • 增益模型选择: 多项式模型(存储量小,适合低端ISP) vs 网格模型(精度高,适合高端ISP)
  • 网格密度: 16×16适用于手机模组,32×32适用于安防/车载大靶面传感器
  • 通道独立性: R/B通道必须独立标定,G通道可合并Gr/Gb以减少存储
  • 增益上限: 通常限制在4.0×以内,过大会放大噪声
  • 平滑约束: 相邻网格增益变化率需限制,防止校正后出现环状伪影
实战经验: 在标定LSC增益时,建议使用均匀光照的灰卡(DNP或X-Rite),拍摄多帧取平均以消除随机噪声。标定环境温度应控制在25±2℃,因为温度变化会影响像素暗电流和响应度,进而影响LSC精度。

2.5 本章小结