1. 工业相机成像基础:从光子到数字信号

做机器视觉这些年,我经常被问到同一个问题:「CMOS 和 CCD,到底哪个好?」 说实话,这个问题没有标准答案。但如果你不理解它们从光子到数字信号的底层逻辑,那选型、调试、甚至分析图像质量问题,都会像在黑暗中摸索。

这一章,我们就从最源头开始,把成像这件事彻底讲透。

1.1 成像的本质:光子到电子的转换

说白了,相机成像就是「光子计数」。每个像素就像一个微型水桶,光子落进去,被转换成电子,然后读出、量化、变成数字。

核心公式(记住这个):

电子数 = 量子效率 × 入射光子数

量子效率(QE)越高,相同光照下产生的电子越多,图像越亮、信噪比越高。

我在项目中遇到过不少工程师,一上来就调增益、调曝光,却忽略了传感器本身的量子效率。结果噪声放大了,图像反而更差。嗯,这里要注意:增益是放大器,不是造电子器。

1.2 CMOS vs. CCD:两种不同的「读出水桶」方式

CMOS 和 CCD 的核心差异,不在于怎么收集光子,而在于怎么把电子读出来。

对比维度 CCD CMOS
读出方式 逐行转移,统一读出 每个像素独立读出
噪声水平 低(读出噪声小) 较高(像素级放大器引入噪声)
功耗 高(需要多组电压驱动) 低(单电压供电)
速度 慢(串行读出) 快(并行读出)
全局快门 天生支持 需要额外设计(卷帘快门为主)
成本 高(工艺复杂) 低(标准 CMOS 工艺)
典型应用 天文、科研、高端检测 工业相机、手机、安防

我的经验: 如果你做的是高速运动物体检测(比如流水线上的药瓶),CMOS 的卷帘快门会导致图像变形。我曾经踩过这个坑——拍高速旋转的齿轮,齿形全歪了。后来换成全局快门的 CCD 才解决。

1.3 从光子到数字信号:完整链路

你想想看,一个光子从进入镜头,到变成你屏幕上那个数字,中间经历了什么?

  1. 光子入射 → 通过微透镜、滤光片(Bayer 阵列),到达光电二极管
  2. 光电转换 → 光子被吸收,产生电子-空穴对(量子效率决定效率)
  3. 电荷收集 → 电子在势阱中积累(满阱容量决定动态范围)
  4. 电荷读出 → CMOS:每个像素的源极跟随器放大 → 列并行 ADC;CCD:垂直转移 → 水平寄存器 → 输出放大器 → ADC
  5. 量化 → ADC 将模拟电压转换为数字值(8bit/10bit/12bit...)
  6. 数字处理 → 去马赛克、白平衡、伽马校正、降噪...

这里面,满阱容量(Full Well Capacity) 和 读出噪声(Read Noise) 是两个关键指标。满阱容量决定了像素能装多少电子,读出噪声决定了你能分辨的最小信号。两者的比值,就是动态范围。

避坑指南: 我曾经在选型时只看分辨率,忽略了动态范围。结果在拍摄高反光金属表面时,亮部全白、暗部全黑,根本没法做缺陷检测。记住:动态范围比分辨率更影响实际成像质量。

1.4 知识结构图:成像链路全景

下面这张图,把从光子到数字信号的完整链路画了出来。我建议你把它存下来,后面讲 MTF 时还会反复用到。

工业相机成像链路:从光子到数字信号 光子入射 光电转换 电荷收集 电荷读出 量化 (ADC) 关键参数说明: • 量子效率 (QE):光子转换为电子的效率,直接影响灵敏度 • 满阱容量 (FWC):像素能存储的最大电子数,决定动态范围上限 • 读出噪声 (Read Noise):读出电路引入的噪声,决定动态范围下限 CMOS 读出方式 像素级源极跟随器 列并行 ADC 高速、低功耗 CCD 读出方式 垂直 CCD 转移 → 水平寄存器 单一输出放大器 低噪声、高均匀性

1.5 实战中的选择建议

说了这么多理论,回到实际选型。我个人习惯按这几点来决策:

  • 场景一:静态高精度测量(如 PCB 检测)→ 优先 CCD,低噪声、高均匀性,MTF 表现更稳定
  • 场景二:高速运动物体(如流水线药瓶)→ 优先全局快门 CMOS,避免卷帘快门畸变
  • 场景三:低光照环境(如夜间监控)→ 优先背照式 CMOS(BSI),量子效率更高
  • 场景四:多相机系统(如 3D 重建)→ 优先 CMOS,功耗低、发热小,系统稳定性好

一个小技巧: 选型时别只看 datasheet 上的「最大帧率」。实际帧率受曝光时间、读出时间、传输带宽三重限制。我习惯先算一遍:实际帧率 = 1 / (曝光时间 + 读出时间 + 传输时间),再留 20% 余量。

1.6 本章小结

从光子到数字信号,看似简单,实则每一步都影响最终的图像质量。CMOS 和 CCD 没有的好坏,只有适不适合你的应用场景。理解它们的底层差异,你才能在后续的 MTF 测试、图像质量评估中,做出正确的判断。