Yolo 深圳
深セン
今すぐ参加

よりスマートな駐車場管理システムのためのUltralytics YOLOv8

Abirami Vina

6 min read

2024年6月13日

Ultralytics YOLOv8 モデルは駐車場管理システムをよりスマートにします。駐車場をリアルタイムで管理し、スマートパーキングソリューションを構築する方法を学びましょう。

特に時間に追われている場合、駐車スペースを探して何度も同じ場所を運転するのはストレスが溜まります。従来の方法で駐車場所を探すのは、退屈で時間がかかることがあります。しかし、人工知能(AI)とコンピュータビジョンを活用した駐車場管理システムは、状況をよりシンプルにすることができます。駐車場の利用可能性をより予測しやすくし、交通渋滞を緩和することができます。

この記事では、駐車場管理システムを人工知能とコンピューター・ビジョンでアップグレードする方法を学びます。また、ステップバイステップのコーディング例で Ultralytics YOLOv8モデルを使用してコンピュータビジョン対応の駐車場管理システムを作成する方法をステップバイステップのコーディング例で紹介します。さっそく始めましょう!

従来の駐車場管理における課題

AIを活用したスマート駐車場管理システムについて説明する前に、従来の駐車場管理システムの課題を見てみましょう。

従来型システムの主な問題点は、駐車スペースの過密状態です。利用可能なスペースよりも駐車場内の車の台数が多いのです。スペースを探す時間の浪費に加えて、過密状態は燃料の過剰消費と大気汚染につながります。もう一つの問題は、ドライバーのストレスです。ある調査によると、約27%の人が駐車場所を探すのに少なくとも30分費やしています。また、43%の人が駐車場所をめぐって見知らぬ人と口論になったことがあると認めています。

図1. ストレスを抱えたドライバー。画像出典:Envato Elements。

AIによる駐車場管理の効率化

AIと統合された駐車場は、従来の駐車場管理システムが抱える問題を解決することを目指している。Ultralytics YOLOv8 モデルのようなコンピュータビジョンモデルと高解像度カメラにより、駐車場を監視し、空き駐車スペースや占有駐車スペースの最新情報をリアルタイムで得ることができる。 

どのように機能するのか? コンピュータビジョンモデルは、高解像度カメラからの映像を解析して車両をdetect し、その動きをtrack し、利用可能な駐車スポットを特定することができます。Ultralytics YOLOv8 モデルは、物体検出や 物体追跡などのコンピュータビジョンタスクをサポートし、ビデオフィード内の車両を正確に識別・classify することができます。検出された車両の位置を事前に定義された駐車スペースと比較することで、システムは駐車スペースが埋まっているかどうかを判断することができます。

図2.
‍ 駐車スポットを検出するYOLOv8 。

ビジョンベースのシステムからの駐車場の空き状況に関する情報は、統合してさまざまなアプリケーションに拡張できます。

  • モバイルアプリ: モバイルアプリケーションは、リアルタイムの駐車場の空き状況を表示し、ドライバーが利用可能な場所をすばやく簡単に見つけるのに役立ちます。
  • デジタルサイネージ: 駐車場入口のデジタルサイネージは、利用可能なスペースの数を表示し、ドライバーを最寄りの空いている場所に誘導できます。
  • 自動駐車システム: このデータを使用して、自動バリアやゲートを制御し、スペースが空いている場合にのみ入場を許可し、ドライバーを最寄りの空いている場所に誘導できます。

駐車場管理システムの利点

駐車場の空き状況に関する洞察は、多くの利点をもたらします。リアルタイムの最新情報により、ドライバーは空いている場所に直接移動できるため、交通の流れがスムーズになり、駐車場を探すストレスが軽減されます。運営者にとっては、スペースの使用状況を把握することで、駐車場をより適切に管理し、リアルタイム監視でセキュリティを向上させ、あらゆるインシデントに迅速に対応できます。

駐車機能の自動化は、手作業の必要性を減らすことでコストを削減します。AIシステムにより、モバイルアプリやウェブアプリを通じて駐車スペースの予約が容易になり、ドライバーは空き状況に関する通知を受け取ることができ、時間と費用を節約できます。都市計画者はこのデータを利用して、道路のレイアウト改善、効果的な駐車規制の実施、都市の効率性とナビゲーションを向上させる新しい駐車施設の開発を行うことができます。

図3. モバイルアプリによる駐車スペースの予約

自分でやってみよう:YOLOv8使った駐車場管理

駐車場管理とその利点について理解したところで、ビジョンベースの駐車場管理システムを構築する方法について説明しよう。ここでは YOLOv8 モデルを使用して、車両をdetect し、駐車スペースを監視し、その稼働状況を判断します。

この例では、駐車場からのビデオまたはカメラストリームを使用できます。この例でサポートされる最大画像サイズは1920 * 1080であることに注意してください。開始する前に、このシステムは正確な車両検出と事前定義された駐車スペースの座標に依存していることを覚えておいてください。 

カメラの較正と環境要因は、空間検出と占有状態の精度に影響する可能性があります。また、処理速度と精度はGPUパフォーマンスによって異なる場合があります。

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

pip install ultralytics

