メインコンテンツまでスキップ

産業向けビジョン監視

はじめに

産業現場や作業現場の安全性は、現場で「今」何が起きているかを把握することにかかっています — 事後ではなくリアルタイムで把握する必要があります。カメラは至るところにありますが、多くのシステムはいまだに人手による映像確認に依存しています。産業用ビジョン AI はこのギャップを埋めます。作業員がいるか、必要な PPE が着用されているか、危険な行動がシーン内に現れていないかを検出し、そのうえでエッジ側で即座にアラートを発報します。

この Wiki では、Seeed 産業用 Jetson デバイス上に参照用の産業安全監視デモをデプロイします。USB カメラの映像をブラウザへストリーミングし、YOLO が人と PPE を検出し、VLM が危険な行動を解析します。どちらのモデルファミリーも入れ替え可能であり、このリポジトリは特定のチェックポイントに固定されたものではなく、あくまで出発点です。

reComputer Industrial J4012reServer Industrial J4011

reComputer Industrial J4012 および reServer Industrial J4011 上で JetPack 7.2 にて検証済みです。

概要

レイヤー役割
YOLO人物検出(緑のボックス)およびヘルメットやベスト未着用などの PPE 違反(赤いボックス)
VLMシーンレベルの行動アラート — 携帯電話の使用、喫煙、転倒、火災/煙など

ブラウザで http://<jetson-ip>:8080 を開くと、ライブ WebRTC 映像、検出オーバーレイ、アラートフィードを確認できます。

対応ハードウェア

項目構成
デバイスreComputer IndustrialreServer Industrial
検証済みreComputer Industrial J4012、reServer Industrial J4011 · JetPack 7.2 (L4T 39.2.0)
JetPack7.2 で検証済み · 6.2 は互換性がある想定 · 6.2 未満では手動で PyTorch ホイールが必要
RAM / ディスクRAM 最低 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 に関する注意

JetPackPyTorch
7.2Docker ビルド中に自動インストールされます(TORCH_INDEX_URL=cu130
6.2TORCH_INDEX_URL を使用中の CUDA 12.x のインデックスに設定するか、対応するホイールを wheels/ に配置します
6.2 未満./run.sh 実行前に、Jetson に対応した torch-*.whl / torchvision-*.whlwheels/ に配置します

JetPack 関連ファイルを変更した後は、対象デバイス上で再ビルドしてください:

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

ホイールの入手元については、Install Pytorch for reComputer Jetson を参照してください。

注意

JetPack や CUDA のバージョンが異なるデバイス間で Docker イメージをコピーしないでください。必ず対象の Jetson 上で再ビルドしてください。

任意の .env 調整

CAMERA_PIPELINE=sw    # sw (default) or hw

デモ結果

カメラストリーム開始前のアイドル状態の UI。

VLM による行動アラート — 作業エリアでの携帯電話の使用。

YOLO による PPE アラート — 安全ヘルメット未着用。

このデモで使用しているモデル

デフォルトリリースには、以下のチェックポイントが同梱されています。リポジトリの設定と models/ ディレクトリを更新することで、他の YOLO や VLM モデルに置き換えることができます。

役割デフォルトモデルファイル
人物検出YOLOv8nmodels/yolov8n.onnx
PPE 検出YOLOv8 PPEmodels/ppe-yolov8n.pt
行動解析SmolVLM-500M-Instructmodels/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 permission deniedユーザーを docker グループに追加するか、sudo docker を使用します
初回ビルドが遅い正常です(15~30 分)。JetPack 6.2 以前では、ホイールを wheels/ に配置してください
PyTorch / CUDA の不整合対象 Jetson 上で再ビルドし、別の JetPack からのイメージを再利用しないでください
コンテナ内にカメラが見えないホスト上の /dev/video* を確認してください。./run.sh は検出したカメラを自動マウントします
ブラウザに映像が出ないdocker psindustrial-go2rtc を確認し、ポート 1984 に到達できることを確認してください

リソース

技術サポートと製品ディスカッション

Seeed Studio の製品をお選びいただきありがとうございます。技術サポートおよび製品に関するディスカッションには、以下のチャネルをご利用ください。

Loading Comments...