1. Sensor基础与选型:工业相机核心元件、CCD与CMOS区别、全局快门与卷帘快门、像素尺寸与灵敏度
做工业视觉这些年,我摸过的Sensor少说也有几十款。从早期的CCD到现在的CMOS,从几十万像素到上亿像素,选型这件事,说白了就是搞清楚你的应用到底要什么。
今天咱们先打好地基。Sensor是工业相机的“心脏”,它决定了图像的底子。底子不好,后面做再好的ISP算法也救不回来。
1.1 工业相机的核心元件
一个工业相机,拆开来看,核心就这几样:
- 图像传感器(Sensor):光电转换的核心,把光信号变成电信号
- ISP(图像信号处理器):处理原始RAW数据,做去噪、插值、色彩校正
- 接口芯片:把数据打包传出去,比如GigE、USB3.0、Camera Link
- 驱动电路:给Sensor提供时序、供电、偏压
这里面,Sensor决定了图像质量的上限。我见过不少项目,客户花大价钱买了高分辨率镜头,结果Sensor选了个低端货,最后图像噪点满天飞。嗯,这就是典型的“木桶效应”。
核心观点:Sensor选型决定了整个视觉系统的性能天花板。镜头、光源、算法都是在这个基础上做优化。
1.2 CCD与CMOS的区别
这个问题面试经常问,但真正搞懂的人不多。我简单说说。
| 对比项 | CCD | CMOS |
|---|---|---|
| 读出方式 | 逐行转移,统一读出 | 每个像素独立读出 |
| 噪声水平 | 低(统一放大) | 较高(各行放大器不一致) |
| 功耗 | 高(需要多路电压) | 低(单电压供电) |
| 帧率 | 较低(串行读出) | 高(并行读出) |
| 成本 | 高(工艺复杂) | 低(标准CMOS工艺) |
| 抗晕光 | 好(垂直溢流沟道) | 一般(像素间串扰) |
为什么现在工业相机主流都转向CMOS了?说白了,CMOS的集成度高、功耗低、帧率快。以前CCD在低噪声上有优势,但这些年CMOS的背照式(BSI)和堆叠式技术发展很快,噪声已经追平甚至超越了CCD。
我记得2015年做过一个项目,客户指定要CCD,说“CCD图像干净”。结果我拿了一颗当时最新的全局快门CMOS给他对比,他看了半天没分出区别。从那以后,除非有特殊需求(比如极低光照、高动态范围),我基本都推荐CMOS。
个人经验:如果你的应用需要高帧率(>60fps)或者低功耗(电池供电),直接选CMOS。如果追求极致的低噪声和宽动态范围,可以考虑高端的科学级CCD或sCMOS。
1.3 全局快门与卷帘快门
这个区别,做运动检测的人一定要搞清楚。
- 全局快门(Global Shutter):所有像素同时曝光,同时读出。适合拍摄高速运动物体。
- 卷帘快门(Rolling Shutter):逐行曝光,逐行读出。适合静态场景或低速运动。
为什么会这样?你想想看,卷帘快门是“扫描式”曝光。如果物体在运动,第一行和最后一行曝光的时间点不同,拍出来的物体会变形——这就是著名的“果冻效应”。
我曾经在一条产线上吃过这个亏。当时用了一颗卷帘快门的Sensor去拍高速移动的PCB板,结果每次拍出来板子上的元件位置都是歪的。后来换成全局快门,问题立刻解决。
避坑指南:千万不要用卷帘快门去拍高速运动物体(>1m/s),除非你愿意花大量时间做运动补偿算法。全局快门虽然贵一点,但省心。
不过全局快门也有缺点:它的填充因子(Fill Factor)比卷帘快门低,因为每个像素里要额外放一个存储单元。这意味着在相同像素尺寸下,全局快门的灵敏度会略低一些。
1.4 像素尺寸与灵敏度
像素尺寸,单位是微米(μm)。常见的工业Sensor像素尺寸有:
- 2.2μm:小像素,高分辨率,适合光照充足的场景
- 3.45μm:主流尺寸,平衡分辨率和灵敏度
- 5.86μm:大像素,高灵敏度,适合低光照
- 10μm以上:科学级,追求极致信噪比
这里有个关键概念:满阱容量(Full Well Capacity)。像素越大,能容纳的电子越多,动态范围就越大。说白了,大像素就像一个大水桶,能装更多“光电子”,信号更强,信噪比更高。
我个人的习惯是:如果应用场景光照充足(比如有强光源),我会优先选小像素、高分辨率。如果场景光照受限(比如户外、暗室),我会选大像素,哪怕分辨率低一点。
经验公式:灵敏度 ≈ 像素面积 × 量子效率(QE)。像素面积越大,QE越高,灵敏度越好。但要注意,QE超过70%后提升空间有限,这时候像素尺寸才是瓶颈。
还有一个容易忽略的点:暗电流(Dark Current)。温度每升高6-8°C,暗电流翻一倍。所以工业相机通常需要散热设计,尤其是长时间曝光应用。
1.5 知识结构图:Sensor选型决策流程
下面这张图是我自己总结的选型流程,帮你快速定位该选什么Sensor。
1.6 选型实战清单
最后,我整理了一份选型清单,每次做项目我都会过一遍:
- 确定应用场景:检测什么?运动速度?光照条件?
- 选择快门类型:高速运动→全局快门;静态→卷帘快门
- 确定像素尺寸:光照充足→小像素;光照受限→大像素
- 匹配分辨率:根据检测精度和视场角计算
- 检查接口兼容性:Sensor输出接口是否匹配ISP或FPGA
- 评估散热方案:长时间曝光或高温环境需要主动散热
- 打样验证:拿实际Sensor模组拍几张图看看效果
我的习惯:选型阶段多花一天,开发阶段少花一周。尤其是Sensor这种核心元件,换起来成本很高。我一般会准备2-3个备选方案,万一主方案翻车,还有退路。