Ultralytics YOLOv8 🚀を使った駐車場管理
駐車場管理システムとは?
による駐車場管理 Ultralytics YOLOv8YOLOv8 、リアルタイムで車両を検知し、駐車場の稼働状況を把握することで、駐車場管理を改善することができます。
駐車場管理システムの利点
- 効率:駐車場管理は駐車スペースの利用を最適化し、混雑を緩和する。
- 安全性とセキュリティ YOLOv8 を利用した駐車場管理は、監視とセキュリティ対策により、人と車の両方の安全性を向上させる。
- 排出ガスの削減:YOLOv8 を利用した駐車場管理は、交通の流れを管理し、駐車場でのアイドル時間と排出ガスを最小限に抑える。
実世界での応用
駐車場管理システム | 駐車場管理システム |
---|---|
駐車場管理Ultralytics YOLOv8 | 駐車場管理 トップビューUltralytics YOLOv8 |
駐車場管理システムのコード・ワークフロー
ポイントの選択
ポイント選択が簡単に
Ultralytics 、駐車場エリアを定義できるツールを提供することで、このプロセスを合理化し、後で追加処理に利用することができます。
- 駐車場を管理したいビデオまたはカメラのストリームからフレームをキャプチャします。
- 提供されたコードを使用してグラフィカル・インターフェースを起動し、画像を選択してマウス・クリックで駐車領域のアウトライン化を開始し、ポリゴンを作成することができます。
画像サイズ
最大画像サイズ1920 * 1080対応
from ultralytics.solutions.parking_management import ParkingPtsSelection, tk
root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
- 駐車エリアをポリゴンで定義したら
save
をクリックすると、作業ディレクトリにデータの入ったJSONファイルが保存される。
Python 駐車場管理規定
YOLOv8 例
import cv2
from ultralytics.solutions.parking_management import ParkingManagement
# 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 = 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()
名称 | タイプ | デフォルト | 説明 |
---|---|---|---|
occupied_region_color |
RGB Color |
(0, 255, 0) |
駐車スペース占有地域の色 |
available_region_color |
RGB Color |
(0, 0, 255) |
駐車スペースあり 地域色 |
margin |
int |
10 |
複数のクラス数のテキスト表示のギャップ |
txt_color |
RGB Color |
(255, 255, 255) |
オブジェクト・カウント・テキストの前景色 |
bg_color |
RGB Color |
(255, 255, 255) |
テキストの背景色の後ろの長方形 |
論争 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 |
物体追跡結果を表示する |