ホームページ >バックエンド開発 >Python チュートリアル >YOLO を使用したリアルタイム物体検出アプリケーションの構築

YOLO を使用したリアルタイム物体検出アプリケーションの構築

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-05 20:25:12753ブラウズ

Building a Real-Time Object Detection Application with YOLO

物体検出は人工知能の最もエキサイティングなアプリケーションの 1 つとなっており、機械が視覚データを理解して解釈できるようになります。このチュートリアルでは、YOLO (You Only Look Once) アルゴリズムを使用してリアルタイムの物体検出アプリケーションを作成する手順を説明します。この強力なモデルにより、画像やビデオ内のオブジェクトを迅速かつ正確に検出できるため、監視から自動運転車まで、さまざまな用途に適しています。

目次

  1. 物体検出とは何ですか?
  2. YOLO を理解する
  3. 環境のセットアップ
  4. 依存関係のインストール
  5. 物体検出アプリの構築
  6. 潜在的な使用例
  7. 結論

物体検出とは何ですか?

オブジェクト検出は、画像またはビデオ ストリーム内のオブジェクトを識別して位置を特定するコンピューター ビジョン タスクです。どのようなオブジェクトが存在するかを判断するだけの画像分類とは異なり、オブジェクト検出では、検出されたオブジェクトの周囲に境界ボックスとそのクラス ラベルが表示されます。

YOLOを理解する

YOLO は、「You Only Look Once」の略で、最先端のリアルタイム物体検出アルゴリズムです。 YOLO の主な利点はその速度です。高精度を維持しながらリアルタイムで画像を処理します。 YOLO は入力画像をグリッドに分割し、各グリッド セルの境界ボックスと確率を予測することで、1 回のパスで複数のオブジェクトを検出できるようにします。

環境のセットアップ

コードに入る前に、以下がインストールされていることを確認してください:

  • Python 3.x: python.org からダウンロードします。
  • OpenCV: コンピューター ビジョン タスク用のライブラリ。
  • NumPy: 数値計算用のライブラリ。
  • TensorFlow または PyTorch: YOLO モデルの実行の好みに応じて。

仮想環境の作成 (オプション)

仮想環境を作成すると、依存関係を効果的に管理するのに役立ちます:

python -m venv yolovenv
source yolovenv/bin/activate  # On Windows use yolovenv\Scripts\activate

依存関係のインストール

pip を使用して必要なライブラリをインストールします。

pip install opencv-python numpy

YOLO の場合、事前トレーニングされた重みと構成ファイルをダウンロードする必要がある場合があります。 YOLOv3 の重みと構成は、YOLO の公式 Web サイトで見つけることができます。

物体検出アプリの構築

次に、リアルタイムの物体検出に YOLO を使用する Python スクリプトを作成しましょう。

ステップ 1: YOLO をロードする

object_detection.py という名前の新しい Python ファイルを作成し、必要なライブラリをインポートして YOLO モデルをロードすることから始めます。

python -m venv yolovenv
source yolovenv/bin/activate  # On Windows use yolovenv\Scripts\activate

ステップ 2: ビデオ ストリームを処理する

次に、Web カメラからビデオをキャプチャし、各フレームを処理してオブジェクトを検出します。

pip install opencv-python numpy

ステップ 3: アプリケーションの実行

アプリケーションを実行するには、次のスクリプトを実行します:

import cv2
import numpy as np

# Load YOLO
net = cv2.dnn.readNet("yolov3.weights", "yolov3.cfg")
layer_names = net.getLayerNames()
output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]

検出されたオブジェクトがリアルタイムで強調表示された Web カメラ フィードを表示するウィンドウが表示されます。

潜在的な使用例

リアルタイムの物体検出には、次のような幅広い用途があります。

  • 監視システム: 防犯映像内の侵入者や異常な活動を自動的に検出します。
  • 自動運転車: ナビゲーションのために歩行者、交通標識、その他の車両を識別します。
  • 小売分析: 店舗内の顧客の行動と交通パターンを分析します。
  • 拡張現実: 現実世界のオブジェクトを検出して操作することで、ユーザー エクスペリエンスを向上させます。

結論

おめでとうございます! YOLO を使用したリアルタイム物体検出アプリケーションの構築に成功しました。この強力なアルゴリズムは、さまざまな分野にわたるアプリケーションに多くの可能性をもたらします。さらに詳しく調べる場合は、特定の物体検出タスク向けに YOLO を微調整したり、このアプリケーションを他のシステムと統合したりするなど、より高度なトピックに取り組むことを検討してください。

AI 分野でのキャリアの追求に興味があり、成功する AI エンジニアになる方法を学びたい場合は、この「成功する AI エンジニアになるためのロードマップ」で詳細なロードマップを確認してください。

以下のコメント欄で、ご意見、ご質問、経験をお気軽に共有してください。コーディングを楽しんでください!


以上がYOLO を使用したリアルタイム物体検出アプリケーションの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。