よりスマートな駐車管理システムのための Ultralytics YOLOv8
Ultralytics YOLOv8 モデルを活用することで、駐車管理システムをよりスマートにできます。リアルタイムで駐車スペースを管理し、独自のスマートパーキングソリューションを構築する方法を学びましょう。

空き駐車場を探してぐるぐると車を走らせるのは、特に急いでいる時にはストレスが溜まるものです。従来のような駐車場探しは、面倒で時間がかかる作業になりがちです。しかし、人工知能(AI)とコンピュータービジョンを活用した駐車管理システムを使えば、こうした状況を簡略化できます。これにより、駐車場の空き状況が予測しやすくなり、交通渋滞を緩和することも可能になります。
本記事では、人工知能とコンピュータービジョンを使用して駐車管理システムをアップグレードする方法を解説します。また、Ultralytics YOLOv8モデルを活用してコンピュータービジョン対応の駐車管理システムを構築する具体的なコーディング手順も紹介します。それでは、早速見ていきましょう。
Link to this section従来の駐車場管理における課題#
AIを活用したスマート駐車管理システムについて議論する前に、まず従来のシステムが抱える課題を見ていきましょう。
従来のシステムの大きな問題点は、駐車場の過密状態です。利用可能なスペースよりも多くの車が駐車場に入り込んでいることがあります。空きスペースを探すために時間を浪費するだけでなく、混雑は燃料の過剰な消費や大気汚染にもつながります。もう一つの問題はドライバーのストレスです。ある調査によると、約27%の人が30分以上かけて駐車スペースを探していると回答しています。また、43%の人が駐車場所をめぐって見知らぬ人と口論になったことがあると認めています。
.png)
図1:ストレスを感じるドライバー。画像出典:Envato Elements
Link to this sectionAIが駐車管理をより容易にする#
AIを統合した駐車場は、従来の駐車管理システムが直面している課題の解決を目指しています。Ultralytics YOLOv8モデルのようなコンピュータービジョンモデルと高解像度カメラを使用することで、駐車場を監視し、空きスペースや利用中スペースに関するリアルタイムの更新情報を取得できます。
どのように機能するのでしょうか? コンピュータービジョンモデルは、高解像度カメラの映像を解析して車両を検出し、その動きを追跡し、空き駐車スペースを特定します。Ultralytics YOLOv8モデルはobject detection(物体検出)やobject tracking(物体追跡)といったコンピュータービジョンのタスクをサポートしており、ビデオフィード内の車両を正確に識別・分類できます。検出された車両の位置と事前に定義された駐車スペースを比較することで、システムは駐車スペースが利用中かどうかを判断します。
.webp)
図2:駐車スペースを検出するYOLOv8
ビジョンベースのシステムから得られる駐車の空き状況に関する情報は、さまざまなアプリケーションに統合および拡張できます。
- モバイルアプリ: モバイルアプリケーションは、リアルタイムの空き状況を表示し、ドライバーが空きスペースを迅速かつ簡単に見つける手助けをします。
- デジタルサイネージ: 駐車場の入り口にあるデジタル看板には、空きスペースの数が表示され、ドライバーを最寄りの空き場所へ誘導できます。
- 自動駐車システム: このデータを使用して自動ゲートやバーを制御し、スペースがある場合のみ入庫を許可したり、ドライバーを最寄りの空きスペースへ案内したりすることが可能です。
Link to this section駐車管理システムのメリット#
駐車の空き状況を把握することには多くのメリットがあります。リアルタイムの更新情報により、ドライバーは直接空きスペースに向かうことができ、交通の流れがスムーズになり、駐車場所を探すストレスが軽減されます。運営者にとっては、スペースの利用状況を理解することで、より効率的に駐車場を管理し、リアルタイム監視でセキュリティを強化し、インシデントに迅速に対応できるようになります。
駐車機能を自動化することで、人的リソースの必要性が減り、コストを削減できます。AIシステムにより、モバイルアプリやウェブアプリ経由での駐車予約が容易になり、ドライバーは空き状況の通知を受け取れるため、時間とコストを節約できます。都市計画担当者はこのデータを活用して、道路レイアウトの改善、効果的な駐車規制の実施、新しい駐車施設の開発を行い、都市の効率性とナビゲーションのしやすさを高めることができます。

