应用场景 · B 级洁净区更衣行为识别

大模型视觉

先看系统在更衣间实际在做什么,再看这套东西是怎么配出来的。

B 级更衣区识别效果
待放入:assets/video/gowning-highlight.mp4

画面里的彩色掩膜与类别名是系统实时输出:防护口罩、防护头罩、防护连体衣、防护目镜、防护手套逐件识别, 「系鞋带」这类动作单独成事件 · 本地边缘推理,视频不出厂。 上面是 38 秒精华,按更衣顺序取的五个片段; 完整 11 分钟连续记录 未做剪辑。

01

项目介绍

制药工厂 B 级洁净区更衣间
已落地运行

现场已有 CCTV。需求是在不改生产工艺、不改原有声光报警的前提下, 对更衣顺序、防护用品穿戴结果做实时识别、记录与预警,形成可追溯的审计数据。 客户名称不公开,方案怎么落地可以公开。

关键矛盾:更衣不是「检测一个东西」,是「按顺序做完七件事」

传统 AOI 和目标检测擅长回答「画面里有没有口罩」。但更衣的验收标准是 「口罩→头罩→连体衣→鞋→目镜→手套,一步不能少、一步不能颠倒」。 这两件事差别很大:前者是单帧判断,后者是带记忆的流程判断。 所以本项目把系统拆成两层——大模型负责看见状态机负责判顺序。 这也决定了后面改规则时,改的是状态机配置,不是重新训练模型。

维度现场约束系统怎么满足
视频基础已有 CCTV / NVR,RTSP 取流直接接入,尽量利旧;细粒度点位再加近景
合规不改工艺、不改原报警策略AI 做旁路观察层,不进控制回路
数据安全原始视频不出厂车间本地边缘 GPU 推理,只出事件与证据
审计事件可追溯、可复核关键帧 + 短视频 + 置信度 + 命中的事件与规则
可维护SOP 会变,不能每次都返厂改顺序改配置;新增识别目标 1–10 张现场帧起步

这个项目实际在识别什么

能做部分能做明确不做
更衣步骤顺序与漏步
防护口罩 / 头罩 / 连体衣 / 目镜 / 手套是否穿戴
系鞋带等关键动作
未穿好即进入洁净区
摸脸 / 靠墙 / 坐操作台
手消毒(能见喷壶动作,不见是否出液)
口罩覆盖是否到位 / 头发外露(需脸部特写镜头)
洁净服效期日期
拉链 / 袖口是否收紧
口罩反戴、落地继续使用
「大幅度转身」这类无法量化的主观要求
为什么客户能接受

立项时就把「能做 / 部分能做 / 不做」写在纸上,验收不扯皮。 系统复用现有摄像头、本地推理、不改报警策略——IT 和 QA 两边都过得去。 新规则靠配置不靠重训,试点期改得动。

02

怎么让系统「看见」防护用品

语义分割:每类 1–10 张现场帧
数分钟完成设定

为什么用像素级语义分割而不是画框:更衣间里人是侧身、弯腰、半穿状态, 防护服和墙面同为浅色、手套和裸手轮廓接近。框回归在这种场景很容易把「拿在手上」当成「穿在身上」。 分割给出的是掩膜,可以进一步用面积位置区分「拿着」与「穿好」。

标注工具界面:缺陷类型下拉里定义防护口罩、防护头罩、防护连体衣、防护目镜、防护手套五类目标,左右两个画布为同机位现场帧,右侧图像列表为视频抽帧缩略图,底部为保存标注、迁移、检测按钮
图 1 语义分割在「标注工具」里配置。两个画布都是本项目现场帧:左边 t=349.0s,人刚戴上头罩、连体衣还没穿上,只有「防护头罩」有掩膜;右边 t=371.0s,同一机位,连体衣穿好后「防护连体衣」的掩膜也出来了。图中彩色掩膜与类别名是系统实际输出,不是示意图。①在缺陷类型里建 5 类 → ②在现场帧上涂掩膜并保存 → ③点「迁移」增量训练 → ④点「检测」用当前模型回看这批帧。
分割类别掩膜颜色判什么难点
NG1 防护口罩洋红存在性侧脸时可见面积小,靠面积阈值放宽
NG2 防护头罩存在性与连体衣同色系,靠位置在头部区域区分
NG3 防护连体衣绿穿戴完整性「拿在手上」与「穿在身上」需按掩膜与人体重合度区分
NG4 防护目镜存在性反光强,需覆盖不同光照的样本
NG5 防护手套蓝紫存在性(左右各一)内层手套与外层手套形态相近,靠颜色 + 数量区分
为什么这一步不需要训练工程师驻场

