目录
一、添加约束条件的优势
1.1 二维高斯似然原始公式
1.2 施加约束
1.3 尺度变换:离线合并缩放因子(最关键步骤)
1.4 σ 参数的工程含义:似然‑先验平衡旋钮
1.5 如果为什么不能合并缩放?
二、粗搜索完整数据流(修正版 SOP)
👉离线 PC 调参脚本阶段
👉嵌入式实时粗搜索运行阶段
三、Transverse 求精代价函数补充
一、约束条件的优势![]()
1.1 二维高斯似然原始公式
假设校正后色块残差服从零均值二维独立高斯分布,R、B 残差互不相关。
单个色块 i:
N 个色块相互独立,联合概率:
负对数‑似然代价:
展开:
- 求和项:变量项,随候选光源
改变
:全局偏移常数项;对全部候选光源取值一模一样,直接丢弃,不需要任何处理。
1.2 施加约束![]()
代入:
丢弃常数偏移项,保留:
完整总代价(粗搜索阶段)
1.3 尺度变换:离线合并缩放因子(最关键步骤)
代价最小化问题,给全部候选光源代价统一乘以一个正系数,最优光源解保持不变。
两边乘以:
定义离线预缩放后的新先验代价
👉运行时实时代码(嵌入式)最终最简公式
运行阶段,不再出现
;浮点乘法全部放到离线 tuning 脚本一次性完成。 这就是文档原话「减少计算量」的真正含义。
⚠️再次强调:
- 丢弃的:
(偏移常数,和 prior 无关)
- 合并进先验的:缩放系数
(乘号,不是加号) 二者完全不是同一个东西。
1.4 σ 参数的工程含义:似然‑先验平衡旋钮
原始贝叶斯空间,二者单位天然统一;缩放后,σ 决定似然项与先验项之间的权重配比:
变小 →
缩小 →
数值缩小 似然项占主导,AWB 更加相信图像色块证据,跟踪光源快,更容易受彩色物体干扰飘色
变大 →
放大 →
数值变大 先验代价约束力变强,白平衡更稳定,但是光源切换响应变慢
⚠️一个高频工程事故点: 如果直接把
的数值原样填入配置文件的 prior_cost 字段,忘记乘以
。 先验权重会严重偏弱,先验约束几乎失效,AWB 退化成无先验搜索。
1.5 如果
为什么不能合并缩放?
此时 R 残差、B 残差拥有各自独立权重,无法提取一个全局公因子同时作用在整个似然求和项; 就不能用单一系数统一缩放全部似然,进而不能一次性缩放整张先验代价表。 运行阶段就必须实时计算除法权重,增加运算开销。
二、粗搜索完整数据流(修正版 SOP)
👉离线 PC 调参脚本阶段
- 选定全局高斯标准差参数
- 根据色温统计频次,算出原始理论先验代价
- 执行缩放:
- 将色温控制点
写入 ISP 参数文件
👉嵌入式实时粗搜索运行阶段
输入:本帧筛选出 N 个中性色块遍历 CT‑Curve 上每一个候选光源点
- 白平衡增益:
- 校正色块色度、计算残差:
- 似然代价:
- 查表读出已经缩放完成的
- 总代价 = 似然代价 +
- 记录代价最小的粗搜索光源点
- 进入 Transverse 横向求精阶段
三、Transverse 求精代价函数补充
横向求精不再被约束在 CT‑Curve 折线上。 d = 当前待求光源白点,到 CT‑Curve 曲线的垂直距离。 完整求精代价:
K:横向偏移惩罚系数,人工 tuning 参数,用来控制允许白点偏离普朗克轨迹的程度。