关键词RK3568 RKAIQ ISP21 DPCC Defect Pixel Cluster Correction 坏点校正 Hot Pixel Dead Pixel IQ Tuning GC2053
适用平台: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 调试方式。

参考资料

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

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

更多推荐