销售热线:

4000-900-632
科创致远软件 > 新闻中心 > 技术新闻 >

工厂流水线员工加工动作识别 / 行为识别**的完整方案

工厂流水线员工加工动作识别 / 行为识别**的完整方案。工业场景通常存在:动作幅度小、遮挡多、多人同框、节拍固定、摄像头固定、需要实时告警或统计等特点,因此不建议只用单一的视频分类模型,而是采用“检测 + 跟踪 + 姿态/视频时序识别 + 业务规则”的组合方案。
 
---
 
# 一、推荐采用哪类视频识别算法?
 
## 结论推荐
 
对于工厂流水线员工动作识别,优先推荐以下三类方案:
 
| 方案 | 核心算法 | 适用场景 | 推荐程度 |
|---|---|---|---|
| 方案一 | 人体检测 + 跟踪 + 姿态估计 + 骨架动作识别 | 动作主要由人体姿态决定,例如拿取、弯腰、伸手、转身、装配 | ★★★★★ |
| 方案二 | 视频时序模型,例如 SlowFast、TSM、Video Swin Transformer | 动作和手部、工具、物料强相关,例如打螺丝、焊接、贴标、扫码 | ★★★★☆ |
| 方案三 | 检测/分割 + 规则引擎 + 时序状态机 | 工序标准化强,动作有明确顺序,例如取料-加工-放料-确认 | ★★★★★ |
 
实际项目中最稳妥的是:
 
> **人体检测 YOLOv8/YOLOv10 + 跟踪 ByteTrack/DeepSORT + 姿态估计 RTMPose/HRNet + ST-GCN/CTR-GCN 骨架动作识别 + 业务规则状态机**
 
如果动作和具体物体强相关,再补充:
 
> **Video Swin Transformer / SlowFast / TSM 等视频动作识别模型**
 
---
 
# 二、典型识别目标有哪些?
 
在流水线场景中,行为识别通常分为几类:
 
## 1. 标准加工动作识别
 
例如:
 
- 取料
- 放料
- 装配
- 拧螺丝
- 焊接
- 打磨
- 检查
- 包装
- 扫码
- 贴标
- 按按钮
- 搬运
- 弯腰取物
- 伸手取件
 
## 2. 工序合规性判断
 
例如:
 
- 是否按顺序完成操作
- 是否漏操作
- 是否超时
- 是否提前拿料
- 是否未扫码直接装配
- 是否没有做质检动作
- 是否未佩戴手套/安全帽
- 是否进入危险区域
 
## 3. 异常行为识别
 
例如:
 
- 离岗
- 打电话
- 抽烟
- 摔倒
- 长时间静止
- 非法闯入
- 未按节拍操作
- 重复动作异常
- 操作不到位
 
---
 
# 三、推荐总体技术架构
 
## 1. 视频输入层
 
摄像头采集:
 
- 固定工位摄像头
- 俯视摄像头
- 侧视摄像头
- 工业相机
- RTSP 网络摄像头
 
建议:
 
- 分辨率:1080P 起步
- 帧率:15~25 FPS 通常足够
- 摄像头位置尽量固定
- 避免强背光和严重遮挡
- 一个摄像头尽量覆盖一个或少数几个工位
 
---
 
## 2. 人员检测
 
目标是检测画面中的员工位置。
 
可选模型:
 
- YOLOv8
- YOLOv10
- YOLO11
- RT-DETR
- PP-YOLOE
 
推荐:
 
> **YOLOv8n / YOLOv8s / YOLOv10s**
 
理由:
 
- 工业部署成熟
- 检测速度快
- 精度够用
- 支持 TensorRT、ONNX、OpenVINO 部署
 
输出:
 
```text
人员框 bbox = [x1, y1, x2, y2]
置信度 score
类别 person
```
 
---
 
## 3. 多目标跟踪
 
目标是给每个员工分配稳定 ID。
 