インストールプロセスの詳細な手順とベストプラクティスについては、Ultralytics インストールガイドを 参照してください。YOLOv88に必要なパッケージのインストール中に問題が発生した場合は、よくある問題ガイドで解決策と役立つヒントを提供しています。

ステップ2: 映像内の関心領域をマークできるように、事前に駐車スペースを選択する必要があります。このコードを実行して、駐車スペースを事前に選択するためのユーザーインターフェースを開きます。

from ultralytics import solutions
solutions.ParkingPtsSelection()

以下に示すように、このコードを実行するとユーザーインターフェースが開きます。駐車場の入力ビデオのフレームまたはスクリーンショットを取得してアップロードします。駐車スペースの周りにバウンディングボックスを描画した後、保存オプションをクリックします。選択した駐車スペースの情報は、‘bounding_boxes.json’という名前のJSONファイルに保存されます。

図4. 映像内の駐車スペースの選択

ステップ3: いよいよ駐車場管理のメインコードに入ります。まず、必要なライブラリをすべてインポートし、ステップ2で作成したJSONファイルを初期化します。

import cv2
from ultralytics import solutions

polygon_json_path = "bounding_boxes.json"

ステップ4: VideoCaptureオブジェクトを作成して入力ビデオファイルを読み込み、ビデオファイルが正常に開かれていることを確認します。

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"

ステップ5: 幅、高さ、フレーム/秒など、必要なビデオプロパティをすべて初期化します。

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

ステップ6: 次に、VideoWriterオブジェクトを作成して、処理済みの最終ビデオファイルを保存します。

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

ステップ7:ここで、駐車スポット検出用のUltralytics YOLOv8 モデルを使って駐車管理システムを初期化する。

management = solutions.ParkingManagement(model_path="yolov8n.pt") 

ステップ8: 次に、処理のためにビデオファイルをフレームごとに見ていきます。フレームが読み取られない場合、ループは中断されます。

while cap.isOpened():
   ret, im0 = cap.read()
   if not ret:
       break

ステップ9:ループの中で、JSONファイルから事前に選択された駐車領域を抽出し、YOLOv8 モデルを使用してフレーム内のオブジェクトをtrack する。

 json_data = management.parking_regions_extraction(polygon_json_path)
   results = management.model.track(im0, persist=True, show=False)

ステップ10: ループのこの部分では、追跡結果を処理し、検出されたオブジェクトのバウンディングボックスの座標とクラスラベルを取得します。

if results[0].boxes.id is not None:
       boxes = results[0].boxes.xyxy.cpu().tolist()
       clss = results[0].boxes.cls.cpu().tolist()
       management.process_data(json_data, im0, boxes, clss)

ステップ11: ループの最後の部分では、アノテーション付きの現在のフレームを表示し、処理されたフレームを出力ビデオファイル“parking management.avi”に書き込みます。

management.display_frames(im0)
video_writer.write(im0)

ステップ12: 最後に、VideoCaptureオブジェクトとVideoWriterオブジェクトを解放し、すべてのウィンドウを破棄します。

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

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

python your_script_name.py

コードについてもっと知りたい方は、 Ultralytics公式ドキュメントをご覧ください。

自動化された駐車場管理システムにおける課題

インテリジェントな駐車場システムは、運転者と企業の両方に多くの利点をもたらします。しかし、そのようなソリューションを導入する前に考慮すべきいくつかの課題も存在します。それらのいくつかを見てみましょう。

  • Privacy Concerns(プライバシーに関する懸念): これらのシステムは、個人の車のメーカーとモデル、ナンバープレート番号、入退場時間などの情報を収集します。
  • 高い設置コスト: センサー、カメラ、自動券売機、AIソフトウェアの設置には費用がかかる場合があります。 
  • メンテナンス要件: メンテナンスの頻度はAIシステムによって異なりますが、ほとんどのシステムでは月単位のメンテナンスが必要です。

スマート駐車場システムの未来

将来の革新的な駐車場管理は、AI、自動運転車、バーチャルリアリティなどの最先端技術を利用して、全体的な駐車体験を向上させ、持続可能性をサポートすることを目指します。これらのシステムと統合されると、自動運転車は人間の介入なしに駐車場所まで移動し、駐車できるようになります。これらのシステムはまた、企業がより多くの駐車スペースを埋め、複数のアプリやウェブサイトでサービスを宣伝するのに役立ちます。さらに、運転者が駐車スペースを探して走り回ることから生じる炭素排出量を削減します。

駐車場での悩みを解消

AIモデル Ultralytics YOLOv8やコンピュータ・ビジョンは、駐車場を一変させます。 駐車場が一変し、駐車場を探し回る時間が劇的に短縮され、時間の節約と排気ガスの削減につながります。 このようなスマート駐車場管理システムは、混雑、違法駐車、ドライバーの不満といった一般的な問題に取り組む。初期投資はかかるが、長期的なメリットは大きい。スマートパーキングに投資することは、持続可能な都市を作り、誰にとってもスムーズな駐車体験を実現するための鍵となる。

AIについてもっと知りたいですか?私たちのコミュニティと繋がりましょう!GitHubリポジトリを調べて、私たちがどのようにAIを使用して、ヘルスケア農業のような様々な業界で革新的なソリューションを生み出しているかをご覧ください。私たちと一緒に協力し、革新し、学びましょう!🚀

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

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる