【RKAIQ ISP21】RK3568 平台 DPCC 坏点校正模块参数详解(GC2053 实战)
·
关键词:
RK3568RKAIQISP21DPCCDefect Pixel Cluster Correction坏点校正Hot PixelDead PixelIQ TuningGC2053
适用平台:RK3568 / RV1126 / RK3588(ISP21 框架通用)
作者笔记:本文基于gc2053_default_JX8006.json实战调试过程整理
📑 文章目录
- 前言
- 一、DPCC 是什么
- 二、坏点类型详解
- 三、最常调的 3 件事
- 四、整体架构
- 五、顶层参数
- 六、Fast_Mode 快速模式
- 七、Expert_Mode 专家模式
- 八、Dpcc_pdaf PDAF 坏点屏蔽
- 九、Sensor_dpcc Sensor 内置 DPCC
- 十、当前 IQ 文件状态分析
- 十一、实战调试经验
- 十二、DPCC 与其他模块协同
- 十三、一图速查
- 十四、推荐配置档位
- 十五、当前 IQ 文件评估
- 总结
- 参考资料
前言
adpcc_calib 是 RKAIQ ISP21 框架中的:
DPCC(Defect Pixel Cluster Correction)坏点校正模块
它的作用:
自动检测 Sensor 坏点
↓
用周围像素插补修复
数据流:
RAW Sensor
↓
BLC
↓
DPCC
↓
GIC
↓
Clean RAW
一、DPCC 是什么
一句话理解:
| 角色 | 类比 |
|---|---|
| 坏点 | 坏掉的像素 |
| DPCC | 自动修补工具 |
为什么必须有 DPCC
因为:
所有 Sensor 都有坏点
GC2053 1080P:
通常有 100~5000 个坏点
常见症状
- 暗场白点
- 高 ISO 彩色亮点
- 亮场黑点
- 长曝光热噪点
二、坏点类型详解
| 类型 | 现象 | 条件 |
|---|---|---|
| Single | 单亮点/暗点 | 常见 |
| Double | 双联坏点 | 制造缺陷 |
| Triple | 三联坏点 | 严重缺陷 |
| Hot Pixel | 暗场亮点 | 高温/高 ISO |
| Dead Pixel | 亮场黑点 | 永久缺陷 |
三、最常调的 3 件事
| 想做什么 | 改哪里 | 怎么改 |
|---|---|---|
| 暗场亮点太多 | RND.rb_rnd_thr | 10→6 |
| 高 ISO 彩噪 | set2 | 高 ISO 开启 |
| 简化调试 | Fast_Mode | Fast_mode_en=1 |
⚠️ 重要
DPCC:
不要调太狠
否则会:
- 误杀星空
- 抹掉高光
- 纹理变软
四、整体架构
adpcc_calib
└── DpccTuningPara
├── Enable
│
├── Fast_Mode
│ ├── Fast_mode_en
│ ├── Single/Double/Triple_enable
│ └── Fast_Data
│
├── Expert_Mode
│ ├── stage1_Enable
│ ├── SetEnable
│ ├── set1/set2/set3
│ │ ├── RK
│ │ ├── LC
│ │ ├── PG
│ │ ├── RND
│ │ ├── RG
│ │ └── RO
│ │
│ ├── Dpcc_pdaf
│ └── Sensor_dpcc
五、顶层参数
5.1 Enable
| 值 | 含义 |
|---|---|
| 1 | 启用 |
| 0 | 关闭 |
推荐
"Enable": 1
为什么必须开
关闭后:
暗场全是亮点
特别是:
高 ISO
六、Fast_Mode 快速模式
⭐ 适合新手
6.1 基本结构
"Fast_Mode": {
"Fast_mode_en": 1,
"Single_enable": 1,
"Double_enable": 1,
"Triple_enable": 0
}
6.2 Level 含义
| Level | 强度 | 风险 |
|---|---|---|
| 0~5 | 很弱 | 漏检 |
| 8~12 | 推荐 | 平衡 |
| 16~20 | 强 | 一般 |
| 24~31 | 激进 | 易误伤 |
6.3 推荐配置
"Single_level":
[8,8,8,10,12,14,16,18,20,22,24,26,28]
"Double_level":
[6,6,6,8,10,12,14,16,18,20,20,22,24]
推荐逻辑
低 ISO 温和
高 ISO 激进
七、Expert_Mode 专家模式
⭐⭐ 当前使用模式
7.1 顶层配置
| 参数 | 当前 | 含义 |
|---|---|---|
| stage1_Enable | 1 | 必开 |
| grayscale_mode | 0 | 彩色模式 |
| stage1_g_3x3 | 0 | G 用 5x5 |
| stage1_rb_3x3 | 0 | RB 用 5x5 |
| rk_out_sel | 1 | RK 输出 |
结论
保持默认即可
7.2 SetEnable
"set1": [1,1,1,...]
"set2": [0,0,0,...]
"set3": [0,0,0,...]
三套参数集
| 参数集 | 作用 | 当前 |
|---|---|---|
| set1 | 主配置 | ✅ |
| set2 | 高 ISO | ❌ |
| set3 | 极端场景 | ❌ |
推荐
高 ISO:
set2[ISO>=3200] = 1
7.3 五种检测算法
| 算法 | 作用 |
|---|---|
| RK | RK 综合算法 |
| LC | 行列检测 |
| PG | 梯度检测 |
| RND | 排序检测 ⭐ |
| RG | 范围检测 |
| RO | 排序限制 |
7.3.1 RND 排序检测 ⭐
最重要算法
当前配置
"rb_rnd_thr": [10,10,10,...]
"g_rnd_thr": [10,10,10,...]
工作原理
比较中心像素与周围排序关系
判断:
是否离群
调节规律
| 想要效果 | 调法 |
|---|---|
| 更敏感 | 阈值减小 |
| 更保守 | 阈值增大 |
GC2053 推荐
[12,12,12,11,10,9,8,7,6,5,5,4,4]
推荐逻辑
高 ISO 更激进
7.3.2 LC 行检测
"rb_line_thr": [8,8,8,...]
作用
检测线状坏点
7.3.3 PG 梯度检测
"rb_pg_fac": [4,4,4,...]
作用
区分边缘与坏点
7.3.4 RG 范围检测
"rb_rg_fac": [32,32,32,...]
作用
判断是否超出邻域范围
7.3.5 RO 排序限制
"rb_ro_lim": [2,2,2,...]
作用
限制 RND 过激
7.3.6 RK 自研算法
"RK_enable": [1,1,1,...]
作用
综合兜底算法
八、Dpcc_pdaf PDAF 坏点屏蔽
"en": 0
含义
PDAF Sensor:
需要跳过对焦像素
GC2053
没有 PDAF
因此:
保持 0
九、Sensor_dpcc Sensor 内置 DPCC
"sensor_dpcc_auto_en": 0
含义
高端 Sensor
自带 DPCC 硬件
GC2053
不支持
十、当前 IQ 文件状态分析
| 模块 | 当前状态 | 评价 |
|---|---|---|
| Enable | ✅ | 已开启 |
| Fast_Mode | ❌ | 未使用 |
| Expert_Mode | ✅ | 已启用 |
| set1 | ✅ | 主配置 |
| set2/set3 | ❌ | 未启用 |
| RND | ✅ | 中等强度 |
| LC | ✅ | 已启用 |
| PG | ✅ | 已启用 |
| RG | ✅ | 已启用 |
| RO | ✅ | 已启用 |
| RK | ✅ | 已启用 |
当前评价
配置合理
但:
高 ISO 还不够激进
十一、实战调试经验
经验 1:先拍暗场
import numpy as np
raw = np.fromfile(
'dark.raw',
dtype=np.uint16
).reshape(1080,1920)
threshold = raw.mean() + 100
hot_pixels = np.sum(raw > threshold)
print(hot_pixels)
健康范围
| 坏点数 | 状态 |
|---|---|
| <50 | 很好 |
| 50~500 | 一般 |
| >500 | 需要加强 |
经验 2:黄金 3 步法
1. 关 DPCC 抓 RAW
2. 开 DPCC 抓 RAW
3. 对比剩余坏点
经验 3:五算法协同
LC 解决线状坏点
RND 解决孤立坏点
RG 防止误检
PG 保护边缘
RO 限制激进程度
RK 综合兜底
经验 4:高 ISO 启用 set2
"set2":
[0,0,0,0,0,0,0,0,1,1,1,1,1]
经验 5:高 ISO 推荐
"rb_rnd_thr":
[12,12,12,11,10,9,8,7,6,5,5,4,4]
经验 6:7 大坑
坑 1:星空被抹掉
解决:
rb_rnd_thr → 16
坑 2:金属高光消失
解决:
rb_rg_fac → 40
坑 3:布料纹理变软
解决:
rb_line_thr → 12
坑 4:暗场还有亮点
解决:
rb_rnd_thr → 6
坑 5:高 ISO 彩噪
解决:
启用 set2
坑 6:绿色斑块
解决:
减小 PG
坑 7:换 Sensor 坏点变多
解决:
使用 OTP 坏点表
十二、DPCC 与其他模块协同
BLC
↓
DPCC
↓
GIC
↓
BayerNR
⚠️ 顺序很重要
因为:
BLC 必须先减黑电平
否则:
DPCC 会误判
十三、一图速查
| 想做什么 | 改哪里 | 怎么改 |
|---|---|---|
| 开启 DPCC | Enable | 0→1 |
| 增强检测 | rb_rnd_thr | 10→6 |
| 保护星空 | rb_rnd_thr | 10→16 |
| 高 ISO 强化 | set2 | ISO≥3200 开 |
| 保护高光 | rb_rg_fac | 32→40 |
| 保护纹理 | rb_line_thr | 8→12 |
| PDAF 支持 | Dpcc_pdaf.en | 0→1 |
十四、推荐配置档位
档位 1:保守
rb_rnd_thr:
[16,16,14,12,10,8,6,5,4,4,4,4,4]
档位 2:标准(推荐)
rb_rnd_thr:
[12,12,12,11,10,9,8,7,6,5,5,4,4]
档位 3:激进
rb_rnd_thr:
[8,8,7,6,5,5,4,4,4,4,4,4,4]
十五、当前 IQ 文件评估
| 维度 | 状态 | 说明 |
|---|---|---|
| 总开关 | ✅ | 已开启 |
| 算法覆盖 | ✅ | 五算法全开 |
| ISO 渐变 | ❌ | 当前未做 |
| set2/set3 | ❌ | 未启用 |
| Sensor_dpcc | ✅ | 正确关闭 |
| PDAF | ✅ | 正确关闭 |
最终结论
✅:
- 基础配置合理
- 普通场景足够
- 五算法完整
⚠️ 建议: - 增加 ISO 渐变
- 高 ISO 启用 set2
- RND 高 ISO 更激进
总结
DPCC 的本质:
自动检测并修复坏点
它决定:
- 暗场是否干净
- 高 ISO 是否有彩色亮点
- 长曝光是否有热噪点
真正项目里最重要的是:
不要过修
因为:
真实高光也可能像坏点
因此:
- 低 ISO 保守
- 高 ISO 激进
- 必测星空/高光/纹理
才是正确的 DPCC 调试方式。
参考资料
- Rockchip RKAIQ Framework Documentation
- RKAIQ ISP21 DPCC Calibration Guide
- GC2053 Datasheet
- RKMedia Developer Guide
- RKAIQ Source Code
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)