Ultralytics YOLO27:
Ultralytics YOLO

コンピュータービジョンプロジェクトでの速度推定に向けたUltralytics YOLOv8

コンピュータービジョンプロジェクトでUltralytics YOLOv8モデルを速度推定に使用する方法をご紹介します。簡単なコード例で実際に試してみましょう。

ABAbirami Vina7 min read
コンピュータービジョンプロジェクトでの速度推定に向けたUltralytics YOLOv8

速度制限の道路標識は、おそらく誰もが見たことがあるでしょう。中には、速度制限違反の自動通知を郵送やメールで受け取ったことがある方もいるかもしれません。人工知能(AI)を活用した交通管理システムは、コンピュータビジョンによって速度超過違反を自動的に検出できます。街灯や高速道路に設置されたカメラで撮影したリアルタイム映像は、速度推定や道路の安全性向上に活用されています。

速度推定は、高速道路の安全対策だけに限られません。スポーツ、自動運転車、その他さまざまな用途に利用できます。この記事では、コンピュータビジョンプロジェクトでUltralytics YOLOv8モデルを使って速度を推定する方法について説明します。また、実際に試せるように、コード例をステップごとに解説します。始めましょう。

速度推定によって交通管理が容易になります#

世界保健機関(WHO)によると、速度超過が原因で、道路交通事故により年間約119万人が亡くなっています。さらに、2,000万~5,000万人が死亡に至らない負傷を負っており、その多くが障害につながっています。速度推定が事故の防止、命の救助、道路の安全性と効率性の維持に役立つことから、交通安全の重要性はいくら強調してもし過ぎることはありません。

コンピュータビジョンを使用した速度推定では、動画フレーム内のオブジェクトを検出および追跡し、移動速度を計算します。Ultralytics YOLOv8のようなアルゴリズムは、連続するフレーム間で車両などのオブジェクトを識別して追跡できます。システムは、キャリブレーション済みのカメラや基準点を使用して、オブジェクトが移動した距離を測定し、実世界の距離を推定します。オブジェクトが2点間を移動するのにかかった時間を計測することで、距離と時間の比率から速度を算出します。

Ultralytics YOLOv8モデルを使用した速度推定

図1。Ultralytics YOLOv8モデルを使用した速度推定。

速度超過車両の検出以外にも、AIと統合された速度推定システムは、交通に関する予測を行うためのデータを収集できます。これらの予測は、信号のタイミングやリソース配分の最適化など、交通管理業務を支援できます。交通パターンや渋滞の原因に関するインサイトを活用すれば、交通渋滞を緩和するための新しい道路を計画できます。

さまざまな業界における速度推定の用途#

速度推定の用途は、道路の監視にとどまりません。アスリートのパフォーマンス監視、周囲を移動するオブジェクトの速度を自動運転車が把握するための支援、不審な行動の検出などにも役立ちます。カメラを使ってオブジェクトの速度を測定できる場所であれば、コンピュータビジョンによる速度推定を利用できます。

速度推定が利用されている分野の例をいくつか紹介します。

  • Teslaの自動運転車は、衝突を回避するためにビジョンベースの速度推定を使用しています。
  • トラック競技やフィールド競技のパフォーマンス分析を向上させるため、2024年オリンピックでコンピュータビジョンと速度推定が使用されます。
  • スマートシティでは、歩行速度を監視し、都市の移動性と安全性を高めるために、歩行者の歩容分析が研究されています。これらのシステムは、歩行者の存在をドライバーに警告し、事故を防止できます。
  • 動物行動監視システムは、速度推定を使用して動物の動きを追跡し、苦痛や病気の兆候を検出します。

人の歩行速度を測定する速度推定

図2。速度推定によって人の歩行速度を測定できます。

コンピュータビジョンを使用した速度推定のメリット#

ビジョンベースの速度推定システムは、精度の向上、費用対効果、柔軟性を備えているため、従来のセンサーベースの手法に取って代わりつつあります。LiDARのような高価なセンサーに依存するシステムとは異なり、コンピュータビジョンでは標準的なカメラを使用して速度をリアルタイムで監視・分析します。速度推定のためのコンピュータビジョンソリューションは、既存の交通インフラにシームレスに統合できます。また、車両タイプの識別や交通パターンの分析など、複雑なタスクを実行できるように構築することで、交通全体の流れと安全性を改善できます。

実際に試してみましょう:Ultralytics YOLOv8を使用した速度推定#

速度推定とその用途について明確に理解できたところで、コードを通じて、コンピュータビジョンプロジェクトに速度推定を組み込む方法を詳しく見ていきましょう。Ultralytics YOLOv8モデルを使用して、移動する車両を検出し、その速度を推定します。

この例では、インターネットからダウンロードした道路上の車両の動画を使用します。同じ動画や、その他の関連する動画を使用できます。Ultralytics YOLOv8モデルは各車両の中心点を識別し、この中心点が動画フレーム内の水平線を通過する速さに基づいて速度を算出します。

始める前に、このケースでは距離の計算が近似値であり、ユークリッド距離に基づいていることに注意してください。カメラキャリブレーションは考慮されていないため、速度推定が完全に正確とは限りません。また、推定速度はGPUの速度によって変動する可能性があります。

ステップ1: まず、Ultralyticsパッケージをインストールします。コマンドプロンプトまたはターミナルを開き、以下に示すコマンドを実行します。

pip install ultralytics