依托 Transformer 少样本能力,新增一类目标只要 1–10 张现场帧,数分钟就能完成配置并看到结果。 补样本后点「迁移」做增量优化,不必推倒重训。 换产线、换更衣间时,类别与样本可以迁移复用,这也是同一套系统能覆盖多工位、多产线的原因。

03

怎么把像素变成「这一步做完了」

GPU 事件编排器
拖原语、连逻辑,不写代码

分割只负责看见像素,业务要的是「头罩戴好了」「连体衣穿上了」这种可判定事件。 事件本身在状态机里定义,判定逻辑在事件编排器里搭: 从原语库拖判定积木、在节点属性里选目标类别,再用「与 / 或 / 非」组合成成立条件。 改判定只动参数和连线,不必重训模型。

GPU 事件编排器界面:左侧原语库按全部、关系、逻辑、判定、信号分类,中间画布上两个物体存在原语经与门组合成防护连体衣确认事件,右侧为更衣 SOP 的六个事件清单与节点属性
图 2 GPU 事件编排器(双击张量流的「事件探测」节点进入)。图中在配 E2「防护连体衣确认」:连体衣存在头罩仍然存在,两个「物体存在」原语经「与 (AND)」组合。为什么要加第二个条件——只判连体衣的话,先脱头罩再穿衣也会算通过,而这是现场真实会发生的走样;把前提锁进事件比事后补规则更稳。右侧面板用张量记号标维度:事件张量 E ∈ R⁶,选中节点的参数为 P ∈ R³
原语(均标注为 GPU算子)怎么配本项目用在哪
物体存在目标类别(可多选)+ 检测区域 + 切图框E0–E2、E4:口罩 / 头罩 / 连体衣 / 目镜是否穿戴
物体不存在必选 1 个类别,无则触发「摘掉头罩」这类倒退动作的判定
数量检测比较模式(等于 / 大于 / 区间)+ 阈值E5:手套需左右各一,数量 = 2
速度检测运动速度阈值(px/s)+ 持续帧数E3:系鞋带这类动作事件,不看物体存在
宽度 / 角度检测长短轴比;参考角度与最大偏差可选加严,本项目暂未启用
与 (AND) / 或 (OR) / 非 (NOT)连线组合多个原语E2:连体衣存在 头罩存在
配置原则

一个事件只判一件事;先把分割调稳再动阈值。 误报优先加防抖帧数,漏报优先降最小掩膜面积与检出置信度。 目标类别下拉直接引用标注工具里定义的那 5 类,改判定不必碰模型。 事件之间可互相引用,若引用成环需改用「本轮锁存」而非「当前结果」。

04

怎么强制更衣顺序

状态机:把事件编成可验收手顺
漏步当场可见

顺序强制不靠额外写 NG 规则,而是靠「非预期事件一律自环」: 只有「当前状态 × 对应事件」这一格填了目标状态,流程才前进一步。 跳步不推进,缺步永远走不到终点。需要报警或写记录时,把动作 (A) 挂在对应转移上。 改手顺只改这份配置,不必重训分割模型。

状态机编辑器界面:状态图视图用七个圆形状态节点与带事件标签的连线定义更衣顺序,右侧为事件张量与状态动作张量清单,下方规则表以状态乘事件矩阵逐格设置目标状态
图 3 状态机编辑器,两个视图是同一份配置。上半「🎨 状态图」:7 个状态圆点串成更衣手顺,按住 Shift 从 A 拖到 B 即建立一条转移并选择事件;右侧两份清单用张量记号,事件张量 E ∈ R⁷(含一个「空事件」),状态-动作张量 S,A ∈ R⁷。下半「📊 规则表」:行为当前状态、列为事件,绿字格是目标状态,其余一律「↻ 自环」。这就是顺序强制的全部实现——没有一条 NG 规则,跳步自然走不通。

