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流程的哪里?我画个图你就明白了。
看到了吗?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调优没有银弹,但掌握了底层逻辑,你就能应对任何场景。