1. 工业视觉概述
大家好,欢迎来到《工业视觉实战》的第一章。
工业视觉,说白了就是给机器装上「眼睛」和「大脑」。它用相机代替人眼,用算法代替人脑,在生产线上去做检测、定位、测量和识别。我入行那会儿,这玩意儿还叫「机器视觉」,现在叫「工业视觉」,名字变了,但核心没变——用图像数据驱动自动化决策。
你可能会问:这和普通的计算机视觉有什么区别?嗯,区别大了。工业视觉更强调实时性、稳定性和可重复性。你想想看,一条产线每分钟跑几百个产品,漏检一个就是批量事故。所以工业视觉的算法,往往比学术界的模型更「保守」,也更「皮实」。
1.1 发展历程:从黑白到彩色,从2D到3D
工业视觉的发展,我把它分成三个阶段。每个阶段我都踩过坑,也见证了技术的跃迁。
| 阶段 | 时间 | 核心特征 | 我的经历 |
|---|---|---|---|
| 萌芽期 | 1970s - 1990s | 黑白相机 + 简单二值化 + 模板匹配 | 我最早接触的是 Cognex 的 VC 系统,只能做有无检测 |
| 成长期 | 2000s - 2015 | 彩色相机 + 边缘检测 + 亚像素测量 | 那时候 Halcon 开始流行,我拿它做过手机屏幕的划痕检测 |
| 爆发期 | 2015 - 至今 | 深度学习 + 3D视觉 + 高速线阵 | 现在用 YOLO 做缺陷检测,速度比传统算法快一个数量级 |
我记得2016年第一次在产线上部署深度学习模型,老板问我:「这玩意儿靠谱吗?」我说:「试试看。」结果一跑就是三年没出过批量漏检。从那以后,我对深度学习的工业落地就特别有信心。
1.2 典型应用场景:四大金刚
工业视觉的应用场景,我归纳为四大类:缺陷检测、定位、测量、识别。这四类几乎覆盖了90%的工业视觉项目。下面我一个个讲,每个都带一个我亲身经历的真实案例。
1.2.1 缺陷检测
这是工业视觉最刚需的场景。产品表面有没有划痕、凹坑、脏污、气泡、裂纹……这些肉眼看得累死,机器却可以24小时不眨眼。
- 典型对象: 手机玻璃、PCB板、锂电池极片、汽车漆面
- 常用算法: 差影法、频域滤波、深度学习分类/分割
- 难点: 缺陷种类多、样本不均衡、光照变化大
1.2.2 定位
定位就是告诉机器人:「那个零件在哪儿?角度多少?」。没有定位,机械臂就是瞎子。
- 典型对象: 芯片引脚、螺丝孔、工件边缘
- 常用算法: 模板匹配、特征点匹配、霍夫变换
- 精度要求: 通常亚像素级(0.1像素以内)
我做过一个项目,给汽车变速箱的壳体定位。壳体表面有油污,反光严重。一开始用 NCC 模板匹配,老是飘。后来我改用边缘点集的 ICP 配准,稳如老狗。嗯,这里要注意:定位算法的鲁棒性,往往比精度更重要。你精度再高,偶尔跳一次,产线就得停。
1.2.3 测量
测量是工业视觉的「硬核」应用。用图像去量尺寸,精度要求常常是微米级。
- 典型对象: 轴承直径、螺丝长度、PCB焊盘间距
- 常用算法: 亚像素边缘提取、最小二乘拟合、标定板校正
- 关键: 相机标定 + 畸变校正,缺一不可
1.2.4 识别
识别就是「读码、读字符、读颜色」。物流、食品、医药行业用得最多。
- 典型对象: 二维码、条形码、生产日期喷码、颜色分类
- 常用算法: OCR、条码解码、颜色直方图
- 挑战: 字符残缺、背景复杂、光照不均
我记得有一次做药盒的批号识别,喷码印在透明薄膜上,反光严重。传统 OCR 死活读不出来。后来我换了个思路——先用偏振片消除反光,再用简单的模板匹配,反而搞定了。有时候,光学方案比算法方案更管用。
1.3 知识体系总览
下面这张图,是我自己整理的工业视觉知识体系。你可以把它当作整个课程的地图。后面29章,都会围绕这张图展开。
1.4 一个完整的工业视觉项目流程
最后,我给大家梳理一下一个典型工业视觉项目的完整流程。这个流程我用了十年,几乎没变过。
- 需求分析: 检测什么?精度多少?节拍多少?
- 光学方案: 选相机、镜头、光源。这一步决定了项目成败的80%。
- 图像采集: 搭建实验平台,拍样本图。
- 算法开发: 预处理 → 特征提取 → 分类/定位/测量。
- 系统集成: 把算法封装成SDK,对接PLC或机器人。
- 现场调试: 调参、优化、跑稳定性测试。
- 验收交付: 跑通产线,交付文档。