Ultralytics YOLO26による速度推定#
速度推定とは?#
速度推定とは、特定の状況下における物体の移動速度を計算するプロセスであり、コンピュータービジョンのアプリケーションでよく使用されます。Ultralytics YOLO26を使用すると、物体追跡と距離・時間のデータを組み合わせて物体の速度を計算でき、交通監視や監視カメラなどのタスクに役立ちます。速度推定の精度は、さまざまなアプリケーションの効率と信頼性に直接影響するため、インテリジェントシステムの進歩やリアルタイムの意思決定プロセスにおける重要な要素です。
視聴: Ultralytics YOLO26 による速度推定
速度推定について詳しく知るには、こちらのブログ記事をご覧ください:コンピュータービジョンプロジェクトにおける速度推定のためのUltralytics YOLO
速度推定のメリット#
- 効率的な交通制御: 正確な速度推定は、交通の流れの管理、安全性の向上、道路の渋滞緩和に役立ちます。
- 高精度な自律走行: 自動運転車などの自律システムでは、信頼性の高い速度推定によって、安全で正確な車両のナビゲーションが可能になります。
- 監視セキュリティの強化: 監視分析における速度推定は、異常な行動や潜在的な脅威の特定に役立ち、セキュリティ対策の有効性を高めます。
実際の活用例#
| 交通 | 交通 |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26による道路上の速度推定 | Ultralytics YOLO26による橋上の速度推定 |
速度は推定値です
速度は推定値であり、完全に正確とは限りません。また、カメラの仕様や関連する要因によって推定値は変動する可能性があります。
YOLO26による速度推定#
SpeedEstimatorソリューションは、各フレームで物体を追跡し、動画のフレームレート(fps)と実世界のスケール(meter_per_pixel)を使用して、ピクセル単位の移動量を速度に変換します。カメラの設定に合わせてmeter_per_pixelを調整し、ノイズの多い追跡結果から外れ値を除外するにはmax_speedを使用してください。
# 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.05SpeedEstimatorの引数#
SpeedEstimatorの引数を以下の表に示します。
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
model | str | None | Ultralytics YOLOモデルファイルへのパスです。 |
fps | float | 30.0 | 速度の計算に使用する1秒あたりのフレーム数です。 |
max_hist | int | 5 | 速度や方向の計算で、オブジェクトごとに追跡する履歴ポイントの最大数です。 |
meter_per_pixel | float | 0.05 | ピクセル距離を実世界の単位に変換するためのスケーリング係数です。 |
max_speed | int | 120 | 速度の上限(km/h)です。推定速度がこの値を超える場合、この値に制限されます。 |
line_width | int | 2 | Solutionが描画するボックス、キーポイント、カウント表示の線幅です。 |
verbose | bool | True | 各フレームの入力shape、クラス数、処理速度を記録するSolutionのログを有効にします。トラッキング呼び出し自体は常にログを出力しません。 |
SpeedEstimatorソリューションでは、trackパラメーターを使用できます。
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | 使用するトラッキングアルゴリズムを指定します。組み込みのオプション:botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yaml。 |
conf | float | 0.25 | 検出の信頼度しきい値を設定します。値を低くすると、より多くの物体を追跡できますが、誤検出が含まれる可能性があります。 |
iou | float | 0.7 | 重複する検出をフィルタリングするためのIntersection over Union(IoU)しきい値を設定します。 |
classes | list | None | クラスインデックスで結果をフィルタリングします。たとえば、classes=[0, 2, 3]を指定すると、指定したクラスのみを追跡します。 |
device | str | None | 推論に使用するデバイスを指定します(例:cpu、cuda:0、0)。モデル実行に使用するCPU、特定のGPU、その他の計算デバイスを選択できます。 |
imgsz | int or tuple | 640 | 推論時の入力画像サイズです。正方形の場合は整数、または(height, width)のペアを指定します。形状はモデルのストライドに合わせて調整されます。 |
max_det | int | 300 | トラッキング前にフレームごとに保持する検出の最大数です。混雑したシーンでソリューションが処理する物体数を制限します。 |
quantize | int or str | None | 推論精度: CPU以外で実行するPyTorchおよびTorchScriptモデルでは、16(FP16)または32/未設定(FP32)を使用します。その他の形式では、アーティファクトとランタイムによって選択される精度が使用されます。非推奨のhalf引数を置き換えます。 |
さらに、以下の可視化オプションもサポートされています。
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
show | bool | False | Trueの場合、注釈付き画像または動画をウィンドウに表示します。開発やテスト中にすぐ視覚的なフィードバックを得るのに便利です。 |
show_labels | bool | True | 可視化出力で各検出のラベルを表示します。検出されたオブジェクトをすぐに把握できます。 |
よくある質問#
Ultralytics YOLO26による物体の速度推定では、物体検出と追跡を組み合わせます。モデルは各フレーム内の物体を検出してフレーム間で追跡し、フレームレートと
meter_per_pixelスケールを使用して、フレーム間の移動距離を速度に変換します。上記のPythonの例では、この一連の処理を実行できます。動画を渡し、カメラに合わせてmeter_per_pixelを調整してください。詳しくは、公式ブログ記事をご覧ください。Ultralytics YOLO26による速度推定の精度は、物体追跡の品質、動画の解像度とフレームレート、環境要因など、複数の要因によって異なります。速度推定機能は信頼性の高い推定値を提供しますが、フレーム処理速度のばらつきや物体のオクルージョンにより、100%正確とは限りません。
注記:常に誤差の範囲を考慮し、可能な場合はグラウンドトゥルースデータを使用して推定値を検証してください。
精度をさらに向上させる方法については、引数
SpeedEstimatorのセクションをご覧ください。

