コンテンツへスキップ

Ultralytics YOLOv8 🚀を使った駐車場管理

駐車場管理システムとは?

による駐車場管理 Ultralytics YOLOv8YOLOv8 、リアルタイムで車両を検知し、駐車場の稼働状況を把握することで、駐車場管理を改善することができます。

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

  • 効率:駐車場管理は駐車スペースの利用を最適化し、混雑を緩和する。
  • 安全性とセキュリティ YOLOv8 を利用した駐車場管理は、監視とセキュリティ対策により、人と車の両方の安全性を向上させる。
  • 排出ガスの削減:YOLOv8 を利用した駐車場管理は、交通の流れを管理し、駐車場でのアイドル時間と排出ガスを最小限に抑える。

実世界での応用

駐車場管理システム 駐車場管理システム
駐車場分析Ultralytics YOLOv8 駐車場管理トップビューUltralytics YOLOv8
Parking management Aerial View using Ultralytics YOLOv8 駐車場管理 トップビューUltralytics YOLOv8

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

ポイントの選択

ポイント選択が簡単に

Ultralytics 、駐車場エリアを定義できるツールを提供することで、このプロセスを合理化し、後で追加処理に利用することができます。

  • 駐車場を管理したいビデオまたはカメラのストリームからフレームをキャプチャします。
  • 提供されたコードを使用してグラフィカル・インターフェースを起動し、画像を選択してマウス・クリックで駐車領域のアウトライン化を開始し、ポリゴンを作成することができます。

画像サイズ

最大画像サイズ1920 * 1080対応

パーキング・スロット・アノテーターUltralytics YOLOv8

from ultralytics import solutions

solutions.ParkingPtsSelection()
  • 駐車エリアをポリゴンで定義したら save をクリックすると、作業ディレクトリにデータの入ったJSONファイルが保存される。

Ultralytics YOLOv8 ポイント選択デモ

Python 駐車場管理規定

YOLOv8 例

import cv2

from ultralytics import solutions

# Path to json file, that created with above point selection app
polygon_json_path = "bounding_boxes.json"

# Video capture
cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
management = solutions.ParkingManagement(model_path="yolov8n.pt")

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

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

    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)

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

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

オプションの引数 ParkingManagement

名称 タイプ デフォルト 説明
model_path str None YOLOv8 モデルへの道。
txt_color tuple (0, 0, 0) テキストのRGBカラータプル。
bg_color tuple (255, 255, 255) 背景のRGBカラータプル。
occupied_region_color tuple (0, 255, 0) 占有領域のRGBカラータプル。
available_region_color tuple (0, 0, 255) 利用可能な領域のRGBカラータプル。
margin int 10 テキスト表示のマージン。

論争 model.track

名称 タイプ デフォルト 説明
source im0 None 画像またはビデオのソース・ディレクトリ
persist bool False フレーム間のトラックの持続
tracker str botsort.yaml トラッキングメソッド「bytetrack」または「botsort
conf float 0.3 信頼閾値
iou float 0.5 借用書のしきい値
classes list None つまり、class=0、またはclass=[0,2,3]。
verbose bool True 物体追跡結果を表示する


Created 2024-04-29, Updated 2024-06-10
Authors: glenn-jocher (6), IvorZhu331 (1), RizwanMunawar (3)

コメント