4. 镜头阴影校正(LSC):从现象到实战

镜头阴影,说白了就是画面四周比中心暗。你想想看,一个镜头模组,光线从中心直直打进去,和从边缘斜着打进去,路径长度、入射角度都不一样,感光元件收到的光能量自然有差异。这个现象在安防监控里特别要命——晚上看监控,四周黑乎乎的,中心亮得刺眼,那还看个啥?

我刚开始做ISP调优那会儿,接过一个项目,客户投诉说“你们摄像头中间亮四周暗,是不是偷工减料了?”嗯,其实就是镜头阴影没校正好。从那以后,我对LSC这块就特别上心。

4.1 镜头阴影现象的本质

镜头阴影分两种:亮度阴影和颜色阴影。

  • 亮度阴影(Luma Shading):中心亮,四周暗。主要原因是光学余弦四次方定律(cos⁴θ)和镜头机械遮挡。
  • 颜色阴影(Color Shading):中心偏色和四周偏色不一样。因为不同波长的光在镜头里折射率不同,到达感光面的位置有偏移。

我见过一个极端案例:某款广角镜头,边缘亮度只有中心的35%。这种镜头如果不做LSC,画面根本没法看。

关键指标:安防监控行业一般要求LSC校正后,四角亮度不低于中心的85%。高端产品要求90%以上。

4.2 LSC校正算法原理

校正思路其实很简单:给暗的地方补增益,亮的地方不动。但怎么补、补多少,这里头有讲究。

主流算法分三类:

算法类型 原理 优缺点
多项式拟合 用二阶或四阶多项式拟合阴影曲线 计算量小,但精度有限,适合低端芯片
网格插值 将图像分成网格,每个网格存一个增益值 精度高,但需要标定数据量大
查表法(LUT) 预存每个像素位置的增益系数 最精确,但占用存储空间大

我个人习惯用网格插值法。为什么呢?因为安防监控的分辨率越来越高,4K、8K都常见了,查表法太占内存,多项式拟合又不够准。网格插值是个折中——把画面分成17×13或者33×25的网格,每个网格存一个R、G、B三通道的增益值,中间的点用双线性插值算出来。

小技巧:网格密度不是越密越好。我试过65×49的网格,校正效果和33×25几乎没区别,但标定时间多了3倍。一般建议:分辨率在200万以下用17×13,500万以上用33×25。

4.3 LSC标定流程

标定是LSC最关键的环节。标定做不好,算法再牛也白搭。

标准流程如下:

  1. 准备均匀光源:用积分球或者均匀面光源,保证整个画面亮度均匀度在98%以上。
  2. 拍摄灰卡:在标准色温下(D65、D50、A光源等),拍摄一张18%灰卡。
  3. 采集原始数据:从sensor直接拿RAW数据,不要经过任何ISP处理。
  4. 计算增益矩阵:以画面中心为基准,计算每个像素位置需要的增益值。
  5. 生成LSC参数:把增益矩阵转换成芯片能识别的格式(网格系数或LUT)。
  6. 验证:重新拍摄灰卡,检查校正后的均匀度。

避坑指南:我曾经犯过一个低级错误——标定时用了自动曝光。结果曝光参数一变,LSC参数全废了。标定一定要锁定曝光、增益、帧率,最好连sensor的模拟增益也固定住。

4.4 调优实战要点

标定完了,不代表就完事了。实际调优中,有几个坑必须注意:

  • 多色温标定:不同色温下,镜头阴影表现不一样。我一般至少标定D65(6500K)、D50(5000K)、A光源(2856K)三组参数,运行时根据色温自动切换。
  • 温度补偿:sensor温度升高,暗电流会变化,阴影也会漂移。高端安防芯片会内置温度传感器,实时调整LSC参数。
  • 变焦镜头适配:变焦镜头在不同焦距下,阴影特性完全不同。我做过一个项目,镜头从广角端变到长焦端,阴影中心位置都偏移了。这种情况必须做多焦距标定。

嗯,这里要特别说一下颜色阴影的校正。很多工程师只校正亮度,忽略了颜色。结果画面四周虽然亮了,但偏紫或者偏绿。校正颜色阴影时,R、G、B三个通道要分别做LSC,而且增益比例要匹配。

经验值:R通道的阴影通常最严重,G通道最轻。校正后,R/G和B/G的比值在全画面应该保持一致,偏差不超过2%。

4.5 LSC知识体系总览

下面这张图,是我自己总结的LSC知识框架。从现象到算法,再到标定和调优,一条线串起来。

镜头阴影校正知识体系 镜头阴影校正(LSC)知识体系 镜头阴影现象 亮度阴影 颜色阴影 LSC校正算法 网格插值法 多项式/查表法 LSC标定流程 均匀光源 → 灰卡 增益矩阵 → 参数 调优实战要点 多色温 / 温度补偿 变焦适配 / 颜色校正 核心目标:四角亮度 ≥ 中心85%,R/G/B比例偏差 ≤ 2%

4.6 常见问题与排查

最后,分享几个我实际项目中踩过的坑:

  • 校正后出现网格纹:网格密度不够,或者插值算法精度不够。试试增加网格数,或者改用双三次插值。
  • 画面中心过亮:增益基准点选错了。应该以画面中心为1.0倍增益,四周大于1.0,而不是以四周为基准压低中心。
  • 颜色阴影校正后偏色:R、G、B三通道的增益比例没对齐。检查一下标定时用的灰卡是不是真的中性灰。

我的习惯:每次标定完,我都会拍一张全白画面,用Imatest或者自己写的脚本扫一遍四角亮度。如果四角亮度偏差超过5%,我会重新标定,绝不凑合。

镜头阴影校正,说难不难,说简单也不简单。关键是把原理吃透,标定做扎实,调优时多留个心眼。做到这三点,LSC这块基本不会出大问题。