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调试中,术语不统一往往导致问题描述失真。以下术语需要重点掌握:
- 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 | 色温统计、白点检测 | 灰世界、白点法、色温曲线映射 | 室内暖光、室外阴天、混合光源 | 偏色、肤色失真、色温跳变 |
四、案例与误区复盘
以一个典型场景为例:室内暖光下拍摄人像,画面偏黄且对焦缓慢。排查发现,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不是三个独立模块的简单叠加,而是需要联合调优的系统工程。