自动曝光(AE)基础:曝光三要素与核心概念

自动曝光,说白了就是让摄像头帮你决定「到底该进多少光」。我刚开始接触ISP时,觉得AE不就是调调亮度嘛,有什么难的?后来被各种过曝、闪烁、拖影折磨过之后,才明白这里面的门道有多深。

这一章我们先把地基打牢。曝光三要素、亮度关系、AE的目标和硬件依赖,这些搞不清楚,后面调3A算法就是空中楼阁。

曝光三要素:光圈、快门、ISO

这三兄弟共同决定了传感器最终能接收到多少光。你想想看,它们就像水龙头:光圈是管子的粗细,快门是开水的时间,ISO是水桶的放大倍数。

要素 物理含义 对图像的影响 典型范围(手机/安防)
光圈(Aperture) 镜头通光孔径大小,用F数表示(F1.4 > F2.8) 数值越小进光越多,景深越浅 F1.6 ~ F2.4(手机固定光圈居多)
快门(Shutter) 传感器曝光时间,单位秒或毫秒 时间越长越亮,但运动物体容易模糊 1/10000s ~ 30s
ISO(增益) 模拟/数字信号放大倍数 增益越高越亮,但噪声也越明显 100 ~ 3200(手机常见)

核心公式:曝光量 ∝ (1/F²) × 快门时间 × ISO

注意:光圈和快门控制的是「物理进光量」,ISO控制的是「信号放大倍数」。我在项目中见过不少新人把ISO当成万能药,结果画面噪点满天飞。

曝光值与亮度的关系

曝光值(EV, Exposure Value)是一个标准化的亮度度量单位。它把光圈和快门组合成一个单一数值,方便我们比较不同参数下的曝光水平。

EV的计算公式:

EV = log₂(F² / T)

其中F是光圈F数,T是快门时间(秒)。ISO 100时,EV 0对应1秒快门+F1.0光圈。

实际场景中,我们更关心的是「目标亮度」和「当前亮度」之间的差距。AE算法的核心任务,就是把这个差距缩小到零。

我的经验:调试AE时,我习惯先固定ISO(比如设为100),只调快门和光圈。等基础曝光曲线稳定了,再引入ISO做动态增益。这样排查问题快很多。

AE的目标与评价指标

AE的目标听起来很简单:让图像亮度达到「人眼看着舒服」的水平。但工程实现上,我们需要量化的指标。

核心目标

  • 目标亮度锁定:将图像平均亮度(或加权亮度)稳定在预设的Target Y值(通常16~18%灰)
  • 收敛速度:场景切换后,AE能在几帧内完成调整(我一般要求≤5帧)
  • 稳定性:静止场景下,亮度波动不超过±1个灰度级
  • 抗闪烁:在50Hz/60Hz灯光下,自动避开频闪区间

评价指标

指标 定义 典型要求
AE误差 实际亮度与目标亮度的偏差 < 5%(室内) / < 10%(室外强光)
收敛帧数 从场景变化到稳定所需帧数 ≤ 5帧(30fps下约167ms)
过冲/欠冲 调整过程中的亮度峰值偏离 不超过目标值的20%
闪烁抑制 是否检测并避开频闪频率 100%检测率(50Hz/60Hz)

避坑指南:我曾经在一个项目中,AE收敛速度调得飞快,结果画面像抽风一样来回跳。后来发现是增益步长太大,加上场景里有高频闪烁的LED灯。记住:快不等于稳,AE要的是「又快又稳」。

AE的硬件依赖

AE算法不是纯软件能搞定的。它严重依赖硬件提供的反馈和控制能力。我列几个关键依赖点:

1. 传感器控制接口

  • 快门控制:支持逐帧调整曝光时间(行曝光/全局曝光)
  • 增益控制:模拟增益(AGC)和数字增益(DGC)独立可调
  • 帧同步:VSYNC信号保证AE调整与帧边界对齐

2. 统计信息反馈

  • 直方图:256级亮度分布,用于判断过曝/欠曝区域
  • 分区统计:将画面分成M×N块,每块的平均亮度、最大/最小值
  • 闪烁检测:硬件自动检测50Hz/60Hz频闪并标记

3. ISP管线配合

  • 黑电平校正:必须在AE统计之前完成,否则亮度数据偏大
  • 线性化:RAW域数据必须线性,才能正确计算曝光量
  • HDR融合:多帧HDR模式下,AE需要协调长短帧的曝光参数

硬件依赖总结:没有好的硬件反馈,AE就是盲人摸象。我建议大家在选型阶段就确认传感器是否支持「逐帧曝光调整」和「分区统计输出」,这两项缺一不可。

AE核心流程框架

下面这张图展示了AE从统计到调整的完整闭环。我把它画成流程图,方便你理解各模块之间的关系。

自动曝光(AE)核心流程框架图 自动曝光(AE)核心流程框架 传感器RAW数据 ISP预处理(黑电平+线性化) 统计信息提取(直方图/分区) AE算法引擎(目标亮度/步长) 曝光参数输出(快门/增益) 反馈控制(下一帧生效) 闭环控制,每帧迭代一次

这个闭环每帧都在跑。传感器输出RAW数据,ISP预处理后提取统计信息,AE算法根据统计算出新的曝光参数,再写回传感器寄存器,下一帧生效。嗯,就是这么简单又复杂。

小结

这一章我们把AE的底子打好了。曝光三要素怎么配合、EV值怎么算、AE的目标是什么、硬件需要提供什么支持,这些是后续所有调优工作的基础。我个人建议你先把「曝光量公式」和「AE闭环流程」刻在脑子里,后面学AWB和AF时你会发现,很多思路是相通的。