コンテンツへスキップ

による距離計算Ultralytics YOLO11

距離計算とは?

2つの物体の間隔を測定することは、指定された空間内での距離計算として知られている。の場合 Ultralytics YOLO11の場合、ユーザーによってハイライトされたバウンディングボックスの距離を計算するために、バウンディングボックスのセントロイドが採用される。



見るんだ: による距離計算Ultralytics YOLO11

ビジュアル

による距離計算Ultralytics YOLO11
Ultralytics YOLO11 距離計算

距離計算の利点

距離計算
  • 任意の2つのバウンディングボックスをマウスの左クリックでクリックし、距離を計算する。

YOLO11 例を用いた距離計算

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
distance = solutions.DistanceCalculation(model="yolo11n.pt", show=True)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = distance.calculate(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
  • マウス右クリックですべての描画点を削除
  • マウスの左クリックで点を描画できる
距離は推定値
Distance will be an estimate and may not be fully accurate, as it is calculated using 2-dimensional data, which lacks information about the object's depth.

議論 DistanceCalculation()

Name Type Default 説明
model str None Ultralytics YOLO モデルファイルへのパス
line_width int 2 バウンディングボックスの線の太さ。
show bool False ビデオストリームを表示するかどうかを制御するフラグ。

議論 model.track

議論 タイプ デフォルト 説明
source str None 画像や動画のソースディレクトリを指定します。ファイルパスとURLをサポートします。
persist bool False フレーム間のオブジェクトの永続的なトラッキングを可能にし、ビデオシーケンス間のIDを維持します。
tracker str botsort.yaml 使用するトラッキングアルゴリズムを指定する、 bytetrack.yaml または botsort.yaml.
conf float 0.3 検出の信頼しきい値を設定します。低い値ではより多くのオブジェクトを追跡できますが、誤検出を含む可能性があります。
iou float 0.5 重複検出をフィルタリングするためのIoU(Intersection over Union)しきい値を設定します。
classes list None クラス・インデックスによって結果をフィルタリングする。例えば classes=[0, 2, 3] は指定されたクラスのみを追跡する。
verbose bool True トラッキング結果の表示をコントロールし、トラッキングされたオブジェクトのビジュアル出力を提供します。

よくあるご質問

Ultralytics YOLO11 を使ってオブジェクト間の距離を計算するには?

オブジェクト間の距離を計算するには Ultralytics YOLO11検出されたオブジェクトのバウンディングボックスのセントロイドを特定する必要があります。この処理には DistanceCalculation class fromUltralytics' solutions モジュールを使って、モデルのトラッキング出力を使って距離を計算する。実装は 距離計算の例.

Ultralytics YOLO11 を使った距離計算の利点は?

Ultralytics YOLO11 を使った距離計算にはいくつかの利点がある:

  • ローカリゼーションの精度:オブジェクトの正確な空間位置決めを提供します。
  • サイズの推定:物理的なサイズを推定し、より良い文脈理解に貢献します。
  • シーン理解:3Dシーンの理解を強化し、自律走行や監視などのアプリケーションにおける意思決定の改善を支援する。

Ultralytics YOLO11 を使って、リアルタイムのビデオストリームで距離計算を行うことはできますか?

Ultralytics YOLO11 を使えば、リアルタイムのビデオストリームで距離計算を行うことができます。このプロセスでは オープンCVランニングYOLO11 オブジェクト検出を使用している。 DistanceCalculation クラスを使用して、連続するフレームのオブジェクト間の距離を計算します。詳細な実装については ビデオ・ストリームの例.

Ultralytics YOLO11 を使って距離計算中に描かれたポイントを削除するには?

Ultralytics YOLO11 で距離計算中に描いた点を削除するには、マウスの右クリックを使用します。この操作により、描画した点がすべて消去されます。詳細については、距離計算の例の下にあるノートのセクションを参照してください。

Ultralytics YOLO11 でDistanceCalculationクラスを初期化する際の主な引数は?

を初期化するための主要な引数である。 DistanceCalculation クラスをUltralytics YOLO11 に含む:

  • model:モデルファイルのパス。
  • show:ビデオストリームを表示するかどうかを示すフラグ。
  • line_width:バウンディングボックスと画像上に描かれた線の太さ。

詳細なリストとデフォルト値については、DistanceCalculationの引数を参照してください。

📅 Created 11 months ago ✏️ Updated 28 days ago

コメント