2. 图像采集与相机选型
在机器视觉项目中,相机选型是决定系统精度上限的第一道关口。镜头再好、算法再强,如果相机本身的分辨率、帧率或接口带宽不匹配,后续所有环节都会受限。本节围绕面阵/线阵相机的差异、分辨率与帧率的计算逻辑、接口与靶面的匹配关系、快门方式的选择,以及一套可复用的选型计算流程展开。
一、面阵相机与线阵相机:先判断被测物是"块"还是"带"
面阵相机的传感器是二维像素阵列,一次曝光得到一幅完整二维图像,适合检测对象尺寸有限、可静止或可短时曝光的场景,例如零件外观检测、PCB 元件定位、二维码读取。线阵相机只有一行(或几行)像素,通过被测物与相机之间的相对运动逐行扫描,拼接成完整图像,适合连续运动的卷材、布匹、纸张、金属带材,以及需要极高横向分辨率的场合。
判断依据很直接:如果被测物是"一块一块"的,优先面阵;如果是"一卷一卷"或连续传送的,优先线阵。线阵相机的优势在于横向分辨率可以做得极高(例如 2K、4K、8K、16K 像素),且没有面阵相机在高速运动下的运动模糊问题;代价是需要精确的编码器同步和运动速度匹配,系统复杂度更高。
二、分辨率计算:从精度要求反推像素数
分辨率选型的核心是"精度要求 → 所需像素数"。工程上常用一个经验系数:检测精度通常取 3~5 个像素对应一个最小缺陷或最小特征。也就是说,如果要求检测 0.1 mm 的缺陷,那么每个像素对应的物理尺寸应约为 0.1/3 ≈ 0.033 mm 到 0.1/5 = 0.02 mm。
以面阵相机为例,假设视野(FOV)为 100 mm × 80 mm,要求检测 0.1 mm 的缺陷,取 4 像素/缺陷:
单像素物理尺寸 = 0.1 mm / 4 = 0.025 mm
横向所需像素 = 100 mm / 0.025 mm = 4000 px
纵向所需像素 = 80 mm / 0.025 mm = 3200 px
→ 选择 500 万像素(约 2592×1944)不够,应选 1200 万像素(约 4000×3000)或更高
线阵相机的计算类似,但只算横向:若幅宽 500 mm,要求 0.1 mm 精度、4 像素/缺陷,则单像素 0.025 mm,所需像素 = 500/0.025 = 20000 px,应选 16K 或 2×8K 线阵相机。纵向分辨率由运动速度和行频共同决定。
三、帧率与行频:匹配生产节拍
面阵相机的帧率必须满足:单件检测时间 ≤ 生产节拍。若节拍为 0.5 s/件,且需要 3 次曝光(多角度或多工位),则相机帧率至少 6 fps;若还要留出传输和处理时间,实际应选 15~30 fps 以上。
线阵相机的行频计算更关键。设运动速度 v = 200 mm/s,纵向精度要求 0.1 mm(即每行对应 0.1 mm),则所需行频:
行频 = v / 纵向单像素尺寸 = 200 mm/s / 0.1 mm = 2000 行/s = 2 kHz
若相机最高行频为 10 kHz,则余量充足;若只有 1 kHz,则无法满足,需要降低速度或提高纵向像素精度。注意:行频与曝光时间相互制约,曝光时间必须小于行周期,否则会出现拖影。
四、接口与带宽:别让传输成为瓶颈
常见接口有 USB3.0、GigE、Camera Link、CoaXPress 等。带宽估算公式:
带宽 = 分辨率 × 帧率 × 位深 / 8
例如 500 万像素(2592×1944)、30 fps、8 bit:
带宽 = 2592 × 1944 × 30 × 8 / 8 ≈ 151 MB/s
USB3.0 理论 5 Gbps(约 500 MB/s),实际可用约 350 MB/s,够用;GigE 仅 1 Gbps(约 125 MB/s),不够,需选 GigE Vision 或 10GigE。若为 1200 万像素、30 fps、10 bit,则带宽约 450 MB/s,USB3.0 已接近上限,建议选 CoaXPress 或 Camera Link。
五、靶面与镜头匹配:避免暗角
靶面尺寸必须与镜头像面尺寸匹配。常见靶面有 1/2.9"、1/1.8"、2/3"、1"、4/3" 等。若相机靶面为 1",镜头为 2/3",则画面四角会出现暗角或成像圈不足。选型时先确认相机靶面,再选支持该靶面的镜头。同时,靶面尺寸影响视场角:在相同焦距下,靶面越大,视场越大。
六、快门方式:全局快门与卷帘快门
全局快门(Global Shutter)所有像素同时曝光,适合运动物体拍摄,不会产生果冻效应;卷帘快门(Rolling Shutter)逐行曝光,成本低,但高速运动时会产生倾斜或变形。机器视觉中,只要被测物有相对运动,优先选全局快门。线阵相机本身是逐行扫描,但每行曝光是同步的,不属于卷帘问题。
七、典型选型计算示例
假设场景:检测传送带上 300 mm × 200 mm 的零件,缺陷最小 0.2 mm,节拍 0.8 s/件,运动速度 150 mm/s,要求 4 像素/缺陷。
1. 单像素尺寸 = 0.2 / 4 = 0.05 mm
2. 横向像素 = 300 / 0.05 = 6000 px
3. 纵向像素 = 200 / 0.05 = 4000 px
4. 总像素 ≈ 2400 万 → 选 2500 万像素面阵相机(约 5120×5120)
5. 帧率:0.8 s 内完成 1 次拍摄,留 3 倍余量 → 选 10 fps 以上
6. 带宽:5120×5120×10×8/8 ≈ 262 MB/s → USB3.0 或 CoaXPress
7. 靶面:选 1.1" 或 4/3",镜头匹配
8. 快门:全局快门
9. 若改用线阵:横向 6000 px → 8K 线阵;行频 = 150/0.05 = 3000 行/s = 3 kHz
这套流程可以固化为一张选型检查表,便于在项目中逐项核对。
| 项目 | 输入/要求 | 计算或判断 | 结论示例 |
|---|---|---|---|
| 被测物形态 | 块状/连续 | 块状选面阵,连续选线阵 | 面阵 |
| 最小缺陷 | 0.2 mm | 单像素 = 0.2/4 = 0.05 mm | 0.05 mm/px |
| 视野 FOV | 300×200 mm | 300/0.05=6000,200/0.05=4000 | ≥2400 万像素 |
| 节拍 | 0.8 s/件 | 帧率 ≥ 1/0.8×3 ≈ 4 fps | ≥10 fps |
| 带宽 | 5120×5120×10 bit×10 fps | ≈262 MB/s | USB3.0/CoaXPress |
| 靶面 | 1.1" | 镜头需支持 1.1" | 匹配 1.1" 镜头 |
| 快门 | 运动物体 | 全局快门 | 全局快门 |
实际项目中,还要考虑光源、镜头畸变、安装空间、成本等因素。但上述计算是选型的骨架:先由精度定分辨率,再由节拍定帧率/行频,再由数据量定接口,最后由靶面定镜头,由运动状态定快门。把这五步走通,相机选型就不会出现方向性错误。