项目博客 · 包装过程在线点检

包装过程在线点检

工位俯拍识别包装节点,按 SOP 状态机逐步确认——漏放、漏步、错序当场可见。

包装过程点检演示
待放入:视频/包装过程点检演示.mp4

俯拍工位 · 包装件与动作节点识别 · 工作流逐步打勾 · 本地边缘推理 · 检测记录可追溯

01

关键矛盾

包装缺件不在工厂暴露
而在客户拆箱时暴露

包装是产品出厂前的最后一道人工工序,也是最容易「看起来没问题」的一道:箱子封好了, 里面少一份说明书、少一块背板、泡沫纸没垫,从外面都看不出来。等到客户拆箱才发现,代价就从几毛钱的物料变成退换货、客诉和返工。 难点在于这道工序节拍快、动作碎、料件多为白色薄软物,且经常换型换箱规。

现场痛点为什么旧办法吃力本方案切入点
30 秒出一件,7 步要逐步确认 人眼盯岗不可持续,事后录像难复核 相机持续看过程,状态机逐步确认
装箱后无法回看内容物 终检称重、抽检只能抓住部分缺件 封箱前逐件留证,检测记录可追溯
换型换箱规,步骤跟着变 一工位一模型,重采重训跟不上 少样本配置目标,配方切换工作流
白色薄软物、透明袋反光 框回归难贴合形变物体 像素级分割按掩膜面积判在位
方案选择为什么如此

把问题定义为「包装步骤是否按顺序发生」,而不是「再训练一个专用外观模型」。 用视觉大模型看见料件与动作,用状态机判定顺序,用边缘侧实时输出——换箱规、换步骤主要改配置,不必长期驻场训练。

02

怎么做

看见节点 → 按 SOP 推进 → 留下证据

识别什么

以俯拍工位为主视角,识别包装过程中的关键节点:起点底板、泡沫纸、纸箱、纸箱翻转、背板、说明书、终点底板。 右侧工作流随识别结果逐步打勾;异常可回看画面与检测记录。

节点示例系统关注点输出
起点 / 终点底板工件是否进入 / 离开检测位流程开始、结束事件
泡沫纸 / 纸箱 / 背板 / 说明书料件是否出现在包装区域步骤完成标记
翻转纸箱箱体姿态是否发生了规定的翻转节点确认 / 异常提示
整段 SOP顺序是否完整、有无跳步漏放OK / NG + 耗时记录

运行界面的「检测记录」按件留一行:每步一列打 OK 并记时间戳,末列给总耗时。 本工位实测单件在 32–39 秒之间,异常件的耗时会明显偏离——这本身就是一个可用的巡检线索。

系统链路

工位相机进流后,在边缘智能体完成本地推理;大模型负责「看见」,状态机负责「算不算做完」。 原始视频不出厂,现场只保留步骤结果与可复核片段。

过程点检链路:工位相机经边缘智能体做本地推理,视觉大模型识别包装件与动作,SOP 状态机判定手顺,输出进度、OK/NG、耗时与关键帧
图 1 过程点检链路。模型负责看见节点,状态机负责判定手顺。手机上可横向滑动看细节,点图打开大图

为什么用少样本 + 状态机,而不是「一工位一专用模型」

包装的箱规、内衬、随箱文件跟着产品走,换型比装配更频繁。专用小模型每次换型都要重训,上线慢、难复制。 视觉大模型用 1–10 张样本即可配置新目标;状态机把「看见」编排成可验收的 SOP——改步骤是配置变更,不是重新立项训练。

03

语义分割怎么配

先让系统「看见料件像素」
再谈步骤打勾

包装料件多是白色薄软物,还常隔着透明袋:泡沫纸会皱、说明书会歪、背板贴着箱壁。 这类目标用框回归很难贴合,本方案用像素级语义分割——每类 1–10 张现场样本即可设定,输出掩膜后做存在与面积判定。

本页视频工位要认 5 类目标、走 7 步(底板既是起点也是终点),与运行界面「检测记录」的列一一对应: 底板 · 泡沫纸 · 纸箱 · 背板 · 说明书。 底板用于判起点/终点在位,其余按包装顺序逐件确认。

分割类别样本(示意)用途判定
底板4 张起点 / 终点在位掩膜出现 → E0 / E6
泡沫纸5 张缓冲层铺放掩膜面积 ≥ 阈值 → E1
纸箱5 张箱体到位掩膜面积 ≥ 阈值 → E2
纸箱(翻转后)同一类别箱体翻转确认分割 + 角度检测 → E3
背板5 张背板装入掩膜面积 ≥ 阈值 → E4
说明书4 张随箱文件放入分割 + 数量检测 → E5

