ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

119、洞察驱动的实战标题——AWB的AI化实践——从灰度世界到语义分割驱动白平衡的演进,如何用轻量级语义模型在移动端实时运行

119、洞察驱动的实战标题——AWB的AI化实践——从灰度世界到语义分割驱动白平衡的演进,如何用轻量级语义模型在移动端实时运行 119、洞察驱动的实战标题——AWB的AI化实践——从灰度世界到语义分割驱动白平衡的演进,如何用轻量级语义模型在移动端实时运行去年秋天,我在调试一款旗舰机的前摄时遇到一个极其刁钻的case。用户在一间以暖黄灯光为主、但角落里放着一块蓝色亚克力装饰板的咖啡厅里自拍,肤色被拉成了惨白,背景的蓝板子却变成了灰紫色。日志里AWB的色温估计值在3800K和5200K之间疯狂抖动,R/G和B/G的统计点落在了一个我从未见过的分布区域。传统的灰度世界算法把整幅画面的平均色偏当成了光源色偏,那块蓝色板子面积不大,但饱和度极高,硬生生把统计重心拽走了。我当时的第一反应是调大权重窗口、增加边缘保护,但无论怎么调,肤色和背景总有一个要牺牲。这已经不是参数能解决的问题了,是算法模型本身的盲区——它不知道画面里什么是人、什么是背景、什么是光源。灰度世界假设的本质是“平均反射率是灰色的”,这在自然场景下勉强成立,但一旦画面里出现大面积高饱和色块、纯色物体或人工光源,这个假设就崩塌了。后来我试过改进的灰色阴影法、动态阈值法,甚至引入色温估计的贝叶斯模型,但都绕不开一个核心矛盾:AWB需要知道“场景语义”才能正确判断光源,而传统统计方法恰恰没有语义信息。直到我尝试把轻量级语义分割引入AWB的预处理阶段,问题才真正有了转机。那段时间我每天盯着分割图看,发现一个有意思的现象——当模型把皮肤、植被、天空、人造物这些区域分开统计时,光源估计的稳定性提升了不止一个量级。但直接上语义分割模型在移动端是行不通的。我最初试过MobileNetV3-Large作为编码器,加上一个简单的解码头,在骁龙8 Gen2上跑一次前向推理需要80毫秒,这还没算预处理和后处理。AWB在ISP流水线里的时间预算通常只有10到15毫
返回列表