使用Ultralytics YOLOv8 🚀 进行停车管理
什么是停车场管理系统?
停车场管理 Ultralytics YOLOv8YOLOv8 可通过实时车辆检测和对停车场占用率的深入了解,改善停车场管理。
停车场管理系统的优势?
- 效率:停车场管理可优化停车位的使用,减少拥堵。
- 安全保障:使用YOLOv8 进行停车管理,可通过监控和安保措施提高人员和车辆的安全。
- 减少排放:停车场管理使用YOLOv8 管理交通流,最大限度地减少停车场的闲置时间和排放。
真实世界的应用
停车场管理系统 | 停车场管理系统 |
---|---|
使用停车场管理鸟瞰图Ultralytics YOLOv8 | 使用停车场管理顶视图Ultralytics YOLOv8 |
停车场管理系统代码工作流程
选点
轻松选点
在停车场管理系统中,选择停车点是一项关键而复杂的任务。Ultralytics 提供的工具可让您定义停车场区域,并在以后进行其他处理时加以利用,从而简化了这一过程。
- 从要管理停车场的视频或摄像机流中捕捉一帧。
- 使用提供的代码启动一个图形界面,在该界面中,您可以选择一幅图像,然后通过鼠标点击来创建多边形,开始勾画停车区域。
图像大小
支持的最大图像尺寸为 1920 * 1080
- 用多边形定义停车区域后,点击
save
将包含数据的 JSON 文件存储在工作目录中。
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 |
按类别筛选结果,即 classes=0,或 classes=[0,2,3] |
verbose |
bool |
True |
显示物体跟踪结果 |
常见问题
Ultralytics YOLOv8 如何加强停车管理系统?
Ultralytics YOLOv8 通过提供实时车辆检测和监控,大大增强了停车场管理系统。这样就能优化停车位的使用,减少拥堵,并通过持续监控提高安全性。停车场管理系统可实现高效的交通流,最大限度地减少停车场的空闲时间和废气排放,从而促进环境的可持续发展。更多详情,请参阅停车场管理代码工作流程。
使用Ultralytics YOLOv8 进行智能停车有什么好处?
使用Ultralytics YOLOv8 进行智能停车可带来诸多好处:
- 效率:优化停车位的使用,减少拥堵。
- 安全保障:加强监控,确保车辆和行人的安全。
- 环境影响:最大限度地减少车辆空转时间,有助于减少废气排放。有关这些优势的更多详情,请点击此处。
如何使用Ultralytics YOLOv8 定义停车位?
使用Ultralytics YOLOv8 可以直接定义停车位:
- 从视频或相机数据流中捕捉帧。
- 使用提供的代码启动图形用户界面,选择图像并绘制多边形来定义停车位。
- 以 JSON 格式保存标注数据,以便进一步处理。有关全面说明,请查看点的选择部分。
我能否定制YOLOv8 模型以满足特定的停车管理需求?
是的,Ultralytics YOLOv8 允许根据具体的停车管理需求进行定制。您可以调整参数,如 占用和可用区域颜色文本显示的边距等等。利用 ParkingManagement
类的 可选参数此外,您还可以根据自己的特殊要求定制型号,确保最大的效率和效益。
Ultralytics YOLOv8 在停车场管理方面有哪些实际应用?
Ultralytics YOLOv8 可用于停车场管理的各种实际应用,包括
- 停车位检测:准确识别可用车位和占用车位。
- 监控:通过实时监控加强安全。
- 交通流量管理:通过高效的交通管理减少空闲时间和拥堵。展示这些应用的图片可在实际应用中找到。