Ultralytics YOLO27:

Construye un sistema de gestión de aparcamientos con Ultralytics YOLO26#

¿Qué es un sistema de gestión de aparcamientos?#

Un sistema de gestión de aparcamientos creado con Ultralytics YOLO26 detecta vehículos en tiempo real para realizar un seguimiento de qué plazas están ocupadas o disponibles y, a continuación, informa sobre la ocupación del aparcamiento en directo. Combina la detección de objetos de YOLO26 con una distribución del aparcamiento definida en JSON para que puedas supervisar todo el aparcamiento desde un único flujo de vídeo o cámara.



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

Ventajas de un sistema de gestión de aparcamientos#

  • Eficiencia: Optimiza el uso de las plazas de aparcamiento y reduce la congestión en todo el aparcamiento.
  • Seguridad y protección: Mejora la seguridad de las personas y los vehículos mediante una vigilancia continua.
  • Reducción de emisiones: Gestiona el flujo de tráfico para minimizar el tiempo al ralentí y las emisiones en los aparcamientos.

Aplicaciones en el mundo real#

Sistema de gestión de aparcamientosSistema de gestión de aparcamientos
Análisis de aparcamientos con Ultralytics YOLO26Vista superior de la gestión de aparcamientos con Ultralytics YOLO26
Vista aérea de la gestión de aparcamientos con Ultralytics YOLO26Vista superior de la gestión de aparcamientos con Ultralytics YOLO26

Flujo de trabajo del código del sistema de gestión de aparcamientos#

Seleccionar puntos es ahora fácil

Elegir los 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 de «anotación de plazas de aparcamiento» que te permite definir las zonas del aparcamiento, que posteriormente pueden utilizarse para realizar otros procesamientos.

Paso 1: Captura un fotograma del vídeo o del flujo de la cámara en el que quieras gestionar el aparcamiento.

Paso 2: Utiliza el código proporcionado para iniciar una interfaz gráfica, donde puedes seleccionar una imagen y empezar a delimitar las zonas de aparcamiento haciendo clic con el ratón para crear polígonos.

Anotador de plazas de aparcamiento de Ultralytics YOLO
Paso adicional para instalar `tkinter`

Por lo general, tkinter viene incluido con Python. Sin embargo, si no fuera así, puedes instalarlo siguiendo los pasos indicados:

  • Linux: (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: Vuelve a instalar Python y activa la casilla tcl/tk and IDLE en Características opcionales durante la instalación.
  • MacOS: Vuelve a instalar Python desde https://www.python.org/downloads/macos/ o brew install python-tk.
from ultralytics import solutions

solutions.ParkingPtsSelection()

Paso 3: Después de definir las zonas de aparcamiento con polígonos, haz clic en save para guardar los datos como bounding_boxes.json en tu directorio de trabajo —el mismo nombre de archivo que carga más abajo el script de gestión.

Demostración de selección de puntos de Ultralytics YOLO26

Paso 4: Ahora puedes ejecutar la solución de gestión de aparcamientos con el código siguiente.

Gestión de aparcamientos con Ultralytics YOLO
import cv2

from ultralytics import solutions

# Video capture
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
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 = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # path to model file
    json_file="bounding_boxes.json",  # path to parking annotations file
)

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

    results = parkingmanager(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Argumentos de ParkingManagement#

Aquí tienes una tabla con los argumentos de ParkingManagement:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta al archivo del modelo YOLO de Ultralytics.
json_filestrNoneRuta al archivo JSON que contiene todos los datos de coordenadas de las plazas de aparcamiento.
line_widthint2Grosor de línea de las cajas, los puntos clave y los recuentos que dibuja la solución.
verboseboolTrueActiva el registro por fotograma de la solución, que incluye la forma de entrada, los recuentos de clases y la velocidad de procesamiento. La llamada de seguimiento en sí siempre es silenciosa.

La solución ParkingManagement permite utilizar varios parámetros de track:

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento que se utilizará. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Establece el umbral de confianza para las detecciones; los valores más bajos permiten seguir más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas.
devicestrNoneEspecifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite seleccionar entre la CPU, una GPU específica u otros dispositivos de cálculo para ejecutar el modelo.
imgszint or tuple640Tamaño de imagen de inferencia objetivo: un número entero para una imagen cuadrada o un par (height, width). Las formas se ajustan al paso del modelo.
max_detint300Número máximo de detecciones conservadas por fotograma antes del seguimiento, lo que limita los objetos que procesa una solución en escenas densas.
quantizeint or strNonePrecisión de inferencia: 16 (FP16) o 32/sin definir (FP32) para los modelos de PyTorch y TorchScript; otros formatos calculan a la precisión que seleccionan su artefacto y su motor de ejecución. Sustituye al indicador obsoleto half.

Además, se admiten las siguientes opciones de visualización:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi True, muestra las imágenes o vídeos anotados en una ventana. Es útil para obtener información visual inmediata durante el desarrollo o las pruebas.

Preguntas frecuentes#

  • Ultralytics YOLO26 proporciona detección de vehículos en tiempo real y monitorización para sistemas de aparcamiento, lo que optimiza el uso de las plazas, reduce la congestión y mejora la seguridad mediante una vigilancia continua. Ejecutarlo con la señal de una cámara en directo también ayuda a gestionar el flujo de tráfico y a minimizar el tiempo que los vehículos permanecen al ralentí. Para consultar la configuración completa, revisa el flujo de trabajo del código de gestión de aparcamientos.

  • Utilizar Ultralytics YOLO26 para el aparcamiento inteligente ofrece numerosas ventajas:

    • Eficiencia: Optimiza el uso de las plazas de aparcamiento y reduce la congestión.
    • Seguridad y protección: Mejora la vigilancia y garantiza la seguridad de los vehículos y los peatones.
    • Impacto medioambiental: Ayuda a reducir las emisiones al minimizar el tiempo que los vehículos permanecen al ralentí. Descubre más ventajas en la sección Ventajas de un sistema de gestión de aparcamientos.
  • Definir plazas de aparcamiento es sencillo con Ultralytics YOLO26:

    1. Captura un fotograma de un vídeo o de un flujo de cámara.
    2. Utiliza el código proporcionado para iniciar una GUI que permita seleccionar una imagen y dibujar polígonos para definir las plazas de aparcamiento.
    3. Guarda los datos etiquetados en formato JSON para procesarlos posteriormente. Para consultar instrucciones detalladas, revisa la sección sobre selección de puntos anterior.
  • El ajuste más específico para cada aparcamiento es json_file: indica el archivo JSON de las regiones de aparcamiento que crees con el anotador de puntos para adaptar la solución a una nueva distribución. Puedes personalizarla aún más mediante los demás argumentos: configura model con un detector entrenado a medida, limita las detecciones a classes de vehículos específicos, ajusta los umbrales conf y iou, cambia tracker, utiliza line_width para escalar las etiquetas sobre el fotograma y la lectura de ocupación, o selecciona device para la inferencia. Para la monitorización relacionada basada en zonas, consulta la guía de conteo de objetos.

  • Ultralytics YOLO26 se utiliza en diversas aplicaciones reales para la gestión de aparcamientos, entre ellas:

    • Detección de plazas de aparcamiento: Identificación precisa de las plazas disponibles y ocupadas.
    • Vigilancia: Mejora de la seguridad mediante la monitorización en tiempo real.
    • Gestión del flujo de tráfico: Reducción de los tiempos al ralentí y de la congestión mediante una gestión eficiente del tráfico. Puedes encontrar imágenes que muestran estas aplicaciones en aplicaciones reales.

Comentarios