可选算法:
 
- ByteTrack
- DeepSORT
- OC-SORT
- BoT-SORT
 
推荐:
 
> **ByteTrack 或 BoT-SORT**
 
理由:
 
- 实时性好
- 工业场景摄像头固定,跟踪稳定
- 与 YOLO 组合成熟
 
输出:
 
```text
员工ID:person_id
位置框:bbox
轨迹:trajectory
```
 
---
 
## 4. 人体姿态估计
 
对每个员工提取人体关键点,例如头、肩、肘、腕、髋、膝、踝等。
 
可选算法:
 
- OpenPose
- HRNet
- RTMPose
- ViTPose
- AlphaPose
- MediaPipe Pose
 
推荐:
 
> **RTMPose 或 HRNet**
 
如果需要实时部署:
 
> **RTMPose-tiny / RTMPose-s / RTMPose-m**
 
输出示例:
 
```text
17个人体关键点:
nose
left_eye
right_eye
left_shoulder
right_shoulder
left_elbow
right_elbow
left_wrist
right_wrist
left_hip
right_hip
left_knee
right_knee
left_ankle
right_ankle
...
```
 
姿态数据格式:
 
```text
person_id, frame_id, keypoints[x, y, confidence]
```
 
---
 
## 5. 动作识别模型
 
这是核心部分。
 
### 方案 A:骨架动作识别模型
 
输入是连续多帧人体关键点序列。
 
常用模型:
 
- ST-GCN
- 2s-AGCN
- MS-G3D
- CTR-GCN
- ST-GCN++
- PoseC3D
 
推荐:
 
> **CTR-GCN 或 ST-GCN++**
 
优势:
 
- 对背景变化不敏感
- 对工厂光照、设备颜色变化不敏感
- 计算量小
- 适合实时部署
- 对人体大动作识别效果好
 
输入:
 
```text
T 帧人体关键点序列
例如 32帧、48帧、64帧
```
 
输出:
 
```text
动作类别:
取料、放料、弯腰、伸手、转身、离岗、站立、装配等
```
 
适合识别:
 
- 伸手
- 弯腰
- 转身
- 抬手
- 走动
- 离开工位
- 搬运
- 放置
- 整体姿态动作
 
不足:
 
- 对细粒度手部动作识别不够强
- 如“拧螺丝”和“插接线”可能姿态相似,仅靠骨架难区分
 
---
 
### 方案 B:RGB 视频动作识别模型
 
输入是连续视频片段。
 
常用模型:
 
- SlowFast
- TSM
- I3D
- X3D
- Video Swin Transformer
- TimeSformer
- MViT
- UniFormerV2
 
推荐:
 
实时要求高:
 
> **TSM / X3D / MobileViT-based Video Model**
 
精度优先:
 
> **SlowFast / Video Swin Transformer**
 
优势:
 
- 能识别工具、手部、物料等细节
- 适合“打螺丝、焊接、扫码、贴标、装配”等动作
- 对细粒度行为更有效
 
不足:
 
- 需要更多数据
- 计算量较大
- 对背景、光照、摄像头角度敏感
- 换产线后可能需要重新训练或微调
 
---
 
### 方案 C:人体姿态 + 物体检测 + 规则状态机
 
工业项目中非常实用。
 
例如识别一个标准工序:
 
```text
取零件 → 放到治具 → 拧螺丝 → 检查 → 放到传送带
```
 
单靠视频分类模型很难稳定判断“流程是否合规”,更推荐做成状态机。
 
需要检测的对象:
 
- 工件
- 工具
- 螺丝刀
- 扫码枪
- 按钮
- 箱子
- 料盒
- 治具
- 危险区域
- 员工手部
 
可使用:
 
- YOLOv8/YOLOv10 检测物体
- YOLOv8-seg 分割区域
- 手部检测模型
- 关键区域 ROI 判断
- 轨迹分析
 
规则示例:
 
