1. 课程导入与MERLIC定位
在一条典型的自动化装配线上,产品以约 1.2 秒/件的节拍经过检测工位。质检员需要在 300 毫秒内判断工件表面是否存在划痕、缺料、错装、字符缺失或尺寸超差,并把不合格品分流到剔除通道。人工目检在长时间高节拍下会出现疲劳漏检,而传统视觉方案又常常面临"算法能跑通、产线调不动"的困境——相机标定、光源配合、通信握手、界面组态、异常处理,每一环都要写代码。本课程要解决的,正是这个从"能检测"到"能上线"的落地问题。
产线缺陷检测的真实需求
产线缺陷检测不是单纯的图像分类任务,它同时受四类约束牵制。第一是节拍约束:单件检测时间必须小于工位节拍,通常要求 100~500 毫秒完成采集、处理与结果输出。第二是稳定性约束:同一缺陷在光照波动、工件轻微偏移、批次色差下都要稳定判出,误检率与漏检率需同时受控。第三是集成约束:检测结果要能通过 PLC、Modbus TCP、TCP/IP 或数字 IO 触发剔除机构,还要把图像与判定结果存档追溯。第四是维护约束:换型时产线工程师要能自行调整 ROI、阈值和判定规则,而不是每次都找算法工程师改代码。
这四类约束决定了视觉软件选型的核心标准:不是算法最强,而是开发与维护的综合效率最高。MERLIC 正是针对这一诉求设计的机器视觉应用开发软件。
MERLIC 在机器视觉软件中的角色
机器视觉软件大致可分为三层:底层算法库(如 HALCON、OpenCV)、应用开发框架(如 MERLIC)、以及面向特定行业的成品软件。MERLIC 的定位处于中间层——它把 HALCON 的算子能力封装成可拖拽的工具(Tool),用图形化流程替代大量胶水代码,同时保留参数级控制能力。
与纯代码开发相比,MERLIC 的价值体现在三个"少写":少写图像采集与相机适配代码、少写工具间数据传递代码、少写人机界面代码。它内置了图像源、预处理、定位、测量、检测、OCR、结果输出等工具族,并通过配方(Recipe)机制把一套检测逻辑参数化,换型时只需切换配方即可复用流程。需要说明的是,MERLIC 并非"零代码万能",复杂逻辑分支、特殊通信协议、定制界面仍可能需要配合 MERLIC 的脚本或外部程序,这一点在后续章节会具体展开。
快速开发的核心价值
把上述结构落到工程上,"快速开发"具体意味着什么?可以用一个对比来说明。假设检测目标是金属件表面划痕,采用传统代码方案,工程师需要:编写相机 SDK 采集程序、实现图像滤波与阈值分割、写轮廓提取与长度计算、设计判定逻辑、开发通信服务、再做界面。即便算法成熟,集成与调试通常也要数天。而在 MERLIC 中,同样的任务可以这样组织:
图像源工具(GigE 相机,触发模式:硬触发)
→ 预处理工具(灰度化 + 中值滤波,核大小 5×5)
→ 定位工具(模板匹配,ROI 限定在工件区域)
→ 检测工具(划痕检测,最小长度 0.8 mm,对比度阈值 25)
→ 结果判定(划痕数量 > 0 判 NG)
→ 通信输出(TCP 发送 "NG" 至 PLC,同时保存图像)
这条流程在 MERLIC 中通过拖拽工具、连接数据端口、填写参数即可完成,无需编译。参数如"最小长度 0.8 mm"需要先完成像素当量标定——例如用 10 mm 标准块在图像中占 200 像素,则当量为 0.05 mm/像素,0.8 mm 对应 16 像素。这类标定与参数换算,是后续章节的重点内容之一。
课程整体任务链与最终交付目标
本课程围绕一条完整的产线缺陷检测任务链展开,最终交付一套可运行、可换型、可追溯的 MERLIC 检测应用。任务链可概括为六个阶段:
- 需求与选型:明确检测项、节拍、精度、通信方式,确定相机、镜头、光源与 MERLIC 版本。
- 成像与标定:搭建打光方案,完成像素当量标定与相机触发配置,确保图像稳定可复现。
- 流程搭建:用 MERLIC 工具构建采集—预处理—定位—检测—判定链路,逐级验证中间结果。
- 参数调优与验证:用 OK/NG 样本集测试,统计误检率与漏检率,确定阈值与容差。
- 通信与集成:配置 TCP/Modbus/IO 输出,与 PLC 完成握手联调,验证剔除动作时序。
- 配方与交付:建立换型配方,整理参数表、操作说明与验收记录,形成可维护的交付物。
最终交付目标包括:一套 MERLIC 工程文件、一份含关键参数的检测配方、一份通信接口说明、一份验收测试记录,以及一份产线操作与换型指引。这些交付物不是形式文档,而是产线工程师日后独立维护的依据。