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

Ultralytics YOLOv8モデルは、駐車場管理システムをよりスマートにすることができます。リアルタイムで駐車スペースを管理し、独自のスマートパーキングソリューションを構築する方法を学びましょう。
特に時間に追われている場合、駐車スペースを探して何度も同じ場所を運転するのはストレスが溜まります。従来の方法で駐車場所を探すのは、退屈で時間がかかることがあります。しかし、人工知能(AI)とコンピュータビジョンを活用した駐車場管理システムは、状況をよりシンプルにすることができます。駐車場の利用可能性をより予測しやすくし、交通渋滞を緩和することができます。
この記事では、人工知能とコンピュータビジョンで駐車場管理システムをアップグレードする方法を学びます。また、Ultralytics YOLOv8モデルを使用して、コンピュータビジョン対応の駐車場管理システムを構築する方法をステップごとに示すコーディング例も紹介します。早速見ていきましょう。
AIを活用したスマート駐車場管理システムについて説明する前に、従来の駐車場管理システムの課題を見てみましょう。
従来型システムの主な問題点は、駐車スペースの過密状態です。利用可能なスペースよりも駐車場内の車の台数が多いのです。スペースを探す時間の浪費に加えて、過密状態は燃料の過剰消費と大気汚染につながります。もう一つの問題は、ドライバーのストレスです。ある調査によると、約27%の人が駐車場所を探すのに少なくとも30分費やしています。また、43%の人が駐車場所をめぐって見知らぬ人と口論になったことがあると認めています。
AIと統合された駐車場は、従来の駐車場管理システムが抱える課題の解決を目指しています。Ultralytics YOLOv8モデルのようなコンピュータビジョンモデルと高解像度カメラを使用することで、駐車場を監視し、利用可能な駐車スペースと使用中の駐車スペースに関するリアルタイムの最新情報を取得できます。
どのように機能するのでしょうか?コンピュータビジョンモデルは、高解像度カメラからの映像を分析して車両を検出し、その動きを追跡し、利用可能な駐車スペースを特定します。Ultralytics YOLOv8モデルは、物体検出や物体追跡などのコンピュータビジョンタスクをサポートしており、ビデオフィード内の車両を正確に識別および分類できます。検出された車両の位置と定義済みの駐車スペースを比較することで、システムは駐車スペースが使用中であるかどうかを判断できます。
ビジョンベースのシステムからの駐車場の空き状況に関する情報は、統合してさまざまなアプリケーションに拡張できます。
駐車場の空き状況に関する洞察は、多くの利点をもたらします。リアルタイムの最新情報により、ドライバーは空いている場所に直接移動できるため、交通の流れがスムーズになり、駐車場を探すストレスが軽減されます。運営者にとっては、スペースの使用状況を把握することで、駐車場をより適切に管理し、リアルタイム監視でセキュリティを向上させ、あらゆるインシデントに迅速に対応できます。
駐車機能の自動化は、手作業の必要性を減らすことでコストを削減します。AIシステムにより、モバイルアプリやウェブアプリを通じて駐車スペースの予約が容易になり、ドライバーは空き状況に関する通知を受け取ることができ、時間と費用を節約できます。都市計画者はこのデータを利用して、道路のレイアウト改善、効果的な駐車規制の実施、都市の効率性とナビゲーションを向上させる新しい駐車施設の開発を行うことができます。
駐車場管理とその利点について明確に理解したところで、ビジョンベースの駐車場管理システムを構築する方法について掘り下げていきましょう。YOLOv8モデルを使用して、車両の検出、駐車スペースの監視、およびその占有状況の判定を行います。
この例では、駐車場からのビデオまたはカメラストリームを使用できます。この例でサポートされる最大画像サイズは1920 * 1080であることに注意してください。開始する前に、このシステムは正確な車両検出と事前定義された駐車スペースの座標に依存していることを覚えておいてください。
カメラのキャリブレーションや環境要因は、スペース検出と占有状況の精度に影響を与える可能性があります。処理速度と精度は、GPUの性能によっても異なる場合があります。
ステップ1: まず、Ultralyticsパッケージをインストールしましょう。コマンドプロンプトまたはターミナルを開き、次のコマンドを実行します。
pip install ultralytics
インストールプロセスの詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドを参照してください。YOLOv8に必要なパッケージのインストール中に問題が発生した場合は、よくある問題ガイドに解決策と役立つヒントが記載されています。
ステップ2: 映像内の関心領域をマークできるように、事前に駐車スペースを選択する必要があります。このコードを実行して、駐車スペースを事前に選択するためのユーザーインターフェースを開きます。
from ultralytics import solutions
solutions.ParkingPtsSelection()
以下に示すように、このコードを実行するとユーザーインターフェースが開きます。駐車場の入力ビデオのフレームまたはスクリーンショットを取得してアップロードします。駐車スペースの周りにバウンディングボックスを描画した後、保存オプションをクリックします。選択した駐車スペースの情報は、‘bounding_boxes.json’という名前のJSONファイルに保存されます。
ステップ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モデルを使用してフレーム内のオブジェクトを追跡します。
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、自動運転車、バーチャルリアリティなどの最先端技術を利用して、全体的な駐車体験を向上させ、持続可能性をサポートすることを目指します。これらのシステムと統合されると、自動運転車は人間の介入なしに駐車場所まで移動し、駐車できるようになります。これらのシステムはまた、企業がより多くの駐車スペースを埋め、複数のアプリやウェブサイトでサービスを宣伝するのに役立ちます。さらに、運転者が駐車スペースを探して走り回ることから生じる炭素排出量を削減します。
Ultralytics YOLOv8のようなAIモデルとコンピュータビジョンは、駐車場を変革することができます。駐車スペースを探すための無駄な周回を劇的に減らし、時間と排出量を削減します。これらのスマート駐車場管理システムは、混雑、違法駐車、運転者の不満といった一般的な問題に取り組みます。初期投資は必要ですが、長期的な利点は大きいです。スマート駐車場への投資は、持続可能な都市の創造と、すべての人にとってよりスムーズな駐車体験を実現するための鍵となります。
AIについてもっと知りたいですか?私たちのコミュニティと繋がりましょう!GitHubリポジトリを調べて、私たちがどのようにAIを使用して、ヘルスケアや農業のような様々な業界で革新的なソリューションを生み出しているかをご覧ください。私たちと一緒に協力し、革新し、学びましょう!🚀