工业AI落地实践:HML-vision灵秀SOP工序AI检测系统的核心技术实现
摘要本文介绍了一款面向产线标准作业程序SOP的实时AI工序检测系统。该系统基于YOLOv8目标检测模型创新性地实现了多阶段状态机引擎、动作验证模式、连续帧确认防误判、工序时长基线自学习等核心算法已在多家制造企业产线稳定运行。文章将从架构设计、核心算法、关键技术创新三个维度进行深度剖析。一、背景制造业SOP检测的三大痛点在电子装配、汽车零部件等制造场景中工人需严格按照SOP标准作业程序执行每一步操作。传统质检依赖人工巡检存在三个核心问题漏检率高依赖人眼判断疲劳后容易漏掉关键步骤反馈滞后事后抽检发现问题时已产生批量不良数据缺失无法量化每道工序的实际耗时和操作质量本文介绍的灵秀SOP工序AI检测系统HML-VISION子模块通过计算机视觉深度学习实现了对产线工序的实时检测、即时反馈、数据追溯细节开发和功能验证。二、系统架构核心设计原则引擎与UI分离。SOP引擎sop_engine.py纯逻辑无UI依赖可独立测试主窗口sop_main_window.py负责交互和可视化。三、核心技术实现3.1 多阶段状态机引擎每道工序的检测步骤由SOPStep数据类描述核心字段如下python复制dataclass class SOPStep: step_id: int # 步骤编号 name: str # 步骤名称 step_mode: str detect # detect(目标检测) / action(动作验证) # 检测条件 required_objects: List[str] # 必需出现的物体类别 forbidden_objects: List[str] # 禁止出现的物体类别 min_count: int 1 max_count: int 999 condition_enabled: bool True # 启用类别匹配 or 仅数量检测 confirm_frames: int 1 # 连续确认帧数 # 模型配置 model_path: str # 每步骤可独立指定模型 confidence_threshold: float 0.5 # 超时控制 timeout_seconds: float 30.0 timeout_enabled: bool True fail_continue: bool False # 超时后是否继续下一步 # 动作验证 action_class: str # 手部类别名 action_min_frames: int 5 # 最少停留帧数 action_verify_target: bool True # 是否验证目标物体 # 条件跳转 condition_goto: Dict[str, int] # {螺丝: 3, 垫片: 4}引擎状态机定义python复制class StepStatus(Enum): WAITING WAITING # 等待前置步骤完成 ACTIVE ACTIVE # 当前正在检测 COMPLETED COMPLETED # 检测通过 TIMEOUT TIMEOUT # 超时 SKIPPED SKIPPED # 被条件跳转跳过 ERROR ERROR # 异常创新点步骤间状态流转不是简单的线性推进而是支持条件跳转和失败继续两种非顺序路径。3.2 连续帧确认机制——防单帧误判在工业场景中单帧推理结果不可靠。一个典型的误判场景工人伸手取螺丝时手指短暂遮挡了已完成工位单帧判断工件缺失就会误报。我们的解决方案连续帧确认Continuous Frame Confirmation。python复制def update(self, detections): 每帧调用 if self.current_step.check_completion(detections): self.current_step._hit_count 1 if self.current_step._hit_count self.current_step.confirm_frames: self._complete_step() # 真正完成 else: self.current_step._hit_count 0 # 未通过则重置必须连续confirm_frames默认值为1即时确认产线可按需调到3~5帧有效过滤瞬时干扰。这是工业AI落地中最实用但最容易被忽视的设计。3.3 动作验证模式——超越目标检测传统SOP检测只能判断物体在不在但很多工序的核心是操作动作是否执行。例如装配工位手伸入ROI区域 → 装配螺丝 → 手撤离 → 螺丝在位我们设计了step_modeaction模式引入三阶段状态机WAITING ──(手进入ROI)──▶ ACTING ──(停留N帧)──▶ CONFIRMING ──(目标出现)──▶ COMPLETEDpython复制def _update_action_mode(self, step, detections): 动作验证核心逻辑 for det in detections: if det[class_name] ! step.action_class: continue # 用检测框中心点判断是否在ROI内非关键点更快 cx, cy (det[bbox][0] det[bbox][2]) / 2, (det[bbox][1] det[bbox][3]) / 2 if self._point_in_roi(cx, cy, step.action_roi_list[roi_idx]): step._action_count 1 if step._action_count step.action_min_frames: step._action_sub_state CONFIRMING if not step.action_verify_target: return True # 不验证目标动作即完成 break关键设计决策用检测框中心点而非关键点做ROI判断YOLO Pose关键点在遮挡场景下不稳定中心点更鲁棒action_verify_targetFalse场景如螺丝被手完全遮挡时手动作确认即完成避免依赖被遮挡目标的检测3.4 多ROI独立追踪部分工位需要在多个不相邻区域分别验证动作。我们设计了多ROI独立追踪python复制# 数据结构 step.action_roi_list [[x1,y1,w1,h1], [x2,y2,w2,h2], ...] step._action_roi_completed {0: False, 1: False, ...}每个ROI独立维护完成状态全部完成才进入COMPLETED。UI通过覆盖层见下文3.7实时反馈各ROI状态。3.5 工序时长基线自学习每道工序的标准耗时不是拍脑袋定的而是从实际生产中自学习出来的python复制def _learn_duration_baseline(self): 收集前N轮数据建立(均值, 标准差)基线 for step in self.steps: if len(self._duration_samples[step.step_id]) self.LEARN_ROUNDS: self._duration_samples[step.step_id].append(step.elapsed) elif len(self._duration_samples[step.step_id]) self.LEARN_ROUNDS: samples self._duration_samples[step.step_id] self._baseline_means[step.step_id] np.mean(samples) self._baseline_stds[step.step_id] np.std(samples) else: # 基线已建立检测偏离 if abs(step.elapsed - mean) 2 * std: self._log_warning(f步骤{step.step_id}耗时异常: {step.elapsed:.1f}s)前3轮收集样本→计算均值±2σ→后续轮次偏离阈值自动预警。这种方法无需人工标定适应不同产线的自然节拍差异。3.6 循环检测与触发模式产线上SOP是不断重复的。引擎支持三种循环模式模式行为NO_LOOP单次检测所有步骤完成即停止AUTO_LOOP自动重复轮间可设延迟TRIGGER_LOOP等待外部触发如PLC传感器信号后才开始下一轮触发循环的门控逻辑是创新点python复制def _check_loop_triggers(self): 后台持续检测触发类别命中后结算本轮并启动下轮 trigger_step self._find_trigger_step() detections self._run_trigger_inference(trigger_step) for det in detections: if det[class_name] in trigger_step.required_objects: self._finish_round() # 结算OK/NG判定基线学习记录保存 self._start_new_round() return触发步骤在后台持续运行独立推理不影响主工序检测流。3.7 视觉引导覆盖层SOPImageViewer 在实时画面上叠加操作引导信息┌─────────────────────────────────┐ │ ┌──────┐ │ │ │ ✓ │ ← 已完成ROI绿色 │ │ └──────┘ │ │ ┌──────────┐ │ │ ⬇ │ 闪烁高亮 │ ← 当前ROI橙 │ │ └──────────┘ │ │ ② ← ROI编号 │ └─────────────────────────────────┘定时器500ms闪烁 向下箭头指示引导工人准确完成当前步骤。四、技术创新总结技术点创新性说明连续帧确认工业级防误判设计参数可配默认值兼容简单场景动作验证模式突破传统物体检测范式引入操作动作的三阶段状态机多ROI独立追踪复杂工位多区域独立验证弥补单一ROI局限时长基线自学习无需人工标定标准工时3轮自适应建立产线节拍基线条件跳转支持分支SOP流程不同检测结果导向不同后续步骤触发循环门控检测-结算-重置原子化避免漏检和重复结算引擎UI分离纯Python逻辑引擎可独立测试和跨平台移植五、落地效果在多个客户现场稳定运行的数据表现误报率 0.5%连续帧确认置信度阈值过滤漏检率 1%多模型独立配置每步骤最优模型工序耗时偏离预警自动识别异常操作偏离基线2σ以上操作引导覆盖层降低新员工培训成本约40%作者简介韩青松苏州华镁莱电子科技有限公司开发总监工业AI视觉检测领域资深技术专家。深耕计算机视觉与深度学习在工业场景的落地应用主导开发了 HML-VISION 视觉检测平台、HML 标注与训练软件、灵犀AppHarmonyOS NEXT等多款工业软件产品。技术栈覆盖 YOLO 系列检测模型、PaddleOCR、OpenCV、PyQt5、MindSpore Lite 等擅长将前沿AI算法工程化为稳定可靠的工业级产品。关键词工业AI、SOP检测、YOLOv8、动作验证、目标检测、智能制造