```text
如果员工手腕关键点进入料盒区域,持续 0.5 秒以上,判定为“取料”
如果手腕移动到治具区域,并且工件检测框出现在治具内,判定为“放料”
如果检测到电批/螺丝刀,并且手部在治具区域周期性停留,判定为“拧螺丝”
如果扫码枪出现在产品二维码区域附近,判定为“扫码”
如果某个步骤超过标准时间,判定为“超时”
如果跳过某个步骤,判定为“漏操作”
```
 
优点:
 
- 可解释性强
- 业务方容易接受
- 误报可通过规则调节
- 适合工厂 SOP 管理
 
---
 
# 四、推荐最终方案
 
## 方案名称
 
**基于人体姿态、目标检测和时序模型的流水线员工行为识别系统**
 
---
 
## 1. 算法组合
 
推荐组合如下:
 
```text
视频流
 ↓
YOLOv8/YOLOv10 人员检测
 ↓
ByteTrack/BoT-SORT 员工跟踪
 ↓
RTMPose 人体姿态估计
 ↓
动作识别:
   A. CTR-GCN / ST-GCN++ 骨架动作识别
   B. SlowFast / Video Swin 细粒度视频动作识别
 ↓
物体检测:
   工件、工具、按钮、扫码枪、料盒、治具
 ↓
时序状态机 / 规则引擎
 ↓
输出:
   动作类别、开始时间、结束时间、是否合规、异常告警
```
 
---
 
# 五、详细实施流程
 
## 第一步:明确业务动作类别
 
先不要直接训练模型,必须先定义动作体系。
 
例如某工位动作:
 
| 编号 | 动作名称 | 动作描述 | 是否关键动作 |
|---|---|---|---|
| A1 | 取料 | 手进入料盒并拿出工件 | 是 |
| A2 | 放料 | 将工件放入治具 | 是 |
| A3 | 装配 | 双手在治具区域操作 | 是 |
| A4 | 拧螺丝 | 使用电批/螺丝刀加工 | 是 |
| A5 | 扫码 | 手持扫码枪靠近二维码 | 是 |
| A6 | 检查 | 低头查看工件或拿起检查 | 是 |
| A7 | 放入传送带 | 将工件放到传送带 | 是 |
| A8 | 等待 | 员工静止等待 | 否 |
| A9 | 离岗 | 人员离开工位 | 异常 |
| A10 | 弯腰 | 弯腰取物或异常姿态 | 视场景 |
 
建议:
 
- 每个工位单独定义动作
- 不同工位不要一开始混在一起训练
- 先做 5~10 类动作,不要一开始做太多类别
- 把动作定义写成标注规范
 
---
 
## 第二步:视频数据采集
 
采集要求:
 
- 每个动作至少 200~500 个片段
- 每类动作最好覆盖不同员工、不同班次、不同光照
- 每个工位至少采集 1~2 天视频
- 包括正常操作和异常操作
- 保留摄像头原始角度,不要频繁调整
 
建议数据量:
 
| 项目阶段 | 数据量 |
|---|---|
| PoC 验证 | 每类动作 50~100 段 |
| 初版上线 | 每类动作 300~500 段 |
| 稳定生产 | 每类动作 1000 段以上更好 |
 
---
 
## 第三步:数据标注
 
需要标注的内容:
 
### 1. 人员框
 
如果使用预训练 YOLO,一般不用标注人员框,除非工厂环境很特殊。
 
### 2. 动作时间段
 
动作识别必须标注:
 
```text
视频ID
员工ID
动作类别
开始时间
结束时间
```
 
示例:
 
```text
video_001.mp4, person_01, 取料, 00:01:05.200, 00:01:06.500
video_001.mp4, person_01, 放料, 00:01:06.600, 00:01:07.800
video_001.mp4, person_01, 拧螺丝, 00:01:08.000, 00:01:12.000
```
 
### 3. 物体标注
 
