4. 相机与传感器:CCD与CMOS传感器对比、像素尺寸与分辨率、帧率与曝光时间权衡

传感器选型,说白了就是给机器视觉系统挑“眼睛”。我见过太多项目,算法调得再好,传感器选错了,照样白搭。这一章咱们就把CCD和CMOS的底细、像素尺寸怎么定、帧率和曝光怎么平衡,一次性说透。

4.1 CCD与CMOS传感器对比

先问个问题:为什么现在工业相机里CMOS越来越多,CCD反而少了?

不是CCD不好,是技术路线变了。我2015年做半导体晶圆检测时,还非CCD不可,因为那时候CMOS的噪声实在没法看。但到了2020年之后,CMOS的全局快门和背照式技术成熟了,情况就完全反过来了。

对比维度 CCD CMOS
读出方式 电荷逐行转移,统一输出 每个像素独立放大、ADC转换
噪声水平 低(读出噪声约2-3e⁻) 较高(读出噪声约3-8e⁻,但背照式已改善)
全局快门 天生支持(电荷同时转移) 需额外设计(卷帘快门是原生)
帧率 受限(电荷转移慢) 高(像素级并行读出)
功耗 高(多路供电、制冷) 低(单电源、待机功耗可忽略)
动态范围 宽(70-80dB典型) 中等(60-70dB,多帧HDR可扩展)
成本 高(工艺复杂、良率低) 低(标准CMOS工艺、集成度高)

我的选型原则:

  • 低速高精度场景(如天文、荧光显微)→ 选CCD,噪声低、动态宽。
  • 高速产线场景(如PCB AOI、食品分拣)→ 选CMOS全局快门,帧率够、不拖影。
  • 嵌入式/低功耗场景(如无人机、手持设备)→ 只能选CMOS,CCD功耗扛不住。

避坑指南:我曾经在一条锂电池极片检测线上用了卷帘快门CMOS,结果极片高速运动时图像扭曲得像面条。后来换成全局快门CMOS,问题立刻解决。记住:运动物体检测,全局快门是刚需。

4.2 像素尺寸与分辨率

像素尺寸和分辨率,很多人以为越大越好。其实不是。我见过有人用2000万像素的相机拍一个5mm的零件,结果因为像素尺寸太小,信噪比差得一塌糊涂。

核心公式就一个:

视场(FOV) = 像素尺寸 × 分辨率 / 光学放大倍率

举个例子:你要检测一个10mm×10mm的零件,要求精度0.01mm。那么:

  • 如果像素尺寸2.2μm(常见小像素CMOS),需要分辨率 = 10mm / 0.01mm = 1000像素,但实际要2-3倍过采样,所以至少3000×3000。
  • 如果像素尺寸5.5μm(大像素CCD),同样视场下分辨率只需1200×1200,但传感器物理尺寸更大,镜头适配更麻烦。
像素尺寸 典型应用 优势 劣势
1.4 - 2.2 μm 手机、消费级相机 高分辨率、小体积 信噪比低、满阱容量小
3.45 - 5.5 μm 工业机器视觉 平衡分辨率与灵敏度 传感器尺寸中等
6.5 - 10 μm 科学级、低照度 高信噪比、大动态范围 分辨率受限、成本高

注意:像素尺寸越小,衍射极限越容易达到。当像素尺寸接近1μm时,即使镜头再好,光学分辨率也跟不上。我做过一个实验:用0.5μm像素的传感器配顶级镜头,结果MTF还不如3.45μm像素配普通镜头。别盲目追小像素。

4.3 帧率与曝光时间权衡

帧率和曝光时间,是一对天生的冤家。你想想看:

  • 帧率高了,每帧的曝光时间就短。
  • 曝光时间短了,进光量就少。
  • 进光量少了,要么增益拉高(噪声爆炸),要么图像太暗。

我习惯用一个简单公式来估算:

最大帧率(FPS) ≤ 1 / (曝光时间 + 读出时间 + 传输时间)

举个例子:曝光时间5ms,读出时间3ms,传输时间2ms,那么最大帧率就是1/(0.005+0.003+0.002) = 100FPS。但实际中,我通常会留20%余量,只跑到80FPS。

实战中的权衡策略:

  1. 先定曝光时间:根据运动速度算。比如物体移动速度100mm/s,要求运动模糊不超过0.5像素,像素尺寸5μm,那么曝光时间 ≤ 0.5×5μm / 100mm/s = 25μs。
  2. 再算帧率:根据产线节拍。比如每分钟检测120个产品,每个产品拍2张,帧率至少4FPS。
  3. 最后调增益:如果曝光时间太短导致图像暗,先加光源,再加增益。增益每增加6dB,噪声翻倍。

我的经验:曾经有一个项目,客户要求200FPS检测微小划痕。我算了一下,曝光时间只能给1ms。结果图像暗得没法看,增益拉到极限后噪声比信号还大。最后解决方案是:换大像素传感器(6.5μm),配合高功率同轴光源,曝光时间放宽到3ms,帧率降到120FPS,但图像质量完全满足检测要求。有时候,别死磕帧率。

4.4 知识结构总览

下面这张图,把传感器选型的核心逻辑串起来了。我每次做方案评审,都会对着这张图过一遍。

传感器选型决策流程 应用需求输入 运动速度 → 曝光时间 精度要求 → 像素尺寸 节拍要求 → 帧率 CCD vs CMOS 分辨率计算 帧率验证 传感器选型确认 说明: 三个核心约束(曝光时间、像素尺寸、帧率)相互制约。调整任何一个,都需要重新评估其他两个。 实际项目中,往往需要2-3轮迭代才能找到最优解。

4.5 综合选型案例

最后,我分享一个真实的选型案例,帮你把前面所有知识点串起来。

项目背景:某电子厂SMT贴片后AOI检测,检测速度要求每分钟60片PCB,每片PCB拍4张图(不同角度),检测精度0.02mm。

计算过程:

  1. 帧率需求:60片/分钟 × 4张/片 = 240张/分钟 = 4FPS。看起来不高,但实际产线有加速段,我按8FPS设计。
  2. 曝光时间:PCB在相机视野内移动速度约50mm/s,要求运动模糊≤0.3像素。像素尺寸选5μm,曝光时间 ≤ 0.3×5μm / 50mm/s = 30μs。这个值很紧张,我决定用频闪LED,脉冲宽度20μs,配合全局快门CMOS。
  3. 分辨率:检测精度0.02mm,按3倍过采样,每个像素对应0.0067mm。视场30mm×30mm,需要分辨率 = 30mm / 0.0067mm ≈ 4500像素。选5MP相机(2592×1944)不够,最后用12MP(4096×3072)才满足。
  4. 传感器类型:全局快门CMOS,像素尺寸5.5μm,帧率30FPS(远高于8FPS需求,留足余量)。

最终选型:12MP全局快门CMOS相机,5.5μm像素,配25mm工业镜头,频闪LED光源。实际运行效果:检测速度达标,误报率低于0.5%。

最后说一句:传感器选型没有标准答案,只有最合适的方案。我每次做选型,都会把上面那张决策流程图打印出来,贴在工位上。每过一道约束,就打个勾。全部打勾了,方案基本就稳了。