Sensor 曝光与增益:AE 收敛速度才是硬功夫 Sensor 曝光与增益AE 收敛速度才是硬功夫曝光控制的门槛不在卷帘还是全局也不在先模拟后数字这些基础概念上。这是任何一个 datasheet 前五页都有的东西。真正让 AE 难调的是下面这些事。AE 收敛速度几帧能稳住按一下复位键画面从全黑到正常亮度需要几帧很多 Sensor 的 AE 默认算法能做到 15-20 帧收敛但实际产品要求是5-8 帧以内。因为安防摄像头在云台转动的时候场景每转一个角度就全变了。如果 AE 收敛要半秒钟画面就会不停地一明一暗地呼吸用户体验极差。加速收敛的核心手段是丢掉统计平滑— AE 统计量不做 IIR 滤波直接用当前帧直方图算增益大步长试探— 第一帧先直接用目标亮度反推增益不一点一点调冻结无效调节— 如果场景在剧烈变化运动检测触发AE 直接锁定不动每一步都是取舍丢掉平滑意味着画面会有闪烁大步长可能导致过头再回调。权重分布画面中间亮四角黑怎么算平均AE 的目标是让画面平均亮度到 80-1208bit但平均两个字没那么简单。全屏平均的问题是天空占上半画面、地面占下半平均亮度刚好合适但天空过曝了。实际产品用区域加权平均这套权重在逆光场景下就不够用了。逆光时人物站在窗前人脸暗、窗外亮中央加权算出来的平均还是偏亮人脸依旧欠曝。应对办法是切到人脸检测触发 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 鬼影出现在运动对齐的哪个环节饱和区为什么没纹理低照度下帧率降到多少运动检测要不要干预 AEAE-AWB 互相打架怎么锁这些才是干活需要的东西不是寄存器配置表。有帮助的话请关注公众号下一篇准备写MIPI CSI 与 RAW 数据——Sensor 像素怎么通过 MIPI 走到 ISP 的重点在 Lane 速率计算和 RAW 格式选择对系统带宽的影响。