1. 课程导入
在机器视觉、医疗影像、工业检测与科学观测中,成像系统的“画质”并不只由镜头和分辨率决定。传感器在无光或极弱光条件下仍会输出非零信号,这部分信号叠加在真实图像上,形成噪声、灰雾、固定亮斑甚至热像素。要获得稳定、可量化、可复现的图像,必须同时掌握两件事:一是把传感器调到合适的工作状态,二是把暗电流及其引起的暗信号从有效信号中剥离出来。本课程围绕这两条主线展开,帮助你从“能出图”走向“出可信的图”。
一、学习目标:从会接线到会标定
完成本课程后,你应当具备以下能力:能够读懂成像传感器的关键参数表,理解量子效率、满阱容量、读出噪声、暗电流密度、暗信号非均匀性等指标对图像的实际影响;能够独立完成传感器上电、时钟配置、曝光与增益调节、触发同步和接口调试;能够设计暗电流测试方案,采集暗场帧与温度序列,建立暗电流随温度与曝光时间变化的模型;能够把补偿算法部署到采集链路中,并用客观指标验证补偿效果。
- 调试层面:掌握电源、时钟、复位、曝光、增益、触发、数据接口的联调顺序与排障方法。
- 测量层面:掌握暗场帧、偏置帧、平场帧的采集规范,理解均值、标准差、非均匀性、热像素比例等统计量。
- 补偿层面:掌握暗帧减法、温度系数补偿、多点标定、实时校正与漂移跟踪。
- 评估层面:能够用信噪比、暗电流残差、固定图案噪声、热像素数量等指标判断补偿是否达标。
二、核心概念:暗电流不是“黑电平”
暗电流是光电二极管在无光照条件下由热激发产生的载流子形成的电流,它与温度强相关,通常每升高约 6~8 ℃ 就会翻倍。暗电流经过积分后形成暗信号,叠加在读出电路的偏置之上。很多初学者把暗电流简单等同于“黑电平”,这是常见误区:黑电平是读出链路引入的固定偏置,可以通过偏置帧扣除;暗电流则随曝光时间和温度变化,必须建模和动态补偿。
另一个关键概念是暗信号非均匀性。即使同一晶圆上的像素,其暗电流也存在差异,表现为固定图案噪声。温度越高、曝光越长,这种差异越明显,最终形成热像素和暗电流尖峰。补偿的目标不是把暗场变成绝对零,而是让暗信号在时间和空间上可预测、可扣除、残差可控。
三、整体框架:三条链路与一个闭环
上图给出了本课程的整体框架。左侧是传感器调试链路,解决“传感器能否稳定工作”的问题;中间是暗电流测量与建模链路,解决“暗信号是什么、随什么变化”的问题;右侧是补偿与校正链路,解决“如何把暗信号去掉”的问题。底部是评估闭环,用客观指标判断补偿是否达标,不达标则回到测量与建模环节重新标定。
三条链路之间存在明确的依赖关系:调试不稳定,测量就不可重复;测量不充分,模型就不可靠;模型不可靠,补偿就会引入新的伪影。因此,本课程不会把暗电流补偿讲成一个孤立的算法,而是把它放在完整的采集与标定流程中。
四、方法流程:从暗场采集到残差验证
暗电流补偿的典型流程可以概括为“采集—统计—建模—补偿—验证”五步。下面给出一个可复用的参数配置示例,用于暗场序列采集:
# 暗场序列采集配置示例
sensor:
exposure_us: [100, 500, 1000, 5000, 10000]
gain_db: 0
trigger_mode: internal
frame_count: 64
temperature:
setpoints_c: [10, 20, 30, 40, 50]
stability_c: ±0.2
analysis:
dark_current_density: e-/pixel/s
hot_pixel_threshold: mean + 6 * sigma
nonuniformity: std / mean
compensation:
method: dark_frame_subtraction
temperature_model: exponential
update_interval_s: 60
采集完成后,先统计每个温度点、每个曝光时间下的暗场均值与标准差,再拟合暗电流随温度和曝光时间的变化关系。补偿阶段通常先扣除偏置帧,再按温度模型扣除暗电流分量。最后用未参与标定的暗场帧验证残差,确认残差均值接近零、固定图案噪声显著下降、热像素不再随温度剧烈漂移。
五、案例与场景:工业相机高温漂移
某工业相机在常温下图像正常,但在产线连续运行 2 小时后出现明显灰雾和固定亮斑。排查发现,传感器温度从 28 ℃ 升到 52 ℃,暗电流增大约 8 倍,原有常温暗帧已完全失效。解决路径是:先改善散热与温度稳定,再采集 30~55 ℃ 的多点暗场序列,建立温度补偿模型,最后把补偿参数写入采集链路,每 60 秒根据温度更新一次暗帧。处理后,暗电流残差从约 120 DN 降到 8 DN 以内,热像素数量下降一个数量级。
六、常见误区与复盘清单
| 误区 | 表现 | 正确做法 |
|---|---|---|
| 把暗电流当成固定黑电平 | 只做一次偏置扣除,高温下仍出现灰雾 | 区分偏置与暗电流,建立温度与曝光模型 |
| 只在常温下标定 | 设备升温后补偿失效 | 覆盖实际工作温度范围,多点标定 |
| 忽略曝光时间影响 | 长曝光图像暗信号明显偏大 | 把曝光时间作为模型输入变量 |
| 用亮场帧代替暗场帧 | 暗电流与光照信号混在一起 | 严格遮光采集暗场帧 |
| 补偿后不做残差验证 | 看似变干净,实际引入伪影 | 用独立暗场帧评估残差与固定图案噪声 |
本课程后续将沿着“调试—测量—建模—补偿—评估”的路径逐步展开。你现在需要记住的是:传感器调试与暗电流补偿不是两个独立环节,而是一条从硬件工作点到图像数据可信度的完整链路。理解这条链路,后续每一章的参数、工具和方法才会有明确的落点。