1. 课程导论:什么是镜头阴影、坏点与黑电平?为什么需要校正?ISP Pipeline中的位置
各位同学好,我是老周。在图像传感器领域摸爬滚打了十几年,今天咱们来聊聊ISP(图像信号处理)里三个最基础、但也最容易让人翻车的问题——镜头阴影、坏点和黑电平。
说实话,我刚入行那会儿,觉得这些不就是几个像素点的事儿吗?直到有一次,我负责的一款手机摄像头模组,在暗光下拍出来的照片,四角发暗、中间还冒白点……嗯,从那以后,我再也不敢小看这三个“小问题”了。
1.1 什么是镜头阴影?
镜头阴影,也叫“暗角”或“亮度衰减”。你想想看,镜头本质上是个凸透镜,光线从中心通过时路径最短、损失最小;到了边缘,光线要斜着穿过更厚的镜片,自然就暗了。
用专业点的话说:镜头阴影是光学系统导致的传感器感光面照度不均匀现象。中心亮、边缘暗,这就是典型的“余弦四次方定律”在作祟。
核心指标:阴影量通常用中心亮度与边缘亮度的比值表示。比如中心亮度100,边缘只有60,那阴影量就是40%。
我在项目中遇到过一款广角镜头,边缘亮度只有中心的35%。当时测试团队说“这镜头太差了”,我告诉他们:别急,ISP里还有LSC(镜头阴影校正)这一关呢。
1.2 什么是坏点?
坏点,说白了就是传感器上“罢工”或“发疯”的像素点。正常像素在无光条件下输出应该是0(或接近0),但坏点不是。
坏点分三种:
| 类型 | 表现 | 原因 |
|---|---|---|
| 亮点 | 无光时输出高值(白点) | 暗电流过大、工艺缺陷 |
| 暗点 | 有光时输出低值(黑点) | 光电二极管损坏 |
| 闪烁点 | 输出值随机跳变 | 电路噪声、时序异常 |
注意:坏点会随着温度升高而增多。我做过一个实验,传感器从25°C升到60°C,坏点数量增加了3倍。所以热态校正和冷态校正要分开做。
1.3 什么是黑电平?
黑电平,听起来玄乎,其实很简单。你想象一下:传感器在完全无光的环境下,理论上输出应该是0。但实际呢?由于暗电流、电路偏置等因素,它会输出一个非零值——这个值就是黑电平。
黑电平通常用ADC码值表示。比如一个10-bit的传感器,黑电平可能是64。这意味着:
- 真实信号 = 原始输出 - 黑电平
- 如果原始输出是100,真实信号就是36
- 如果原始输出是64,真实信号就是0(全黑)
我的经验:黑电平不是固定不变的。它会随增益、温度、行位置变化。我曾经遇到一个案子,黑电平在增益从1x调到4x时,漂了12个码值。如果不做动态黑电平校正,整个画面的颜色都会偏掉。
1.4 为什么需要校正?
这三个问题不校正,后果很严重:
- 镜头阴影不校正:画面四角发暗,中心过亮。更麻烦的是,阴影还会导致边缘颜色偏色(因为不同波长的光衰减程度不同)。
- 坏点不校正:照片上出现固定位置的亮点或暗点。如果是视频,这些点会一直闪烁,非常影响观感。
- 黑电平不校正:整个画面偏灰,暗部细节丢失。更关键的是,黑电平不准会直接影响后续的白平衡和颜色校正。
说白了,这三个校正做不好,后面的ISP模块全是白搭。你想想看,一个偏色的白平衡算法,输入数据本身就有问题,它能算准吗?
1.5 ISP Pipeline中的位置
这三个校正模块在ISP流水线中的位置非常靠前。我画了一张图,大家看看:
从图上可以看得很清楚:
- 黑电平校正是第一个模块。因为后面的所有计算都依赖准确的“零基准”。
- 镜头阴影校正紧随其后。阴影校正是乘性增益,如果黑电平没减干净,增益会把误差也放大。
- 坏点校正放在第三位。因为阴影校正后的数据更干净,坏点检测更准确。
关键点:这三个模块都在去马赛克(Demosaic)之前完成。为什么?因为RAW域的数据是线性的,校正算法简单、高效。一旦做了去马赛克,数据变成RGB三通道,校正就复杂多了。
我记得有一次,一个团队把坏点校正放在了去马赛克之后。结果坏点周围的像素全被插值污染了,校正效果很差。后来我帮他们改到RAW域处理,问题立刻解决了。
1.6 本章小结
好了,咱们把今天的内容捋一捋:
| 概念 | 本质 | 校正方法 | Pipeline位置 |
|---|---|---|---|
| 镜头阴影 | 光学系统导致的亮度不均匀 | 乘性增益补偿 | 第2步 |
| 坏点 | 传感器像素缺陷 | 检测+替换 | 第3步 |
| 黑电平 | 暗电流导致的偏置 | 减法校正 | 第1步 |
这三个校正做得好不好,直接决定了后面ISP模块的输入质量。说白了,它们是整个图像质量的“地基”。地基不稳,楼盖得再高也是危楼。
给新人的建议:如果你刚开始接触ISP,建议先从这三个模块入手。它们算法相对简单,但涉及的概念(暗电流、增益、偏置、阈值)是整个图像处理的基础。搞懂了它们,后面的白平衡、颜色校正学起来会轻松很多。