如果要做工件、工具、扫码枪识别,需要标注目标框:
 
```text
tool
part
tray
button
fixture
scanner
glove
helmet
```
 
### 4. 区域 ROI 标注
 
例如:
 
- 料盒区域
- 治具区域
- 传送带区域
- 危险区域
- 操作台区域
 
这些区域可在前端手动圈定,不一定需要训练。
 
---
 
# 六、模型选择建议
 
## 1. 如果动作较大、强调实时性
 
例如:
 
- 离岗
- 弯腰
- 伸手
- 抬手
- 搬运
- 取放
- 转身
 
推荐:
 
```text
YOLOv8 + ByteTrack + RTMPose + ST-GCN++
```
 
优点:
 
- 快
- 稳
- 数据需求相对少
- 可解释性较好
 
---
 
## 2. 如果动作细粒度强
 
例如:
 
- 拧螺丝
- 焊接
- 点胶
- 插线
- 贴标
- 扫码
- 检查缺陷
 
推荐:
 
```text
YOLOv8 + ByteTrack + Video Swin Transformer / SlowFast
```
 
或者:
 
```text
RTMPose + PoseC3D + 工具检测
```
 
建议不要只靠人体骨架,要加入:
 
- 手部区域图像
- 工具检测
- 工件位置
- ROI 区域
- 动作持续时间
 
---
 
## 3. 如果是判断工序是否合规
 
推荐:
 
```text
动作识别模型 + 物体检测 + 时序状态机
```
 
例如:
 
```text
取料 → 放料 → 拧螺丝 → 质检 → 放传送带
```
 
可用状态机判断:
 
- 步骤是否完整
- 顺序是否正确
- 每步耗时是否正常
- 是否重复操作
- 是否漏操作
 
---
 
# 七、具体模型配置建议
 
## 推荐配置 1:实时轻量版
 
适合边缘设备部署,例如工厂本地工控机。
 
```text
人员检测:YOLOv8n / YOLOv8s
跟踪:ByteTrack
姿态估计:RTMPose-tiny / RTMPose-s
动作识别:ST-GCN / ST-GCN++
物体检测:YOLOv8n
部署:TensorRT / ONNX Runtime
硬件:NVIDIA RTX 3060 / 4060 / Jetson Orin
```
 
特点:
 
- 实时性好
- 成本较低
- 适合 1~4 路摄像头
 
---
 
## 推荐配置 2:高精度版
 
适合复杂工序、动作细粒度识别。
 
```text
人员检测:YOLOv8m / YOLOv10m
跟踪:BoT-SORT
姿态估计:RTMPose-m / HRNet
动作识别:CTR-GCN + SlowFast / Video Swin
物体检测:YOLOv8s/m
部署:TensorRT
硬件:RTX 4070 / 4080 / A4000 / A5000
```
 
特点:
 
- 精度高
- 可识别复杂动作
- 成本较高
 
---
 
## 推荐配置 3:工序合规版
 
适合 SOP 流程检测。
 
```text
人员检测:YOLOv8
手部/工具/工件检测:YOLOv8
人体姿态:RTMPose
动作初识别:ST-GCN 或 TSM
工序判断:状态机 + 规则引擎
告警逻辑:超时、漏步、乱序、离岗
```
 
特点:
 
- 更适合真实工业落地
- 误报可调
- 可解释性强
- 方便与 MES/ERP 系统对接
 
---
 
# 八、系统输出结果设计
 
系统不应该只输出“动作类别”,还应该输出完整事件。
 
示例:
 
```json
{
  "camera_id": "cam_01",
  "station_id": "line_A_station_03",
  "person_id": "worker_02",
  "action": "拧螺丝",
  "start_time": "2026-05-04 10:21:03.200",
  "end_time": "2026-05-04 10:21:08.600",
  "duration": 5.4,
  "confidence": 0.93,
  "is_standard": true,
  "abnormal_type": null
}
```
 
