关键词RK3568 RKAIQ ISP21 AWB 自动白平衡 IQ Tuning GC2053
适用平台:RK3568 / RV1126 / RK3588(ISP21 框架通用)
作者笔记:本文基于 gc2053_default_JX8006.json 实战调试过程整理


📑 文章目录

  • 前言
  • 一、整体架构
  • 二、control —— 总控制层
  • 三、manualPara —— 手动白平衡
  • 四、autoPara —— 自动白平衡核心
  • 五、lightSources —— 光源模型系统
  • 六、autoExtPara —— 稳定性与高级控制
  • 七、最关键的 7 个 AWB 调节维度
  • 八、典型场景调节速查表
  • 九、AWB 与其他模块协同
  • 十、板端验证流程
  • 总结
  • 参考资料

前言

wb_v21 是 RKAIQ ISP21 框架中的 AWB(Auto White Balance)自动白平衡模块。

它的作用只有一句话:

让“白色”在不同色温光源下都看起来是白色。

AWB 是 ISP 中第二复杂的模块(仅次于 AEC),涉及:

  • 光源识别
  • 白点检测
  • RGB Gain 计算
  • 色温估算
  • 稳定性控制
  • 单色场景处理
  • 日夜色温限制

很多同学第一次调 AWB 都会遇到:

  • 为什么黄墙会偏蓝?
  • 为什么室内暖光总被矫正成冷色?
  • 为什么 AWB 会来回跳?
  • 为什么白天颜色忽冷忽暖?
  • staWeight 到底怎么调?

本文基于 RK3568 + GC2053 + JX8006 模组实战,对 RKAIQ ISP21 AWB 模块进行完整拆解。

🎯 读完本文你能:

  • 看懂 RKAIQ 的 AWB 参数
  • 理解 RK 的 7 光源模型
  • 学会解决“黄背景偏蓝”
  • 学会处理 AWB 抖动
  • 学会白天/夜晚色温限制
  • 掌握 IPC 产品常见 AWB 调参方法

一、整体架构

wb_v21
├── control                ← 总控制
├── manualPara             ← 手动白平衡
├── autoPara               ← 自动白平衡核心
│   ├── limitRange
│   ├── lightSources[7]
│   ├── wpDiffLumaWeight
│   └── ...
└── autoExtPara            ← 高级稳定性控制
    ├── tolerance
    ├── dampFactor
    ├── wbGainDaylightClip
    ├── chrAdpttAdj
    ├── singleColorProces
    └── ...

AWB 的核心流程

白点检测
    ↓
光源估算
    ↓
计算 RGB Gain
    ↓
输出 AWB Gain
    ↓
CCM / Gamma / 最终 RGB

二、control —— 总控制层

位置:

wb_v21.control

2.1 总开关

参数 典型值 含义
byPass 0 0=启用 AWB;1=关闭 AWB
mode CALIB_WB_MODE_AUTO AUTO / MANUAL

2.2 AUTO 与 MANUAL

AUTO

自动识别:

  • 光源
  • 色温
  • RGB Gain

实际产品默认使用。


MANUAL

强制固定:

  • RGB Gain
  • 色温
  • 场景

适合:

  • ISP 调试
  • 实验室验证
  • 排查颜色问题

三、manualPara —— 手动白平衡

仅:

mode = MANUAL

时生效。


3.1 常见参数

参数 含义
mwbGain 手动 RGB Gain
scene 手动场景
CCT 手动色温

3.2 mwbGain 示例

"mwbGain": [1.119, 1, 1, 2.335]

含义:

通道 Gain
R 1.119
Gr 1
Gb 1
B 2.335

3.3 常见手动场景

场景 作用
CLOUDY_DAYLIGHT 阴天
DAYLIGHT 白天
INCANDESCENT 白炽灯
FLUORESCENT 荧光灯

四、autoPara —— 自动白平衡核心

这是 AWB 的主体部分。

位置:

wb_v21.autoPara

五、lightSources —— 光源模型系统

RKAIQ 默认定义了:

7 个标准光源模型

5.1 标准光源列表

光源 典型 CCT 类型 场景
HZ 2300K 极暖光 白炽灯
A 2856K 暖光 暖黄灯
TL84 4000K 荧光灯 商场
CWF 4150K 中性荧光 室内
D50 5000K 中性日光 标准日光
D65 6500K 白天日光 室外
D75 7500K 阴天 蓝天

5.2 每个光源的核心字段

字段 含义 是否常调
standardGainValue 标定 RGB Gain
uvRegion UV 白点区域 ⚠️
xyRegion xy 白点区域
staWeight 光源权重 ⭐⭐⭐
weight 按亮度权重 ⚠️
dayGainLvThSet 日夜切换阈值

六、staWeight —— 最核心参数

🔥 AWB 调参里最重要的参数之一。


6.1 staWeight 示例

"staWeight": [
100,100,100,100,
100,100,100,100,
100,100,100,100,
100,100,90,75
]

