Sensor 曝光与增益:AE 收敛速度才是硬功夫

AI4天前发布 beixibaobao
12 0 0

Sensor 曝光与增益:AE 收敛速度才是硬功夫

曝光控制的门槛不在"卷帘还是全局",也不在"先模拟后数字"这些基础概念上。这是任何一个 datasheet 前五页都有的东西。

真正让 AE 难调的,是下面这些事。

AE 收敛速度:几帧能稳住?

按一下复位键,画面从全黑到正常亮度,需要几帧?

很多 Sensor 的 AE 默认算法能做到 15-20 帧收敛,但实际产品要求是 5-8 帧以内。因为安防摄像头在云台转动的时候,场景每转一个角度就全变了。如果 AE 收敛要半秒钟,画面就会不停地一明一暗地"呼吸",用户体验极差。

加速收敛的核心手段是:

  • 丢掉统计平滑 — AE 统计量不做 IIR 滤波,直接用当前帧直方图算增益
  • 大步长试探 — 第一帧先直接用目标亮度反推增益,不一点一点调
  • 冻结无效调节 — 如果场景在剧烈变化(运动检测触发),AE 直接锁定不动

每一步都是取舍:丢掉平滑意味着画面会有闪烁,大步长可能导致过头再回调。

在这里插入图片描述

权重分布:画面中间亮,四角黑,怎么算平均?

AE 的目标是让画面平均亮度到 80-120(8bit),但"平均"两个字没那么简单。

全屏平均的问题是:天空占上半画面、地面占下半,平均亮度刚好合适但天空过曝了。实际产品用区域加权平均

在这里插入图片描述

这套权重在逆光场景下就不够用了。逆光时人物站在窗前,人脸暗、窗外亮,中央加权算出来的平均还是偏亮,人脸依旧欠曝。

应对办法是切到人脸检测触发 AE:检测到人脸后只做人脸区域的亮度统计,人脸亮了,背景过曝就过曝。安防场景下,能看清人脸比能看清背景重要得多。

50/60Hz 防频闪:自动检测比你想的难

理论上防频闪很简单:50Hz 电网锁 10ms 整数倍,60Hz 锁 8.33ms 整数倍。实际问题在于自动检测

在这里插入图片描述

还有更烦的场景——汽车大灯。LED 车灯的 PWM 频率各不相同,有的刚好落在 100Hz 附近,会被 AE 误判为 50Hz 频闪,然后锁定 10ms 步进,导致夜间曝光时间没法精确调。这种场景下需要在 ISP 端做 band-pass filter 把干扰频率滤掉。

HDR 的鬼影:说"融合"太简单了

DOL HDR 的原理大家都懂:短曝光保高光、长曝光保暗部、融合出高动态。实际跑起来的问题:运动对齐做不到帧级精准。

在这里插入图片描述

有个更隐蔽的问题:强光下的过曝区域在长帧中是纯白(饱和值),饱和区域没有任何纹理信息用于运动对齐。 也就是说越需要 HDR 的场景,运动对齐能用的参考信息越少。这是个典型的死循环——需要解决的问题恰恰是解决这个问题所需的前提条件。

低照度下 AE 的终极取舍

到了夜晚,AE 变成三元取舍问题:

在这里插入图片描述

保守的做法:当前帧增益超过限值(Analog Gain > 48dB)且平均亮度低于目标 70%,就降一档帧率。还有一种思路是智能帧率:检测到有运动物体时提高帧率、降低曝光时间;检测到画面基本静止时降到最低帧率、拉满曝光时间。走廊摄像头凌晨三四点没人跑 3fps,有人出现马上切 15fps。

AE 和 AWB 的耦合:动一个全乱

调 AE 的时候 AWB 也在动,两者互相影响:

在这里插入图片描述

曝光时间变了 → 增益变了 → 各通道 SNR 变了 → AWB 统计重新算 → AWB 增益变了 → 整体亮度变了一点 → AE 再补偿 → 循环。处理不好就会出现 AE-AWB 联锁振荡——画面亮度持续波动、色温来回漂。手法是每次 AE 调节后对 AWB 做增益补偿冻结,锁定 2-3 帧不让 AWB 调节,等 AE 稳定了再放开。

总结

AE 调优真正值钱的不是知道"模拟增益优先于数字增益"这种概念,而是:

  • 几帧收敛?怎么在速度和稳定性之间取舍
  • 什么场景切什么权重?人脸检测要不要触发 AE?
  • 频闪误检怎么处理?LED 车灯干扰能不能扛住?
  • HDR 鬼影出现在运动对齐的哪个环节?饱和区为什么没纹理?
  • 低照度下帧率降到多少?运动检测要不要干预 AE?
  • AE-AWB 互相打架怎么锁?

这些才是干活需要的东西,不是寄存器配置表。


有帮助的话,请关注 公众号,下一篇准备写 MIPI CSI 与 RAW 数据——Sensor 像素怎么通过 MIPI 走到 ISP 的,重点在 Lane 速率计算和 RAW 格式选择对系统带宽的影响。

© 版权声明

相关文章