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 |
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:
-
Clonar el repositorio de Ultralytics y navegar al directorio:
git clone https://github.com/ultralytics/ultralytics cd ultralytics/examples/YOLOv8-Region-Counter
-
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:
- 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.
- 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.
- Soporte multi-clase: Cuenta diferentes tipos de objetos simultáneamente dentro de las mismas regiones, proporcionando análisis integrales.
- 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.