Skip to main content

Industrial Vision Monitoring on Industrial

Introduction

Industrial and worksite safety depends on knowing what is happening on the floor — in real time, not only after an incident. Cameras are everywhere, but most setups still rely on manual review. Industrial vision AI closes that gap: detect whether workers are present, whether required PPE is worn, and whether unsafe behaviors appear in the scene, then raise alerts immediately at the edge.

This wiki deploys a reference industrial safety monitoring demo on Seeed Industrial Jetson devices. A USB camera streams to the browser; YOLO handles person and PPE detection, and a VLM analyzes behavior hazards. Both model families are swappable — the repository is a starting point, not locked to one checkpoint.

reComputer Industrial J4012reServer Industrial J4011

Verified on reComputer Industrial J4012 and reServer Industrial J4011 with JetPack 7.2.

Overview

LayerRole
YOLOPerson detection (green boxes) and PPE violations such as missing helmet or vest (red boxes)
VLMScene-level behavior alerts — phone use, smoking, falls, fire/smoke, and more

Open http://<jetson-ip>:8080 in a browser for live WebRTC video, detection overlays, and an alert feed.

Supported Hardware

ItemConfiguration
DevicesreComputer Industrial, reServer Industrial
VerifiedreComputer Industrial J4012, reServer Industrial J4011 · JetPack 7.2 (L4T 39.2.0)
JetPack7.2 verified · 6.2 expected compatible · below 6.2 requires manual PyTorch wheels
RAM / Disk8 GB RAM minimum · 8 GB free disk
CameraUSB UVC / V4L2 (/dev/video*)
note

Tested on reComputer Industrial J4012 and reServer Industrial J4011 with JetPack 7.2. The same steps apply to other Seeed Industrial Jetson devices with a matched JetPack version.

Installation

Clone the repo and run the one-click script on the target Jetson:

git clone https://github.com/xbs0325/industrial-inspection.git
cd industrial-inspection
./run.sh

./run.sh copies .env if missing, downloads models, builds the Docker image (first run 15–30 min), and starts the containers.

Then open:

http://<jetson-ip>:8080
note

The application runs entirely in Docker — no manual Python setup on the host is required for the default workflow.

JetPack notes

JetPackPyTorch
7.2Installed automatically during Docker build (TORCH_INDEX_URL=cu130)
6.2Set TORCH_INDEX_URL to your CUDA 12.x index, or place matching wheels in wheels/
Below 6.2Place Jetson-matched torch-*.whl / torchvision-*.whl in wheels/ before ./run.sh

After changing JetPack-related files, rebuild on the target device:

./clean.sh && ./run.sh

See Install Pytorch for reComputer Jetson for wheel sources.

caution

Do not copy Docker images between devices with different JetPack or CUDA versions. Always rebuild on the target Jetson.

Optional .env tuning

CAMERA_PIPELINE=sw    # sw (default) or hw

Demo Results

Idle UI before the camera stream starts.

VLM behavior alert — phone use in the work area.

YOLO PPE alert — missing safety helmet.

Models Used in This Demo

The default release ships with the checkpoints below. You can replace them with other YOLO or VLM models by updating the repo config and models/ directory.

RoleDefault modelFile
Person detectionYOLOv8nmodels/yolov8n.onnx
PPE detectionYOLOv8 PPEmodels/ppe-yolov8n.pt
Behavior analysisSmolVLM-500M-Instructmodels/SmolVLM-500M-Instruct/

Models download automatically on first ./run.sh, or manually via ./scripts/download_models.sh.

Stop and Cleanup

./clean.sh              # stop containers and remove local image
./clean.sh --full # also remove models/, data/, bin/go2rtc

Troubleshooting

IssueFix
Docker permission deniedAdd user to docker group, or use sudo docker
Slow first buildNormal (15–30 min). On JetPack 6.2 or older, place wheels in wheels/
PyTorch / CUDA mismatchRebuild on target Jetson; do not reuse images from another JetPack
Camera not in containerConfirm /dev/video* on host; ./run.sh auto-mounts detected cameras
No video in browserCheck docker ps for industrial-go2rtc; port 1984 must be reachable

Resources

Tech Support & Product Discussion

Thank you for choosing Seeed Studio products! For technical support and product discussion, please use the following channels:

Loading Comments...