4、边缘识别技术:机器视觉、图像分类、目标检测、缺陷检测的基本概念与常用算法
在工业AI与PLC联动体系中,边缘识别是感知层的核心能力。它解决的是“产线如何看见并理解工件状态”的问题——从识别工件是否存在、判断其类别,到定位其在空间中的坐标,再到检测表面缺陷。本章将系统梳理机器视觉、图像分类、目标检测与缺陷检测四类技术的基本概念、典型算法及在PLC联动中的落地方式,帮助读者建立从像素到控制信号的完整认知链路。
4.1 机器视觉:从成像到测量的工程基础
机器视觉是工业场景中利用光学成像与图像处理技术,对物体进行非接触式测量与判断的工程学科。它不同于纯学术的图像处理,更强调在产线环境下的鲁棒性、实时性与可重复性。一个完整的机器视觉系统通常包含光源、镜头、相机、图像采集卡(或GigE/USB3接口)、算法处理单元(工控机或嵌入式设备)以及通信模块。
核心原理:机器视觉的本质是将三维物理世界投影为二维数字图像,再通过算法从像素灰度、边缘、纹理等特征中提取出对控制有用的信息。其关键环节包括:光学成像(决定图像质量的上限)、图像预处理(去噪、增强、几何校正)、特征提取(边缘、角点、区域)、测量与定位(像素当量标定、坐标转换)。
工程要点:在PLC联动项目中,机器视觉的“标定”是决定精度的核心步骤。像素当量(mm/pixel)的标定误差会直接传导至PLC的坐标控制指令。建议使用高精度棋盘格或圆点标定板,在工件实际工作距离下进行多点标定,并考虑镜头畸变补偿。
常用算法与工具:
- 边缘检测:Canny、Sobel、Laplacian——用于提取工件轮廓,是尺寸测量的基础。
- 模板匹配:基于灰度或形状的匹配(如Halcon的shape-based matching),用于定位已知工件。
- Blob分析:连通域提取,用于检测区域面积、重心、方向等几何特征。
- 标定与校正:相机内参/外参标定、畸变校正、手眼标定(Eye-in-Hand / Eye-to-Hand)。
| 视觉任务 | 典型算法 | 输出数据 | PLC联动方式 |
|---|---|---|---|
| 尺寸测量 | Canny + 卡尺工具 | 长度/直径/角度 | 比较阈值,超差报警 |
| 定位引导 | 形状匹配 + 仿射变换 | X/Y坐标、旋转角 | 发送坐标给机器人/伺服 |
| 存在性检测 | Blob分析 / 灰度统计 | 有无/数量 | 触发PLC计数或剔除 |
| 字符读取 | OCR(如Halcon的OCV/OCR) | 字符串 | 比对数据库,决定流向 |
4.2 图像分类:判断“是什么”
图像分类解决的是给整张图像分配一个语义标签的问题。在工业场景中,典型应用包括:区分不同型号的工件、判断物料是否放反、识别产品批次颜色差异等。与目标检测不同,分类不关心物体在图像中的具体位置,只输出“这张图属于哪一类”的概率分布。
常用算法演进:
- 传统方法:HOG(方向梯度直方图)+ SVM(支持向量机),适用于纹理或形状差异明显的场景,计算量小,适合嵌入式部署。
- 经典CNN:AlexNet、VGG——奠定了深度学习分类的基础,但参数量大,工业实时性受限。
- 轻量化网络:MobileNet、ShuffleNet、EfficientNet-Lite——专为边缘设备设计,在保持精度的同时大幅减少计算量,是当前工业边缘部署的主流选择。
- 迁移学习:使用ImageNet预训练权重,在少量工业样本上微调,可显著减少标注数据需求。
实战经验:在产线分类任务中,不要一开始就追求高精度的深层网络。先尝试MobileNetV3或EfficientNet-B0,配合数据增强(随机裁剪、亮度扰动、仿射变换),往往能达到99%以上的准确率,且推理延迟可控制在10ms以内(GPU)或50ms以内(CPU)。
案例拆解:某电子元件厂需要区分三种不同容值的贴片电容(104、105、106),外观差异极小,仅颜色深浅略有不同。初始方案采用人工目检,误判率约3%。后改用工业相机采集图像,使用MobileNetV2迁移学习,训练集每类500张,训练30个epoch后准确率达99.6%。部署在Jetson Nano上,推理时间约15ms,通过GPIO直接输出分类结果给PLC,PLC据此控制料道切换。整个改造周期仅2周,误判率降至0.2%以下。
4.3 目标检测:定位“在哪里”
目标检测在分类的基础上增加了位置信息,输出每个目标的类别标签和边界框(Bounding Box)。在工业场景中,目标检测常用于:传送带上多工件的定位抓取、料盘上元件的计数与位置确认、AGV导航中的障碍物识别等。
算法体系分类:
- 两阶段检测器:Faster R-CNN、Mask R-CNN——先产生候选区域,再分类和回归。精度高但速度慢,适合离线抽检或高精度场景。
- 单阶段检测器:YOLO系列(v5/v8/v9)、SSD、RetinaNet——直接回归类别和位置,速度快,适合实时产线。YOLOv8是目前工业部署的性价比之选。
- Transformer检测器:DETR、Deformable DETR——基于注意力机制,在复杂背景和小目标场景有优势,但训练成本高,工业应用尚在探索期。
工业部署关键参数:
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 输入分辨率 | 640×640 或 1280×1280 | 分辨率越高,小目标检测越好,但延迟增加 |
| 置信度阈值 | 0.5 ~ 0.7 | 过低易误检,过高易漏检,需根据产线实际调优 |
| NMS IoU阈值 | 0.45 ~ 0.5 | 用于去除重叠框 |
| 推理硬件 | GPU / 边缘NPU | Jetson Orin、Intel Movidius、瑞芯微RK3588等 |
风险提示:目标检测模型在实验室精度高,不代表产线稳定。光照变化、工件反光、传送带振动都会导致检测框抖动。建议在部署时加入“检测结果滤波”——例如连续3帧检测到同一位置的目标才确认有效,避免PLC收到瞬时误检信号。
4.4 缺陷检测:识别“好不好”
缺陷检测是工业视觉中最具挑战性的任务,因为缺陷种类繁多、形态各异,且正常样本与缺陷样本往往极度不平衡。缺陷检测的目标不仅是判断“有无缺陷”,还要定位缺陷位置、分类缺陷类型,甚至评估缺陷严重程度。
四类主流技术路线:
- 传统图像处理:频域滤波(傅里叶变换)、形态学操作、灰度阈值分割。适用于纹理均匀、缺陷对比度高的场景(如金属表面划痕)。优点是无需训练数据,缺点是泛化能力弱。
- 监督学习分割:U-Net、DeepLabV3+等语义分割模型,对每个像素分类(正常/缺陷)。需要大量像素级标注,但检测精度最高。
- 异常检测(无监督/自监督):PatchCore、PaDiM、SPADE等。仅用正常样本训练,学习“正常模式”,推理时计算与正常模式的偏离度。适合缺陷样本难以收集的场景。
- 生成对抗网络(GAN):AnoGAN、f-AnoGAN等,通过生成器重建图像,比较重建误差。适合纹理类缺陷,但训练不稳定,工业落地较少。
缺陷检测流程清单:
- 步骤1:图像采集——确保光照均匀,建议使用同轴光或低角度环形光突出缺陷特征。
- 步骤2:预处理——去噪、对比度增强、ROI裁剪,减少背景干扰。
- 步骤3:算法推理——根据缺陷类型选择分割或异常检测模型。
- 步骤4:后处理——去除小面积噪点、填充空洞、计算缺陷面积/长度。
- 步骤5:结果判定——根据缺陷面积、数量、位置设定OK/NG阈值,输出给PLC。
案例闭环:某汽车零部件厂需要检测铝合金轮毂表面的气孔缺陷。初始方案采用人工目检,漏检率高达5%。项目组采集了2000张正常轮毂图像和仅80张带缺陷图像。由于缺陷样本极少,直接训练分割模型效果不佳。最终采用PatchCore异常检测方案:仅用2000张正常图像训练,提取局部特征库;推理时计算测试图像特征与特征库的最大距离作为异常分数。部署后,对气孔缺陷的检出率达到98.7%,误报率控制在1.5%以内。系统通过Profinet将OK/NG信号发送至PLC,NG品自动进入复检区。整个推理流程约120ms,满足产线节拍要求。复盘发现,误报主要来自轮毂表面的油渍,后续增加吹气清洁工位后误报率降至0.8%。
4.5 常见误区与工程复盘
在边缘识别技术落地过程中,团队常陷入以下误区,值得警惕:
误区一:盲目追求高精度模型。产线真正需要的是“在允许的误检率和漏检率下满足节拍”,而非学术排行榜上的mAP。一个YOLOv5s(小模型)在优化后可能比YOLOv8x(大模型)更适合你的产线,因为延迟更低、部署更简单。
误区二:忽视数据分布漂移。模型上线时表现良好,但三个月后准确率下降。原因是产线换了新批次原材料、光源老化或相机位置微移。建议建立“持续监控+定期重训”机制,每周统计检测分布,每月用新数据微调模型。
误区三:将视觉系统与PLC割裂设计。视觉不是独立工位,而是PLC控制环路的感知前端。设计时应明确:视觉输出哪些信号(OK/NG、坐标、类别码)、通信协议(TCP/IP Socket、Profinet、EtherNet/IP)、信号延迟预算、故障安全策略(视觉宕机时PLC如何动作)。
总结复盘:边缘识别技术的选型应遵循“场景驱动”原则——先明确任务类型(分类/检测/缺陷)、精度要求、节拍时间、环境约束,再选择算法和硬件。在PLC联动层面,务必定义清晰的接口协议和异常处理机制。建议团队建立“视觉-控制联合调试”流程,在产线试运行阶段重点观察:检测延迟波动、通信丢包率、误检/漏检的分布规律,并据此持续优化模型阈值和PLC逻辑。边缘识别不是一次性交付,而是与产线共同演进的持续工程。