异常示例:
 
```json
{
  "camera_id": "cam_01",
  "station_id": "line_A_station_03",
  "person_id": "worker_02",
  "event": "漏操作",
  "missing_step": "扫码",
  "confidence": 0.88,
  "alarm_level": "medium"
}
```
 
---
 
# 九、训练流程
 
## 1. 数据预处理
 
包括:
 
- 视频抽帧
- 人员检测
- 人员跟踪
- 姿态关键点提取
- 动作片段切分
- 数据增强
 
数据增强可以包括:
 
- 亮度变化
- 裁剪
- 水平翻转
- 时间采样
- 速度扰动
- 关键点噪声扰动
 
---
 
## 2. 骨架动作模型训练
 
输入:
 
```text
N × C × T × V × M
```
 
含义:
 
- N:样本数
- C:坐标维度,例如 x,y,score
- T:时间帧数,例如 32/48/64
- V:关键点数量,例如 17
- M:人数,通常每个员工单独处理,所以 M=1
 
输出:
 
```text
动作类别概率
```
 
训练模型:
 
```text
ST-GCN++
CTR-GCN
PoseC3D
```
 
损失函数:
 
```text
Cross Entropy Loss
```
 
评价指标:
 
- Top-1 Accuracy
- Precision
- Recall
- F1-score
- Confusion Matrix
- 动作起止时间误差
 
---
 
## 3. RGB 视频模型训练
 
输入:
 
```text
连续 8/16/32/64 帧 RGB 图像
```
 
模型:
 
```text
TSM
SlowFast
Video Swin Transformer
X3D
```
 
建议:
 
- 从 Kinetics 预训练模型微调
- 不要从零开始训练
- 对每个员工 ROI 裁剪后输入模型,而不是整幅图直接输入
 
训练策略:
 
```text
先用公开视频预训练权重
再用工厂数据 fine-tune
最后做边缘部署优化
```
 
---
 
# 十、实时推理流程
 
实时推理可以按滑动窗口进行。
 
例如:
 
```text
摄像头 25 FPS
每 4 帧抽 1 帧
动作窗口长度 32 帧
窗口覆盖约 5 秒
每 0.5 秒输出一次动作结果
```
 
流程:
 
```text
1. 获取视频帧
2. 检测人员
3. 跟踪员工ID
4. 提取该员工关键点
5. 累积最近 T 帧关键点
6. 输入 ST-GCN/CTR-GCN
7. 输出动作概率
8. 使用平滑策略过滤抖动
9. 结合 ROI、工具检测、状态机判断
10. 输出事件和告警
```
 
---
 
# 十一、后处理与误报控制
 
动作识别很容易出现抖动,例如:
 
```text
取料 → 取料 → 放料 → 取料 → 放料
```
 
所以必须做后处理。
 
## 常用方法
 
### 1. 时间平滑
 
连续 N 次识别为同一动作才确认。
 
```text
连续 3~5 个窗口识别为“拧螺丝”,才确认动作开始
```
 
### 2. 最小持续时间
 
例如:
 
```text
拧螺丝持续时间必须 > 1.5 秒
扫码持续时间必须 > 0.5 秒
离岗持续时间必须 > 3 秒
```
 
### 3. ROI 约束
 
例如:
 
```text
只有手腕进入料盒区域,才可能判定为取料
只有工具靠近治具区域,才可能判定为拧螺丝
```
 
### 4. 状态机约束
 
例如:
 
```text
如果还没有“取料”,不能直接进入“放料”
如果没有“放料”,不能进入“拧螺丝”
如果没有“扫码”,不能进入“完成”
```
 
---
 
# 十二、工序状态机示例
 
假设一个工位流程为:
 
```text
等待 → 取料 → 放料 → 加工 → 检查 → 放入传送带 → 完成
```
 
状态机逻辑:
 
