大面积纯色背景下,awb 偏色要如何调试?

1、问题背景

最近项目调试过程中,有遇到过几次对着大面积纯色背景下,awb偏色的问题,问题现象如下所示:

a、室外阳光照射下,对着大面积的天蓝色衣服,白墙偏黄;

b、室外阴天场景,对着大面积的绿植,画面整体偏蓝紫色;

图片

c、室内照明光源下,对着大面积的橙色毛衣,白墙偏蓝;

图片

如上的场景是一些很常见的awb色温判错了,导致的偏色问题,那具体该如何调试呢?

虽然各家的平台有差异,调试方法也有所不同,但处理原理上是类似的,

这里会基于我司平台,总结一下解决此类问题的方法,供大家学习参考。

2、问题分析

首先具体问题要具体分析,一般对于此类问题的调试步骤:

1)先读取一下当前awb算法判定出的色温是多少?确认下当前场景色温判的有没有问题。

2)读取一下当前awb算法统计灰区内的白点分布,确认下当前色温的落点情况。

了解了如上信息后,基本也就知道是什么参数的问题,该如何调试了,我们以如上3个问题去具体分析。

a、室外阳光照射下,对着大面积的天蓝色衣服,白墙偏黄;

此场景下我读取到awb算法判定出来的色温是9000K左右,但实际晴天场景下正常就5000-6500K左右,

所以是awb算法将天蓝色衣服给当成了蓝天,色温判高了导致。

那为什么会判高呢?

此时再看下awb算法统计灰区内的白点分布,如下图所示,当前场景下灰区内的白点主要分布在8000-9000K及6500K附近,

8000-9000K区域的白点更多且更集中,所以正常情况下awb算法判到9000K是正常的。

图片

那如何使awb算法的色温,判定到符合正常场景的6500K呢?

我司平台awb模块的参数中,有关于每个标定色温的权重设置,此时可以将6500K色温的权重加大,

9000K色温的权重减小,所以在此场景下awb算法的色温就更容易判定到6500K附近了。

但也要注意高色温部分的权重分布,没必要太大,但也不能直接不配置,否则当对着蓝天场景时,那awb就判不到高色温了。

如下左图是修改权重后的结果,整体颜色就正常了。

b、室外阴天场景,对着大面积的绿植,画面整体偏蓝紫色;

图片

同上一个问题一样,先看下当前awb算法的色温判的是多少,大概是4500K左右。

此时转动摄像头,把绿植移出画面,当画面颜色正常后,读取当前的判定色温,也还是4500K左右,那就是色温判的没有问题。

此时可以再看下awb算法统计灰区内的白点分布,如下图所示,实际看到的是整个绿植部分都被判定为4500K下方区域的白点了,

绿植也不是白点,且所占比重较多,影响到awb算法最后计算的落点了,导致白色还原不正常。

虽然色温接近,但落点区域不同,类似同色异谱的问题。

图片

针对此类问题,我们调试过程中可以将awb统计的灰区范围调整一下,

如上图,将4500K下方的线的范围往上调整,将整个绿植部分从灰区里面给移除出来,这样就不会影响到白平衡的统计了。

但要注意的是,这种在灰区边缘部分的白点可以移除,但如果白点集中普朗克曲线上,或者中心部分,那这就不能通过这种方法来处理了,否则大部分场景都会出问题,就得不偿失了。

如下左图所示,是通过将绿植部分移除灰区后的结果,较右图还是有明显改善的。

图片

c、室内照明光源下,对着大面积的橙色毛衣,白墙偏蓝;

图片

这个问题是在夜晚室内光源下,对着大面积的橙色毛衣拍的,左边白墙是偏蓝了,此时色温判定的是2000K,

如下是awb算法统计灰区内的白点分布,这个看着就有点奇怪了,这是awb跑飞了的感觉,统计的区域就没白点了,

图片

  

但又为什么判到2000K呢?

目前算法的逻辑是wb不变,还是用上一次检测到的awb值, 从一开始就没有,就只能跟wb给的preset值有关了。

所以对于这种判定不出的场景,那我们直接给他定义一个比较合理的preset值就好了,一般配置成5000K,或者6500K就可以了。

如下左图是调整了wb preset值为5000K的效果,总是比之前2000K的效果要好一点的。

图片

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值