4、AE核心指标:目标亮度、平均亮度、收敛速度与稳定性

好,咱们今天聊点实在的。自动曝光(AE)这玩意儿,说复杂也复杂,说简单也简单。但不管算法怎么变,最终都得落到几个核心指标上。我个人习惯把这四个指标称为AE的「四根柱子」——目标亮度、平均亮度、收敛速度、稳定性。

你想想看,如果连目标亮度都定不准,后面全是白搭。如果平均亮度算得不准,那曝光就是瞎蒙。如果收敛太慢,用户一抬手画面还在闪。如果画面来回抖,那还不如不调。

嗯,咱们一个一个拆开讲。

4.1 目标亮度(Target Luminance)

目标亮度是什么?说白了,就是你觉得画面「应该有多亮」。这个值不是传感器测出来的,是算法定出来的。

核心观点:目标亮度是AE的「锚点」。锚定错了,后面全错。

我在项目中遇到过一件事。某款手机在夜景模式下,目标亮度定得太高,结果画面噪点爆炸。后来我们把目标亮度从120降到80(8bit域),噪点立刻压下去了。你看,一个数字的差别,效果天差地别。

目标亮度通常怎么定?一般有几种策略:

  • 固定值策略:比如直接定在100(8bit Y域)。简单粗暴,但适应性差。
  • 场景自适应策略:根据场景检测结果动态调整。比如人脸场景目标亮度高一些,夜景场景低一些。
  • 用户偏好策略:让用户手动调EV补偿,本质就是在调目标亮度。

我个人建议,工程落地时至少用场景自适应。固定值太容易翻车了。

4.2 平均亮度(Average Luminance)

平均亮度,就是当前画面实际有多亮。这个值怎么算?不是简单像素平均,那会出大问题。

举个例子。你拍一张夜景,画面大部分是黑的,但有一盏路灯很亮。如果做算术平均,亮度值会被路灯拉高,结果AE以为画面够亮了,实际暗部全死黑。

所以,工程上常用的方法有:

方法 原理 适用场景
算术平均 所有像素Y值求和除以总数 均匀光照场景
加权平均 中心区域权重高,边缘权重低 中心主体场景
直方图统计 按亮度区间统计,取中位数或众数 高动态场景
人脸加权 检测到人脸时,人脸区域权重极高 人像场景

经验之谈:我一般用直方图统计+人脸加权组合。直方图能抗高动态,人脸加权能保肤色。两个一起上,基本稳。

4.3 AE收敛速度

收敛速度,就是AE从当前亮度调整到目标亮度需要多长时间。这个指标直接影响用户体验。

你想想看,用户从室内走到室外,如果AE要3秒才反应过来,画面一直过曝,用户早就骂娘了。

但收敛速度也不是越快越好。太快了,画面会「抽风」——突然变亮又突然变暗,看着头晕。

工程上怎么控制收敛速度?核心是调整步长:

  • 大步长:收敛快,但容易过冲,画面抖动。
  • 小步长:收敛慢,但平滑,适合微调。
  • 自适应步长:误差大时用大步,误差小时用小步。这是主流方案。

注意:我曾经踩过一个坑——自适应步长的阈值设得太激进。结果在明暗交替场景下,AE反复在「大步-小步」之间切换,画面反而更抖了。后来加了滞回区才解决。

4.4 AE稳定性(防抖)

稳定性,说白了就是画面不能来回晃。这个指标和收敛速度是矛盾的——你越想快,就越容易抖。

AE抖动的原因通常有几种:

  1. 噪声干扰:传感器噪声导致平均亮度计算值波动。
  2. 场景变化:风吹树叶、行人走动,导致亮度突变。
  3. 算法振荡:步长和增益配合不当,形成正反馈。

怎么防抖?我常用的手段:

  • 时域滤波:对平均亮度做低通滤波,比如一阶IIR。系数0.3~0.5比较常用。
  • 滞回比较:误差超过阈值才调整,小于阈值就保持。避免微小的亮度波动触发调整。
  • 帧间平滑:增益和曝光时间的变化速率做限幅,每帧最多变化多少。

核心原则:AE稳定性优先于收敛速度。画面稳了,用户才觉得「专业」。画面抖了,再快也没用。

4.5 四个指标的关系

这四个指标不是孤立的。我画了一张图,帮你理清它们的关系:

AE核心指标关系图 AE算法核心 目标亮度 平均亮度 收敛速度 稳定性 指标间约束关系 目标亮度决定方向 → 平均亮度提供反馈 → 收敛速度控制节奏 → 稳定性保证质量 收敛速度与稳定性互为矛盾,需通过自适应步长和滞回区平衡

从图上你能看到,目标亮度和平均亮度是「输入」,收敛速度和稳定性是「输出」。但输出之间又互相制约。说白了,这就是一个多目标优化问题。

工程落地时,我的建议是:

  • 先定目标亮度策略——场景自适应是底线。
  • 再选平均亮度算法——直方图+人脸加权是稳妥组合。
  • 然后调收敛速度——自适应步长,但加滞回区防抖。
  • 最后压稳定性——时域滤波+帧间限幅,双保险。

一个小技巧:调试时先把稳定性拉到最大(收敛慢但稳),确认目标亮度和平均亮度没问题后,再逐步放开收敛速度。这样定位问题快很多。

嗯,这四个指标讲完了。记住一句话:目标亮度是方向,平均亮度是现状,收敛速度是节奏,稳定性是底线。四个都抓好了,AE才算真正落地。