インストール手順とベストプラクティスについては、Ultralyticsインストールガイドをご覧ください。YOLOv8に必要なパッケージのインストール中に問題が発生した場合は、一般的な問題のガイドで解決策と役立つヒントを確認できます。

ステップ2: 次に、必要なライブラリをインポートします。OpenCVライブラリは、動画処理に役立ちます。

import cv2
from ultralytics import YOLO, solutions

ステップ3: 次に、Ultralytics YOLOv8モデルを読み込み、モデルが検出できるクラスの名前を取得します。

model = YOLO("yolov8n.pt")
names = model.model.names

プロジェクトに最適なモデルを理解するには、サポートしているすべてのモデルをご覧ください。

ステップ4: このステップでは、OpenCVのVideoCaptureモジュールを使用して入力動画ファイルを開きます。また、動画の幅、高さ、フレーム毎秒(fps)を取得します。

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))

ステップ5: ここでは、速度推定の最終結果を保存するためにビデオライターを初期化します。出力動画ファイルは「speed_estimation.avi」として保存されます。

video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

ステップ6: 次に、速度推定用のラインの点を定義します。入力動画では、このラインをフレーム中央に水平に配置します。入力動画に応じて、値を変更してラインを最適な位置に配置してみてください。

line_pts = [(0, 360), (1280, 360)]

ステップ7: ここで、定義したラインの点とクラス名を使用して速度推定オブジェクトを初期化します。

speed_obj = solutions.SpeedEstimator(
    reg_pts=line_pts,
    names=names,
    view_img=True,
)

ステップ8: スクリプトの中心部分では、動画をフレームごとに処理します。各フレームを読み込み、オブジェクトを検出して追跡します。追跡対象のオブジェクトの速度を推定し、アノテーション付きのフレームを出力動画に書き込みます。

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    tracks = model.track(im0, persist=True, show=False)
    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

ステップ9: 最後に、ビデオキャプチャとライターのオブジェクトを解放し、OpenCVのウィンドウを閉じます。

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

ステップ10: スクリプトを保存します。ターミナルまたはコマンドプロンプトから作業している場合は、次のコマンドを使用してスクリプトを実行します。

python your_script_name.py

ビジョンベースの速度推定における課題#

コンピュータビジョンを使用した速度推定の実装に伴う課題を理解することも重要です。雨、霧、雪などの悪天候は道路の視認性を妨げるため、システムに問題を引き起こす可能性があります。同様に、他の車両やオブジェクトによるオクルージョンによって、対象車両の速度を正確に追跡・推定することが困難になる場合があります。影や太陽光のまぶしさを生じさせる照明条件の悪さも、速度推定をさらに複雑にする可能性があります。

もう1つの課題は、計算能力に関するものです。リアルタイムで速度を推定するには、高品質な交通カメラから得られる大量の視覚データを処理する必要があります。すべての処理を遅延なく高速に行うために、ソリューションには高価なハードウェアが必要になる場合があります。

さらに、プライバシーの問題もあります。これらのシステムが収集するデータには、メーカー、モデル、ナンバープレート情報など、本人の同意なく収集された個人の車両情報が含まれる可能性があります。最新のHDカメラの中には、車内の乗員の画像まで撮影できるものもあります。このようなデータ収集は、細心の注意を払って対処する必要がある重大な倫理的・法的問題を引き起こす可能性があります。

未来に向かって加速する速度推定#

Ultralytics YOLOv8モデルを速度推定に使用すると、多くの用途に対応できる柔軟で効率的なソリューションを実現できます。厳しい条件下での精度やプライバシー問題への対応などの課題はありますが、メリットは数多くあります。コンピュータビジョンを活用した速度推定は、従来の方法と比べて費用対効果、適応性、精度に優れています。輸送、スポーツ、監視、自動運転車など、さまざまな分野で役立ちます。数多くのメリットと用途があることから、将来のスマートシステムにおける重要な要素になるでしょう。

AIに関心がありますか?私たちのコミュニティに参加しましょう。GitHubリポジトリでは、医療農業など、さまざまな業界でAIを活用して革新的なソリューションを生み出す方法について詳しく学べます。私たちと一緒に協力し、革新し、学びましょう!🚀

Explore solutions

航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

ロボティクスのコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現します。ロボティクスのVision AIにより、自律ナビゲーション、認識、物体追跡、リアルタイム制御を実現します。
詳細を見る
物流のコンピュータービジョン

物流のコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化します。Vision AIにより、荷物検査、仕分け、車両追跡、倉庫の安全性に関するリアルタイム監視を実現します。
詳細を見る
小売のコンピュータービジョン

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

Ultralytics YOLOモデルでヘルスケアソリューションを構築しましょう。ヘルスケア向けVision AIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳細を見る
製造業向けコンピュータービジョン

製造業向けコンピュータービジョン

Ultralytics YOLOモデルで製造業を最適化しましょう。Vision AIは、品質管理、欠陥検出、PPE遵守、組立ラインの自動化を推進します。
詳細を見る
自動車分野のコンピュータビジョン

自動車分野のコンピュータビジョン

Ultralytics YOLOモデルで自動車分野にコンピュータビジョンを適用します。ビジョンAIにより、道路の安全性、運転支援、車両自動化を向上させ、よりスマートな道路を実現します。
詳細を見る
農業分野のコンピュータビジョン

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る

AIの未来を一緒に築きましょう!

機械学習の未来への歩みを始めましょう