自动曝光(AE)基础:曝光三要素与经典控制策略
各位同学,今天我们来聊聊自动曝光(AE)。这是 ISP 流水线的第一道关卡,也是 3A 协同中最直观的一环。说白了,AE 的任务就是让摄像头拍出来的画面,亮度刚刚好——不黑成一片,也不白得刺眼。
我刚开始做 ISP 时,总觉得 AE 不就是调个亮度嘛,能有多复杂?直到有一次在户外强光下调试,画面过曝得一塌糊涂,我才意识到,这里面的门道比想象中深得多。
曝光三要素:光圈、快门、ISO
曝光三要素,是控制进光量的三个旋钮。它们的关系,可以用一个简单公式概括:
曝光量 ∝ 光圈面积 × 快门时间 × ISO 增益
但每个要素的物理特性完全不同,我习惯用一张表来对比:
| 要素 | 物理含义 | 对画面的影响 | 调节代价 |
|---|---|---|---|
| 光圈(Aperture) | 镜头通光孔径大小 | 控制进光量 + 景深 | 大光圈景深浅,边缘画质下降 |
| 快门(Shutter) | 传感器感光时间 | 控制进光量 + 运动模糊 | 慢快门容易手抖/拖影 |
| ISO(增益) | 模拟/数字信号放大倍数 | 提升亮度 + 噪声 | 高 ISO 噪点明显,细节丢失 |
你想想看,这三个参数是互相牵制的。想要画面亮,可以开大光圈、放慢快门、拉高 ISO。但每个选择都有副作用。我在项目中遇到过一种典型场景:室内暗光下拍运动物体。光圈已经开到最大了,ISO 再往上拉噪点就压不住,快门又不能太慢否则会糊。最后只能三方面各让一步,找到一个平衡点。
AE 的目标与评价标准
AE 的目标很明确:让画面亮度达到一个「合理」的水平。但什么叫合理?这需要量化指标。
目标亮度(Target Luminance)
最常见的做法是设定一个目标亮度值,比如 18% 灰(中性灰)。算法会计算当前画面的平均亮度,然后跟目标值比较,差值就是误差信号。
但这里有个坑——平均亮度不一定靠谱。举个例子,拍雪景时画面大部分是白的,平均亮度会很高;拍夜景时大部分是黑的,平均亮度很低。如果只盯着平均值调,雪景会偏暗,夜景会偏亮。
直方图(Histogram)
直方图是 AE 的另一个重要工具。它统计了画面中每个亮度级别的像素数量。我习惯把直方图看作画面的「亮度体检报告」。
理想的直方图应该是:
- 不贴左墙(不过暗)
- 不贴右墙(不过亮)
- 分布均匀,细节丰富
实际场景中,直方图往往会有各种形态。比如逆光人像,背景亮、人脸暗,直方图会呈现双峰。这时候 AE 就要决定:保背景还是保人脸?
AE 的经典控制策略
有了目标和评价标准,接下来就是怎么调的问题了。这里介绍两种经典策略:爬山法和 PID 控制。
爬山法(Hill Climbing)
爬山法的思路很直观:往亮度增加的方向调,直到亮度不再上升,或者达到目标值。就像爬山一样,一步步往上走。
具体步骤:
- 计算当前帧的平均亮度
- 与目标亮度比较,确定调整方向(增亮还是减暗)
- 按固定步长调整曝光参数(快门或 ISO)
- 检查下一帧的亮度变化
- 如果亮度接近目标,停止;否则继续调整
这个方法的优点是简单、计算量小。但缺点也很明显——容易陷入局部最优。比如在闪烁光源下,亮度会周期性变化,爬山法可能来回震荡,永远找不到稳定点。
PID 控制
PID(比例-积分-微分)控制是工业界的经典方法。它把亮度误差分解成三部分:
- P(比例):当前误差,决定调整力度
- I(积分):历史误差累积,消除稳态偏差
- D(微分):误差变化趋势,抑制震荡
PID 的公式长这样:
输出 = Kp × 误差 + Ki × ∫误差 dt + Kd × d(误差)/dt
在 AE 中,输出就是曝光参数的调整量。PID 的优点是响应快、精度高,但参数调起来很麻烦。Kp、Ki、Kd 三个系数需要根据场景反复试。
我记得有一次在实验室调 PID 参数,Kp 设大了,画面像抽风一样来回跳;Kd 设大了,又反应迟钝。折腾了一下午才找到一组合适的值。
AE 控制策略对比
| 策略 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 爬山法 | 简单、计算量小 | 易震荡、局部最优 | 光照稳定的室内场景 |
| PID 控制 | 响应快、精度高 | 参数难调、有延迟 | 光照变化较快的户外场景 |
| 混合策略 | 兼顾稳定性和响应速度 | 实现复杂 | 复杂多变场景(推荐) |
我个人更倾向于混合策略:先用爬山法快速逼近目标区域,再切换到 PID 做精细调节。这样既避免了 PID 在大误差下的过冲,又解决了爬山法在目标点附近的抖动问题。
AE 核心流程
下面这张图展示了 AE 的完整工作流程:
从流程图上可以看到,AE 是一个闭环反馈系统。传感器采集数据,统计亮度,计算误差,选择策略,调整参数,然后进入下一帧。这个循环每帧都在运行,频率通常是 30fps 甚至更高。
嗯,到这里 AE 的基础内容就差不多了。记住三个核心点:曝光三要素的权衡、目标亮度和直方图的评价方法、爬山法和 PID 的控制逻辑。这些是后续理解 3A 协同的基石。