2. 3A算法基础

在进入3A算法的全流程调试之前,必须先建立一套统一的“语言体系”。3A并不是某一个单一算法,而是自动对焦(AF)、自动曝光(AE)、自动白平衡(AWB)三大闭环控制模块的统称。它们共享同一帧图像数据,却各自追求不同的目标:AF追求清晰度,AE追求亮度,AWB追求色彩还原。理解它们的核心概念、术语边界与分类方式,是后续调试、测试与问题定位的基础。

一、核心原理:三个闭环,一个图像源

3A算法的本质是“感知—决策—执行—再感知”的闭环控制。每一帧图像进入统计模块后,AF提取高频信息评估清晰度,AE统计亮度直方图评估曝光,AWB统计色温与色偏评估白平衡。三个模块分别输出控制量:AF驱动对焦马达(VCM)移动镜头,AE调整曝光时间与增益(或光圈),AWB调整R/G/B通道增益。控制量作用于下一帧,形成持续收敛的过程。

三者虽然独立,但存在耦合。例如AE改变曝光会直接影响AF的对比度评价,AWB的增益变化会改变图像色彩分布,进而影响AF的灰度统计。因此实际系统中,3A通常由统一的3A控制框架调度,按优先级或分时策略协调。

3A算法闭环控制与耦合关系 图像源 / Sensor 每帧 RAW / YUV 数据 3A 统计模块 亮度 / 对比度 / 色温统计 AF 自动对焦 目标:清晰度最大 输出:VCM 位置 / 对焦步数 AE 自动曝光 目标:亮度适中 输出:曝光时间 / 增益 AWB 自动白平衡 目标:色彩还原准确 输出:R/G/B 通道增益 对焦马达 VCM 镜头物理移动 曝光控制 快门 / 增益 / 光圈 ISP 通道增益 R / Gr / Gb / B 调整 下一帧反馈:重新统计 → 重新决策 → 重新执行 耦合 耦合

二、常见术语:调试沟通的“最小共识”

3A调试中,术语不统一往往导致问题描述失真。以下术语需要重点掌握:

  • ROI(Region of Interest):统计区域。AF通常选择中心或人脸区域,AE/AWB可选择全画面或加权区域。
  • FV(Focus Value):对焦评价值,常用高频能量、梯度或对比度表示。FV峰值对应最佳对焦位置。
  • 收敛(Convergence):算法输出趋于稳定,不再大幅震荡。AF收敛表现为FV稳定在峰值附近,AE表现为亮度稳定在目标区间。
  • 过冲(Overshoot):控制量超过目标值后回调,导致亮度或对焦位置反复波动。
  • 色温(CCT):AWB的核心参数,单位为K。常见光源色温:烛光约1800K,白炽灯约2800K,日光约5500K,阴天约6500K。
  • 灰世界假设:AWB经典假设,认为整幅图像的平均颜色应为灰色,据此计算通道增益。
  • 曝光三角:曝光时间、增益、光圈三者的组合关系。手机模组通常固定光圈,通过时间和增益调节。
  • 闪烁(Flicker):光源频率与曝光时间不匹配导致的亮度条纹,AE需支持抗闪烁(如50Hz/60Hz)。

三、典型应用场景与算法分类

3A算法的分类可以从“控制目标”和“实现方式”两个维度展开。按控制目标分为AF、AE、AWB三类;按实现方式分为基于统计的传统算法和基于学习的算法。

模块 核心输入 典型算法 典型场景 常见问题
AF FV曲线、ROI对比度 爬山法、相位对焦PDAF、激光对焦 拍照对焦、视频追焦、微距 拉风箱、对焦慢、暗光失效
AE 亮度直方图、ROI均值 均值法、权重法、PID控制 逆光、夜景、运动场景 过曝、欠曝、闪烁、震荡
AWB 色温统计、白点检测 灰世界、白点法、色温曲线映射 室内暖光、室外阴天、混合光源 偏色、肤色失真、色温跳变
调试提示:AF、AE、AWB的调试顺序建议为“先AE稳定亮度,再AWB稳定色彩,最后AF精细对焦”。因为亮度和色彩不稳定会直接干扰FV统计,导致AF误判。

四、案例与误区复盘

以一个典型场景为例:室内暖光下拍摄人像,画面偏黄且对焦缓慢。排查发现,AWB未及时收敛,R通道增益偏高,导致图像整体偏暖;AF的FV统计基于偏暖图像,高频信息被平滑,FV曲线峰值不明显,对焦马达在峰值附近反复搜索。

调试日志片段:
[AWB] frame=120 CCT=3200K R_gain=1.85 G_gain=1.00 B_gain=0.62
[AE]  frame=120 luma=142 target=130 exp=8ms gain=2.0
[AF]  frame=120 FV=0.42 peak=0.51 pos=312 step=8
[AF]  frame=121 FV=0.44 peak=0.51 pos=320 step=8
[AF]  frame=122 FV=0.41 peak=0.51 pos=304 step=-16  ← 震荡

复盘结论:AWB收敛慢导致色彩偏移,间接影响AF稳定性。解决方式是提高AWB在暖光下的收敛速度,并在AF统计前增加色彩归一化预处理。这个案例说明,3A不是三个独立模块的简单叠加,而是需要联合调优的系统工程。

常见误区:只盯着单个模块调参,忽略模块间耦合。例如单独把AE调得很快,却导致AF在亮度突变时频繁重新搜索;或只优化AWB的静态色温,却忽略混合光源下的动态切换。调试时应始终关注“三模块联合收敛”这一整体目标。