本项目的更衣 SOP 状态机

状态等待的事件事件怎么判走通后
S0 等待防护口罩E0 防护口罩确认物体存在(防护口罩)→ S1
S1 等待防护头罩E1 防护头罩确认物体存在(防护头罩)→ S2
S2 等待防护连体衣E2 防护连体衣确认连体衣存在 头罩存在→ S3
S3 等待系鞋带E3 系鞋带确认动作区速度 + 持续帧数→ S4
S4 等待防护目镜E4 防护目镜确认物体存在(防护目镜)→ S5
S5 等待防护手套E5 防护手套确认手套存在 数量 = 2→ S6 更衣完成
S6 更衣完成记 OK 并写入耗时与关键帧终点
SOP 变了怎么办

插一步(比如加手消毒):加一个状态 + 一个事件,去事件编排器给它搭判定逻辑,再在规则表里改两格目标状态。 调顺序:只改规则表里绿字格的位置。 换更衣间:状态机整份复制,分割类别沿用,补少量现场帧做迁移即可。 全过程不动模型,也不需要我们的算法人员在现场。

05

三层怎么串成一条流

张量流:相机 → 分割 → 事件探测 → 状态机 → 输出

前面三层不是三个独立工具,而是同一条张量流上的节点,在配置界面里拖出来连好即可。 整条流没有一行代码:节点从左侧节点库拖出,端口连线定数据流向,参数在节点里填。

张量流编辑器界面:视频接入、图像预处理、语义分割·防护用品、语义分割·动作、事件探测、状态机、事件输出七个节点排成一条主线加一条动作支线,右侧为更衣 SOP 的六个事件清单与当前状态
图 4 本项目配好的张量流。主线是视频接入 → 图像预处理 → 语义分割 → 事件探测 → 状态机 → 事件输出,下方支线单独分割「系鞋带动作区」再汇入事件探测——动作类事件看的是速度与持续帧数,和「物体存在」不是一套判法,所以分两个分割节点。右侧面板是状态机当前状态与 6 个事件,事件在状态机里定义、判定逻辑在事件探测节点里搭,两者始终对齐。
节点配什么为什么放在这一层
视频接入RTSP 地址、取流帧率、点位利旧现有 CCTV,视频只在本地流转
图像预处理去噪、增强、归一化更衣间光照差异大,先拉平再进模型
语义分割5 类防护用品,每类 1–10 张现场帧看见是模型的事,只在这里训
事件探测6 个事件的判定逻辑(原语 + 与或非)把像素翻译成业务语言,纯配置
状态机7 状态 × 7 事件的规则表顺序与验收标准都在这里,改动成本最低
事件输出OK/NG 事件、关键帧 + 短视频、旁路 HMI不进控制回路,满足合规要求
06

IT 要准备什么

一次性清单
不涉及生产网改造
说明谁负责
RTSP 地址与只读账号按点位给出流地址;只读即可甲方 IT
边缘服务器 / 智能体硬件带 GPU,放在视频能到达的机柜甲方采购或由我们提供
网络策略只拉视频、只推事件;不需要外网甲方 IT
存储与备份证据保留周期、配置文件备份策略双方确认
账号权限操作员 / 复核员 / 管理员三级甲方指定 + 平台配置
一拖多

一台边缘智能体可同时承载多路相机、多个张量流:更衣间、缓冲间、无菌操作台可以共用一台设备与一套配置界面。 新增工位主要是加相机、复制张量流、补少量现场帧,不需要新增一套系统。

Leo
视觉方案工程师 · 负责现场交付与配置

做了八年工业视觉的现场交付,从传统 AOI 调光源、试算子参数,一路调到今天用少量现场帧做配置。 经手过洁净区更衣行为、装配工序防错、包装线漏装这几类场景,习惯先在产线边看两天再动手写方案。

我的判断是:一套系统能不能复制,取决于现场的人改不改得动它。 所以更愿意把能力做成可配置的界面——新增一类目标补几张现场帧,改手顺只动状态机那张规则表, 而不是每次都要等算法的人回来重训一遍模型。这篇写的就是这套东西在更衣间里实际是怎么配出来的。

  • 语义分割标注
  • 事件编排
  • 状态机 SOP
  • 边缘部署