YOLO Vision 2026:

Ultralytics YOLO26を使用して駐車管理システムを構築しましょう 🚀#

駐車管理システムとは何ですか?#

Ultralytics YOLO26 で構築された駐車場管理システムは、リアルタイムで車両を検知してどの駐車スペースが占有されているかまたは利用可能かを追跡し、ライブの駐車場の占有状況をレポートします。YOLO26のobject detectionとJSONで定義された駐車場のレイアウトを組み合わせることで、単一のビデオストリームやカメラフィードから駐車場全体を監視できます。



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

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

  • 効率性: 駐車スペースの使用を最適化し、駐車場全体の混雑を軽減します。
  • 安全性とセキュリティ: 継続的な監視により、人や車両の安全性を向上させます。
  • 排出ガスの削減: 交通の流れを管理し、駐車場でのアイドリング時間と排出ガスを最小限に抑えます。

現実世界の応用例#

駐車場管理システム駐車場管理システム
Parking lots Analytics Using Ultralytics YOLO26Parking management top view using Ultralytics YOLO26
Ultralytics YOLO26による駐車場の空撮ビューUltralytics YOLO26による駐車場のトップビュー

駐車場管理システムのコードワークフロー#

ポイントの選択が簡単になりました

駐車ポイントの選択は、駐車場管理システムにおいて極めて重要かつ複雑なタスクです。Ultralyticsは「駐車スペースアノテーター」というツールを提供することでこのプロセスを効率化しており、駐車場エリアを定義して、その後の処理で利用することができます。

ステップ1: 駐車場を管理したいビデオまたはカメラストリームからフレームをキャプチャします。

ステップ2: 提供されたコードを使用してグラフィカルインターフェースを起動し、画像を選択してマウスのクリックで駐車領域を輪郭線で囲み、ポリゴンを作成します。

Ultralytics YOLO 駐車スペースアノテーター
`tkinter` インストールのための追加ステップ

通常、tkinterはPythonに同梱されています。ただし、同梱されていない場合は、以下のハイライトされた手順に従ってインストールできます:

  • Linux (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: Pythonを再インストールし、インストール中のOptional Featurestcl/tk and IDLEのチェックボックスを有効にします
  • MacOS: https://www.python.org/downloads/macos/からPythonを再インストールするか、brew install python-tkを使用します
from ultralytics import solutions

solutions.ParkingPtsSelection()

ステップ3: ポリゴンで駐車エリアを定義した後、saveをクリックして、管理スクリプトが以下でロードするのと同じファイル名であるbounding_boxes.jsonとして作業ディレクトリにデータを保存します。

Ultralytics YOLO26 Points Selection Demo

ステップ4: 以下のコードを使用して、駐車場管理solutionを実行できるようになりました。

Ultralytics YOLOによる駐車場管理
import cv2

from ultralytics import solutions

# Video capture
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # path to model file
    json_file="bounding_boxes.json",  # path to parking annotations file
)

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

    results = parkingmanager(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

ParkingManagementの引数#

以下はParkingManagementの引数を示す表です。

引数タイプデフォルト説明
modelstrNoneUltralytics YOLOモデルファイルへのパス。
json_filestrNoneすべての駐車場の座標データを含むJSONファイルへのパス。
line_widthint2ソリューションが描画するボックス、キーポイント、およびカウントの線の太さ。
verboseboolTrue入力形状、クラス数、および処理速度のフレームごとのログ出力をソリューションで有効にします。トラッキング呼び出し自体は常にサイレントです。

ParkingManagementソリューションでは、いくつかのtrackパラメータを使用できます:

引数タイプデフォルト説明
trackerstr'botsort.yaml'使用するトラッキングアルゴリズムを指定します。ビルトインオプション: botsort.yamlbytetrack.yamlocsort.yamldeepocsort.yamlfasttrack.yamltracktrack.yaml
conffloat0.25検出の信頼度しきい値を設定します。低い値を設定するとより多くの物体を追跡できますが、誤検知が含まれる可能性があります。
ioufloat0.7重なり合う検出をフィルタリングするためのIntersection over Union (IoU) 閾値を設定します。
classeslistNoneクラスインデックスによって結果をフィルターします。たとえば、classes=[0, 2, 3]は指定されたクラスのみを追跡します。
devicestrNone推論用のデバイスを指定します(例: cpucuda:0、または0)。ユーザーはモデルの実行にCPU、特定のGPU、またはその他の計算デバイスを選択できます。

さらに、以下の可視化オプションがサポートされています:

引数タイプデフォルト説明
showboolFalseTrue の場合、注釈付きの画像または動画をウィンドウに表示します。開発やテスト中の即座な視覚的フィードバックに役立ちます。

よくある質問 (FAQ)#

  • Ultralytics YOLO26は、駐車場システム向けに**リアルタイムのvehicle detection**と監視を提供し、駐車スペースの利用を最適化し、混雑を減らし、継続的な監視を通じて安全性を向上させます。ライブカメラフィード上で実行することで、交通流の管理や車両のアイドリング時間の最小化にも役立ちます。完全なセットアップについては、parking management code workflowを参照してください。

  • スマートパーキングにUltralytics YOLO26を使用することには多くの利点があります:

    • 効率性: 駐車スペースの利用を最適化し、混雑を軽減します。
    • 安全性とセキュリティ: 監視を強化し、車両や歩行者の安全を確保します。
    • 環境への影響: 車両のアイドリング時間を最小限に抑えることで、排出ガスの削減に貢献します。Advantages of Parking Management System sectionで詳細なメリットをご確認ください。
  • Ultralytics YOLO26を使えば、駐車スペースの定義は簡単です:

    1. ビデオまたはカメラストリームからフレームをキャプチャします。
    2. 提供されたコードを使用してGUIを起動し、画像を選択して、多角形(ポリゴン)を描画して駐車スペースを定義します。
    3. ラベル付けされたデータをJSON形式で保存して、その後の処理を行います。詳細な手順については、上記のポイント選択セクションを確認してください。
  • 最も駐車場に固有の設定はjson_fileです。points annotatorで作成した駐車場領域のJSONを指定することで、新しいレイアウトに適応させます。他のargumentsを使用してさらに調整することができます。modelをカスタムトレーニングされた検出器に設定し、検出を特定の車両classesに制限し、confおよびiouの閾値を調整し、trackerを切り替え、line_widthを使用してフレーム上のラベルと占有率の読み取り値をスケーリングし、推論のdeviceを選択します。関連するゾーンベースの監視については、object countingガイドを参照してください。

  • Ultralytics YOLO26は、駐車場管理におけるさまざまな実社会の応用例で使用されています。例として以下が挙げられます:

    • 駐車スペース検知: 空きスペースと占有スペースを正確に識別します。
    • 監視: リアルタイム監視を通じてセキュリティを強化します。
    • 交通流管理: 効率的な交通処理により、アイドリング時間と混雑を削減します。これらのアプリケーションを紹介する画像は、real-world applicationsに掲載されています。

コメント