Ultralytics YOLO26を使用した速度推定 🚀

速度推定とは?

速度推定とは、特定のコンテキスト内における物体の移動速度を計算するプロセスであり、コンピュータビジョンアプリケーションで頻繁に使用されます。Ultralytics YOLO26を使用すると、物体追跡と距離や時間データを組み合わせて物体の速度を計算できるようになり、交通監視やセキュリティといったタスクにおいて極めて重要です。速度推定の精度は、さまざまなアプリケーションの効率と信頼性に直接影響を与えるため、インテリジェントシステムやリアルタイムの意思決定プロセスを発展させる上での重要な要素となっています。



Watch: Speed Estimation using Ultralytics YOLO26
ブログをチェック

速度推定の詳細については、ブログ記事「Ultralytics YOLO for Speed Estimation in Computer Vision Projects」をご覧ください。

速度推定の利点

  • 効率的な交通制御: 正確な速度推定は、交通流の管理を支援し、安全性を高め、道路の渋滞を軽減します。
  • 精密な自律走行: 自動運転車のような自律システムにおいて、信頼性の高い速度推定により安全で正確な車両航行が可能になります。
  • 監視セキュリティの強化: 監視分析における速度推定は、異常な行動や潜在的な脅威の特定に役立ち、セキュリティ対策の有効性を高めます。

実社会での応用例

交通機関交通機関
Ultralytics YOLO26を使用した道路上の速度推定Ultralytics YOLO26を使用した橋上の速度推定
Ultralytics YOLO26を使用した道路上の速度推定Ultralytics YOLO26を使用した橋上の速度推定
速度は推定値です

速度は推定値であり、完全に正確ではない場合があります。さらに、この推定値はカメラの仕様や関連する要因によって変動する可能性があります。

Ultralytics YOLOを使用した速度推定
# Run a speed example
yolo solutions speed show=True

# Pass a source video
yolo solutions speed source="path/to/video.mp4"

# Adjust meter per pixel value based on camera configuration
yolo solutions speed meter_per_pixel=0.05

SpeedEstimatorの引数

SpeedEstimatorの引数の一覧表を以下に示します:

引数タイプデフォルト説明
modelstrNoneUltralytics YOLO モデルファイルへのパス。
fpsfloat30.0速度計算に使用される1秒あたりのフレーム数。
max_histint5速度や方向の計算のために、オブジェクトごとに追跡する過去のポイントの最大数。
meter_per_pixelfloat0.05ピクセル距離を実世界の単位に変換するために使用されるスケーリング係数。
max_speedint120ビジュアルオーバーレイにおける最大速度制限(アラートで使用)。

SpeedEstimatorソリューションでは、以下のtrackパラメータを使用できます:

引数タイプデフォルト説明
trackerstr'botsort.yaml'使用するトラッキングアルゴリズムを指定します(例:bytetrack.yamlbotsort.yaml)。
conffloat0.1検出の信頼度しきい値を設定します。低い値を指定するとより多くの物体をトラッキングできますが、偽陽性が含まれる可能性があります。
ioufloat0.7重なり合う検出結果をフィルタリングするためのIntersection over Union (IoU) しきい値を設定します。
classeslistNoneクラスインデックスで結果をフィルタリングします。例えば、classes=[0, 2, 3]と設定すると、指定されたクラスのみを追跡します。
verboseboolTrue追跡結果の表示を制御し、追跡された物体の視覚的出力を提供します。
devicestrNone推論用のデバイス(例:cpucuda:00など)を指定します。ユーザーはCPU、特定のGPU、またはその他の計算デバイスを選択してモデルを実行できます。

さらに、以下の可視化オプションもサポートされています:

引数タイプデフォルト説明
showboolFalseTrueの場合、注釈付き画像または動画をウィンドウに表示します。開発やテスト中に即座に視覚的フィードバックを得るのに役立ちます。
line_widthint or NoneNoneバウンディングボックスの線幅を指定します。Noneの場合、画像サイズに基づいて線幅が自動調整されます。明確化のための視覚的なカスタマイズが可能です。
show_confboolTrueラベルとともに、各検出結果の信頼度スコアを表示します。各検出に対するモデルの確信度を把握できます。
show_labelsboolTrue視覚的出力において、各検出結果にラベルを表示します。検出されたオブジェクトの即時理解を可能にします。

FAQ

Ultralytics YOLO26を使用して物体の速度を推定するにはどうすればよいですか?

Ultralytics YOLO26による物体の速度推定には、物体検出と追跡技術を組み合わせる必要があります。まず、YOLO26モデルを使用して各フレーム内の物体を検出します。次に、それらの物体をフレーム間で追跡し、時間の経過に伴う移動量を計算します。最後に、フレーム間で物体が移動した距離とフレームレートを使用して速度を推定します。

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
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 = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize SpeedEstimator
speedestimator = solutions.SpeedEstimator(
    model="yolo26n.pt",
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = speedestimator(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

詳細については、公式ブログ記事を参照してください。

交通管理においてUltralytics YOLO26を速度推定に使用する利点は何ですか?

交通管理においてUltralytics YOLO26を速度推定に使用することで、以下のような大きな利点が得られます:

  • 安全性の向上: 車両の速度を正確に推定してスピード違反を検出し、交通安全を向上させます。
  • リアルタイム監視: YOLO26のリアルタイム物体検出機能により、交通の流れや渋滞を効果的に監視できます。
  • スケーラビリティ: エッジデバイスからサーバーまで、さまざまなハードウェア構成にモデルをデプロイでき、大規模な実装に対して柔軟でスケーラブルなソリューションを提供します。

その他のアプリケーションについては、速度推定の利点を参照してください。

YOLO26をTensorFlowPyTorchなどの他のAIフレームワークと統合できますか?

はい、YOLO26はTensorFlowやPyTorchなどの他のAIフレームワークと統合できます。Ultralyticsは、YOLO26モデルをONNXTensorRTCoreMLなどのさまざまなフォーマットにエクスポートする機能をサポートしており、他のMLフレームワークとのスムーズな相互運用性を確保しています。

YOLO26モデルをONNX形式にエクスポートするには:

yolo export model=yolo26n.pt format=onnx

モデルのエクスポートの詳細については、エクスポートに関するガイドを参照してください。

Ultralytics YOLO26を使用した速度推定の精度はどのくらいですか?

Ultralytics YOLO26を使用した速度推定の精度は、物体追跡の品質、ビデオの解像度とフレームレート、環境変数など、いくつかの要因に依存します。速度推定器は信頼性の高い推定値を提供しますが、フレーム処理速度の変動や物体の遮蔽(オクルージョン)により、100%の精度ではない場合があります。

: 常に誤差の範囲を考慮し、可能な場合はグランドトゥルースデータで推定値を検証してください。

精度の向上に関するヒントについては、SpeedEstimatorの引数セクションを確認してください。

コメント