「翻转纸箱」不另建类别:同一个纸箱掩膜,翻转前后的长短轴比与主轴角度会明显变化,用角度检测原语区分即可。 少一类目标就少一轮标注,也避免了「翻转前」「翻转后」两类互相混淆。

语义分割标注界面:左为包装工位相机原图,右为纸箱的像素级掩膜,配 5 类目标与保存标注、迁移、检测按钮
图 2 语义分割在「标注工具」里配置,左右两幅画面取自页首视频的同一帧:左为相机原图,右为系统实际输出的「纸箱」像素级掩膜——注意它沿着纸箱与外层塑料袋的边缘走,不是一个矩形框。①在缺陷类型里定 5 类目标 → ②左右对照涂抹掩膜 → ③点「迁移」启动训练 → ④点「检测」用当前模型验证。类别就在这里定义,训练产物会自动回填给张量流的语义分割节点。手机上可横向滑动看细节,点图打开大图
04

事件判定怎么配

在 GPU 事件编排器里拖原语
把像素变成「发生了什么」

分割只负责看见像素。业务要的是「泡沫纸到位」「说明书放入」这类可判定事件。 事件清单本身在状态机里定义,判定逻辑在 GPU 事件编排器里搭:从原语库拖判定积木、配参数, 再用「与 / 或 / 非」组合成成立条件。改判定只动参数,不必重训模型。

GPU 事件编排器界面:左侧原语库按全部、关系、逻辑、判定、信号分类,中间点阵画布上是一个物体存在原语并展开目标类别、检测区域、切图框三个参数,右侧为状态机事件清单与节点属性
图 3 GPU 事件编排器(双击张量流的「事件探测」节点进入),事件按页首视频工位的 7 步 SOP 列出。①从右侧事件清单选一个事件 → ②从原语库拖判定积木到画布 → ③在节点属性里选目标类别与检测区域 → ④逐个事件配完、逐个保存。图中 E1「泡沫纸到位」只用了一个「物体存在」原语;E3「翻转纸箱」与 E5「说明书放入」各用两个原语,用「与 (AND)」串起来。右侧两个面板用张量记号标注维度:事件张量 E ∈ ℝ⁷(本工位 7 个事件),选中节点的参数为 P ∈ ℝ²(目标类别、检测区域)。手机上可横向滑动看细节,点图打开大图
原语类型怎么配本工位用在哪
物体存在GPU算子目标类别(可多选)+ 检测区域;默认全图,可在预览窗口框围栏E0–E2、E4、E6 的料件在位
物体不存在GPU算子必选 1 个类别,无则触发漏放、工具遗留在箱内等 NG 条件
角度检测GPU算子参考角度与最大偏差E3 纸箱翻转确认
宽度检测GPU算子长短轴与长短轴比E3 辅助判姿态,防止误判
数量检测GPU算子比较模式(小于 / 大于 / 区间 / 等于)+ 阈值E5 说明书只能放一份
速度检测GPU算子运动速度阈值区分「路过」与「放下」
边沿事件GPU算子取信号跳变而非持续状态只在「刚发生」时触发一次
与 (AND) / 或 (OR) / 非 (NOT)GPU算子连线组合多个原语「纸箱存在 且 主轴角度已翻转」
二值化 / 数据抵达 / 事件引用判定算子阈值化、等外设数据、引用别的事件结果跨事件与外设联动
配置原则

一个事件只做一件事;先稳分割再调阈值。 误报优先加防抖帧数,漏报优先降最小面积与检出置信度——这两个参数在语义分割节点上,不在原语里。 白色薄软料件容易随手部动作抖动,配合速度检测能把「手拿着路过」和「已经放下」分开。 改手顺只改状态机,事件的判定逻辑不用动。

05

状态机怎么配

把编排器产出的事件编成可验收手顺
漏放当场可见

右侧工作流不是展示清单,而是 SOP 状态机:状态、事件、动作三份清单在这里定义, 再决定「处在哪个状态、收到哪个事件、跳到哪一步、同时执行什么动作」。 顺序强制不靠额外写 NG 规则,而是靠「非预期事件一律自环」:跳步不推进,缺步走不到终点。 需要报警或写记录时,把动作 (A) 挂在对应转移上。改手顺只改这份配置,不必重训分割模型。

状态机编辑器界面:状态图视图用圆形状态节点与带事件标签的连线,右侧列出事件张量与状态动作张量两份清单,下方规则表以状态乘事件的矩阵逐格设置目标状态
图 4 状态机编辑器,与图 3 同一条 SOP:7 个状态、7 个事件。上半是「🎨 状态图」视图:圆形状态节点,按住 Shift 从 A 拖到 B 即建立一条转移并选择事件;右侧两份清单用张量记号,事件张量 E ∈ ℝ⁸(7 个事件加一个「空事件」),状态-动作张量 S-A ∈ ℝ⁷,动作默认为「∅ 空动作」。下半是同一份配置的「📊 规则表」视图:行为当前状态、列为事件,绿字格是目标状态,其余一律「↻ 自环」——原地不动。顺序强制就是这么来的:跳步不会推进,缺步永远走不到终点,不需要额外写 NG 规则。最后一步 E6 回到 S0,等下一件。手机上可横向滑动看细节,点图打开大图

