Link to this sectionマルチオブジェクトトラッキングデータセットの概要#
マルチオブジェクトトラッキングは、ビデオ解析における重要なコンポーネントであり、オブジェクトを識別し、検出された各オブジェクトのユニークIDをビデオフレーム全体で保持します。Ultralytics YOLOは、監視、スポーツ解析、交通監視など、さまざまなドメインに適用できる強力なトラッキング機能を提供します。
Link to this sectionデータセットフォーマット(近日公開)#
Ultralyticsのトラッキングは現在、トラッカー固有のトレーニングを必要とせず、検出、セグメンテーション、またはポーズモデルを再利用しています。ネイティブなトラッカー学習サポートは現在開発中です。
Link to this section利用可能なトラッカー#
Ultralytics YOLOは、以下のトラッキングアルゴリズムをサポートしています。
- BoT-SORT - このトラッカーを有効にするには
botsort.yamlを使用します(デフォルト) - ByteTrack - このトラッカーを有効にするには
bytetrack.yamlを使用します - OC-SORT - このトラッカーを有効にするには
ocsort.yamlを使用します - Deep OC-SORT - このトラッカーを有効にするには
deepocsort.yamlを使用します - FastTracker - このトラッカーを有効にするには
fasttrack.yamlを使用します - TrackTrack - このトラッカーを有効にするには
tracktrack.yamlを使用します
Link to this section使用方法#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Link to this sectionフレーム間でのトラックの保持#
ビデオフレーム間での継続的なトラッキングには、 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()Link to this sectionよくある質問 (FAQ)#
Link to this sectionUltralytics 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モードのドキュメント を参照してください。
Link to this sectionUltralyticsでのトラッカー学習に関する今後の機能は何ですか?#
UltralyticsはAIモデルを継続的に強化しています。近日中に、スタンドアロントラッカーのトレーニングを可能にする機能が追加される予定です。それまでの間、マルチオブジェクト検出は、スタンドアロンのトレーニングを必要とせずに、事前にトレーニングされた検出、セグメンテーション、またはポーズモデルを活用してトラッキングを行います。当社の ブログ をフォローして最新情報を入手してください。
Link to this sectionなぜマルチオブジェクトトラッキングにUltralytics YOLOを使用すべきなのですか?#
Ultralytics YOLO is a state-of-the-art object detection model known for its real-time performance and high accuracy. Using YOLO for multi-object tracking provides several advantages:
- リアルタイムトラッキング: 動的な環境に最適な、効率的で高速なトラッキングを実現します。
- 事前学習済みモデルによる柔軟性: 最初から学習させる必要はありません。事前学習済みの検出、セグメンテーション、またはポーズモデルをそのまま利用できます。
- 使いやすさ: PythonとCLIの両方でシンプルなAPI統合が可能であり、トラッキングパイプラインのセットアップが容易です。
- 広範なドキュメントとコミュニティサポート: Ultralyticsは、包括的なドキュメントと、問題のトラブルシューティングやトラッキングモデルの強化のための活発なコミュニティフォーラムを提供しています。
YOLOを用いたトラッキングのセットアップと使用の詳細については、 track使用ガイド を参照してください。
Link to this sectionUltralytics YOLOでのマルチオブジェクトトラッキングにカスタムデータセットを使用できますか?#
はい、Ultralytics YOLOでのマルチオブジェクトトラッキングにカスタムデータセットを使用できます。スタンドアロントラッカーのトレーニングサポートは今後の機能ですが、カスタムデータセットに対して事前学習済みモデルを既に使用することができます。YOLOと互換性のある適切なフォーマットでデータセットを準備し、ドキュメントに従って統合してください。
Link to this sectionUltralytics YOLOトラッキングモデルからの結果をどのように解釈すればよいですか?#
Ultralytics YOLOでトラッキングジョブを実行した後、結果にはトラッキングされたオブジェクトID、バウンディングボックス、信頼スコアなどのさまざまなデータポイントが含まれます。結果の解釈方法の概要は以下の通りです。
- トラッキングID: 各オブジェクトにはユニークIDが割り当てられ、フレーム全体で追跡するのに役立ちます。
- バウンディングボックス: これらはフレーム内のトラッキングされたオブジェクトの位置を示します。
- 信頼スコア: これらは、トラッキングされたオブジェクトを検出するモデルの信頼度を反映しています。
これらの結果の解釈と可視化に関する詳細なガイダンスについては、 結果処理ガイド を参照してください。
Link to this sectionトラッカーの設定をカスタマイズするにはどうすればよいですか?#
トラッカー設定ファイルの変更版を作成することで、トラッカーをカスタマイズできます。 ultralytics/cfg/trackers から既存のトラッカー設定ファイルをコピーし、必要に応じてパラメータを変更し、トラッカーを実行する際にこのファイルを指定してください。
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="video.mp4", tracker="custom_tracker.yaml")