OpenISP 模块拆解 · 第1讲:坏点校正 (DPC)

OpenISP 模块拆解 · 第1讲:坏点校正 (DPC)

模块作用

DPC 是坏点校正模块,位于 pipeline 最前面。输入是二维 Bayer RAW,输出仍然是 Bayer RAW。它要解决传感器坏点、热像素、死点等异常采样问题。

坏点如果不先处理,会在后续 AAF、CFA、EE 中被扩散或增强,最后表现为亮点、黑点、彩点、边缘彩斑。

openISP 实现

源码类名为 DPC(img, thres, mode, clip)。它对图像做 2 像素 reflect padding,然后对每个中心像素取周围八个同色邻居:

text 复制代码
p1 p2 p3
p4 p0 p5
p6 p7 p8

这些点在原始 5x5 窗口中相隔 2 像素,符合 Bayer 同色采样位置。

检测逻辑

当中心点 p0 与八个邻居的差值都大于阈值时,判定为坏点:

text 复制代码
abs(p_i - p0) > thres, for i = 1..8

这是较保守的规则。只有中心点和所有同色邻居都明显不同,才会被替换,能减少误杀边缘纹理。

修正模式

mean

取上下左右同色邻居平均:

text 复制代码
p0 = (p2 + p4 + p5 + p7) / 4

优点是简单稳定,缺点是容易跨边缘平均。

gradient

计算垂直、水平、两个对角方向的梯度,选梯度最小的方向做平均。直觉是沿着变化最平缓的方向插值,尽量保护边缘。

text 复制代码
dv  = abs(2*p0 - p2 - p7)
dh  = abs(2*p0 - p4 - p5)
ddl = abs(2*p0 - p1 - p8)
ddr = abs(2*p0 - p3 - p6)

参数说明

参数 含义 调大 调小
thres 坏点检测阈值 少修正,漏坏点风险增加 多修正,误伤纹理风险增加
mode 替换策略 gradient 更保边 mean 更平滑
clip 输出上限 配合 bit depth 防止溢出

学习重点

  • DPC 必须理解 Bayer 同色邻域,不能直接拿普通 3x3 RGB 思维套。
  • 阈值需要跟噪声水平、ISO、bit depth 相关。
  • DPC 越靠前越好,因为后续模块会扩散坏点影响。

面试问答

Q1: 为什么坏点校正通常放在 demosaic 前?

因为坏点是单个传感器采样点异常。demosaic 会把一个异常点插值到多个颜色通道和邻近像素,如果之后再修正,坏点已经扩散成彩色区域,定位和修复都更难。

Q2: 为什么 DPC 要用同色邻居?

Bayer 图中相邻像素不是同一颜色。直接用相邻像素会混入其他颜色通道的信息,可能把颜色差异误认为亮度差异。同色邻居更能代表同一通道的真实局部变化。

Q3: thres 过小会怎样?

会把正常噪声或细节纹理误判成坏点,导致细节被抹掉,边缘变软,甚至出现局部纹理断裂。

Q4: gradient 模式相比 mean 的优势是什么?

gradient 会选择变化最平缓的方向插值,避免跨越强边缘平均,因此比 mean 更能保护边缘和纹理。

Q5: DPC 能不能修复大片坏区域?

这种局部 DPC 不适合修复大片坏区域。它假设异常是孤立点。如果坏点连续成片,周围邻域也不可靠,需要缺陷表、插值掩码或更复杂的修复算法。

相关推荐
憧憬成为web高手2 小时前
[HITCON 2017]SSRFme
学习
妖精的羽翼2 小时前
AI + 前端、可视化 & 大屏
学习
xuhaoyu_cpp_java8 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
小宋加油啊10 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
Xzh042311 小时前
AI Agent 学习路线(Java 后端方向)
java·人工智能·学习
Cloud_Shy61811 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 33 - 35)
开发语言·人工智能·笔记·python·学习方法
做cv的小昊11 小时前
计算机图形学:【Games101】学习笔记08——光线追踪(辐射度量学、渲染方程与全局光照、蒙特卡洛积分与路径追踪)
图像处理·笔记·学习·计算机视觉·游戏引擎·图形渲染·概率论
星恒随风11 小时前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
sensen_kiss13 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.8 软件测试 (Software Testing)(上)
学习·软件工程
力学与人工智能13 小时前
PPT分享 | 洛桑联邦理工学院魏震:深度几何学习在工业设计优化中的应用
学习·优化·工业设计·深度几何学习·洛桑联邦理工学院