Ir al contenido

Conteo de Objetos en Diferentes Regiones usando Ultralytics YOLO 🚀

¿Qué es el conteo de objetos en regiones?

El conteo de objetos en regiones con Ultralytics YOLO11 implica determinar con precisión el número de objetos dentro de áreas específicas utilizando visión artificial avanzada. Este enfoque es valioso para optimizar procesos, mejorar la seguridad y aumentar la eficiencia en diversas aplicaciones.



Ver: Conteo de Objetos en Diferentes Regiones usando Ultralytics YOLO11 | Soluciones Ultralytics 🚀

¿Ventajas del conteo de objetos en regiones?

  • Precisión (Precision) y Exactitud (Accuracy): El conteo de objetos en regiones con visión artificial avanzada garantiza conteos precisos y exactos, minimizando los errores que a menudo se asocian con el conteo manual.
  • Mejora de la eficiencia: El conteo 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 conteo de objetos en regiones lo hace aplicable en varios dominios, desde la fabricación y la vigilancia hasta el monitoreo del tráfico, lo que contribuye a su utilidad y eficacia generalizadas.

Aplicaciones en el mundo real

Venta minorista Calles del Mercado
Conteo de personas en diferentes regiones utilizando Ultralytics YOLO11 Conteo de multitudes en diferentes regiones usando Ultralytics YOLO11
Conteo de personas en diferentes regiones utilizando Ultralytics YOLO11 Conteo de multitudes en diferentes regiones usando Ultralytics YOLO11

Ejemplos de uso

Conteo 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="yolo11n.pt",  # model for counting in regions i.e yolo11s.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 conteo de regiones de Ultralytics está disponible en nuestra sección de ejemplos. Puede explorar este ejemplo para la personalización del código y modificarlo para que se adapte a su caso de uso específico.

RegionCounter Argumentos

Aquí tiene una tabla con el RegionCounter argumentos:

Argumento Tipo Predeterminado Descripción
model str None Ruta al archivo del modelo YOLO de Ultralytics.
region list '[(20, 400), (1260, 400)]' Lista de puntos que definen la región de conteo.

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

Argumento Tipo Predeterminado Descripción
tracker str 'botsort.yaml' Especifica el algoritmo de seguimiento a utilizar, p. ej., bytetrack.yaml o botsort.yaml.
conf float 0.3 Establece el umbral de confianza para las detecciones; los valores más bajos permiten rastrear más objetos, pero pueden incluir falsos positivos.
iou float 0.5 Establece el umbral de Intersección sobre Unión (IoU) para filtrar detecciones superpuestas.
classes list None Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo rastrea las clases especificadas.
verbose bool True Controla la visualización de los resultados del seguimiento, proporcionando una salida visual de los objetos rastreados.
device str None Especifica 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 cálculo para la ejecución del modelo.

Adicionalmente, se admiten los siguientes ajustes de visualización:

Argumento Tipo Predeterminado Descripción
show bool False Si 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_width None or int None Especifica el ancho de línea de los cuadros delimitadores. Si None, el ancho de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad.
show_conf bool True Muestra la puntuación de confianza para cada detección junto con la etiqueta. Ofrece información sobre la certeza del modelo para cada detección.
show_labels bool True Muestra etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

Preguntas frecuentes

¿Qué es el conteo de objetos en regiones específicas usando Ultralytics YOLO11?

El conteo de objetos en regiones específicas con Ultralytics YOLO11 implica la detección y el recuento del número de objetos dentro de áreas definidas utilizando visión artificial avanzada. Este método preciso mejora la eficiencia y la exactitud en diversas aplicaciones como la fabricación, la vigilancia y el monitoreo del tráfico.

¿Cómo ejecuto el script de conteo de objetos basado en regiones con Ultralytics YOLO11?

Sigue estos pasos para ejecutar el conteo de objetos en Ultralytics YOLO11:

  1. Clonar el repositorio de Ultralytics y navegar al directorio:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
    
  2. Ejecute el script de conteo 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.

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

El uso de Ultralytics YOLO11 para el conteo de objetos en regiones ofrece varias ventajas:

  1. Procesamiento en tiempo real: La arquitectura de YOLO11 permite una inferencia rápida, lo que lo hace ideal para aplicaciones que requieren resultados de conteo inmediatos.
  2. Definición de Regiones Flexible: La solución le permite definir múltiples regiones personalizadas como polígonos, rectángulos o líneas para adaptarse a sus necesidades específicas de monitoreo.
  3. Soporte multi-clase: Cuenta diferentes tipos de objetos simultáneamente dentro de las mismas regiones, proporcionando análisis integrales.
  4. Capacidades de integración: Intégrese fácilmente con los sistemas existentes a través de la API de python de Ultralytics o la interfaz de línea de comandos.

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

¿Cuáles son algunas aplicaciones del mundo real del conteo de objetos en regiones?

El conteo de objetos con Ultralytics YOLO11 se puede aplicar a numerosos escenarios del mundo real:

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

Explore más ejemplos en la sección de Aplicaciones del Mundo Real y la solución TrackZone para capacidades adicionales de monitorización basadas en zonas.



📅 Creado hace 1 año ✏️ Actualizado hace 4 meses

Comentarios