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

特に遅刻しそうなときに、駐車スペースを探して何度も周辺を運転するのはストレスになります。従来の駐車場所の探し方は、面倒で時間がかかることがあります。しかし、人工知能(AI)とコンピュータビジョンを活用した駐車管理システムなら、より簡単にできます。駐車スペースの空き状況を予測しやすくし、交通渋滞を緩和できます。
この記事では、人工知能とコンピュータビジョンを使って駐車管理システムをアップグレードする方法を学びます。また、Ultralytics YOLOv8モデルを使ってコンピュータビジョン対応の駐車管理システムを作成する方法を、段階的なコーディング例で説明します。さっそく始めましょう!
従来の駐車場管理における課題#
AIで強化されたスマート駐車管理システムについて説明する前に、従来の駐車管理システムが抱える課題を見てみましょう。
従来のシステムにおける大きな問題は、駐車スペースの過密です。駐車場にある車の数が、利用可能なスペースの数を上回っています。スペースを探す時間が無駄になるだけでなく、過密状態は燃料消費量の増加や大気汚染につながります。もう一つの問題は、ドライバーのストレスです。ある調査によると、約27%の人が駐車スペースを探すために少なくとも30分を費やしています。また、43%の人が、駐車スペースをめぐって見知らぬ人と言い争いになったことがあると回答しています。

図1. ストレスを感じているドライバー。画像提供元:Envato Elements。
AIによって駐車場管理が容易に#
AIを統合した駐車場は、従来の駐車管理システムが抱える課題の解決を目指しています。Ultralytics YOLOv8モデルなどのコンピュータビジョンモデルと高解像度カメラを使えば、駐車場を監視し、利用可能な駐車スペースと使用中の駐車スペースに関するリアルタイムの更新情報を取得できます。
どのように機能するのでしょうか? コンピュータビジョンモデルは、高解像度カメラからの映像を分析し、車両を検出して動きを追跡し、利用可能な駐車スペースを特定できます。Ultralytics YOLOv8モデルは、物体検出や物体追跡などのコンピュータビジョンタスクに対応しており、映像内の車両を正確に特定して分類できます。検出した車両の位置とあらかじめ定義した駐車スペースを比較することで、システムは駐車スペースが使用中かどうかを判定できます。

図2. 駐車スペースを検出するYOLOv8。
ビジョンベースのシステムから得られる駐車スペースの空き状況に関する情報は、さまざまなアプリケーションに統合・拡張できます。
- モバイルアプリ: モバイルアプリケーションにリアルタイムの駐車スペースの空き状況を表示し、ドライバーが利用可能なスペースをすばやく簡単に見つけられるようにできます。
- デジタルサイネージ: 駐車場の入口に設置したデジタルサイネージに、利用可能なスペースの数を表示し、最寄りの空きスペースへドライバーを案内できます。
- 自動駐車システム: データを使って自動バリアやゲートを制御し、スペースが空いている場合にのみ入場を許可するとともに、最寄りの空きスペースへドライバーを案内できます。
駐車管理システムのメリット#
駐車スペースの空き状況に関するインサイトから、多くのメリットを得られます。リアルタイムの更新情報により、ドライバーは空いているスペースへ直接向かえるため、交通の流れがスムーズになり、駐車場所を探すストレスも軽減されます。運営者にとっては、スペースの利用状況を把握することで、駐車場をより適切に管理し、リアルタイム監視によってセキュリティを強化し、インシデントに迅速に対応できます。
駐車機能を自動化すると、手作業の削減によってコストを抑えられます。AIシステムにより、モバイルアプリやWebアプリから駐車スペースを簡単に予約できるため、ドライバーは空き状況に関する通知を受け取り、時間と費用を節約できます。都市計画担当者は、このデータを使ってより適切な道路レイアウトを設計し、効果的な駐車規制を実施するとともに、都市をより効率的で移動しやすくする新しい駐車施設を開発できます。

図3. モバイルアプリで駐車スペースを予約。
自分で試す: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秒あたりのフレーム数など、必要な動画プロパティをすべて初期化します。
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の公式ドキュメントをご覧ください。
自動駐車場管理システムの課題#
インテリジェント駐車システムは、ドライバーと企業の双方に多くのメリットをもたらします。しかし、このようなソリューションを導入する前に考慮すべき課題もいくつかあります。ここでは、その一部を見てみましょう。
- プライバシーに関する懸念: これらのシステムは、個人の車のメーカーやモデル、ナンバープレート番号、入庫・出庫時刻などの情報を収集します。
- 導入コストの高さ: センサー、カメラ、自動精算機、AIソフトウェアは、導入に多額の費用がかかる場合があります。
- メンテナンス要件: メンテナンスの頻度はAIシステムによって異なりますが、ほとんどのシステムでは毎月のメンテナンスが必要です。
スマート駐車システムの未来#
未来の革新的な駐車管理では、AI、自動運転車、バーチャルリアリティなどの最先端テクノロジーを活用して、駐車体験全体を改善し、持続可能性を支援することが重要になります。これらのシステムと統合すれば、自動運転車は人の介入なしに駐車場所まで移動して駐車できるようになります。これらのシステムは、企業がより多くの駐車スペースを埋め、複数のアプリやWebサイトでサービスを宣伝するのにも役立ちます。また、ドライバーが駐車スペースを探して走り回ることで発生する炭素排出量も削減できます。
駐車の悩みを解消する#
Ultralytics YOLOv8などのAIモデルとコンピュータビジョンは、駐車場を変革できます。駐車スペースを探して走り回る時間を大幅に減らし、時間を節約するとともに排出量を削減できます。これらのスマート駐車管理システムは、渋滞、違法駐車、ドライバーの苛立ちといった一般的な問題に対処します。初期投資は必要ですが、長期的なメリットは大きいものです。スマート駐車への投資は、持続可能な都市と、すべての人にとってより快適な駐車体験を実現するための鍵となります。
AIについてさらに詳しく知りたいですか?コミュニティにぜひご参加ください!GitHubリポジトリでは、ヘルスケアや農業など、さまざまな業界でAIを活用して革新的なソリューションを生み出す方法について詳しくご覧いただけます。私たちと一緒に協力し、革新し、学びましょう! 🚀









