3. 数学基础与预备知识

3A算法(Auto Exposure自动曝光、Auto Focus自动对焦、Auto White Balance自动白平衡)看似是三个独立的控制环路,但它们在底层共享同一套数学语言。线性代数负责描述“图像信号如何被变换与投影”,概率统计负责回答“当前估计有多可信”,优化理论则决定“下一步参数该往哪里走、走多远”。如果只记住公式而不理解它们在3A中的角色,调参时就会陷入盲目试错。本节把这三块数学基础与3A的真实控制链路对应起来,帮助你在后续案例中快速定位问题。

一、线性代数:把图像与参数都写成向量和矩阵

在3A中,线性代数最直接的应用是把图像块、色彩通道和统计量组织成向量。例如自动白平衡需要计算R/G/B三通道的增益,本质是对色彩向量做对角矩阵变换:

# 白平衡增益的矩阵形式
# [R']   [g_r  0   0 ] [R]
# [G'] = [0   g_g  0 ] [G]
# [B']   [0   0   g_b] [B]
# 约束:g_r*R_ref = g_g*G_ref = g_b*B_ref

自动对焦中的清晰度评价函数(如Sobel、Laplacian)则依赖卷积核,而卷积在数学上就是局部窗口与核向量的内积。自动曝光中的直方图统计可以看作图像像素向量到亮度区间的线性投影。理解这些线性结构后,你会发现很多“调参”其实是在调整矩阵的权重或投影方向。

关键结论:线性代数在3A中不是抽象符号,而是“通道增益矩阵、卷积核、直方图投影、最小二乘拟合”这四类可操作对象。看到公式时,先问它对应哪个矩阵或向量。

二、概率统计:让3A从“硬判断”走向“置信估计”

3A算法面对的是噪声、运动、光照突变等不确定因素。概率统计提供了量化不确定性的工具。自动曝光中,测光区域的平均亮度只是样本均值,真正决定曝光的是“这个均值是否稳定”;自动对焦中,清晰度曲线的峰值附近往往平坦,需要用方差或置信区间判断是否已到最佳焦点;自动白平衡中,色温估计常采用贝叶斯方法,把先验色温分布与当前观测似然结合。

一个典型的应用是滑动窗口统计。假设对焦评价函数在连续N帧的值为f1…fN,我们不仅看当前值,还看其均值与标准差:

mean = sum(f_i) / N
std  = sqrt(sum((f_i - mean)^2) / N)
# 若 std 过大,说明场景在动或噪声高,应降低对焦步长
# 若 std 很小且 mean 接近峰值,可判定对焦收敛

概率统计还支撑了3A中的“置信度”机制。例如白平衡估计的色温如果落在低置信区间,算法应倾向于保持上一帧增益,而不是剧烈跳变。这种“平滑”策略本质上是用概率权重做加权平均。

三、优化理论:3A控制环路的“方向盘”

3A的每一次调整都可以写成优化问题:在约束条件下最小化误差。自动曝光最小化目标亮度与当前亮度的差;自动对焦最大化清晰度评价函数;自动白平衡最小化色偏。优化理论告诉我们:步长太大容易震荡,步长太小收敛慢,而牛顿法、梯度下降、黄金分割搜索各有适用场景。

以自动对焦为例,清晰度函数通常是非凸的,存在局部峰值。实际工程中常用“粗搜索+细搜索”的两阶段策略:先用大步长扫描全局,再用黄金分割或抛物线拟合精确定位。这对应优化中的“全局探索与局部开发”平衡。

数学分支3A中的典型对象关键操作常见误区
线性代数通道增益矩阵、卷积核、直方图投影矩阵乘法、内积、最小二乘忽略归一化导致增益溢出
概率统计亮度均值/方差、色温先验、对焦置信度滑动窗口、贝叶斯融合、假设检验把单帧噪声当成真实变化
优化理论曝光步长、对焦搜索、白平衡收敛梯度下降、黄金分割、阻尼迭代步长固定不随场景自适应

四、案例场景:三块数学如何协同工作

假设一个室内到室外的快速转场场景。自动曝光首先通过直方图投影发现高光区域占比骤增,概率统计模块判断亮度变化超过置信阈值,优化模块随即采用较大步长降低曝光;自动白平衡则用线性代数计算R/B增益,同时用色温先验抑制因曝光变化带来的色偏误判;自动对焦在亮度稳定后,用清晰度评价函数的方差判断场景是否静止,再启动细搜索。三块数学不是并列的,而是形成“感知—估计—决策”的流水线。

3A算法数学基础协同关系 图像信号 像素 / 通道 / 窗口 线性代数 增益矩阵 · 卷积核 直方图投影 · 最小二乘 概率统计 均值 · 方差 · 置信度 贝叶斯融合 · 假设检验 优化理论 梯度下降 · 黄金分割 阻尼迭代 · 步长控制 3A控制输出 AE:曝光时间 / 增益 AF:对焦位置 / 步长 AWB:R/B增益 / 色温 反馈:误差与置信度回传 线性代数提供表示,概率统计提供可信度,优化理论提供决策方向

五、误区与复盘:数学基础常见的三个坑

  • 把线性代数当纯公式:很多工程师能写出矩阵乘法,却不知道白平衡增益矩阵需要归一化,否则R通道增益过大会导致高光溢出。复盘时应检查每个矩阵的物理量纲和边界。
  • 忽略概率统计的时序性:单帧的亮度均值可能因噪声而剧烈波动,若直接用于曝光决策,画面会闪烁。正确做法是维护滑动窗口,用方差判断是否真正发生变化。
  • 优化步长一刀切:对焦搜索中,远景和微距的最佳步长不同。若始终用固定步长,要么错过峰值,要么收敛过慢。应结合清晰度曲线的斜率自适应调整。
学习建议:每学一个3A算法,先画出它的“输入向量—统计量—优化目标”三要素图。坚持这样做,你会发现线性代数、概率统计和优化理论不再是三门课,而是同一套控制语言的不同侧面。