1. 视觉系统概述
大家好,我是老张。在机器视觉这行摸爬滚打了十几年,今天咱们来聊聊这个领域最基础、也最容易被忽视的话题——视觉系统概述。
很多人一上来就追着算法跑,觉得调参才是核心技术。但我跟你说,真正决定项目成败的,往往是那些最基础的东西。你想想看,如果连相机都没选对,后面的图像处理做得再好也是白搭。
1.1 机器视觉到底是什么?
机器视觉,说白了就是用机器代替人眼来做检测和判断。它通过图像采集设备获取目标物体的图像,然后交给计算机去分析、理解,最后输出结果。
我经常跟新人讲:机器视觉不是让机器“看见”,而是让机器“看懂”。看见只是第一步,看懂才是核心。
核心定义:机器视觉是使用光学装置和非接触式传感器,自动接收并处理真实物体的图像,以获得所需信息或控制机器动作的技术。
举个例子,你拿手机拍一张照片,这叫“成像”。但如果你让系统自动识别出照片里有没有划痕、尺寸是否合格,这就叫“机器视觉”。
1.2 典型应用场景
这些年我经手的项目,基本都逃不出下面这四大类。咱们一个一个说。
1.2.1 缺陷检测
这是机器视觉最“刚需”的应用。产品表面有没有划痕、有没有脏污、有没有气泡……人眼盯久了会疲劳,机器不会。
我记得有个项目是做手机玻璃盖板的检测。客户要求检测0.1mm以上的划痕,还要区分是“可修复”还是“不可修复”。人眼检测,一个人一天最多看800片,还容易漏检。换成视觉系统,一台机一天能看8000片,漏检率还不到0.5%。
- 表面缺陷:划痕、凹坑、裂纹、气泡
- 内部缺陷:杂质、空洞、分层(需要X光或红外)
- 颜色缺陷:色差、色斑、氧化
1.2.2 定位
定位是很多自动化设备的基础。机械手要抓取工件,得先知道工件在哪儿、角度是多少。
我做过一个PCB板的定位项目。电路板在传送带上位置会有偏差,角度也会偏。视觉系统先拍一张,算出偏移量和旋转角度,然后告诉机械手“往左偏2.3mm,顺时针转1.5度”。精度能做到0.05mm以内。
我的经验:定位项目最怕的是“模板匹配失效”。工件表面如果有反光或者油污,特征点就找不准。我一般会建议客户加一个漫射光源,或者用特征更稳定的Mark点。
1.2.3 测量
测量和检测不一样。检测是“有没有问题”,测量是“有多大、多长、多宽”。
汽车零部件行业对尺寸要求特别严。一个螺栓的螺纹外径,公差可能只有±0.02mm。用卡尺量?效率太低。用视觉?一次拍一张图,能同时测十几个尺寸,速度是人工的10倍以上。
| 测量类型 | 典型精度 | 常用场景 |
|---|---|---|
| 长度/宽度 | ±0.01mm ~ ±0.1mm | 电子元器件、五金件 |
| 直径/圆度 | ±0.005mm ~ ±0.05mm | 轴承、轴类零件 |
| 角度 | ±0.1° ~ ±1° | 装配对位、焊接角度 |
| 间距/间隙 | ±0.02mm ~ ±0.2mm | PCB焊盘间距、装配间隙 |
1.2.4 识别
识别就是“读码、读字符、读颜色”。物流行业的分拣、食品行业的日期喷码、药品行业的追溯码,都靠它。
有一次做药盒的二维码识别项目。药盒在传送带上跑得飞快,每分钟300个。相机要抓拍、解码、比对数据库,然后告诉分拣机构“这个合格,那个过期了”。整个过程不到200毫秒。
- 一维码/二维码:Code128、QR码、DataMatrix
- OCR字符识别:生产日期、批号、序列号
- 颜色/形状识别:物料分拣、产品分类
1.3 系统组成
一个完整的机器视觉系统,就像一个人的“眼睛+大脑+手脚”。咱们拆开来看。
1.3.1 光源
光源是视觉系统的“照明灯”,但绝不是随便找个灯就行。光源选得好,图像处理省一半的功夫。
我见过太多项目,算法调了两个月搞不定,最后发现是光源没选对。换个光源,问题迎刃而解。
避坑指南:我曾经在一个金属表面检测项目上栽过跟头。用了环形光,结果反光太强,划痕根本看不出来。后来换成同轴光,效果立竿见影。记住:光源的颜色、角度、亮度,每一个参数都值得你花时间去试。
| 光源类型 | 特点 | 适用场景 |
|---|---|---|
| 环形光源 | 均匀、无阴影 | PCB检测、字符识别 |
| 条形光源 | 方向性强 | 划痕检测、边缘检测 |
| 同轴光源 | 消除反光 | 镜面物体、高反光表面 |
| 背光源 | 突出轮廓 | 尺寸测量、外形检测 |
| 点光源 | 高亮度、小光斑 | Mark点定位、小视野检测 |
1.3.2 镜头
镜头是视觉系统的“眼睛”。它决定了你能看到多大的视野、多清晰的细节。
选镜头主要看几个参数:焦距、光圈、景深、分辨率。焦距越短,视野越大,但物体变形也越明显。光圈越大,进光量越多,但景深会变浅。
我个人的习惯是:先确定工作距离和视野大小,再反推焦距。比如你要看一个50mm×50mm的工件,工作距离是200mm,那焦距大概在16mm左右。
小技巧:如果检测对象有高度差(比如螺丝的头部和杆部),一定要选大景深的镜头。否则,对焦在头部,杆部就模糊了。我曾经用过一个F1.4的镜头,景深只有2mm,后来换成F8的,景深到了10mm,问题解决。
1.3.3 相机
相机是视觉系统的“视网膜”。它把光信号转成电信号,再变成数字图像。
相机分两大类:CCD和CMOS。CCD成像质量好、噪声低,但速度慢、成本高。CMOS速度快、成本低,但噪声大一些。现在工业相机大部分都是CMOS了,技术进步很快。
选相机要看这几个指标:
- 分辨率:200万、500万、1200万……越高看得越细,但数据量也越大
- 帧率:30fps、60fps、100fps……决定了检测速度
- 像元尺寸:2.2μm、3.45μm、5.5μm……越小分辨率越高,但感光能力越差
- 接口:USB3.0、GigE、Camera Link、CoaXPress
1.3.4 采集卡
采集卡是连接相机和工控机的“桥梁”。有些相机(比如USB3.0的)可以直接连电脑,不需要采集卡。但如果是高速相机或者多相机系统,采集卡就必不可少。
采集卡的作用:把相机的数据稳定地传输到工控机内存里,不丢帧、不延迟。
我做过一个8相机同时采集的项目。如果用USB3.0直连,带宽根本不够,经常丢帧。后来换了4张Camera Link采集卡,每张卡带2个相机,问题解决。
1.3.5 工控机
工控机是视觉系统的“大脑”。所有的图像处理、算法运算、结果输出,都在这里完成。
工控机不是普通的电脑。它要防尘、防震、散热好、能7×24小时运行。CPU要够快,内存要够大,硬盘最好是SSD。
我一般建议:CPU选i7以上,内存至少16GB,硬盘256GB SSD起步。如果要做深度学习,还得加一块GPU,比如NVIDIA的RTX系列。
系统组成总结:光源负责“照亮”,镜头负责“成像”,相机负责“采集”,采集卡负责“传输”,工控机负责“处理”。五者缺一不可,任何一个环节出问题,整个系统都跑不起来。
1.4 知识体系结构图
下面这张图,把机器视觉系统的核心知识结构串起来了。你可以把它当作一个“地图”,后面每学一章,都能在这张图上找到位置。
嗯,这张图把咱们这一章的核心内容都串起来了。从定义到场景,再到系统组成,逻辑很清晰。后面每学完一章,你都可以回来看看这张图,看看新知识挂在哪根枝上。
好了,第一章就到这里。记住我一句话:基础不牢,地动山摇。后面的章节,咱们会一个一个拆解这些组件,把每个细节都讲透。