第一章:视觉系统概述

大家好,我是老张。在机器视觉这行摸爬滚打了十几年,今天咱们聊聊视觉系统的基础。说实话,很多人一上来就追着算法跑,结果连相机怎么选都搞不清楚。嗯,这章咱们把地基打牢。

1.1 机器视觉的定义

机器视觉,说白了就是给机器装上「眼睛」和「大脑」。眼睛负责看,大脑负责想。我习惯这么跟新人讲:你拿手机拍张照片,这叫图像采集;但要让机器自己判断照片里有没有缺陷,这才叫机器视觉。

为什么需要机器视觉?因为人眼会累,会看花眼。我记得在一条产线上,工人盯了三个小时的零件,漏检率直接飙到5%。换成视觉系统,24小时不停机,漏检率能压到0.1%以下。这就是机器视觉的价值——稳定、可靠、不知疲倦。

核心定义:机器视觉是利用光学成像和非接触式传感器,自动获取目标图像,并通过计算机处理、分析,实现测量、检测、定位、识别等功能的综合技术。

1.2 工业视觉系统的典型组成

一套完整的工业视觉系统,通常由四个核心部件组成。我按重要性排个序:光源、镜头、相机、工控机。为什么光源排第一?你想想看,图像质量不好,后面算法再牛也白搭。

1.2.1 相机

相机是视觉系统的「视网膜」。选相机主要看两个参数:分辨率和帧率。分辨率决定你能看清多小的细节,帧率决定你一秒能拍多少张。

相机类型 典型分辨率 适用场景
面阵相机 500万~2000万像素 定位、测量、检测
线阵相机 2K~16K 连续运动物体检测
3D相机 深度图+灰度图 高度测量、体积检测

我遇到过最坑的事:有人用200万像素的相机去测0.01mm的精度,结果怎么调都达不到。后来换了500万像素的,一次搞定。所以选相机时,先算清楚你的视野和精度要求。

1.2.2 镜头

镜头是视觉系统的「晶状体」。它决定了图像清不清晰、有没有畸变。选镜头主要看焦距、光圈、畸变率。

  • 焦距:焦距越长,视野越小,看得越远。比如8mm镜头适合大视野,50mm镜头适合小视野高精度。
  • 光圈:光圈越大,进光量越多,但景深会变浅。我一般建议用F8~F11,画质最锐。
  • 畸变:广角镜头容易有桶形畸变,长焦镜头容易有枕形畸变。做测量时一定要选低畸变镜头。

避坑指南:我曾经在一条产线上用了普通CCTV镜头做精密测量,结果边缘误差0.3mm。后来换成远心镜头,误差直接降到0.01mm。记住:做测量,别省镜头的钱。

1.2.3 光源

光源是视觉系统的「照明」。好的光源能让缺陷无处遁形,差的光源能让好零件看起来全是问题。

常见的光源类型:

  • 环形光源:适合检测字符、划痕,能提供均匀的环形照明。
  • 背光源:适合测量外形尺寸,能产生高对比度的轮廓。
  • 同轴光源:适合检测反光表面,比如镜面、玻璃。
  • 条形光源:适合检测大面积平面,比如PCB板。

我个人的经验:光源的颜色也很关键。红色光对红色物体穿透力强,蓝色光对金属表面细节表现好。你想想看,如果检测红色塑料上的黑字,用红色光能把塑料照成白色,黑字就特别明显。

1.2.4 工控机

工控机是视觉系统的「大脑」。它负责运行算法、处理图像、输出结果。选工控机主要看CPU、内存、GPU。

  • CPU:建议i5以上,处理常规检测够用。
  • 内存:8GB起步,16GB更稳。图像处理很吃内存。
  • GPU:如果用深度学习,必须上独立显卡。我建议至少GTX 1060以上。

注意:工控机一定要选工业级的,别用普通电脑。产线上有振动、灰尘、高温,普通电脑撑不过三个月。我见过有人用家用电脑跑视觉系统,结果夏天产线40度,电脑直接蓝屏。

1.3 视觉系统的应用场景

视觉系统在工业上主要有四大应用:定位、测量、检测、识别。我按难度排个序:定位最简单,识别最难。

1.3.1 定位

定位就是告诉机器人「零件在哪儿」。比如抓取、装配、对位。常用的算法有模板匹配、特征点匹配。

我做过一个项目:机器人要从传送带上抓取手机壳。位置偏差不能超过0.5mm。用模板匹配,处理一张图只要20ms,精度0.3mm,完全满足要求。

1.3.2 测量

测量就是「量尺寸」。比如测螺丝直径、测PCB板厚度、测零件间距。测量对精度要求高,通常需要亚像素算法。

举个例子:测一个轴承的内径,要求精度0.01mm。用边缘检测+亚像素定位,可以做到0.005mm的重复精度。但要注意:测量前一定要做标定,不然像素和毫米的换算关系不准。

1.3.3 检测

检测就是「找缺陷」。比如划痕、脏污、缺料、变形。检测是视觉系统最头疼的应用,因为缺陷千奇百怪。

我习惯把检测分为两类:

  • 规则检测:缺陷有固定特征,比如尺寸超差、颜色不对。用传统算法就能搞定。
  • 不规则检测:缺陷没有固定模式,比如划痕、气泡。这时候得上深度学习。

实战经验:我曾经做手机屏幕检测,划痕长度从0.1mm到5mm不等。传统算法调了两个月,漏检率还是3%。后来换成深度学习,一周搞定,漏检率降到0.5%。所以,别排斥新技术。

1.3.4 识别

识别就是「读信息」。比如读二维码、读字符、读颜色。识别对光照和角度很敏感,需要做好预处理。

常用的识别技术:

  • OCR(光学字符识别):读生产日期、批次号。
  • 条码/二维码识别:读产品编码、追溯信息。
  • 颜色识别:判断零件颜色是否合格。

嗯,这里要注意:识别时一定要保证字符清晰、对比度高。我见过有人用背光拍字符,结果字符和背景混在一起,怎么都读不出来。后来换成同轴光,字符一下就清楚了。

1.4 知识体系框架

下面这张图,是我自己总结的视觉系统知识体系。你把它记在脑子里,后面学起来就顺了。

机器视觉系统知识体系 相机 镜头 光源 工控机 定位 测量 检测 识别 核心技术 图像采集与预处理 特征提取与匹配 深度学习与AI 关键参数 分辨率 帧率 精度 视野 硬件选型 + 算法适配 = 稳定可靠的视觉系统

这张图把视觉系统的核心要素都串起来了。硬件是骨架,算法是血肉,参数是标尺。你把这四个组成、四个应用、三个核心技术、四个关键参数记牢了,后面学什么都快。

我的建议:刚开始学视觉系统,别急着写代码。先花一周时间,把相机、镜头、光源的选型搞明白。我见过太多人,算法写得飞起,结果光源一换,全白干。基础不牢,地动山摇。


公众号:蓝海资料掘金营,微信deep3321