YOLO Vision 2026:

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 construido con Ultralytics YOLO26 detecta vehículos en tiempo real para rastrear qué plazas de aparcamiento están ocupadas o libres, informando después de la ocupación del aparcamiento en directo. Combina la detección de objetos de YOLO26 con una disposición de aparcamiento definida en JSON para que puedas supervisar todo un aparcamiento desde un único flujo de vídeo o fuente de 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 recinto.
  • Seguridad: Mejora la seguridad de las personas y los vehículos mediante vigilancia continua.
  • Reducción de emisiones: Gestiona el flujo de tráfico para minimizar el tiempo de inactividad y las emisiones en los aparcamientos.

Aplicaciones en el mundo real#

Sistema de gestión de aparcamientosSistema de gestión de aparcamientos
Parking lots Analytics Using Ultralytics YOLO26Parking management top view using Ultralytics YOLO26
Vista aérea de gestión de aparcamientos con Ultralytics YOLO26Vista superior de gestión de aparcamientos con Ultralytics YOLO26

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

La selección de puntos ahora es fácil

Elegir las plazas de aparcamiento es una tarea crítica y compleja en los sistemas de gestión. Ultralytics simplifica este proceso proporcionando una herramienta llamada "Parking slots annotator" que te permite definir las áreas del aparcamiento, las cuales se pueden utilizar más tarde para un procesamiento adicional.

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

Paso 2: Utiliza el código proporcionado para iniciar una interfaz gráfica donde puedas seleccionar una imagen y empezar a dibujar el contorno de 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 preinstalado con Python. Sin embargo, si no lo hiciera, puedes instalarlo siguiendo los pasos resaltados:

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

solutions.ParkingPtsSelection()

Paso 3: Tras 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 el script de gestión más abajo).

Ultralytics YOLO26 Points Selection Demo

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

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 a un archivo de modelo YOLO de Ultralytics.
json_filestrNoneRuta al archivo JSON que contiene todos los datos de coordenadas del aparcamiento.
line_widthint2Grosor de línea para las cajas, puntos clave y recuentos que dibuja la solución.
verboseboolTrueHabilita el registro por fotograma de la solución sobre 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 el uso de varios parámetros de track:

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento que se va a utilizar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Establece el umbral de confianza para las detecciones; valores más bajos permiten el seguimiento de más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de Intersection over Union (IoU) para filtrar detecciones superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo realiza el seguimiento de las clases especificadas.
devicestrNoneEspecifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, una GPU específica u otros dispositivos de computación para la ejecución del modelo.

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

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

FAQ#

  • Ultralytics YOLO26 ofrece detección de vehículos en tiempo real y supervisión para sistemas de aparcamiento, lo que optimiza el uso de las plazas de aparcamiento, reduce la congestión y mejora la seguridad mediante vigilancia continua. Ejecutarlo en una fuente de cámara en directo también ayuda a gestionar el flujo de tráfico y a minimizar el tiempo de inactividad de los vehículos. Para ver la configuración completa, consulta el flujo de código de gestión de aparcamientos.

  • Usar Ultralytics YOLO26 para el aparcamiento inteligente aporta numerosas ventajas:

    • Eficiencia: Optimiza el uso de las plazas de aparcamiento y reduce la congestión.
    • Seguridad: Mejora la vigilancia y garantiza la seguridad de vehículos y peatones.
    • Impacto ambiental: Ayuda a reducir las emisiones al minimizar los tiempos de inactividad de los vehículos. Explora más ventajas en la sección de ventajas del 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 interfaz gráfica donde puedas seleccionar una imagen y dibujar polígonos para definir las plazas.
    3. Guarda los datos etiquetados en formato JSON para su posterior procesamiento. Para obtener instrucciones completas, consulta la sección de selección de puntos anterior.
  • El ajuste más específico para el aparcamiento es json_file: asígnale el JSON de la región de aparcamiento que crees con el anotador de puntos para adaptar la solución a una nueva disposición. Puedes personalizarla aún más a través de los demás argumentos: configura model con un detector entrenado a medida, restringe las detecciones a classes específicos de vehículos, ajusta los umbrales conf y iou, cambia tracker, utiliza line_width para escalar las etiquetas en pantalla y el recuento de ocupación, o selecciona el parámetro de inferencia device. Para obtener información sobre la supervisión basada en zonas relacionada, consulta la guía de recuento de objetos.

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

    • Detección de plazas de aparcamiento: Identificación precisa de plazas libres y ocupadas.
    • Vigilancia: Mejora de la seguridad mediante monitorización en tiempo real.
    • Gestión del flujo de tráfico: Reducción de los tiempos de inactividad y de la congestión mediante una gestión eficiente del tráfico. Las imágenes que muestran estas aplicaciones se pueden encontrar en aplicaciones del mundo real.

Comentarios