Recuento de objetos en diferentes regiones usando Ultralytics YOLO 🚀

¿Qué es el recuento de objetos en regiones?

El recuento de objetos en regiones con Ultralytics YOLO26 implica determinar con precisión la cantidad de objetos dentro de áreas especificadas utilizando visión artificial avanzada. Este enfoque es valioso para optimizar procesos, mejorar la seguridad y aumentar la eficiencia en diversas aplicaciones.



Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀

Ventajas del recuento de objetos en regiones

  • Precisión y exactitud: El recuento de objetos en regiones con visión artificial avanzada garantiza recuentos precisos y exactos, minimizando los errores que suelen asociarse al recuento manual.
  • Mejora de la eficiencia: El recuento automatizado de objetos mejora la eficiencia operativa, proporcionando resultados en tiempo real y optimizando los procesos en diferentes aplicaciones.
  • Versatilidad y aplicación: La versatilidad del recuento de objetos en regiones lo hace aplicable en diversos ámbitos, desde la fabricación y la vigilancia hasta la monitorización del tráfico, lo que contribuye a su gran utilidad y eficacia.

Aplicaciones en el mundo real

Comercio minoristaCalles comerciales
Recuento de personas en diferentes regiones usando Ultralytics YOLO26Recuento de multitudes en diferentes regiones usando Ultralytics YOLO26
Recuento de personas en diferentes regiones usando Ultralytics YOLO26Recuento de multitudes en diferentes regiones usando Ultralytics YOLO26

Ejemplos de uso

Recuento de regiones usando Ultralytics YOLO
 import cv2

 from ultralytics import solutions

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

 # Pass region as list
 # region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

 # Pass region as dictionary
 region_points = {
     "region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
     "region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
 }

 # 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("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

 # Initialize region counter object
 regioncounter = solutions.RegionCounter(
     show=True,  # display the frame
     region=region_points,  # pass region points
     model="yolo26n.pt",  # model for counting in regions, e.g., yolo26s.pt
 )

 # Process video
 while cap.isOpened():
     success, im0 = cap.read()

     if not success:
         print("Video frame is empty or processing is complete.")
         break

     results = regioncounter(im0)

     # print(results)  # access the output

     video_writer.write(results.plot_im)

 cap.release()
 video_writer.release()
 cv2.destroyAllWindows()  # destroy all opened windows
Código de ejemplo de Ultralytics

El módulo de recuento de regiones de Ultralytics está disponible en nuestra sección de ejemplos. Puedes explorar este ejemplo para personalizar el código y modificarlo para adaptarlo a tu caso de uso específico.

Argumentos de RegionCounter

Aquí tienes una tabla con los argumentos de RegionCounter:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Lista de puntos que definen la región de conteo.

La solución RegionCounter permite el uso de parámetros de seguimiento de objetos:

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento a utilizar, p. ej., bytetrack.yaml o botsort.yaml.
conffloat0.1Establece 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 solapadas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas.
verboseboolTrueControla la visualización de los resultados de seguimiento, proporcionando una salida visual de los objetos seguidos.
devicestrNoneEspecifica el dispositivo para la inferencia (p. ej., 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 los siguientes ajustes de visualización:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi es True, muestra las imágenes o vídeos anotados en una ventana. Útil para obtener información visual inmediata durante el desarrollo o las pruebas.
line_widthint or NoneNoneEspecifica el ancho de línea de las cajas delimitadoras. Si es None, el ancho de línea se ajusta automáticamente según el tamaño de la imagen. Proporciona personalización visual para mayor claridad.
show_confboolTrueMuestra la puntuación de confianza para cada detección junto a la etiqueta. Ofrece información sobre la certeza del modelo para cada detección.
show_labelsboolTrueMuestra etiquetas para cada detección en el resultado visual. Proporciona una comprensión inmediata de los objetos detectados.

Preguntas frecuentes

¿Qué es el recuento de objetos en regiones especificadas usando Ultralytics YOLO26?

El recuento de objetos en regiones especificadas con Ultralytics YOLO26 implica detectar y contar el número de objetos dentro de áreas definidas mediante visión artificial avanzada. Este método preciso mejora la eficiencia y la exactitud en diversas aplicaciones como la fabricación, la vigilancia y la monitorización del tráfico.

¿Cómo ejecuto el script de recuento de objetos basado en regiones con Ultralytics YOLO26?

Sigue estos pasos para ejecutar el recuento de objetos en Ultralytics YOLO26:

  1. Clona el repositorio de Ultralytics y navega hasta el directorio:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
  2. Ejecuta el script de recuento de regiones:

    python yolov8_region_counter.py --source "path/to/video.mp4" --save-img

Para más opciones, visita la sección Ejemplos de uso.

¿Por qué debería usar Ultralytics YOLO26 para el recuento de objetos en regiones?

Usar Ultralytics YOLO26 para el recuento de objetos en regiones ofrece varias ventajas:

  1. Procesamiento en tiempo real: La arquitectura de YOLO26 permite una inferencia rápida, lo que la hace ideal para aplicaciones que requieren resultados de recuento inmediatos.
  2. Definición flexible de regiones: La solución te permite definir múltiples regiones personalizadas como polígonos, rectángulos o líneas para satisfacer tus necesidades específicas de monitorización.
  3. Soporte multiclase: Cuenta diferentes tipos de objetos simultáneamente dentro de las mismas regiones, proporcionando analíticas exhaustivas.
  4. Capacidades de integración: Integra fácilmente con sistemas existentes a través de la API de Python o la interfaz de línea de comandos de Ultralytics.

Explora beneficios más profundos en la sección Ventajas.

¿Cuáles son algunas aplicaciones del mundo real para el recuento de objetos en regiones?

El recuento de objetos con Ultralytics YOLO26 puede aplicarse a numerosos escenarios del mundo real:

  • Analítica minorista: Cuenta clientes en diferentes secciones de la tienda para optimizar la distribución y el personal.
  • Gestión del tráfico: Monitoriza el flujo de vehículos en segmentos de carretera o intersecciones específicos.
  • Fabricación: Rastrea los productos que se mueven a través de diferentes zonas de producción.
  • Operaciones de almacén: Cuenta los artículos del inventario en áreas de almacenamiento designadas.
  • Seguridad pública: Monitoriza la densidad de multitudes en zonas específicas durante eventos.

Explora más ejemplos en la sección Aplicaciones del mundo real y la solución TrackZone para capacidades adicionales de monitorización basada en zonas.

Comentarios