1. 工业视觉概述:定义、发展历程与典型应用场景

大家好,欢迎来到《工业视觉实战》的第一章。

工业视觉,说白了就是给机器装上「眼睛」和「大脑」。它用相机代替人眼,用算法代替人脑,在生产线上去做检测、定位、测量和识别。我入行那会儿,这玩意儿还叫「机器视觉」,现在叫「工业视觉」,名字变了,但核心没变——用图像数据驱动自动化决策。

你可能会问:这和普通的计算机视觉有什么区别?嗯,区别大了。工业视觉更强调实时性、稳定性和可重复性。你想想看,一条产线每分钟跑几百个产品,漏检一个就是批量事故。所以工业视觉的算法,往往比学术界的模型更「保守」,也更「皮实」。

核心定义: 工业视觉 = 图像采集 + 图像处理 + 特征提取 + 决策输出。它不是一个单一技术,而是一套系统工程。

1.1 发展历程:从黑白到彩色,从2D到3D

工业视觉的发展,我把它分成三个阶段。每个阶段我都踩过坑,也见证了技术的跃迁。

阶段 时间 核心特征 我的经历
萌芽期 1970s - 1990s 黑白相机 + 简单二值化 + 模板匹配 我最早接触的是 Cognex 的 VC 系统,只能做有无检测
成长期 2000s - 2015 彩色相机 + 边缘检测 + 亚像素测量 那时候 Halcon 开始流行,我拿它做过手机屏幕的划痕检测
爆发期 2015 - 至今 深度学习 + 3D视觉 + 高速线阵 现在用 YOLO 做缺陷检测,速度比传统算法快一个数量级

我记得2016年第一次在产线上部署深度学习模型,老板问我:「这玩意儿靠谱吗?」我说:「试试看。」结果一跑就是三年没出过批量漏检。从那以后,我对深度学习的工业落地就特别有信心。

1.2 典型应用场景:四大金刚

工业视觉的应用场景,我归纳为四大类:缺陷检测、定位、测量、识别。这四类几乎覆盖了90%的工业视觉项目。下面我一个个讲,每个都带一个我亲身经历的真实案例。

1.2.1 缺陷检测

这是工业视觉最刚需的场景。产品表面有没有划痕、凹坑、脏污、气泡、裂纹……这些肉眼看得累死,机器却可以24小时不眨眼。

  • 典型对象: 手机玻璃、PCB板、锂电池极片、汽车漆面
  • 常用算法: 差影法、频域滤波、深度学习分类/分割
  • 难点: 缺陷种类多、样本不均衡、光照变化大
避坑指南: 我曾经在一个锂电池极片项目中,用传统差影法做了三个月,精度卡在92%上不去。后来换成基于 U-Net 的分割模型,直接干到99.5%。但要注意——深度学习不是万能的,如果缺陷和背景对比度极低,先考虑打光方案,别急着上模型。

1.2.2 定位

定位就是告诉机器人:「那个零件在哪儿?角度多少?」。没有定位,机械臂就是瞎子。

  • 典型对象: 芯片引脚、螺丝孔、工件边缘
  • 常用算法: 模板匹配、特征点匹配、霍夫变换
  • 精度要求: 通常亚像素级(0.1像素以内)

我做过一个项目,给汽车变速箱的壳体定位。壳体表面有油污,反光严重。一开始用 NCC 模板匹配,老是飘。后来我改用边缘点集的 ICP 配准,稳如老狗。嗯,这里要注意:定位算法的鲁棒性,往往比精度更重要。你精度再高,偶尔跳一次,产线就得停。

1.2.3 测量

测量是工业视觉的「硬核」应用。用图像去量尺寸,精度要求常常是微米级。

  • 典型对象: 轴承直径、螺丝长度、PCB焊盘间距
  • 常用算法: 亚像素边缘提取、最小二乘拟合、标定板校正
  • 关键: 相机标定 + 畸变校正,缺一不可
重要提醒: 测量项目最容易翻车的地方不是算法,而是标定。我曾经在一个项目中,相机标定做了5遍,结果还是差了0.02mm。最后发现是标定板打印精度不够。记住:标定板的精度,至少要比测量精度高一个数量级。

1.2.4 识别

识别就是「读码、读字符、读颜色」。物流、食品、医药行业用得最多。

  • 典型对象: 二维码、条形码、生产日期喷码、颜色分类
  • 常用算法: OCR、条码解码、颜色直方图
  • 挑战: 字符残缺、背景复杂、光照不均

我记得有一次做药盒的批号识别,喷码印在透明薄膜上,反光严重。传统 OCR 死活读不出来。后来我换了个思路——先用偏振片消除反光,再用简单的模板匹配,反而搞定了。有时候,光学方案比算法方案更管用。

1.3 知识体系总览

下面这张图,是我自己整理的工业视觉知识体系。你可以把它当作整个课程的地图。后面29章,都会围绕这张图展开。

工业视觉知识体系总览 工业视觉核心 图像采集 图像预处理 特征提取 决策输出 缺陷检测 定位 测量 识别 相机选型 滤波增强 边缘检测 标定校正 深度学习 基础支撑:光学设计 | 光源控制 | 机械结构 | 通信协议 本课程覆盖:图像采集 → 预处理 → 特征提取 → 四大应用场景 共30章,从基础到实战,带你完整走通工业视觉项目

1.4 一个完整的工业视觉项目流程

最后,我给大家梳理一下一个典型工业视觉项目的完整流程。这个流程我用了十年,几乎没变过。

  1. 需求分析: 检测什么?精度多少?节拍多少?
  2. 光学方案: 选相机、镜头、光源。这一步决定了项目成败的80%。
  3. 图像采集: 搭建实验平台,拍样本图。
  4. 算法开发: 预处理 → 特征提取 → 分类/定位/测量。
  5. 系统集成: 把算法封装成SDK,对接PLC或机器人。
  6. 现场调试: 调参、优化、跑稳定性测试。
  7. 验收交付: 跑通产线,交付文档。
我的经验: 很多新手一上来就写算法,结果发现拍出来的图根本不能用。我建议你花至少30%的时间在光学方案上。光源打好了,算法难度直接降一半。