视频工位的状态与事件绑定(S0–S6 / E0–E6)

状态事件绑定分割类别判定原语命中后
S0 等待起点底板E0 起点:底板底板物体存在→ S1
S1 等待泡沫纸E1 泡沫纸到位泡沫纸物体存在→ S2
S2 等待纸箱E2 纸箱到位纸箱物体存在→ S3
S3 等待翻转E3 翻转纸箱纸箱物体存在 与 角度检测→ S4
S4 等待背板E4 背板到位背板物体存在→ S5
S5 等待说明书E5 说明书放入说明书物体存在 与 数量检测→ S6
S6 等待终点底板E6 终点:底板底板物体存在→ S0,等下一件
状态机规则

顺序强制:只有「当前状态 × 对应事件」这一格填了目标状态,流程才前进一步; 规则表里其余格子都是自环,所以未完成 En 就进不了 En+1漏放:说明书没放进去,S5 就一直等,终点事件即使发生也不推进,这一件不会记成 OK。 报警与记录:动作 (A) 挂在对应转移上,默认为「∅ 空动作」,需要报警或写记录时再挂。 全部判定在边缘侧完成,运行界面只做打勾与记录展示。

06

张量流怎么串

配置界面一次挂齐
分割 · 判定 · 状态机 · 输出

配置界面用张量流把节点连起来,两列一读就懂:左列感知(相机 → 图像预处理 → 语义分割),右列判定(事件探测 → 状态机)。 判定逻辑不是单独的节点,而是「事件探测」里为每个事件搭的原语组合。 下面这张图就是包装工位已挂载的配置;同一份配置跑起来逐步打勾的样子,见页首视频。

张量流配置界面分两列:左列为视频接入、图像预处理、语义分割,右列为事件探测、状态机,箭头标出流向;右侧面板是包装 SOP 的 7 个事件与节点属性
图 5 包装工位已挂载的张量流,分两列读:左列是感知链路(相机 → 图像预处理 → 语义分割), 右列是判定链路(事件探测 → 状态机),箭头指明数据流向。 选中「语义分割」节点后,右侧节点属性里勾选目标类别、指定检测区域;样本栏提示每类 1–10 张即可。手机上可横向滑动看细节,点图打开大图
步骤做什么价值
1. 建工作流按 SOP 列出 E0–E6验收标准可视
2. 配语义分割为底板/泡沫纸/纸箱/背板/说明书建类别并投 1–10 张样本数分钟级看见料件
3. 定区域阈值分割节点设面积下限、置信度、防抖帧;需要时在预览里框围栏降低背景与手部误触发
4. 挂状态机建 S0–S6 与 E0–E6,规则表逐格定目标状态,其余自环漏放、跳步当场可见
5. 运行验证预览打勾后再发布到边缘侧改配置不停线试跑
适用边界

适合料件多、步骤多、换型频繁、需要过程防错的人工包装工位。 封箱后内容物已不可见,因此价值全在封箱前逐步留证; 箱内深腔遮挡的小件、需要翻找才能看到的部件,需工艺配合或加近景相机,不宜作为稳定识别项硬上。

07

关于作者

方案设计与现场落地
Leo
Leo
视觉智能架构师 · 工业过程点检方向负责人

「现场的难题从来不是模型不够大,而是换型太快、样本太少、验收要讲证据。」

  • 学术背景:计算机视觉方向博士,研究方向为少样本分割与视频行为理解;在领域内顶级会议与期刊发表论文十余篇,持有发明专利 8 项、软件著作权 12 项。
  • 行业经验:12 年工业视觉一线经验,覆盖 3C 电子、家电、汽车零部件、包装等行业,累计交付 30+ 条产线、100+ 工位,其中过程点检类工位占比过半。
  • 技术主张:把过程点检从「一工位一专用模型」迁移到「少样本分割 + 事件编排 + SOP 状态机」,新工位配置周期从数周压缩到数小时;判定逻辑与感知模型解耦,改手顺不必重训。
  • 当前关注:边缘 GPU 推理优化、跨域泛化与现场数据闭环——让同一套配置方式在不同工厂、不同工艺之间可复制。
计算机视觉博士 12 年工业视觉 100+ 工位落地 8 项发明专利 边缘推理 / 少样本