1. 视觉系统概述:工业视觉系统组成、光源与镜头选型、相机与采集卡选型、视觉系统搭建流程
大家好,我是老张。在工业视觉这行摸爬滚打了十几年,从最早的模拟相机到现在的智能相机,从黑白图像到高光谱,踩过的坑比走过的路还多。今天咱们聊聊视觉系统的基础——这部分看似简单,但恰恰是决定项目成败的关键。
很多人一上来就急着调算法、跑模型,结果发现图像质量不行,光源打不好,镜头选错了,最后折腾半天还得回头改硬件。我个人的习惯是:硬件选型花的时间,至少占整个项目周期的30%。别嫌多,这钱花得值。
1.1 工业视觉系统的组成
一个完整的工业视觉系统,说白了就是「眼睛+大脑+手脚」的组合。我习惯把它拆成五个核心模块:
- 成像模块:光源、镜头、相机——负责把物理世界变成数字图像
- 采集模块:采集卡、线缆、触发传感器——负责把图像数据传到计算机
- 处理模块:工控机、视觉控制器、GPU——负责跑算法、做判断
- 执行模块:PLC、机械臂、剔除装置——负责根据结果干活
- 交互模块:显示器、HMI、数据库——让人看得见、管得着
你想想看,任何一个模块出问题,整个系统就废了。我在一条汽车零部件产线上遇到过,相机和光源都选得挺好,结果采集卡带宽不够,帧率上不去,产线一跑快就丢图。嗯,这就是典型的「木桶效应」。
核心原则:视觉系统的性能上限,由最弱的那个环节决定。别只盯着算法精度,硬件选型才是地基。
1.2 光源与镜头选型
光源和镜头,是视觉系统的「眼睛」。眼睛不好使,后面算法再牛也白搭。我见过太多项目,算法工程师花三个月调模型,最后发现是光源没打好,换个光源精度直接提升20%。
光源选型要点
光源的核心任务就一个:让缺陷和背景产生最大的对比度。说白了,就是让好的地方亮,坏的地方暗,或者反过来。
| 光源类型 | 适用场景 | 我的经验 |
|---|---|---|
| 环形光源 | PCB焊点、字符检测 | 适合表面反光不强的物体,打光均匀 |
| 条形光源 | 大尺寸平面、玻璃划痕 | 角度可调,适合突出纹理和凹凸 |
| 同轴光源 | 高反光表面、镜面物体 | 消除反光干扰,但亮度损失大 |
| 背光源 | 轮廓测量、透明物体 | 边缘最清晰,适合尺寸测量 |
| 穹顶光源 | 球形物体、曲面检测 | 漫反射效果,无阴影死角 |
我的小技巧:选光源颜色时,记住一个原则——互补色增强对比。比如检测红色物体上的划痕,用蓝色光源;检测绿色PCB上的焊点,用红色光源。这招在大多数场景下都管用。
镜头选型核心参数
镜头选型,我一般看四个参数:焦距、光圈、畸变、分辨率。别被那些花里胡哨的参数吓到,抓住核心就行。
- 焦距:决定视场大小。公式很简单——
焦距 = 工作距离 × 传感器尺寸 / 视场宽度。我习惯先定工作距离,再算焦距。 - 光圈:影响进光量和景深。光圈越大(F值越小),进光多但景深浅。产线上一般用F8-F11,兼顾亮度和景深。
- 畸变:广角镜头畸变大,长焦畸变小。做尺寸测量时,畸变必须控制在0.1%以内。
- 分辨率:镜头的分辨率要匹配相机的像素尺寸。别用低分辨率镜头配高像素相机,那是浪费钱。
避坑提醒:我曾经在一个锂电池极片检测项目上,选了高分辨率相机但配了个普通C口镜头。结果图像边缘模糊,算法死活检测不出微小的毛刺。后来换了远心镜头,问题立刻解决。记住:镜头的分辨率必须高于相机的分辨率,否则相机再贵也白搭。
1.3 相机与采集卡选型
相机是视觉系统的「视网膜」,采集卡是「视神经」。两者必须匹配,否则数据传不过去。
相机选型
选相机,我主要看三个维度:传感器类型、分辨率、帧率。
| 参数 | 选项 | 我的建议 |
|---|---|---|
| 传感器类型 | CCD vs CMOS | 高精度静态检测用CCD,高速动态检测用CMOS。现在CMOS进步很快,大部分场景够用了 |
| 分辨率 | 30万~2000万像素 | 根据检测精度算:分辨率 = 视场宽度 / 最小缺陷尺寸 × 3(3倍采样) |
| 帧率 | 30fps~1000fps | 产线速度决定:帧率 = 产线速度 / 检测视野长度 × 1.5(留余量) |
| 接口 | GigE / USB3 / Camera Link / CoaXPress | 短距离低速用GigE,高速大带宽用CoaXPress |
采集卡选型
采集卡这东西,很多人容易忽略。我个人的经验是:采集卡的带宽要留至少30%的余量。
举个例子:你用的是500万像素相机,帧率60fps,8位灰度图。数据量是:500万 × 60 × 8bit = 2400Mbps ≈ 2.4Gbps。如果你用GigE接口(理论带宽1Gbps),肯定不够。这时候要么降帧率,要么换Camera Link或CoaXPress。
带宽计算公式:所需带宽 = 分辨率(像素) × 帧率 × 位深 / 8 / 1024 / 1024 (MB/s)。选采集卡时,带宽必须大于这个值,而且最好留30%余量应对突发数据。
1.4 视觉系统搭建流程
搭建一套视觉系统,我有一套固定的流程。这套流程帮我避开了至少80%的坑。
- 需求分析:搞清楚检测什么缺陷、精度要求、产线速度、环境条件。这一步别省,我见过有人连检测对象都没搞清楚就买设备。
- 打光实验:用不同的光源、角度、颜色做对比实验。我习惯拍一组「好品」和「坏品」的对比图,看哪个光源方案对比度最好。
- 相机镜头选型:根据打光结果和精度要求,计算分辨率、焦距、工作距离。出方案对比表。
- 采集方案确定:根据帧率和数据量,选接口和采集卡。别忘了考虑传输距离——GigE最长100米,USB3只有5米。
- 机械结构设计:设计相机支架、光源固定架、防震结构。产线上的振动是图像质量的隐形杀手。
- 软件集成调试:写采集程序、标定相机、调算法参数。这一步往往最耗时。
- 现场联调:接上PLC、跑产线、测节拍、调触发。我一般会连续跑24小时,看系统稳定性。
我的习惯:在打光实验阶段,我会把每种光源方案拍的照片都存下来,标注好参数。这些照片就是后续调试的「证据」,出了问题可以回溯。别偷懒,这一步能省你后面很多时间。