```text
State 0: 等待
  检测到手进入料盒区域 → State 1: 取料
 
State 1: 取料
  检测到工件进入治具区域 → State 2: 放料
 
State 2: 放料
  检测到工具进入治具区域且持续2秒 → State 3: 加工
 
State 3: 加工
  加工持续时间在标准范围内 → State 4: 检查
 
State 4: 检查
  检测到员工低头/拿起工件查看 → State 5: 放入传送带
 
State 5: 放入传送带
  工件离开治具且进入传送带区域 → State 6: 完成
```
 
异常规则:
 
```text
超过标准节拍时间 → 超时
跳过某状态 → 漏操作
状态顺序错误 → 乱序
人员离开工位 → 离岗
危险区域有人体进入 → 安全告警
```
 
---
 
# 十三、部署方案
 
## 1. 边缘端部署
 
适合工厂现场实时识别。
 
硬件:
 
- NVIDIA Jetson Orin
- RTX 3060/4060 工控机
- RTX 4070/4080 工控机
- Intel CPU + OpenVINO,适合轻量模型
 
软件:
 
- Python/C++
- OpenCV
- PyTorch
- ONNX Runtime
- TensorRT
- DeepStream
- FastAPI
- Redis/Kafka
- MySQL/PostgreSQL
 
部署架构:
 
```text
摄像头 RTSP
 ↓
边缘AI分析盒/工控机
 ↓
模型推理
 ↓
事件缓存
 ↓
上传服务器/MES系统
 ↓
前端看板/告警系统
```
 
---
 
## 2. 云端/服务器部署
 
适合多路视频集中处理。
 
架构:
 
```text
多路摄像头
 ↓
视频流媒体服务器
 ↓
AI推理服务器
 ↓
事件数据库
 ↓
可视化平台
```
 
注意:
 
- 多路高清视频上传会占用大量带宽
- 工厂现场通常更推荐边缘端处理,只上传结果
 
---
 
# 十四、硬件算力建议
 
## 单路摄像头实时分析
 
轻量方案:
 
```text
RTX 3060 / RTX 4060
YOLOv8s + RTMPose-s + ST-GCN
可处理约 2~4 路 1080P,具体看帧率和模型大小
```
 
## 多路摄像头
 
```text
4~8 路:RTX 4070 / RTX 4080 / A4000
8~16 路:A5000 / A6000 / L40S
```
 
如果使用 Video Swin/SlowFast,算力要求明显增加。
 
---
 
# 十五、精度目标建议
 
工业项目不要只看分类准确率,还要看事件级准确率。
 
建议指标:
 
| 指标 | 目标 |
|---|---|
| 人员检测准确率 | > 95% |
| 跟踪 ID 稳定率 | > 90% |
| 姿态关键点可用率 | > 90% |
| 动作识别 Top-1 | > 85% |
| 关键动作召回率 | > 90% |
| 异常漏报率 | 尽量低,通常比误报更重要 |
| 事件起止时间误差 | < 1 秒 |
| 实时延迟 | < 1~2 秒 |
 
---
 
# 十六、常见难点和解决办法
 
## 1. 手部小动作难识别
 
例如拧螺丝、插线、点胶。
 
解决:
 
- 增加近景摄像头
- 加入手部检测
- 加入工具检测
- 使用 RGB 视频模型
- 对员工手部区域做局部裁剪识别
 
---
 
## 2. 遮挡严重
 
解决:
 
- 调整摄像头角度
- 使用俯视 + 侧视双摄
- 使用多摄像头融合
- 重点识别关键区域,而不是全身
 
---
 
## 3. 不同员工动作差异大
 
解决:
 
- 多员工数据采集
- 数据增强
- 使用姿态模型提升泛化
- 使用状态机降低模型不稳定影响
 
---
 
## 4. 换工位、换产品后模型失效
 
解决:
 
- 每个工位建立动作模板
- 用少量数据微调
- 物体检测和 ROI 规则参数化
- 建立模型持续学习机制
 
