工业场景下的工业视觉监控
介绍
工业和工地安全依赖于实时了解现场正在发生的事情——而不是事后回看。摄像头无处不在,但大多数系统仍然依赖人工回放审查。工业视觉 AI 填补了这一空白:检测工人是否在场、是否佩戴必需的 PPE(个人防护装备)、画面中是否出现不安全行为,并在边缘侧立即发出告警。
本 Wiki 在 Seeed 工业 Jetson 设备上部署一个参考性的工业安全监控演示。USB 摄像头将画面推送到浏览器;YOLO 负责人员和 PPE 检测,而 VLM 用于分析行为风险。两类模型都可以替换——该仓库只是一个起点,而不是绑定到某个固定 checkpoint。
已在 reComputer Industrial J4012 和 reServer Industrial J4011 上使用 JetPack 7.2 验证。
概览
| 层 | 角色 |
|---|---|
| YOLO | 人员检测(绿色框)以及缺少安全帽或反光背心等 PPE 违规(红色框) |
| VLM | 场景级行为告警——使用手机、吸烟、跌倒、火焰/烟雾等 |
在浏览器中打开 http://<jetson-ip>:8080,即可查看实时 WebRTC 视频、检测框叠加和告警信息流。
支持的硬件
| 项目 | 配置 |
|---|---|
| 设备 | reComputer Industrial, reServer Industrial |
| 已验证 | reComputer Industrial J4012, reServer Industrial J4011 · JetPack 7.2 (L4T 39.2.0) |
| JetPack | 已验证 7.2 · 预期兼容 6.2 · 低于 6.2 需要手动提供 PyTorch 轮子包 |
| 内存 / 磁盘 | 至少 8 GB 内存 · 8 GB 可用磁盘空间 |
| 摄像头 | USB UVC / V4L2 (/dev/video*) |
已在 reComputer Industrial J4012 和 reServer Industrial J4011 上使用 JetPack 7.2 测试。对于其他 JetPack 版本匹配的 Seeed 工业 Jetson 设备,同样适用这些步骤。
安装
在目标 Jetson 上克隆仓库并运行一键脚本:
git clone https://github.com/xbs0325/industrial-inspection.git
cd industrial-inspection
./run.sh
./run.sh 会在缺失时复制 .env,下载模型,构建 Docker 镜像(首次运行 15–30 分钟),并启动容器。

然后打开:
http://<jetson-ip>:8080
应用完全运行在 Docker 中——默认流程下,无需在宿主机上手动配置 Python 环境。
JetPack 说明
| JetPack | PyTorch |
|---|---|
| 7.2 | 在 Docker 构建过程中自动安装(TORCH_INDEX_URL=cu130) |
| 6.2 | 将 TORCH_INDEX_URL 设置为你的 CUDA 12.x 索引,或将匹配的轮子包放入 wheels/ |
| 低于 6.2 | 在运行 ./run.sh 前,将与 Jetson 匹配的 torch-*.whl / torchvision-*.whl 放入 wheels/ |
在修改与 JetPack 相关的文件后,请在目标设备上重新构建:
./clean.sh && ./run.sh
有关轮子包来源,请参阅 Install Pytorch for reComputer Jetson。
不要在 JetPack 或 CUDA 版本不同的设备之间拷贝 Docker 镜像。务必在目标 Jetson 上重新构建。
可选的 .env 调优
CAMERA_PIPELINE=sw # sw (default) or hw
演示结果


摄像头画面开始推流前的空闲界面。

VLM 行为告警——在作业区域使用手机。

YOLO PPE 告警——未佩戴安全帽。
本演示中使用的模型
默认发行版附带以下 checkpoint。你可以通过更新仓库配置和 models/ 目录,将它们替换为其他 YOLO 或 VLM 模型。
| 角色 | 默认模型 | 文件 |
|---|---|---|
| 人员检测 | YOLOv8n | models/yolov8n.onnx |
| PPE 检测 | YOLOv8 PPE | models/ppe-yolov8n.pt |
| 行为分析 | SmolVLM-500M-Instruct | models/SmolVLM-500M-Instruct/ |
模型会在首次运行 ./run.sh 时自动下载,或通过 ./scripts/download_models.sh 手动下载。
停止与清理
./clean.sh # stop containers and remove local image
./clean.sh --full # also remove models/, data/, bin/go2rtc
故障排查
| 问题 | 解决方案 |
|---|---|
| Docker 权限被拒绝 | 将用户加入 docker 组,或使用 sudo docker |
| 首次构建较慢 | 正常现象(15–30 分钟)。在 JetPack 6.2 或更早版本上,请将轮子包放入 wheels/ |
| PyTorch / CUDA 不匹配 | 在目标 Jetson 上重新构建;不要复用来自其他 JetPack 的镜像 |
| 容器中看不到摄像头 | 确认宿主机存在 /dev/video*;./run.sh 会自动挂载检测到的摄像头 |
| 浏览器中无视频 | 使用 docker ps 检查 industrial-go2rtc;需确保端口 1984 可访问 |
资源
技术支持与产品讨论
感谢你选择 Seeed Studio 的产品!如需技术支持和产品讨论,请通过以下渠道联系我们:

