三类问题分别是什么,出现在哪些工况
装配防错的需求几乎都写成「检测漏装、错装、反装」,但这是三件不同的事。 漏装是有无判断,判据二元,最容易做。 错装是装了相似但不同的零件,判据要靠两者在图像上的可测差异。 反装是零件与型号都对但正反颠倒或旋转 180 度, 判据往往是一个占比很小的局部特征。
典型工况:PCBA 插件后检查、连接器与端子装配、汽车卡扣与密封圈装配、 家电总装、包装前的配件齐套检查。 敏洽 机器视觉检测软件 单机支持 4 工位并发,一台工控机可覆盖多个检测位。
实际会遇到的几个坑
1. 需求只写「防错」,没写靠什么判
这是投标阶段最该澄清的一条。「检测反装」四个字背后必须有物理判据—— 正反面到底哪里不一样:有的靠一个 0.3 毫米的倒角, 有的靠丝印,有的靠一个背面才有的浇口痕。 这个判据由客户的工艺人员确认,不是视觉工程师猜的。 规范做法是在方案文件里逐项列表:判据描述、图像上的表现、所需成像条件。
2. 固定 ROI 遇上工件位置浮动
工件由夹具或载具定位,实际总有零点几到几毫米的浮动,
用绝对坐标写死的 ROI 会框错位置——框到旁边结构就误判成有,框到空处就误判成无。
正确做法是先跑定位算子再取 ROI:
模板匹配、特征点、几何基准、Mark 点定位四类算子统一输出
Offset_X / Offset_Y / Angle_θ,
检测区按这组偏移做仿射跟随。PCB 与载具类工件用 Mark 点最稳。
3. 有无检测的背景选错
漏装检测的成败取决于「有」和「无」两个状态的图像差异。 零件是黑色塑料件、载具也是黑色,两种状态灰度几乎一样,再好的算法也分不开。 可用的手段:换对比色载具或背景板、 用背光把零件变成剪影、用侧向打光让零件产生投影。 优先改硬件条件,比算法调参便宜得多。
4. 相似件的差异在图上找不到
错装检测的前提是两种零件在同一成像条件下有可测差异。 常见困境是两种螺钉只差 1 毫米长度,但从上方拍只看到螺钉头, 长度信息完全不在图里。这时候不是调算法,而是改检测位置或增加视角。 如果差异只在装配后不可见的部位,就要在方案里明确该项不可检, 改用其他防错手段(料道分离、扫码校验、机械限位)。
5. 反装的局部特征太小,定位精度不够
反装判据常是一个很小的特征:凹坑、缺口、色环。 这带来两个要求:定位精度必须优于特征尺寸, 否则检测区套不到特征上;视野与分辨率要够。 如果整机视野下特征只占几个像素,可以加一个局部高倍视角单独看它。 倒角、凹坑这类无色差的几何特征往往需要掠射或暗场打光才显形。
6. 阈值写在算法里,现场改不动
防错项目上线后必然要调阈值——来料批次变化、光源衰减、换型号。 如果判定逻辑和阈值编在算法代码里,每次调整都要重新编译发版,现场等不起。 敏洽的架构把这件事分开:C++ 算法侧只输出原始数据 (面积、灰度差、匹配分数、尺寸值、位置偏移), OK/NG 判定与阈值在 C# 侧按型号配方管理,现场可改、有权限控制、有变更记录。 算法层也可按模块单独授权,或通过 跨语言 SDK 嵌进客户已有的上位机。
方案与硬件条件
| 类型 | 常用算法 | 成像与前置条件 |
|---|---|---|
| 漏装 | 斑点 / 连通域分析、灰度差异、差影异物检测、形状检测 | 对比色背景或背光;先定位再取 ROI |
| 少件 / 多件 | 斑点计数、差影异物检测、周期特征分析 | 差影需标准图 |
| 错装(尺寸差) | 尺寸测量:最小外接圆直径、旋转矩形长短边、轮廓面积与周长 | 差异须在视角内可见 |
| 错装(外形差) | 形状检测、轮廓拟合、圆 / 椭圆检测 | 背光或高对比打光 |
| 错装(颜色差) | 颜色一致性、颜色区域定位 | 彩色相机 + 稳定色温光源 |
| 错装(字符差) | OCR(PaddleOCR)、条码 / 二维码识别 | 字符区打光均匀 |
| 反装(局部特征) | 模板匹配、形状检测、边缘缺陷检测、对比度检测 | 掠射或暗场让倒角凹坑显形 |
| 形态不固定 | YOLO 目标检测、YOLO 实例分割、图像分类 | 本地训练导出 .aim |
| 项目 | 要求与说明 |
|---|---|
| 相机 | USB/UVC、大华、海康、度申已适配;Mock 虚拟相机可用图片集回放调试 |
| 触发 | 硬件 IO(到位信号)、编码器、通讯软触发、连续采集,四种任选 |
| 工位数 | 单机 4 工位并发 |
| 定位 | 模板匹配 / 特征点 / 几何基准 / Mark 点,统一输出 Offset_X Offset_Y Angle_θ |
| 判定层 | C++ 侧输出原始数据,OK/NG 阈值在 C# 侧按型号配方配置 |
| 运行环境 | Qt 6.9.2 + C++17 + OpenCV 4.x + ONNX Runtime;Windows 10/11 x64 与 Ubuntu 22.04 x64 |
| 客户准备 | 判据确认表、各型号样品(含 NG 样品)、支架与遮光、到位信号与结果反馈接口 |
NG 样品的重要性经常被低估:漏装样品容易造, 但反装与错装的真实 NG 样品需要客户配合专门做,且要覆盖边界情况。
相关交付情况
交付顺序:先出判据确认表 (逐项写清检测什么、靠什么判、图上怎么体现), 再用样品试拍验证每一项的成像可行性,然后才是软件实现、配方组织与接口对接。
交付内容包括成像方案、硬件选型建议清单、检测软件与参数配方管理、结果与图片留存、
接口文档(触发方式、IO 定义、通讯点表、结果输出格式)。
算法按模块授权;需要嵌进客户已有上位机时提供跨语言 SDK
(mqvision.dll / libmqvision.so,支持 C、C++、C#、Java JNI、Python,另有 Qt-free 版本)。
用到 AI 的项目,训练在客户本地进行,图片不出厂,模型导出为加密 .aim 包。
常见问题
有具体设备清单或工件样品,可以直接给判断
提供设备型号、PLC 品牌与需要采集的数据项,或提供被检工件照片与精度要求,敏洽可先给出可行性判断与硬件前置条件,再谈软件工作量与报价。