Ultralytics YOLO27:

マルチオブジェクトトラッキングデータセットの概要#

マルチオブジェクトトラッキングは、動画解析における重要なコンポーネントです。動画フレーム全体で物体を識別し、検出された各物体に固有のIDを維持します。Ultralytics YOLOは、監視、スポーツ分析、交通監視など、さまざまな分野に適用できる強力なトラッキング機能を提供します。

データセット形式#

Trackモードでは、トラッカーのトレーニングや、トラッカー固有のデータセットは必要ありません。検出、セグメンテーション、ポーズ、またはOBBモデルを、そのタスクの標準データセット形式でトレーニングし、生成された重みをmodel.track()またはyolo trackで使用します。選択したトラッカーは、推論時にフレーム間でモデルの予測を関連付けます。

利用可能なトラッカー#

Ultralytics YOLOは、次のトラッキングアルゴリズムをサポートしています。

  • BoT-SORT - botsort.yamlを使用してこのトラッカーを有効にします
  • ByteTrack - bytetrack.yamlを使用してこのトラッカーを有効にします
  • OC-SORT - ocsort.yamlを使用してこのトラッカーを有効にします
  • Deep OC-SORT - deepocsort.yamlを使用してこのトラッカーを有効にします
  • FastTracker - fasttrack.yamlを使用してこのトラッカーを有効にします
  • TrackTrack - tracktrack.yamlを使用してこのトラッカーを有効にします(デフォルト)

使用方法#

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

フレーム間でのトラックの維持#

動画フレーム間で継続的にトラッキングするには、persist=Trueパラメーターを使用します。

import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo26n.pt")

# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, frame = cap.read()
    if success:
        # Run tracking with persistence between frames
        results = model.track(frame, persist=True)

        # Visualize the results
        annotated_frame = results[0].plot()
        cv2.imshow("Tracking", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

FAQ#

  • Ultralytics YOLOでマルチオブジェクトトラッキングを使用するには、まず、提供されているPythonまたはCLIの例を使用します。開始方法は次のとおりです。

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")  # Load the YOLO26 model
    results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

    これらのコマンドはYOLO26モデルを読み込み、指定した動画ソース内の物体のトラッキングに使用します。信頼度(conf)とIntersection over Unioniou)のしきい値も指定します。詳細については、Trackモードのドキュメントを参照してください。

  • Ultralytics YOLOは、リアルタイム性能と高い精度で知られる最先端の物体検出モデルです。マルチオブジェクトトラッキングにYOLOを使用すると、次のような利点があります。

    • リアルタイムトラッキング: 動的な環境に適した、効率的で高速なトラッキングを実現します。
    • 事前学習済みモデルによる柔軟性: 最初からトレーニングする必要はありません。事前学習済みの検出、セグメンテーション、ポーズ、またはOBBモデルを使用するだけです。
    • 使いやすさ: PythonとCLIの両方で簡単にAPI統合できるため、トラッキングパイプラインを容易にセットアップできます。
    • 充実したドキュメントとコミュニティサポート: Ultralyticsは、問題のトラブルシューティングやトラッキングモデルの改善に役立つ包括的なドキュメントと活発なコミュニティフォーラムを提供しています。

    YOLOを使用したトラッキングのセットアップと使用方法の詳細については、トラッキング使用ガイドを参照してください。

  • はい。カスタムデータセットで検出、セグメンテーション、ポーズ、またはOBBモデルをトレーニングし、その重みをmodel.track()に渡します。トラッカー自体は推論中に実行され、個別のトレーニングデータは必要ありません。

  • Ultralytics YOLOでトラッキングジョブを実行すると、トラッキングされた物体のID、バウンディングボックス、信頼度スコアなど、さまざまなデータポイントが結果に含まれます。結果の解釈方法の概要は次のとおりです。

    • トラッキングされたID: 各物体には固有のIDが割り当てられ、フレーム間で追跡するのに役立ちます。
    • バウンディングボックス: フレーム内のトラッキングされた物体の位置を示します。
    • 信頼度スコア: トラッキングされた物体の検出に対するモデルの確信度を示します。

    これらの結果の解釈と可視化に関する詳細なガイダンスについては、結果処理ガイドを参照してください。

  • トラッカー設定ファイルの変更版を作成することで、トラッカーをカスタマイズできます。ultralytics/cfg/trackersから既存のトラッカー設定ファイルをコピーし、必要に応じてパラメーターを変更して、トラッカーの実行時にこのファイルを指定します。

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model.track(source="video.mp4", tracker="custom_tracker.yaml")

コメント