2. 镜头阴影成因:光学原理、CRA与Sensor的匹配

镜头阴影,说白了就是画面四周比中间暗。你拿手机拍一张纯白墙壁,如果四角发暗,那就是镜头阴影。我刚开始做ISP时,总觉得这是镜头没擦干净,后来才发现——这背后是光学和传感器之间的一场「匹配游戏」。

2.1 为什么会暗角?

光线从镜头进入,到达传感器边缘像素时,路径比中心长。这会导致两个问题:

  • 光强衰减:边缘光线入射角大,有效通光面积变小
  • 余弦四次方定律:边缘照度 ≈ 中心照度 × cos⁴(θ),θ是光线与光轴的夹角

举个例子,如果边缘光线角度是30°,cos⁴(30°) ≈ 0.56。也就是说,边缘只有中心一半多的光量。嗯,这还没算上镜头本身的遮挡。

关键公式:边缘相对照度 = cos⁴(θ)

θ = 0°时,照度100%;θ = 30°时,照度≈56%

2.2 CRA——主光线角

CRA(Chief Ray Angle)是镜头设计中的一个核心参数。它指的是:从镜头出射、到达传感器像素的主光线与光轴之间的夹角。

我习惯把CRA理解成「光线射向传感器的角度」。不同镜头设计,CRA曲线不同:

像高位置 典型CRA值 说明
中心(0%) 0° ~ 5° 光线几乎垂直入射
中间(50%) 15° ~ 25° 开始出现明显倾斜
边缘(100%) 25° ~ 35° 大角度,阴影最严重

我在项目中遇到过一款广角镜头,边缘CRA直接飙到38°。当时Sensor的CRA匹配上限只有32°,结果拍出来的照片四角几乎全黑——这就是典型的CRA失配。

2.3 Sensor的CRA匹配

传感器像素上面有微透镜(Microlens),它的作用是汇聚光线到光电二极管。微透镜也有自己的CRA曲线——它决定了传感器能「接受」多大角度的光线。

匹配原则很简单:镜头的CRA曲线,要尽量贴合Sensor的CRA曲线。偏差越大,阴影越重。

我的经验:选型时,我会要求镜头厂商提供CRA曲线数据表。然后和Sensor的CRA曲线叠在一起看。两条曲线在0%~80%像高范围内,偏差最好控制在±3°以内。超过5°,基本就要靠LSC硬拉了。

2.4 CRA失配的后果

如果镜头CRA和Sensor CRA不匹配,会出现什么?

  • 亮度阴影:边缘亮度下降,这是最常见的
  • 色彩阴影:不同颜色通道衰减不一致,导致边缘偏色
  • 像素串扰:大角度光线射入相邻像素,产生鬼影或模糊

我曾经调试过一款模组,镜头CRA比Sensor大了8°。结果画面边缘不仅暗,还偏紫——红色通道衰减比蓝色快,白平衡怎么调都调不回来。最后只能靠LSC做分通道增益补偿,才勉强合格。

2.5 镜头阴影的数学模型

从算法角度看,镜头阴影可以建模为一个二维增益函数:

// 像素(x,y)处的阴影补偿增益
gain(x, y) = 1 / (a₀ + a₁·r² + a₂·r⁴ + a₃·r⁶)

其中:
r = sqrt((x - cx)² + (y - cy)²) / R_max
(cx, cy) = 图像中心坐标
R_max = 图像对角线的一半
a₀, a₁, a₂, a₃ = 多项式系数

这个模型假设阴影是径向对称的。但实际镜头往往有偏心、倾斜,所以更精确的模型会加入非对称项。我个人习惯先用对称模型粗调,再根据实测数据做局部修正。

注意:多项式阶数不是越高越好。阶数太高容易过拟合,在边缘产生奇怪的增益波动。我一般用4阶或6阶,超过8阶就要小心了。

2.6 知识结构图

下面这张图总结了镜头阴影的成因、关键参数和校正思路:

镜头阴影成因与校正知识结构 镜头阴影成因与校正知识结构 镜头阴影(Lens Shading) 光强衰减(cos⁴定律) CRA失配 微透镜效率下降 亮度阴影 色彩阴影(偏色) 像素串扰 LSC增益补偿(多项式模型) CRA匹配优化(选型/设计) 关键参数:CRA曲线、像高、多项式系数 核心思路:镜头阴影无法完全消除,但可以通过LSC算法和CRA匹配将其控制在人眼可接受范围内 我的经验:先做CRA匹配选型,再用LSC做精细补偿,两者缺一不可

2.7 避坑指南

做镜头阴影校正,有几个坑我踩过,分享给你:

  • 别只看中心CRA:中心CRA接近0°是正常的,但边缘CRA才是阴影的关键。我曾经只看中心数据,结果边缘阴影严重到无法校正。
  • 温度影响CRA:镜头和Sensor的热膨胀系数不同,温度变化会导致CRA偏移。我在车载项目里遇到过夏天和冬天阴影表现不一样的情况。
  • 模组组装公差:镜头和Sensor之间的倾斜、偏心,会破坏CRA匹配。量产时一定要做阴影测试,不能只靠设计值。

一个小技巧:调试LSC时,我会先拍一张均匀光源下的灰卡照片。然后分析四个角落和中心的亮度比值。如果比值小于0.5,说明CRA失配太严重,LSC也救不回来——得先改硬件。

好了,这一章我们聊了镜头阴影的光学成因和CRA匹配。说白了,阴影问题一半在镜头,一半在传感器,ISP算法只是最后的补救手段。理解这些底层原理,你才能知道LSC的增益曲线该怎么设计、极限在哪里。