4. 量产视觉项目交付流程

在量产制造环境中,视觉项目不是“买一台相机、写一个程序”就结束,而是一条从需求到产线稳定运行的完整交付链路。很多项目在实验室里跑得很好,一上产线就出现漏检、误判、节拍不够、换型困难等问题,根源往往不是算法本身,而是交付流程中某个环节被跳过或做得不扎实。本节把这条链路拆开,说明每个阶段真正要交付什么、用什么判断可以进入下一阶段。

一、需求评审:把“要检什么”变成可量化的指标

需求评审是整条链路的起点,也是最容易被轻视的环节。客户通常说“要检测表面划伤”“要确认装配到位”,但这些描述无法直接变成程序。评审阶段要把它翻译成视觉语言:检测对象是什么材料、什么颜色、什么表面处理;缺陷的最小尺寸、对比度、允许的误检率和漏检率;产线节拍是多少件每分钟;相机安装距离、视野范围、可用的安装空间;以及换型频率和换型方式。

一个可用的需求评审输出,至少应包含:检测项目清单、每项的判定标准(合格/不合格的边界)、精度要求(例如最小缺陷 0.2 mm)、节拍要求(例如 60 件/分钟)、环境条件(光照、粉尘、振动)和验收样本数量。这里要特别强调“边界样本”——即刚好合格和刚好不合格的样品,它们决定了后续阈值设定的难度。如果客户只能提供明显合格和明显不合格的样品,项目风险会显著上升,应在评审阶段就提出并协商补充。

需求评审的典型输出是一份《视觉检测需求规格表》,其中“最小可检缺陷尺寸”和“允许漏检率”是两个必须量化的字段。缺少这两项,后续验收就没有依据。

二、打光选型:决定成像质量的上限

打光选型不是“选一个亮一点的灯”,而是根据缺陷与背景的光学差异选择照明方式和光源类型。常见方式包括:同轴光用于检测高反光平面的划伤和字符;环形光用于一般表面和装配确认;条形光用于边缘轮廓和凹凸检测;背光用于尺寸测量和轮廓提取;低角度光用于检测表面凸起、压痕和异物。选择依据是缺陷在哪种照明下与背景形成最大对比度。

实操中,打光选型通常要经过“样品试拍—对比—定型”三步。以检测金属表面划伤为例:先用环形光拍摄,划伤与背景对比度低;改用低角度条形光后,划伤产生阴影,对比度明显提升;再调整光源角度和距离,找到对比度最高、且不产生过曝的位置。此时记录光源型号、角度、距离、亮度值,作为后续复现的依据。打光一旦定型,相机、镜头、工作距离也应同步锁定,因为任何一项变化都会改变成像结果。

三、程序开发:从图像到判定结果

程序开发阶段把成像结果转化为稳定的判定逻辑。典型流程是:图像采集→预处理(滤波、增强)→定位(模板匹配或特征定位)→检测区域提取→缺陷检测或测量→判定输出。以 In-Sight 为例,常用工具包括 PatMax 定位、Blob 分析、Histogram 直方图、Edge 边缘工具和 Measure 测量工具。开发时要为每个检测项设定阈值,并用边界样本反复验证。

阈值设定不能只看“合格品通过、不合格品报警”,还要看边界样本的裕量。例如某划伤检测项,合格样本的缺陷评分为 20~35,不合格样本为 70~90,阈值可设在 50 左右,两侧都有足够裕量。如果合格样本评分已经到 45,说明打光或算法需要优化,而不是硬调阈值。程序开发完成后,应保存为可追溯的作业文件,并记录版本号、修改日期和修改内容。

量产视觉项目交付链路与阶段门 需求评审 检测项 / 精度 / 节拍 边界样本清单 打光选型 同轴 / 环形 / 条形 角度 / 距离 / 亮度 程序开发 定位 / 检测 / 测量 阈值与裕量验证 验收测试 合格 / 不合格 / 边界 误检率 / 漏检率 产线导入 节拍 / 通信 换型 / 追溯 门1:指标可量化 门2:成像对比度达标 门3:边界样本裕量足 门4:误漏检率达标 门5:连续运行稳定 各阶段关键输入与输出 需求评审:输入=客户描述、样品;输出=检测项清单、精度/节拍指标、边界样本 打光选型:输入=样品、安装空间;输出=光源型号、角度、距离、亮度、成像对比度记录 程序开发:输入=定型成像、检测项;输出=作业文件、阈值、版本号、边界样本验证记录 验收测试:输入=作业文件、样本集;输出=误检率/漏检率报告、验收结论 产线导入关注点 节拍匹配 采集+处理+通信 ≤ 产线节拍 通信与触发 PLC I/O、以太网 触发时序对齐 换型管理 作业切换、参数组 防错与确认 追溯与运维 图像/结果存档 日志、报警、备份

四、验收测试:用数据证明系统可用

验收测试不是“跑一遍看看”,而是用事先约定的样本集和指标进行量化验证。样本集应包含合格品、不合格品和边界样本,数量根据项目风险确定,通常每类不少于 30 件。测试时记录每个样本的判定结果,统计误检率(合格品被判为不合格)和漏检率(不合格品被判为合格)。例如某项目要求漏检率 ≤ 0.5%、误检率 ≤ 2%,测试 200 件合格品和 100 件不合格品,若漏检 1 件、误检 3 件,则漏检率 1%、误检率 1.5%,漏检率超标,需要回到程序开发阶段优化。

验收测试还要覆盖连续运行稳定性。建议连续运行 2~4 小时,观察是否出现因温度漂移、光源衰减、振动导致的判定波动。如果连续运行中出现误判,应记录发生时间、环境条件和图像,作为后续改进依据。验收通过后,应形成验收报告,明确测试样本、指标、结果和遗留问题。

五、产线导入:从“能用”到“稳定用”

产线导入阶段要解决的是工程化问题。首先是节拍匹配:测量从触发到输出结果的总时间,包括相机曝光、图像传输、程序处理、通信输出。如果总时间超过产线节拍,需要优化处理逻辑或更换更高性能的相机。其次是通信与触发:确认 PLC 的触发信号、相机就绪信号、结果输出信号的时序关系,避免丢触发或结果错位。再次是换型管理:如果产线需要切换产品型号,应建立作业文件切换流程,并验证切换后首件检测结果。

产线导入后还要建立运维机制:定期清洁镜头和光源、检查光源亮度衰减、备份作业文件和系统参数、记录报警和异常处理过程。这些工作看似琐碎,却决定了系统能否在量产环境中长期稳定运行。

产线导入阶段最常见的三个问题:节拍不够、触发丢失、换型后未验证首件。建议在导入前用“空跑+带料跑”两种方式分别验证,并保留至少一个完整生产批次的运行记录。

六、交付流程的闭环与复盘

整条链路不是单向的,而是带反馈的闭环。验收测试发现的问题可能回到程序开发,产线导入发现的节拍问题可能回到打光选型甚至需求评审。因此,每个阶段门都应留下可追溯的记录:需求规格表、打光记录、作业文件版本、验收报告、产线运行日志。这些记录不仅是交付物,也是后续项目复用的基础。

对于量产视觉运维工程师来说,理解这条链路的意义在于:当现场出现问题时,能够快速判断问题出在哪个环节,而不是盲目调参数。例如检测不稳定,先看成像是否变化,再看阈值裕量是否足够,最后看节拍和触发是否正常。按链路排查,比凭经验猜测更可靠。