3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「高価なAI物体検出システムを買う前に読んでほしい」— 無料YOLOツールで同じことができた話

3
Last updated at Posted at 2026-03-30

はじめに — 現場には3つの壁がある

AI品質管理の話をすると、だいたい同じ流れになります。

「導入したい」→「見積もりを取る」→「高すぎる」→「却下」→「半年後、また同じ話が始まる」。

このループ、見覚えがありませんか。

仮に予算が通っても、現場に行くと別の問題が待っています。

壁1:「カメラが1台じゃ足りない」
製造ラインには複数の工程があります。ネジの取り付け確認、ラベルの貼付確認、最終外観検査。それぞれ別の場所、別のカメラ、別のモデルが必要です。でも多くのツールは「1カメラ、1モデル、1画面」が前提です。

壁2:「ブラウザを現場PCで開かせるのが面倒」
工場のラインPC/タブレットにChromeをインストールして、URLを覚えさせて、毎朝起動してもらって。ITに詳しくない作業員がそれをやるのか、という現実があります。

壁3:「結局、誰かが監視画面を見続けないといけない」
異常が出たとき、画面を見ていた人だけが気づきます。でも現場にそんな余裕はない。

この3つの壁を、Pythonと無料ツールだけで全部崩します。

今回紹介するのは、撮影・ラベリング・訓練・検出・ワークフロー管理まで一気通貫でこなす統合ツールの完結版です。


全体像 — コードゼロで何ができるか

まずこのツールで何ができるか、全体の流れを見てください。

📸 ① カメラで撮影
         ↓  (ブラウザ or デスクトップアプリ上で完結)
🏷️  ② ラベリング
         クリック&ドラッグで物体を囲むだけ
         検出 / セグメンテーション / OBB(回転ボックス)対応
         ↓
🤖 ③ YOLOモデル訓練
         ローカルPC(GPUなしでも可)
         または Google Colab(無料GPU)でワンクリック
         ↓
🎯 ④ リアルタイム検出
         カメラ映像にリアルタイムでAIが重なる
         チェーン検出で工程の順番も監視
         ↓
🏭 ⑤ ワークフローエディタ  ← 今回の主役
         複数カメラを並列管理
         異常時に自動アラート
         デスクトップアプリで動作(ブラウザ不要)

①〜③のラベリングと訓練は、前回前々回の記事で詳しく紹介しています。簡単におさらいすると、カメラで撮った画像をブラウザ画面上でクリック&ドラッグするだけでラベルが付けられます。訓練もボタン一つ。GPUがなくてもYOLO nanoモデルなら十分動きます。Google Colabと連携すれば無料GPUで大型モデルも訓練できます。

重要なのは、ここに一行もコードを書く必要がないということです。

ITエンジニアがやることは「セットアップと最初の設定」だけ。あとは現場の人間がマウスだけで操作できます。そして今回紹介する⑤のワークフローエディタで、複数のカメラと工程を束ねて自動監視する仕組みが完成します。


最大の差別化① — デスクトップアプリとして動く

このツールの一番のこだわりポイントがここです。

ブラウザを一切使わずに、ネイティブのデスクトップウィンドウとして起動できます。

# これだけ。全サービスが自動で立ち上がる。
python launcher.py

起動するとスプラッシュ画面が表示されます。

image.png

裏では2つのサービスが自動的に起動します。ユーザーは何も意識する必要はありません。ウィンドウが閉じられると、バックグラウンドのサービスも自動でシャットダウンします。

どのOSでも動く

プラットフォーム 使われるエンジン 追加インストール
Windows 10 / 11 Microsoft Edge WebView2 不要(最初からある)
macOS WKWebView 不要
Linux / Raspberry Pi WebKit2GTK sudo apt install python3-gi gir1.2-webkit2-4.0

でも、ブラウザからも使える

「現場PCではデスクトップアプリで動かして、管理者室からブラウザでリモート監視する」という使い方もできます。

