1、白平衡基础概念:色温与色调、人眼视觉恒常性、白平衡在ISP Pipeline中的位置
各位同学好,我是你们这期课程的主讲。在图像处理这行摸爬滚打了十几年,我见过太多因为白平衡没做好而翻车的案例。说白了,白平衡就是让相机在各种光源下,都能把白色拍成白色。听起来简单?嗯,这里面的门道可不少。
咱们先从最基础的概念讲起。这一章,我带你理清楚三个核心问题:色温到底是什么?人眼为什么能自动适应?白平衡在ISP里到底站在哪个位置?
1.1 色温与色调:光源的“身份证”
色温这个概念,最早是从黑体辐射来的。你想想看,一块铁被加热,温度低的时候发红,温度高了发蓝。这个规律,恰好能描述我们日常遇到的各种光源。
色温的单位是开尔文(K)。数值越低,光越暖;数值越高,光越冷。我刚开始接触这行时,总把“暖光低色温、冷光高色温”记反。后来想了个笨办法:想象篝火(暖,1800K)和阴天天空(冷,6500K),就再也没错过。
| 光源场景 | 典型色温(K) | 视觉感受 |
|---|---|---|
| 烛光/篝火 | 1500 - 2000 | 暖黄、温馨 |
| 白炽灯 | 2500 - 3000 | 暖白 |
| 日出/日落 | 3000 - 4000 | 金黄 |
| 日光灯(暖白) | 4000 - 4500 | 中性偏暖 |
| 正午阳光 | 5000 - 5500 | 标准白光 |
| 阴天/阴影 | 6000 - 7500 | 冷白、偏蓝 |
| 蓝天(无云) | 8000 - 10000 | 深蓝、清冷 |
这里要区分一个概念:色温描述的是光源本身的颜色属性,而色调(Tint)描述的是颜色在品红-绿色轴上的偏移。我在项目中遇到过,有些工程师只调色温不管色调,结果拍出来的肤色总是发绿。记住,色温和色调是两个维度,缺一不可。
核心记忆点:
- 色温(K):蓝-黄轴,数值低偏黄,数值高偏蓝
- 色调(Tint):绿-品红轴,负值偏绿,正值偏品红
- 白平衡校正,就是同时调整这两个维度
1.2 人眼视觉恒常性:为什么我们“看不见”偏色?
你有没有想过,为什么在昏黄的灯光下看白纸,你依然觉得它是白的?这就是人眼的视觉恒常性在起作用。说白了,大脑会自动“校正”光源颜色,让你感知到物体本身的颜色。
但相机没有这个能力。它是个“老实人”,传感器看到什么颜色,就记录什么颜色。所以,在钨丝灯下拍出来的照片,如果不做处理,整张图都是黄澄澄的。
我举个例子你就明白了:
- 人眼看:白纸在日光下是白的,在烛光下还是白的(大脑帮你校正了)
- 相机拍:白纸在日光下是白的,在烛光下是橙黄色的(传感器如实记录)
这就是为什么我们需要自动白平衡(AWB)。它的任务,就是模拟人眼的视觉恒常性,把相机拍出来的偏色图像,校正回人眼“应该看到”的样子。
一个小技巧: 我曾经在调试AWB算法时,会刻意盯着偏色图像看几分钟,让眼睛适应。然后突然切回校正后的图像,对比“大脑校正”和“算法校正”的差异。这个方法能帮你快速发现算法的不足。
1.3 白平衡在ISP Pipeline中的位置
ISP(Image Signal Processor)的流程,就像一条流水线。每个模块处理一个环节,顺序不能乱。白平衡,就处在RAW域处理的早期阶段。
下面这张图,是我自己画的ISP核心流程。你看一眼,就能明白白平衡的位置有多关键。
你看,自动白平衡(AWB)紧跟在黑电平校正之后,在去马赛克之前。这个位置不是随便定的。我解释一下为什么:
- RAW数据是线性的:传感器输出的RAW数据,与光强成正比。此时做白平衡,增益计算最直接、最准确。一旦经过Gamma校正,数据变成非线性,再算增益就复杂了。
- 避免颜色串扰:白平衡本质上是给R、G、B三个通道分别乘一个增益。如果在去马赛克之后做,插值过程已经引入了相邻像素的颜色信息,会干扰增益的纯净度。
- 硬件效率:在RAW域做白平衡,只需要处理一个通道的数据(Bayer模式)。处理量小,速度快。我见过一些低端方案把白平衡放在后面,结果不仅效果差,还拖慢了整个pipeline。
避坑指南: 我曾经接手过一个项目,前同事把白平衡放在了Gamma校正之后。结果呢?暗部区域的颜色怎么调都调不准,因为Gamma已经把暗部的信噪比压得很低了。后来我把白平衡挪回RAW域,问题迎刃而解。记住,白平衡一定要在RAW域、线性空间做,这是铁律。
1.4 本章小结
这一章,我们只讲了三件事:
- 色温与色调:光源的“身份证”,白平衡校正的两个维度
- 人眼视觉恒常性:大脑自动校色,相机做不到,所以需要AWB
- 白平衡在ISP中的位置:RAW域早期,线性空间,去马赛克之前
这些概念,是后面所有算法的基础。你如果现在觉得“色温”和“色调”还有点绕,没关系。下一章我们讲色温估计方法时,会反复用到这些概念。到时候你自然就熟了。
嗯,今天就到这里。记住我强调的那句话:白平衡,必须在RAW域做。这是你作为图像处理工程师,必须刻在脑子里的第一条规则。