4. 相机选型与成像原理:工业相机分类、分辨率与帧率选择、镜头焦距计算、光源类型与打光方案
大家好,我是老张。今天咱们聊聊Delta机器人视觉系统里最基础、也最容易被忽视的一环——相机选型。
说实话,我见过太多项目,算法调得再好,结果相机选错了,整个系统直接废掉。你想想看,眼睛都看不清,手再灵活有什么用?所以这一章,咱们把相机、镜头、光源这些“眼睛”的零件掰开揉碎了讲清楚。
4.1 工业相机分类:CCD vs CMOS
先解决一个老生常谈的问题:CCD和CMOS,到底选哪个?
我入行那会儿,CCD还是绝对的王者。CMOS?那玩意儿噪点大、灵敏度低,基本没人用。但时代变了。现在的CMOS技术已经非常成熟,甚至在某些方面反超了CCD。
简单说下区别:
- CCD(电荷耦合器件):每个像素的电荷逐行转移到输出放大器。结构复杂,功耗高,但噪声低,动态范围大。
- CMOS(互补金属氧化物半导体):每个像素自带放大器,直接读出电压信号。集成度高,功耗低,速度快。
我的建议:
- 如果做高精度静态测量(比如PCB检测),CCD依然有优势,特别是低噪声方面。
- 如果做高速动态抓取(比如Delta机器人),选CMOS。帧率更高,而且现在的全局快门CMOS已经能完美解决果冻效应。
我记得有个项目,客户非要指定用CCD,结果因为帧率不够,机器人抓取时总是错过目标位置。后来换成高速CMOS,问题直接解决。嗯,有时候经验主义要不得。
4.2 分辨率与帧率选择
这两个参数是绑定的,不能单独看。
分辨率决定了你能看清多小的东西。帧率决定了你能多快拍下一张图。
怎么选?我一般按这个逻辑来:
- 先定分辨率:根据你的视野(FOV)和最小检测特征来算。比如视野是100mm×100mm,要检测0.1mm的缺陷,那至少需要1000×1000像素。保险起见,我通常会留2-3倍余量。
- 再定帧率:根据传送带速度或机器人节拍来算。比如传送带速度是500mm/s,你需要在10mm内完成拍照,那帧率至少50fps。
避坑指南:我曾经在一个项目中选了500万像素、30fps的相机,觉得够用了。结果发现数据传输带宽不够,实际帧率只有15fps。后来加了图像采集卡才解决。所以选型时一定要算带宽:分辨率×帧率×位深。
给大家一个参考表:
| 应用场景 | 推荐分辨率 | 推荐帧率 |
|---|---|---|
| 大视野定位(>200mm) | 500万-1200万 | 15-30fps |
| 中等精度抓取(50-200mm) | 200万-500万 | 30-60fps |
| 高速小物体(<50mm) | 100万-200万 | 60-200fps |
4.3 镜头焦距计算
镜头选错了,相机再好也白搭。焦距决定了你的视野大小和工作距离。
公式很简单:
焦距 f = (工作距离 × 传感器尺寸) / 视野
举个例子:传感器是1/2英寸(宽6.4mm),工作距离300mm,视野需要100mm宽。那么:
f = (300 × 6.4) / 100 = 19.2mm
所以选一个16mm或25mm的镜头,再通过调节工作距离微调。
注意:实际选型时,镜头焦距不是连续的,一般是6mm、8mm、12mm、16mm、25mm、35mm、50mm这些标准值。选最接近且略小的那个,然后通过增加工作距离来补偿。
我个人习惯是,先确定工作距离(考虑机器人安装空间),再反推焦距。这样更实用。
4.4 光源类型与打光方案
光源是视觉系统里最容易被低估的部分。我见过太多人花几万块买相机,却用几十块的LED灯,结果图像质量一塌糊涂。
常见的光源类型:
- 环形光源:装在镜头周围,适合检测反光表面、字符识别。
- 条形光源:从侧面打光,适合检测边缘、划痕。
- 背光源:从背面打光,适合检测轮廓、尺寸测量。
- 同轴光源:光线与镜头同轴,适合高反光物体(如镜面、芯片)。
- 穹顶光源:漫反射,适合球形或曲面物体。
打光方案说白了就三个原则:
- 增强目标特征:让要检测的部分亮,背景暗。
- 抑制干扰:消除反光、阴影、环境光。
- 保持稳定:光源亮度不能随时间变化。
我的经验:做Delta机器人抓取时,最常用的是环形光源+漫射板。因为被抓物体通常是金属或塑料,容易反光。加一层漫射板,光线均匀了,图像处理就简单多了。
我曾经在一个项目中,怎么调算法都抓不准。折腾了两天,最后发现是光源角度不对,导致物体边缘有阴影。调整了一下光源位置,准确率直接从80%升到99%。所以说,硬件基础打好了,算法才能发挥威力。
4.5 知识体系总览
下面这张图,是我自己总结的相机选型核心逻辑。你照着这个流程走,基本不会出大错。
嗯,这一章的内容就这些。说白了,相机选型就是个匹配过程——把你的需求翻译成硬件参数。别贪大求全,够用就好。记住,系统里最贵的那个零件,不一定是最合适的。
公众号:蓝海资料掘金营,微信deep3321