現場PC(デスクトップアプリ)  ←→  管理者室(ブラウザで http://現場PCのIP:5000)

デスクトップだけに縛られるわけではなく、必要に応じてブラウザからもアクセスできる両対応の設計です。工場のネットワーク内であれば、どのPCからでも監視画面を見られます。

問題が起きてもすぐ原因がわかる

ログファイルが自動生成されます。

logs/
├── app.log          ← フロントエンドのログ
└── yolo_service.log ← AI推論エンジンのログ

「起動しない」「検出が止まった」というときは、このファイルを見れば何が起きているか一目でわかります。ITエンジニアが毎回現場に駆けつける必要もありません。


最大の差別化② — ワークフローエディタ

次に、今回の記事のもう一つの核心です。

ドラッグ&ドロップで工程を組む

画面上にノード(部品)をドラッグして、線でつなぐだけでAI監視フローが完成します。

【例:PCの組み立てライン監視フロー】

[開始]
  ↓
[検出A] カメラ0 — CPUが載っているか確認
  ↓ 成功              ↓ 失敗(タイムアウト)
[検出B]            [アラート] 管理者にメール通知
カメラ1 — メモリが     ↓
2枚あるか確認      [一時停止 → 再開を待つ]
  ↓ 成功
[検出C]
カメラ0 — 完成品を確認
  ↓
[終了]

image.png

これを画面上でマウスだけで組み立てられます。 コードは一行も書きません。

6種類のノード、現場の言葉で説明すると

ノード 現場での役割
開始 🟢 緑 監視スタートの合図
検出 🔵 青 「このカメラで、このものを確認して」
ループ 🟣 紫 「この確認を3回繰り返して」
アラート 🟠 橙 「異常を担当者に知らせて」
待機 🩵 水 「次の工程まで5秒待って」
終了 ⚫ 灰 「1サイクル完了」

たったこれだけです。この6種類を組み合わせるだけで、かなり複雑な工程管理が作れます。

検出ノードで設定できること

検出ノードは一番よく使う部品なので、何が設定できるか見ておきましょう。

設定項目 説明
カメラソース どのカメラを使うか カメラ0、カメラ1、Piカメラ
モデル どのYOLOモデルを使うか factory_line_v2.pt
ターゲットクラス 何を検出するか 「ネジ」「ラベル」「CPU」
最低検出数 何個あればOKか 2個以上
タイムアウト 何秒待つか 30秒
信頼度閾値 何%以上で有効とするか 70%
失敗時の動作 NGのとき何をするか アラートして一時停止

これらの設定が全部、マウスで操作できるプロパティパネルに並んでいます。

フローは保存・再利用できる

組み立てたワークフローはJSONとして保存できます。

workflows/
├── pc_assembly_line.json    ← PC組み立てライン用
├── food_packaging.json      ← 食品パッケージング用
└── pharma_inspection.json   ← 医薬品検査用

製品ラインが変わるときは、保存済みのワークフローを読み込むだけ。切り替えは数秒で完了します。「月曜日に設定したフロー、金曜日にまた使える」が当たり前にできます。


最大の差別化③ — 複数カメラを同時に動かす

前回の記事で紹介した「チェーン検出」は1台のカメラで工程を直列に監視するものでした。

今回のワークフローエディタは違います。

複数のカメラを、それぞれ独立したスレッドで、同時に動かせます。

イメージをつかむために

各カメラに「専属のAIスタッフ」を1人ずつ割り当てると考えてください。

カメラ0 ── 専属AIスタッフA(ネジ確認担当)
                    ↓ 同時進行
カメラ1 ── 専属AIスタッフB(ラベル確認担当)
                    ↓ 同時進行
カメラ2 ── 専属AIスタッフC(外観検査担当)

3つの工程が本当に同時に走ります。カメラ0がネジを確認している間、カメラ1はラベルを確認し、カメラ2は外観検査をしています。1台が終わるのを待ちません。

ライブモニターが自動で切り替わる

画面右側のライブモニターパネルは、現在実行中のノードのカメラに自動的に切り替わります。

ステップ1が実行中 → カメラ0の映像が表示される
ステップ2に進んだ → カメラ1の映像に自動切り替わる

監視者は何も操作しなくても、常に今一番重要なカメラの映像を見ていられます。

チェーン検出との使い分け

チェーン検出(前回記事) ワークフローエディタ(今回)
カメラ数 1台 複数台
工程の流れ 直列(順番に) 並列も直列も自由
設定方法 パネルでステップを追加 ドラッグ&ドロップ
分岐 なし 成功/失敗で分岐できる
向いている場面 シンプルな順番確認 複雑な複数工程管理

簡単な用途ならチェーン検出、本格的な製造ライン管理ならワークフローエディタ、という使い分けができます。


異常を「誰も気づかない」から解放するアラート機能

「監視画面を誰かがずっと見ていなければいけない」という問題を解決するのがアラートノードです。

検出タイムアウト(NG)が発生したとき、3つの方法で外部に通知できます。

通知方法1:HTTP POST(Slack・LINE・社内システム連携)

[アラートノード]
  HTTP POST → https://hooks.slack.com/...
              → LINE Notify API
              → 社内の異常管理システム

Webhookを設定すれば、NGが出た瞬間にSlackのチャンネルにメッセージが飛びます。監視担当者が画面から離れていても、スマホに通知が届きます。

通知方法2:UDP ブロードキャスト(工場内一斉通知)

[アラートノード]
  UDP → 192.168.1.255:9999
       (工場内ネットワーク全体にブロードキャスト)

工場内ネットワークに繋がっている全端末に、同時に通知を送れます。専用の受信プログラムを書けば、ライン全体の表示板に異常を映し出すことも可能です。

通知方法3:ブラウザポップアップ(監視画面に大きく表示)

監視PCの画面に、フルスクリーンのアラートダイアログが表示されます。見逃しようがありません。

スナップショット付きアラート

アラート通知に「その瞬間カメラが何を映していたか」の画像も添付できます。

{
  "message": "Step2: ラベル検出タイムアウト",
  "timestamp": "2026-03-30T14:32:45",
  "source": "workflow",
  "frame_snapshot": "(Base64エンコードされたJPEG画像)"
}

「アラートが来たけど何が起きたの?」という確認作業が、現場に行かずにできます。

アラート履歴ページ

/alert_viewer にアクセスすると、過去200件のアラートがタイムライン形式で確認できます。スナップショットも一緒に保存されているので、「昨日の14時に何があったか」を後から確認する用途にも使えます。


Raspberry Piでも動く

「工場に本格的なPCを置きたくない」「できるだけコストを下げたい」という場合のための選択肢も用意されています。

Raspberry Pi 4 / Pi 5 + Piカメラモジュールで動作します。

# Pi カメラモジュールのサポートをインストールするだけ
sudo apt install -y python3-picamera2

# あとは通常通り起動
python launcher.py

カメラセレクターに「Raspberry Pi Camera (picamera2)」が自動で表示されるので、選択するだけで使えます。

コスト感のイメージ:

Raspberry Pi 5(8GB)       ≈ 12,000円
Piカメラモジュール3           ≈ 4,000円
ケース・電源・SDカード         ≈ 3,000円
─────────────────────────────
合計                        ≈ 19,000円 / 1カメラ拠点

工場内ネットワークから外に出ないため、セキュリティ面でも安心です。


インストールと起動

インストール(3分)

git clone https://github.com/Rikiza89/YOLO_Workflow_JA
cd YOLO_Workflow_JA

# 仮想環境を作る(推奨)
python -m venv venv
venv\Scripts\activate  # Windowsの場合
# source venv/bin/activate  # Mac/Linuxの場合

# 依存パッケージをインストール
pip install -r requirements.txt

起動方法は2種類

方法①:デスクトップアプリとして起動(現場向け)

python launcher.py
# ネイティブウィンドウが開く。ブラウザ不要。

方法②:ブラウザで使う(リモート監視向け)

# ターミナル1
python yolo_service.py

# ターミナル2
python app.py

# ブラウザで http://127.0.0.1:5000 を開く

現場PCにはデスクトップアプリで置いておいて、管理者室からはブラウザでアクセスする、という使い方が一番スムーズです。

YOLOモデルの準備

# models/ フォルダにモデルファイルを置くだけ
models/
├── yolo11n.pt       # 汎用検出モデル(軽量)
├── yolo11n-seg.pt   # セグメンテーション
└── factory_v1.pt    # 自社訓練モデル(自分で作ったもの)

モデルを置くだけで、自動的にセレクターに表示されます。設定ファイルの編集は不要です。


現場への導入イメージ

最後に、このツールが実際どう使われるかを整理します。

【役割分担】

ITエンジニア(あなた)がやること:
  ├── セットアップ(1回だけ)
  ├── YOLOモデルの訓練(必要なとき)
  └── ワークフローの設定・保存(製品ライン変更のとき)

ライン作業者がやること:
  └── デスクトップアプリをダブルクリックして起動するだけ

ライン管理者がやること:
  ├── ブラウザでアラート履歴を確認する
  └── 異常通知(Slack等)を受け取る

ITエンジニアが毎回現場に行く必要はありません。ワークフローを一度設定して保存しておけば、現場はダブルクリック一発で動きます。


まとめ

この記事で紹介したことを整理します。

  • ブラウザ不要 — デスクトップアプリとして動くから、現場PCにそのまま置ける
  • ドラッグ&ドロップ — ワークフローエディタでコードゼロで複数工程を組める
  • 複数カメラ並列 — カメラごとに専属AIが動き、工程を同時監視できる
  • 自動アラート — HTTP/UDP/ポップアップで、見ていなくても異常を知らせる
  • Raspberry Pi対応 — 低コストでエッジデバイスにも展開できる

そして、前回・前々回の記事と合わせると、このツールは「撮影→ラベリング→訓練→検出→ワークフロー管理」の全サイクルをカバーします。高価なシステムを買わなくても、ここまでできます。


3記事シリーズのリンク:

  • 前々回:

  • 前回:

  • 今回:この記事

GitHub:

問題報告や機能リクエストは GitHub の Issues からどうぞ。スターをいただけると開発の励みになります ⭐

参考になったら、:hearts:をお願いします!


この記事は2026年3月時点の情報に基づいています。最新情報はGitHubリポジトリをご確認ください。

3
2
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?