Saltar al contenido

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
Aparcamientos Anal铆tica Utilizaci贸n Ultralytics YOLOv8 Vista superior de la gesti贸n del aparcamiento mediante Ultralytics YOLOv8
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.

Ultralytics YOLOv8 Demostraci贸n de selecci贸n de puntos

Python C贸digo de Gesti贸n de Aparcamientos

Gesti贸n de aparcamientos mediante YOLOv8 Ejemplo

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()

Argumentos opcionales ParkingManagement

Nombre Tipo Por defecto Descripci贸n
model_path str None Camino hacia el modelo YOLOv8 .
txt_color tuple (0, 0, 0) Tupla de color RGB para el texto.
bg_color tuple (255, 255, 255) Tupla de color RGB para el fondo.
occupied_region_color tuple (0, 255, 0) Tupla de color RGB para las regiones ocupadas.
available_region_color tuple (0, 0, 255) Tupla de color RGB para las regiones disponibles.
margin int 10 Margen de visualizaci贸n del texto.

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


Creado 2024-04-29, Actualizado 2024-05-18
Autores: glenn-jocher (2), RizwanMunawar (2)

Comentarios