---
 
## 5. 动作边界难判断
 
解决:
 
- 使用滑动窗口
- 使用 Temporal Action Localization
- 后处理平滑
- 状态机判断开始/结束
 
可考虑模型:
 
```text
TCN
MS-TCN
ActionFormer
BMN
TadTR
```
 
如果需要准确识别动作开始和结束,建议加入:
 
> **时序动作定位 Temporal Action Localization**
 
---
 
# 十七、是否需要用大模型?
 
如果只是普通动作识别,不建议直接依赖视觉大模型做实时生产识别,原因是:
 
- 延迟高
- 成本高
- 稳定性和可控性不如专用模型
- 工业实时部署困难
 
但大模型可用于辅助:
 
- 自动生成标注说明
- 视频片段初步描述
- 异常事件总结
- 质检报告生成
- 让管理人员自然语言查询数据
 
生产实时识别仍建议使用:
 
```text
YOLO + Pose + Action Recognition + Rule Engine
```
 
---
 
# 十八、项目落地建议路线
 
## 阶段一:PoC 验证,2~4 周
 
目标:
 
- 选择 1 个工位
- 识别 5~8 个关键动作
- 验证摄像头角度、算法可行性、误报情况
 
工作:
 
```text
采集视频 1~2 天
标注动作片段
训练初版模型
部署测试
输出识别结果和准确率报告
```
 
---
 
## 阶段二:试点上线,1~2 个月
 
目标:
 
- 接入 2~5 个工位
- 支持实时识别和告警
- 与看板或 MES 对接
 
工作:
 
```text
完善数据集
增加异常样本
加入状态机规则
优化模型速度
上线边缘设备
```
 
---
 
## 阶段三:规模化部署,3~6 个月
 
目标:
 
- 多产线、多工位复制
- 模型持续学习
- 建立动作标准库和异常事件库
 
工作:
 
```text
统一摄像头安装规范
统一动作标注规范
统一事件接口
建立数据闭环
持续优化模型
```
 
---
 
# 十九、推荐技术栈
 
## 模型训练
 
```text
PyTorch
MMAction2
MMPose
MMDetection
Ultralytics YOLO
OpenMMLab
```
 
## 推理部署
 
```text
ONNX Runtime
TensorRT
NVIDIA DeepStream
OpenCV
FastAPI
Redis
Kafka
```
 
## 数据标注
 
```text
CVAT
Label Studio
VIA
Roboflow
```
 
## 数据库
 
```text
PostgreSQL
MySQL
MongoDB
MinIO
```
 
## 前端展示
 
```text
Vue / React
WebSocket
ECharts
```
 
---
 
# 二十、最终推荐方案总结
 
如果你要做一个真实可落地的工厂流水线员工行为识别系统,我建议采用:
 
```text
YOLOv8/YOLOv10 人员和物体检测
+
ByteTrack/BoT-SORT 多目标跟踪
+
RTMPose 人体姿态估计
+
CTR-GCN / ST-GCN++ 骨架动作识别
+
SlowFast / Video Swin 细粒度动作补充
+
ROI 区域规则
+
工序状态机
```
 
其中:
 
- **大动作、姿态类行为**:用 `RTMPose + ST-GCN++ / CTR-GCN`
- **工具/物料相关动作**:用 `YOLO物体检测 + SlowFast/Video Swin`
- **工序是否合规**:用 `状态机 + 规则引擎`
- **实时部署**:用 `ONNX/TensorRT + 边缘工控机`
 
最推荐的工程架构是:
 
```text
检测员工 → 跟踪员工 → 提取姿态 → 识别动作 → 检测工具/物料 → 结合ROI和工序状态机 → 输出事件和告警
```
 
这样既能保证识别准确率,也能保证工业场景中的稳定性、可解释性和可部署性。
产品方案 预约演示 价格咨询