Ir al contenido

Recuento de objetos en diferentes regiones mediante Ultralytics YOLO 🚀

¿Qué es el recuento de objetos en las regiones?

El recuento de objetos en regiones con Ultralytics YOLO11 consiste en determinar con precisión el número de objetos que se encuentran dentro de áreas específicas mediante visión por ordenador avanzada. Este enfoque es valioso para optimizar procesos, aumentar la seguridad y mejorar la eficiencia en diversas aplicaciones.



Observa: Recuento de objetos en diferentes regiones utilizando Ultralytics YOLO11 | Ultralytics Soluciones 🚀

¿Ventajas del recuento de objetos en las regiones?

  • Precisión y exactitud: El recuento de objetos en regiones con visión por ordenador 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 agilizando los procesos en las distintas aplicaciones.
  • Versatilidad y aplicación: La versatilidad del recuento de objetos en regiones hace que sea aplicable en diversos ámbitos, desde la fabricación y la vigilancia hasta la supervisión del tráfico, lo que contribuye a su amplia utilidad y eficacia.

Aplicaciones en el mundo real

Venta al por menor Calles del mercado
Recuento de personas en distintas regiones mediante Ultralytics YOLO11 Recuento de multitudes en distintas regiones mediante Ultralytics YOLO11
Recuento de personas en distintas regiones mediante Ultralytics YOLO11 Recuento de multitudes en distintas regiones mediante Ultralytics YOLO11

Recuento de regiones con 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

Ultralytics Código de ejemplo

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

RegionCounter Argumentos

Aquí tiene una tabla con los RegionCounter argumentos:

Argumento Tipo Por defecto Descripción
model str None Ruta al archivo del modeloYOLO Ultralytics .
region list [(20, 400), (1260, 400)] Lista de puntos que definen la región de recuento.

En RegionCounter permite utilizar parámetros de seguimiento de objetos:

Argumento Tipo Por defecto Descripción
tracker str 'botsort.yaml' Especifica el algoritmo de seguimiento a utilizar, por ejemplo, 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 las detecciones solapadas.
classes list None Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] sólo rastrea las clases especificadas.
verbose bool True Controla la visualización de los resultados del rastreo, proporcionando una salida visual de los objetos rastreados.
device str None Especifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, un GPU específico u otros dispositivos de cálculo para la ejecución del modelo.

Además, se admiten los siguientes ajustes de visualización:

Argumento Tipo Por defecto Descripción
show bool False Si Truemuestra las imágenes o vídeos anotados en una ventana. Resulta ú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 NoneEl ancho de línea se ajusta automáticamente en función del tamaño de la imagen. Proporciona personalización visual para mayor claridad.

PREGUNTAS FRECUENTES

¿Qué es el recuento de objetos en regiones específicas mediante Ultralytics YOLO11 ?

El recuento de objetos en regiones específicas con Ultralytics YOLO11 consiste en detectar y contar el número de objetos dentro de áreas definidas mediante visión por ordenador avanzada. Este método preciso mejora la eficacia y la precisión en diversas aplicaciones, como la fabricación, la vigilancia y la supervisión del tráfico.

¿Cómo se ejecuta el script de recuento de objetos basado en regiones con Ultralytics YOLO11 ?

Siga estos pasos para ejecutar el recuento de objetos en Ultralytics YOLO11 :

  1. Clone el repositorio Ultralytics y navegue hasta el directorio:

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

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

Para más opciones, visite la sección Recuento de regiones de ejecución.

¿Por qué utilizar Ultralytics YOLO11 para el recuento de objetos en las regiones?

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

  1. Procesamiento en tiempo real: La arquitectura de YOLO11 permite una inferencia rápida, por lo que es ideal para aplicaciones que requieren resultados de recuento inmediatos.
  2. Definición flexible de regiones: La solución permite definir múltiples regiones personalizadas como polígonos, rectángulos o líneas para adaptarse a sus necesidades específicas de supervisión.
  3. Soporte multiclase: Cuente diferentes tipos de objetos simultáneamente dentro de las mismas regiones, proporcionando análisis completos.
  4. Capacidades de integración: Integre fácilmente con los sistemas existentes a través de la APIPython Ultralytics o la interfaz de línea de comandos.

Descubra más ventajas en la sección Ventajas.

¿Cuáles son algunas aplicaciones reales del recuento de objetos en regiones?

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

  • Análisis de tiendas: Cuente los clientes en las distintas secciones de la tienda para optimizar la distribución y la dotación de personal.
  • Gestión del tráfico: Supervisar el flujo de vehículos en segmentos de carretera o intersecciones específicas.
  • Fabricación: Realice un seguimiento de los productos que se desplazan por las distintas zonas de producción.
  • Operaciones de almacén: Contar los artículos del inventario en las áreas de almacenamiento designadas.
  • Seguridad pública: Controlar la densidad de público en zonas específicas durante los eventos.

Explore más ejemplos en la sección Aplicaciones del mundo real y la solución TrackZone para obtener funciones adicionales de supervisión por zonas.

Creado hace 1 año ✏️ Actualizado hace 8 días

Comentarios