Meet YOLO26: next-gen vision AI.

Link to this sectionRecuento de objetos en diferentes regiones utilizando Ultralytics YOLO 🚀#

Link to this section¿Qué es el recuento de objetos en regiones?#

El recuento de objetos en regiones con Ultralytics YOLO26 implica determinar con precisión el número de objetos dentro de áreas especificadas mediante 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 🚀

Link to this sectionVentajas 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 con el recuento manual.
  • Mejora de la eficiencia: El recuento automatizado de objetos mejora la eficiencia operativa, proporcionando resultados en tiempo real y agilizando 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 utilidad y eficacia generalizadas.

Link to this sectionAplicaciones en el mundo real#

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

Link to this sectionEjemplos de uso#

Recuento de regiones utilizando 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 según tu caso de uso específico.

Link to this sectionArgumentos de RegionCounter#

Aquí tienes una tabla con los argumentos de RegionCounter:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo YOLO de Ultralytics.
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. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.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 superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo rastrea las clases especificadas.
verboseboolTrueControla la visualización de los resultados de seguimiento, proporcionando una salida visual de los objetos rastreados.
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 una retroalimentación visual inmediata durante el desarrollo o las pruebas.
line_widthint or NoneNoneEspecifica el ancho de línea de los cuadros delimitadores. 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. Proporciona información sobre la certeza del modelo para cada detección.
show_labelsboolTrueMuestra las etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

Link to this sectionFAQ#

Link to this section¿Qué es el recuento de objetos en regiones especificadas utilizando 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.

Link to this section¿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 de Ejemplos de uso.

Link to this section¿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 lo 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 adaptarlas a tus necesidades de monitorización específicas.
  3. Compatibilidad multiclase: Cuenta diferentes tipos de objetos simultáneamente dentro de las mismas regiones, proporcionando análisis completos.
  4. Capacidades de integración: Integra fácilmente con sistemas existentes a través de la API de Python de Ultralytics o la interfaz de línea de comandos.

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

Link to this section¿Cuáles son algunas aplicaciones reales del recuento de objetos en regiones?#

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

  • Análisis minorista: Cuenta los clientes en diferentes secciones de la tienda para optimizar el diseño y la dotación de personal.
  • Gestión del tráfico: Monitoriza el flujo de vehículos en segmentos específicos de carreteras o intersecciones.
  • 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 de 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 de Aplicaciones del mundo real y la solución TrackZone para obtener capacidades adicionales de monitorización basada en zonas.

Comentarios