1. 3A算法全景概览:什么是3A(AE、AF、AWB)

大家好,我是你们这门课的老朋友。咱们今天开篇,先聊聊ISP里最核心、也最让人头疼的三个家伙——AE、AF、AWB。说白了,它们就是摄像头模组的“自动三兄弟”。

我刚开始接触ISP那会儿,总觉得3A就是个黑盒子。给个画面,它自己就调好了。后来踩的坑多了才明白,这三个算法要是配合不好,拍出来的照片简直没法看。你想想看,曝光不准、对焦模糊、颜色偏得离谱,这图还能用吗?

1.1 到底什么是AE、AF、AWB?

咱们一个一个说清楚。

  • AE(自动曝光):控制进光量。它决定画面是亮堂堂还是黑漆漆。核心就是调曝光时间、模拟增益、数字增益,还有光圈(如果有的话)。
  • AF(自动对焦):让画面清晰。通过移动镜头或者改变透镜位置,找到对比度最高的那个点。我见过不少项目,AF跑飞了,画面一直在“呼吸”,用户直接退货。
  • AWB(自动白平衡):还原真实颜色。不管是在日光灯下还是夕阳下,白纸看起来都得是白的。它负责把色温偏差拉回来。

一句话总结:AE管亮度,AF管清晰度,AWB管颜色。三者缺一不可,互相影响。

1.2 3A在ISP Pipeline中的位置

很多新手会问:3A到底插在ISP流程的哪里?我画个图你就明白了。

ISP Pipeline 与 3A 位置关系 Sensor RAW BLC / LSC Demosaic AWB Gain Gamma / CCM YUV 输出 3A 统计引擎 AE / AF / AWB 统计 3A 控制算法 曝光 / 对焦 / 白平衡 说明:3A 统计引擎从 RAW 域或 RGB 域提取亮度、对比度、色温信息 控制算法根据统计结果调整 Sensor 曝光参数、镜头位置、AWB 增益

看到了吗?3A不是独立模块,它是个闭环反馈系统。统计引擎从RAW图里抓数据,控制算法算完参数,再写回Sensor或者ISP模块。我习惯把3A比作ISP的“大脑”——它不直接处理像素,但所有模块都得听它的。

实战经验:我曾经在一个低光项目中,AE和AWB互相打架。AE为了提亮画面疯狂加增益,AWB以为色温变了也跟着调,结果画面又亮又红。后来我把AE的统计窗口和AWB的统计窗口分开,问题才解决。

1.3 3A算法的核心目标

每个算法都有自己的“小算盘”,但最终目标只有一个:让用户觉得“这张照片拍得不错”。

算法 核心目标 通俗理解
AE 目标亮度稳定在预设值 别太亮,别太暗,人脸要看得清
AF 对焦区域对比度最大化 拍什么,什么就得清晰
AWB 色温估计准确,白点校正 白墙不能拍成黄墙

嗯,这里要注意。目标听起来简单,但实际场景千变万化。比如AE,你对着天空拍和对着人脸拍,目标亮度能一样吗?所以3A还得有场景识别能力。

1.4 评价指标:怎么才算“调好了”?

做算法最怕没有标准。我见过不少工程师,调了一整天,问ta“好在哪里”,答不上来。咱们得量化。

  • AE评价指标:
    • 平均亮度误差:目标亮度 vs 实际亮度,误差在 ±5% 以内算及格。
    • 收敛速度:从暗到亮,几帧能稳定?我一般要求 10 帧以内。
    • 过曝/欠曝面积:高光区域不能超过画面 5%。
  • AF评价指标:
    • 对焦精度:MTF(调制传递函数)值,通常要求 > 0.3。
    • 对焦时间:从启动到锁定,别超过 500ms。
    • 来回震荡次数:理想情况是 0 次,最多允许 1 次过冲。
  • AWB评价指标:
    • 色温估计误差:真实色温 vs 估计色温,误差 < 200K。
    • 白点色差:校正后中性色块的 ΔE < 3。
    • 场景切换稳定性:从室内到室外,颜色不能闪一下。

避坑指南:我曾经在一个项目中,AWB的色温估计误差只有 50K,但用户还是说颜色不对。后来发现是CCM(色彩校正矩阵)没调好。记住,3A调好了不代表ISP整体就OK,上下游模块都得配合。

1.5 3A算法的整体知识框架

最后,我用一张图把咱们这章的核心内容串起来。这也是后续29章要展开的骨架。

3A 算法知识框架 3A 算法 AE 自动曝光 AF 自动对焦 AWB 自动白平衡 曝光时间/增益 直方图/权重 对比度检测 相位检测 色温估计 增益 后续章节:统计窗口设计 → 控制策略 → 场景自适应 → 调优实战

好了,这一章咱们把3A的全貌理清楚了。从定义到位置,从目标到指标,再到整体框架。后面的课程,我会带着大家一个一个模块深挖。记住,3A调优没有银弹,但掌握了底层逻辑,你就能应对任何场景。