AIパーソナル・ラーニング
と実践的なガイダンス
資源推薦1

YOLOv12:リアルタイム画像・ビデオターゲット検出のためのオープンソースツール

はじめに

YOLOv12は、GitHubユーザーのsunsmarterjieによって開発されたオープンソースプロジェクトで、リアルタイムのターゲット検出技術に焦点を当てています。このプロジェクトは、フレームワークのYOLO(You Only Look Once)シリーズに基づいており、従来の畳み込みニューラルネットワーク(CNN)のパフォーマンスを最適化するための注意メカニズムの導入だけでなく、改善された精度の検出だけでなく、高い推論速度を維持しています。 YOLOv12は、監視システム、自動運転や画像解析など、さまざまなシナリオのために、ナノ、スモール、ミディアム、ラージ、エクストララージモデルサイズを提供するために、さまざまなコンピューティングパワーとアプリケーションの要件を満たす、Medium、Large、Extra-Largeのモデルサイズを提供し、異なる計算能力とアプリケーションの要件を満たします。このプロジェクトはGNU AGPL-3.0でライセンスされており、ユーザーはコードを無料でダウンロードし、必要に応じてカスタマイズすることができる。開発チームにはバッファロー大学や中国科学院の研究者が参加しており、技術文書やインストールガイドも詳細で、ユーザーはすぐに使い始めることができる。

YOLOv12: リアルタイムの画像とビデオターゲット検出を提供するオープンソースツール-1


 

機能一覧

  • 効率的なリアルタイム・ターゲット検出T4GPUの場合、YOLOv12-Nは40.6% mAPを達成し、推論レイテンシはわずか1.64msです。
  • マルチモデルの選択低電力デバイスから高性能サーバーまで、幅広いハードウェア環境に対応する5つのモデル(Nano~Extra-Large)を用意しています。
  • アテンション・メカニズムの最適化エリアアテンションとR-ELANモジュールの導入により、検出精度の向上と計算量の削減を実現。
  • モデル輸出ONNXまたはTensorRTフォーマットへのトレーニングモデルのエクスポートをサポート。
  • カスタマイズされたデータセットのトレーニングユーザは、特定のターゲット検出タスクに適した独自のデータセットでモデルをトレーニングすることができます。
  • 視覚化サポート: : 試験結果の表示と性能評価を容易にする監督ツールの統合。

 

ヘルプの使用

設置プロセス

YOLOv12は現在スタンドアロンのPyPIパッケージを持っておらず、GitHubのソースからインストールする必要がある。以下はLinux用の詳細なインストール手順である(WindowsやMacユーザーは環境設定を調整する必要がある):

  1. 環境を整える
    • Python 3.11以降がシステムにインストールされていることを確認してください。
    • Gitをインストールする:sudo apt install git(Ubuntuの例)。
    • オプション:NVIDIA GPUドライバとCUDA(推奨バージョン11.8以上)をインストールし、トレーニングと推論を高速化する。
  2. クローン倉庫
    ターミナルで以下のコマンドを実行して、YOLOv12リポジトリをローカルにダウンロードする:

    git clone https://github.com/sunsmarterjie/yolov12.git
    cd yolov12
  1. 仮想環境の構築
    Condaまたはvenvを使用して、別々のPython環境を作成し、依存関係の衝突を避ける:

    conda create -n yolov12 python=3.11
    conda yolov12 をアクティブにする
    
  2. 依存関係のインストール
    PyTorch、flash-attn、supervisionなど、プロジェクトに必要な依存関係をインストールします:

    wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
    pip install flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
    pip install -r requirements.txt
    pip install -e .
    
  3. インストールの確認
    以下のコマンドを実行し、環境が正しく設定されていることを確認する:

    python -c "from ultralytics import YOLO; print('YOLOv12のインストールに成功しました')"
    

使用方法

カスタムモデルのトレーニング

YOLOv12は、シーンに特化したターゲット検出タスクに適した独自のデータセットでの学習をサポートする。操作手順は以下の通り:

  1. データセットの準備
    • データはYOLO形式(画像とラベルフォルダーを含み、ラベルは.txtファイルで、ターゲットカテゴリーとバウンディングボックスの座標でラベル付けされている)でなければならない。
    • 確立 data.yaml ファイルで、トレーニングセット、検証セットのパス、カテゴリ名を指定します。例
      train: ./dataset/train/images
      val: ./dataset/val/images
      nc: 2 # カテゴリの数
      names: ['cat', 'dog'] # カテゴリ名
      
  2. モデルをロードしてトレーニングする
    Pythonスクリプトを使用して、事前にトレーニングされたモデルをロードし、トレーニングを開始します:

    from ultralytics import YOLO
    model = YOLO('yolov12s.pt') # optional n/s/m/l/x モデル
    結果 = model.train(data='path/to/data.yaml', epochs=250, imgsz=640)
    
    • 時代トレーニングの回数は250回以上を推奨する。
    • イムグズデフォルトは640x640です。
  3. トレーニング結果を見る
    トレーニング終了後、結果は 走行/探知/トレーニング フォルダに、モデルの重み (ベスト)や難読化行列など。以下のコードを実行すると、混同行列が表示されます:

    from IPython.display import Image
    Image(filename='runs/detect/train/confusion_matrix.png', width=600)
    

推論とテスト

学習されたモデルは、画像やビデオ内のターゲット検出に使用することができる:

  1. 単一画像検出
    model = YOLO('path/to/best.pt')
    結果 = model('test.jpg')
    results.show() # テスト結果を表示
    results.save() # 結果をruns/detect/predictに保存する
    
  2. ビデオ検出
    コマンドラインを使ってビデオファイルを処理する:

    python app.py --source 'video.mp4' --model 'path/to/best.pt'
    
  3. パフォーマンス評価
    検証セットは、mAPのようなメトリクスを得るために評価される:

    結果 = model.val(data='path/to/data.yaml')
    print(results.box.map) #出力 mAP@0.5:0.95
    

モデル輸出

本番環境で使用可能な形式にモデルをエクスポートします:

model.export(format='onnx', half=True) #をONNXとしてエクスポート。

エクスポートされたモデルは、エッジデバイスやサーバーに配置することができる。

注目の機能操作

  • アテンション・メカニズムの最適化
    YOLOv12の "エリア・アテンション "モジュールは、手動で設定する必要はなく、学習と推論中に自動的に特徴抽出を最適化し、小さなターゲットの検出を向上させます。ユーザーは適切なモデルサイズ(例:低消費電力デバイス用のNano)を選択するだけで、この機能による精度向上を享受できます。
  • リアルタイム検出
    推論は、CUDA対応GPU上で実行すると非常に高速です。例えば、T4 GPU上でYOLOv12-Nモデルを実行すると、単一画像の検出がわずか1.64 msで行われ、ユーザーは監視ツールを使用して検出フレームと信頼度をリアルタイムで視覚化できます:

    results = model('image.jpg')
    results.plot() # 注釈付き画像の表示
    
  • マルチシーン・アダプテーション
    モデルサイズと学習データを調整することで、YOLOv12はさまざまなタスクに簡単に適応できる。例えば、監視システムにおける歩行者の検出や、自律走行における車両や交通標識の認識などである。
コンテンツ1
無断転載を禁じます:チーフAIシェアリングサークル " YOLOv12:リアルタイム画像・ビデオターゲット検出のためのオープンソースツール

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語