066、AWB自动白平衡:统计法与AI色温估计的协同

📅 2026/7/19 12:58:03 👁️ 阅读次数 📝 编程学习
066、AWB自动白平衡:统计法与AI色温估计的协同

066、AWB自动白平衡:统计法与AI色温估计的协同

一个让我失眠三天的AWB问题

2019年夏天,某旗舰机项目进入最后调试阶段。产线反馈:在室内混合光源场景下,同一台手机连续拍三张照片,色温漂移超过800K。更诡异的是,用灰卡校正后,肤色反而偏黄。QA团队把问题定性为“AWB算法不稳定”,要求三天内给出解决方案。

那三天我几乎没合眼。白天盯着示波器看ISP pipeline里的R/G/B通道直方图,晚上在实验室模拟各种光源组合。最终发现:传统统计法在混合光源下会“取平均”,而AI模型在训练数据里没见过这种场景——两者各自为政,互相打架。

这个案例让我意识到:AWB从来不是单一算法能解决的问题。统计法有统计法的物理依据,AI有AI的场景泛化能力,但两者必须协同,而不是替代。

统计法的底层逻辑与陷阱

先说说统计法。这是AWB的“老本行”,核心假设是“灰色世界”或“白色世界”——场景中所有颜色的平均值应该是中性灰,或者最亮的区域应该是白色。

灰色世界法:计算全图R/G、B/G的平均值,然后调整增益使这两个比值趋近于1。代码实现很简单:

defgray_world_awb