図3. モバイルアプリによる駐車枠の予約。
Link to this section実際に試してみる:YOLOv8を使用した駐車管理#
駐車場管理とその利点について明確に理解できたところで、次はビジョンベースの駐車場管理システムを構築する方法について解説します。YOLOv8モデルを使用して車両を検出し、駐車スペースを監視し、その占有状況を判断します。
この例では、駐車場のビデオやカメラストリームを使用できます。なお、この例でサポートされる最大画像サイズは1920 * 1080です。開始する前に、このシステムが正確な車両検出と、事前に定義された駐車スペースの座標に依存していることに留意してください。
カメラのキャリブレーションや環境要因は、スペース検出と占有状況の正確性に影響を与える可能性があります。また、処理速度と精度はGPUのパフォーマンスによって変動します。
ステップ1: まずはUltralyticsパッケージをインストールしましょう。コマンドプロンプトまたはターミナルを開き、以下のコマンドを実行してください。
pip install ultralyticsインストール手順の詳細やベストプラクティスについては、Ultralyticsインストールガイドを参照してください。YOLOv8に必要なパッケージのインストール中に問題が発生した場合は、一般的な問題に関するガイドが解決策や役立つヒントを提供しています。
ステップ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: 幅、高さ、1秒あたりのフレーム数(FPS)など、必要なビデオプロパティをすべて初期化します。
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モデルを使用してフレーム内のオブジェクトを追跡します。
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の公式ドキュメントをぜひご確認ください。
Link to this section自動駐車管理システムの課題#
インテリジェントな駐車システムは、ドライバーとビジネスの両方に多くのメリットをもたらします。しかし、このようなソリューションを実装する前に考慮すべき課題もいくつか存在します。その一部を見てみましょう。
- プライバシーの懸念: これらのシステムは、個人の車のメーカーや車種、ナンバープレートの番号、入退場時間などの情報を収集します。
- 高い導入コスト: センサー、カメラ、自動発券機、AIソフトウェアの導入には多額の費用がかかる場合があります。
- メンテナンスの要件: メンテナンスの頻度はAIシステムによりますが、ほとんどのシステムでは月次メンテナンスが必要です。
Link to this sectionスマート駐車システムの未来#
将来の革新的な駐車管理は、AI、自動運転車、バーチャルリアリティといった最先端技術を活用し、全体的な駐車体験を向上させ、持続可能性をサポートするものとなるでしょう。これらのシステムと統合されることで、自動運転車は人の介入なしで駐車場所まで移動し、駐車できるようになります。また、これらのシステムは、ビジネス側がより多くの駐車スペースを埋め、複数のアプリやウェブサイトを通じてサービスを宣伝するのにも役立ちます。さらに、駐車場所を探して車を走らせることによる炭素排出量も削減されます。
Link to this section駐車の悩みを終わらせるために#
Ultralytics YOLOv8のようなAIモデルとコンピュータービジョンは、あなたの駐車場を一変させることができます。駐車場所を探して車を走らせる時間を劇的に短縮し、時間を節約しながら排出量を削減します。こうしたスマートな駐車管理システムは、混雑、違法駐車、ドライバーの不満といった一般的な問題に対処します。初期投資は必要ですが、長期的なメリットは非常に大きいです。スマートパーキングへの投資は、持続可能な都市を作り、誰にとってもスムーズな駐車体験を実現するための鍵となります。
AIについてもっと知りたいですか?私たちのコミュニティに参加しましょう!私たちのGitHubリポジトリを探索して、AIを使用して医療や農業といったさまざまな業界で革新的なソリューションを作成する方法を学びましょう。私たちと一緒に協力し、革新し、学びましょう! 🚀






