Gesti贸n de aparcamientos mediante Ultralytics YOLOv8 馃殌
驴Qu茅 es el Sistema de Gesti贸n de Aparcamientos?
La gesti贸n de aparcamientos con Ultralytics YOLOv8 garantiza un aparcamiento eficaz y seguro, organizando las plazas y controlando la disponibilidad. YOLOv8 puede mejorar la gesti贸n de los aparcamientos mediante la detecci贸n de veh铆culos en tiempo real y la informaci贸n sobre la ocupaci贸n de los aparcamientos.
驴Ventajas del Sistema de Gesti贸n de Aparcamientos?
- Eficacia: La gesti贸n de los aparcamientos optimiza el uso de las plazas y reduce la congesti贸n.
- Seguridad y protecci贸n: La gesti贸n de aparcamientos mediante YOLOv8 mejora la seguridad tanto de las personas como de los veh铆culos mediante medidas de vigilancia y seguridad.
- Reducci贸n de emisiones: La gesti贸n de aparcamientos mediante YOLOv8 gestiona el flujo de tr谩fico para minimizar los tiempos muertos y las emisiones en los aparcamientos.
Aplicaciones en el mundo real
Sistema de Gesti贸n de Aparcamientos | Sistema de Gesti贸n de Aparcamientos |
---|---|
Gesti贸n del aparcamiento Aeriel View mediante Ultralytics YOLOv8 | Gesti贸n del aparcamiento Vista superior mediante Ultralytics YOLOv8 |
Flujo de trabajo del c贸digo del sistema de gesti贸n de aparcamientos
Selecci贸n de puntos
Ahora seleccionar puntos es f谩cil
Elegir puntos de aparcamiento es una tarea cr铆tica y compleja en los sistemas de gesti贸n de aparcamientos. Ultralytics agiliza este proceso proporcionando una herramienta que te permite definir zonas de aparcamiento, que pueden utilizarse posteriormente para procesamientos adicionales.
- Captura un fotograma de la secuencia de v铆deo o c谩mara donde quieras gestionar el aparcamiento.
- Utiliza el c贸digo proporcionado para iniciar una interfaz gr谩fica, en la que puedes seleccionar una imagen y empezar a delinear regiones de aparcamiento haciendo clic con el rat贸n para crear pol铆gonos.
Tama帽o de la imagen
Admite un tama帽o m谩ximo de imagen de 1920 * 1080
from ultralytics.solutions.parking_management import ParkingPtsSelection, tk
root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
- Despu茅s de definir las zonas de aparcamiento con pol铆gonos, haz clic en
save
para almacenar un archivo JSON con los datos en tu directorio de trabajo.
Python C贸digo de Gesti贸n de Aparcamientos
Gesti贸n de aparcamientos mediante YOLOv8 Ejemplo
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()
Argumentos opcionales ParkingManagement()
Nombre | Tipo | Por defecto | Descripci贸n |
---|---|---|---|
occupied_region_color |
RGB Color |
(0, 255, 0) |
Color de la regi贸n de la plaza de aparcamiento ocupada |
available_region_color |
RGB Color |
(0, 0, 255) |
Plaza de aparcamiento disponible color de la regi贸n |
margin |
int |
10 |
Hueco entre la visualizaci贸n del texto para el recuento de varias clases |
txt_color |
RGB Color |
(255, 255, 255) |
Color de primer plano del texto de recuento de objetos |
bg_color |
RGB Color |
(255, 255, 255) |
Rect谩ngulo detr谩s del texto color de fondo |
Argumentos model.track
Nombre | Tipo | Por defecto | Descripci贸n |
---|---|---|---|
source |
im0 |
None |
directorio fuente de im谩genes o v铆deos |
persist |
bool |
False |
persistencia de pistas entre fotogramas |
tracker |
str |
botsort.yaml |
M茅todo de seguimiento 'bytetrack' o 'botsort' |
conf |
float |
0.3 |
Umbral de confianza |
iou |
float |
0.5 |
Umbral del pagar茅 |
classes |
list |
None |
filtrar los resultados por clase, es decir, classes=0, o classes=[0,2,3] |
verbose |
bool |
True |
Mostrar los resultados del seguimiento de objetos |