6.2 它的本质

每个数字代表:

当前光源在 AWB 投票中的权重

范围:

0 ~ 255

6.3 调节规律

想要效果 调法
该光源更容易被识别 权重提高
该光源更难被识别 权重降低
完全屏蔽 全部设 0

6.4 当前 IQ 调整状态

光源 默认值 当前值 调节方向
HZ 100 55 ⬇️
A 100 70 ⬇️
TL84 100 85 ⬇️
CWF 100 95 ⬇️
D50 100 100 不变
D65 100 120 ⬆️
D75 100 115 ⬆️

6.5 这样调的目的

解决:

黄背景场景下偏蓝

问题。

本质:

降低暖光识别概率
提高冷光识别概率

七、xyRegion —— 白点识别区域

这是:

AWB 白点判定区域

7.1 结构

xyRegion:
  normal:
  big:

7.2 normal 与 big

区域 含义
normal 常规区域
big 扩大容忍区域

7.3 调节规律

提高容忍度

扩大:

big 区域

通常:

向外扩 0.03 ~ 0.05

降低误判

缩小:

big 区域

八、autoExtPara —— 高级稳定性控制

位置:

wb_v21.autoExtPara

九、tolerance —— 防抖机制

AWB 稳定性的核心。


9.1 默认问题

默认:

[0,0,0,0]

意味着:

任何变化都会更新 Gain

因此:

AWB 很容易来回跳

9.2 当前推荐值

[0.008,0.008,0.005,0.003]

9.3 含义

场景 容忍度
暗场景 0.8%
亮场景 0.3%

9.4 调节规律

数值 效果
响应快
更稳定

十、dampFactor —— 阻尼系数

作用:

AWB 平滑更新

当前配置

"dFMin": 0.85,
"dFMax": 0.95

调节规律

阻尼 效果
跟踪快
更稳定

十一、wbGainDaylightClip —— 白天色温限制

⭐ 实战里非常重要。


11.1 配置

{
  "enable": 1,
  "outdoor_cct_min": 5000
}

11.2 作用

当:

AE 判定当前是白天

时:

AWB 不允许跑到低色温暖光区

11.3 解决的问题

  • 白天偏黄
  • 黄背景偏蓝
  • 室外颜色漂移

十二、singleColorProces —— 单色场景处理

用于处理:

大面积单一颜色场景

例如:

  • 黄墙
  • 草地
  • 红地毯

12.1 当前关键参数

"alpha": 0.95

12.2 含义

单色场景平滑系数。


12.3 调节规律

数值 效果
跟踪快
更稳定

十三、最关键的 7 个 AWB 调节维度

调节目标 修改参数 调节方向
黄背景偏蓝 staWeight(A/HZ) 降低
室内偏冷 staWeight(D65/D75) 提高
白天偏黄 wbGainDaylightClip 开启
AWB 抖动 tolerance 提高
跳变明显 dampFactor 提高
单色误判 singleColorProces.alpha 提高
光源识别不准 xyRegion.big 扩大

十四、典型问题速查表

现象 调节方法
🟦 黄背景偏蓝 降低 A/HZ 权重
🟨 白天偏黄 开启 wbGainDaylightClip
❄️ 室内偏冷 提高 D65/D75 权重
🔄 AWB 来回跳 提高 tolerance
🌈 单色场景误判 提高 alpha
⚡ 启动瞬间偏色 lightSourceForFirstFrame 改 D65

十五、AWB 与其他模块协同

数据流:

AEC
 ↓
AWB
 ↓
CCM
 ↓
Gamma
 ↓
最终 RGB

15.1 AEC 不稳 → AWB 必然抖

曝光变化会直接影响:

白点统计

15.2 AWB 不准 → CCM 会放大错误

因此:

AWB 是整个颜色系统的基础

十六、板端验证流程


16.1 推送 IQ 文件

adb push gc2053_default_JX8006.json /oem/etc/iqfiles/

16.2 停止冲突进程

/oem/RkLunch-stop.sh

16.3 启动 RTSP

rkmedia_vi_venc_rtsp_test -a /oem/etc/iqfiles

16.4 VLC 拉流

rtsp://<板端IP>/live/main_stream

十七、建议测试场景

建议至少验证:

  • ☀️ 室外白天
  • 🌇 黄昏
  • 🏠 室内暖光
  • 🟨 黄墙
  • 🌳 草地
  • 🔵 蓝色背景

总结

AWB 的本质:

白点识别
    +
光源判断
    +
RGB Gain 补偿

真正产品里最重要的不是:

绝对正确

而是:

稳定
不跳
场景不翻车

因此:

  • staWeight
  • tolerance
  • dampFactor
  • singleColorProces

才是 AWB 项目调试的核心。


参考资料

  1. Rockchip RKAIQ Framework Documentation
  2. RKMedia Developer Guide
  3. GC2053 Datasheet
  4. RKAIQ ISP21 Source Code
  5. RKAIQ AWB Calibration Guide
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