电控柜装配中,上百个端子必须按顺序安装,漏装或错装都会导致返工。本文介绍如何用YOLOv5检测位置、Tesseract识别编号,将原本需要人工逐项比对的质检流程压缩到一分钟以内,准确率超过90%。
装配电控柜时,成百上千个小型端子(也叫接线夹)需要按固定顺序安装在导轨上。漏装一个或装错一个,整个订单就不完整。
过去,质检依赖人工:一个人拿着打印的布局图,对照应装端子清单,逐项核对。这方法管用,但慢、累,而且这种重复性的视觉检查恰恰是人类最容易出错的地方。
在我的硕士论文中,我搭建了一套AI系统来自动完成这项检查。它读取订单的数字布局图,找出缺失的端子,用红框标出来——操作员只需几秒就能修复订单,而不是几分钟。下文详细介绍实现原理。
(完整项目代码在 GitHub 上)
大多数计算机视觉质检系统都需要对着实物拍照。但我的系统用不着——质检发生在布局图已经生成之后(你可以把它想象成订单的“蓝图”),没有实时图像可捕捉。
这反而是个优势。不需要处理光照、角度、相机噪点,我直接对着干净的数字化图像和订单元数据操作。结果比任何相机方案更快、更便宜、更稳定。
难点在于:数字布局图非常密集——一条长带上挤满了小数字和符号。要可靠地读取它,需要两个AI模型协作,而不是一个。
系统是一个混合流水线:
两者结合,再与缺失端子清单交叉比对,就能精确知道哪些端子缺失以及它们在图上的位置。
完整流程如下:
我在标注过的布局图上从头训练了一个 YOLOv5 模型。它的唯一任务就是找出图中包含端子位置编号的区域。我只保留置信度高于 0.80 的检测结果以减少噪声,然后将该区域从完整图像中裁剪出来。

检测到订单数字布局图上的所有端子
裁剪出的数字条又长又挤,会影响OCR精度。所以我用程序将其分成七个垂直切片——小且干净,Tesseract读取它们远比一次性读取整条更准确。







对Din-Rail上检测到的端子位置编号进行分片
每个切片先做轻量预处理(灰度 + 自适应阈值),然后送入 Tesseract OCR。Tesseract返回每个位置编号及其X,Y坐标。之后在代码中把切片拼接回去,使这些坐标能映射到原始完整布局图上。
现在做核心比对:将OCR读出的编号与元数据中标记为缺失的端子清单比对。只要某个缺失位置与OCR检测到的编号匹配,就提取它的坐标。
最后,OpenCV 在原始布局图的对应坐标位置绘制红色方框。操作员一眼就能看出哪些端子还需要安装——无需数数,无需交叉核对。

使用人工智能(AI)高亮显示的缺失端子
为了便于维护,系统分为三个松耦合部分:
这种模块化设计意味着任何一个部分(模型、OCR步骤、绘制逻辑)都可以单独替换或升级,而不影响其他部分。

架构图
简单回答:效果很好,甚至超越了要求。
YOLOv5(查找数字条区域)
| 指标 | 值 |
|---|---|
| 精确率 | ~0.995 |
| 召回率 | ~0.996 |
| mAP@0.5 | ~0.993 |
OCR + 端到端
| 指标 | 值 |
|---|---|
| OCR读取准确率 | >95% |
| 端到端检测+高亮时间 | <1分钟(一次约44秒) |
| 整体系统准确率(测试集) | >90% |
精确率、召回率和F1曲线在低置信度阈值下都接近 1.0,训练损失和验证损失之间没有明显差距——没有过拟合。简单说:模型干净地学会了任务,泛化能力好,尽管只在较小、单类别的数据集上训练。
还有很多可以改进的地方——模糊化布局图上的无关部分、基于更新的YOLO版本重新训练、增加自适应/持续学习让模型能自主处理新的布局格式。我在 repo 的 未来工作 部分列出了这些。
Arslan Zafar —— 工业应用软件工程硕士。致力于为真实工业问题构建AI和计算机视觉解决方案。
免费获取企业 AI 成熟度诊断报告,发现转型机会
关注公众号

扫码关注,获取最新 AI 资讯
3 步完成企业诊断,获取专属转型建议
已有 200+ 企业完成诊断