マルチオブジェクトトラッキングデータセットの概要#
マルチオブジェクトトラッキングは、ビデオ解析における重要なコンポーネントであり、オブジェクトを識別し、検出された各オブジェクトのユニークIDをビデオフレーム全体で保持します。Ultralytics YOLOは、監視、スポーツ解析、交通監視など、さまざまなドメインに適用できる強力なトラッキング機能を提供します。
データセットフォーマット(近日公開)#
Ultralytics のトラッキングは現在、トラッカー固有のトレーニングを必要とせず、検出、セグメンテーション、ポーズ、または OBB モデルを再利用します。ネイティブのトラッカー学習サポートは現在開発中です。
利用可能なトラッカー#
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でマルチオブジェクトトラッキングを使用するにはどうすればよいですか?#
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 Union(iou)のしきい値を使用して実行します。詳細については、track mode documentation を参照してください。
Ultralyticsでのトラッカー学習に関する今後の機能は何ですか?#
Ultralytics は AI モデルの機能を継続的に強化しています。今後の機能により、スタンドアロン型トラッカーのトレーニングが可能になります。それまでの間、Multi-Object Detector はスタンドアロン型のトレーニングを必要とせず、事前トレーニング済みの検出、セグメンテーション、ポーズ、または OBB モデルを活用してトラッキングを行います。ブログをフォローして最新情報をご確認ください。
なぜマルチオブジェクトトラッキングにUltralytics YOLOを使用すべきなのですか?#
Ultralytics YOLOは、リアルタイム性能と高い精度で知られる最先端の物体検出モデルです。マルチオブジェクトトラッキングにYOLOを使用することで、いくつかのメリットが得られます。
- リアルタイムトラッキング: 動的な環境に最適な、効率的で高速なトラッキングを実現します。
- 事前トレーニング済みモデルによる柔軟性: 最初からトレーニングする必要はありません。事前トレーニング済みの検出、セグメンテーション、ポーズ、または OBB モデルを使用するだけです。
- 使いやすさ: PythonとCLIの両方でシンプルなAPI統合が可能であり、トラッキングパイプラインのセットアップが容易です。
- 広範なドキュメントとコミュニティサポート: Ultralyticsは、包括的なドキュメントと、問題のトラブルシューティングやトラッキングモデルの強化のための活発なコミュニティフォーラムを提供しています。
追跡のための YOLO の設定と使用に関する詳細については、track usage guide をご覧ください。
Ultralytics YOLOでのマルチオブジェクトトラッキングにカスタムデータセットを使用できますか?#
はい、Ultralytics YOLOでのマルチオブジェクトトラッキングにカスタムデータセットを使用できます。スタンドアロントラッカーのトレーニングサポートは今後の機能ですが、カスタムデータセットに対して事前学習済みモデルを既に使用することができます。YOLOと互換性のある適切なフォーマットでデータセットを準備し、ドキュメントに従って統合してください。
Ultralytics YOLOトラッキングモデルからの結果をどのように解釈すればよいですか?#
Ultralytics YOLOでトラッキングジョブを実行した後、結果にはトラッキングされたオブジェクトID、バウンディングボックス、信頼スコアなどのさまざまなデータポイントが含まれます。結果の解釈方法の概要は以下の通りです。
- トラッキングID: 各オブジェクトにはユニークIDが割り当てられ、フレーム全体で追跡するのに役立ちます。
- バウンディングボックス: これらはフレーム内のトラッキングされたオブジェクトの位置を示します。
- 信頼スコア: これらは、トラッキングされたオブジェクトを検出するモデルの信頼度を反映しています。
これらの結果の解釈と視覚化に関する詳細なガイダンスについては、results handling guide を参照してください。
トラッカーの設定をカスタマイズするにはどうすればよいですか?#
トラッカー設定ファイルの変更版を作成することで、トラッカーをカスタマイズできます。ultralytics/cfg/trackers から既存のトラッカー設定ファイルをコピーし、必要に応じてパラメータを修正し、トラッカーの実行時にこのファイルを指定します。
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="video.mp4", tracker="custom_tracker.yaml")