Ir al contenido

Soluciones de Ultralytics: Aprovecha YOLO11 para resolver problemas del mundo real

Las soluciones Ultralytics proporcionan aplicaciones de vanguardia de los modelos YOLO, ofreciendo soluciones del mundo real como el conteo de objetos, el desenfoque y los sistemas de seguridad, mejorando la eficiencia y la precisión en diversas industrias. Descubra el poder de YOLO11 para implementaciones prácticas e impactantes.

Miniatura de Soluciones de Ultralytics



Ver: Cómo ejecutar soluciones Ultralytics desde la línea de comandos (CLI) | Ultralytics YOLO11 🚀

Soluciones

Aquí está nuestra lista curada de soluciones Ultralytics que se pueden utilizar para crear increíbles proyectos de visión artificial.

  • Conteo de Objetos: Aprenda a realizar el conteo de objetos en tiempo real con YOLO11. Adquiera la experiencia necesaria para contar objetos con precisión en transmisiones de video en vivo.
  • Recorte de Objetos: Domine el recorte de objetos con YOLO11 para la extracción precisa de objetos de imágenes y videos.
  • Desenfoque de objetos: Aplica el desenfoque de objetos utilizando YOLO11 para proteger la privacidad en el procesamiento de imágenes y vídeos.
  • Monitoreo de entrenamientos: Descubra cómo monitorear los entrenamientos usando YOLO11. Aprenda a rastrear y analizar varias rutinas de ejercicios en tiempo real.
  • Conteo de Objetos en Regiones: Cuente objetos en regiones específicas utilizando YOLO11 para una detección precisa en áreas variadas.
  • Sistema de alarma de seguridad: Cree un sistema de alarma de seguridad con YOLO11 que active alertas al detectar nuevos objetos. Personalice el sistema para que se ajuste a sus necesidades específicas.
  • Mapas de calor: Utiliza mapas de calor de detección para visualizar la intensidad de los datos en una matriz, proporcionando información clara en tareas de visión artificial.
  • Segmentación de instancias con seguimiento de objetos: Implementa la segmentación de instancias y el seguimiento de objetos con YOLO11 para lograr límites de objetos precisos y una monitorización continua.
  • VisionEye View Objects Mapping: Desarrolle sistemas que imiten el enfoque del ojo humano en objetos específicos, mejorando la capacidad de la computadora para discernir y priorizar los detalles.
  • Estimación de velocidad: Estime la velocidad de los objetos utilizando YOLO11 y técnicas de seguimiento de objetos, cruciales para aplicaciones como vehículos autónomos y monitoreo de tráfico.
  • Cálculo de distancia: Calcule las distancias entre objetos utilizando los centroides de los cuadros delimitadores en YOLO11, esencial para el análisis espacial.
  • Gestión de Colas: Implemente sistemas eficientes de gestión de colas para minimizar los tiempos de espera y mejorar la productividad utilizando YOLO11.
  • Gestión de Estacionamiento: Organice y dirija el flujo de vehículos en áreas de estacionamiento con YOLO11, optimizando la utilización del espacio y la experiencia del usuario.
  • Analítica: Realice un análisis de datos exhaustivo para descubrir patrones y tomar decisiones informadas, aprovechando YOLO11 para análisis descriptivos, predictivos y prescriptivos.
  • Inferencia en vivo con Streamlit: Aprovecha la potencia de YOLO11 para la detección de objetos en tiempo real directamente a través de tu navegador web con una interfaz Streamlit fácil de usar.
  • Rastrea objetos en zona: Aprende a rastrear objetos dentro de zonas específicas de fotogramas de vídeo utilizando YOLO11 para una monitorización precisa y eficiente.
  • Búsqueda de similitud 🚀 NUEVO: Permite la recuperación inteligente de imágenes combinando los embeddings de OpenAI CLIP con Meta FAISS, lo que permite consultas en lenguaje natural como "persona sosteniendo una bolsa" o "vehículos en movimiento".

Argumentos de las soluciones

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.
show_in bool True Indica si se deben mostrar los conteos de entrada en la transmisión de video.
show_out bool True Indica si se deben mostrar los conteos de salida en la transmisión de video.
analytics_type str line Tipo de gráfico, es decir, line, bar, area, o pie.
colormap int cv2.COLORMAP_JET Mapa de colores que se utilizará para el mapa de calor.
json_file str None Ruta al archivo JSON que contiene todos los datos de coordenadas de estacionamiento.
up_angle float 145.0 Umbral de ángulo para la pose 'arriba'.
kpts list[int, int, int] '[6, 8, 10]' Lista de puntos clave utilizados para monitorizar los entrenamientos. Estos puntos clave corresponden a articulaciones o partes del cuerpo, como hombros, codos y muñecas, para ejercicios como flexiones, dominadas, sentadillas y ejercicios abdominales.
down_angle float 90.0 Umbral de ángulo para la pose 'abajo'.
blur_ratio float 0.5 Ajusta el porcentaje de intensidad del desenfoque, con valores en el rango 0.1 - 1.0.
crop_dir str 'cropped-detections' Nombre del directorio para almacenar las detecciones recortadas.
records int 5 Conteo total de detecciones para activar un correo electrónico con el sistema de alarma de seguridad.
vision_point tuple[int, int] (20, 20) El punto donde la visión rastreará objetos y dibujará rutas utilizando VisionEye Solution.
source str None Ruta a la fuente de entrada (video, RTSP, etc.). Solo se puede utilizar con la interfaz de línea de comandos (CLI) de Solutions.
figsize tuple[int, int] (12.8, 7.2) Tamaño de la figura para gráficos analíticos como mapas de calor o gráficos.
fps float 30.0 Fotogramas por segundo utilizados para los cálculos de velocidad.
max_hist int 5 Puntos históricos máximos para rastrear por objeto para cálculos de velocidad/dirección.
meter_per_pixel float 0.05 Factor de escala utilizado para convertir la distancia en píxeles a unidades del mundo real.
max_speed int 120 Límite de velocidad máximo en superposiciones visuales (utilizado en alertas).
data str 'images' Ruta al directorio de imágenes utilizado para la búsqueda de similitud.

Seguimiento de argumentos

Las soluciones también admiten algunos de los argumentos de track, incluyendo parámetros como conf, line_width, tracker, model, show, verbose y classes.

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.

Argumentos de visualización

Puedes usar show_conf, show_labels, y otros argumentos mencionados para personalizar la 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.

Uso de SolutionAnnotator

Todas las soluciones de Ultralytics utilizan la clase separada SolutionAnnotator, que extiende el principal Annotator clase, y tienen los siguientes métodos:

Método Tipo de retorno Descripción
draw_region() None Dibuja una región utilizando puntos, colores y grosor especificados.
queue_counts_display() None Muestra el número de colas en la región especificada.
display_analytics() None Muestra estadísticas generales para la gestión de aparcamientos.
estimate_pose_angle() float Calcula el ángulo entre tres puntos en una pose de objeto.
draw_specific_points() None Dibuja puntos clave específicos en la imagen.
plot_workout_information() None Dibuja un cuadro de texto etiquetado en la imagen.
plot_angle_and_count_and_stage() None Visualiza el ángulo, el recuento de pasos y la etapa para el seguimiento del entrenamiento.
plot_distance_and_line() None Muestra la distancia entre los centroides y los conecta con una línea.
display_objects_labels() None Anota cuadros delimitadores con etiquetas de clase de objeto.
sweep_annotator() None Visualice una línea de barrido vertical y una etiqueta opcional.
visioneye() None Mapea y conecta los centroides de los objetos a un punto "visual" del ojo.
adaptive_label() None Dibuje una etiqueta con forma de fondo circular o rectangular en el centro de un cuadro delimitador.

Trabajando con SolutionResults

Excepto Similarity Search, cada llamada a Solution devuelve una lista de SolutionResults objeto.

  • Para el conteo de objetos, los resultados incluyen in_count, out_count, y classwise_count.

SolutionResults

import cv2

from ultralytics import solutions

im0 = cv2.imread("path/to/img")

region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

counter = solutions.ObjectCounter(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo11n.pt",  # model="yolo11n-obb.pt" for object counting with OBB model.
    # classes=[0, 2],  # count specific classes i.e. person and car with COCO pretrained model.
    # tracker="botsort.yaml"  # Choose trackers i.e "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count)  # display in_counts
print(results.out_count)  # display out_counts
print(results.classwise_count)  # display classwise_count

SolutionResults Los objetos tienen los siguientes atributos:

Atributo Tipo Descripción
plot_im np.ndarray Imagen con superposiciones visuales como conteos, efectos de desenfoque o mejoras específicas de la solución.
in_count int Número total de objetos detectados que entran en la zona definida en la transmisión de video.
out_count int Número total de objetos detectados que salen de la zona definida en la transmisión de video.
classwise_count Dict[str, int] Diccionario que registra los recuentos de objetos de entrada/salida por clase para análisis avanzados.
queue_count int Número de objetos actualmente dentro de una cola predefinida o área de espera (adecuado para la gestión de colas).
workout_count int Número total de repeticiones de entrenamiento completadas durante el seguimiento de ejercicios.
workout_angle float Ángulo articular o de postura calculado durante el entrenamiento para la evaluación de la forma.
workout_stage str Fase o movimiento actual del entrenamiento (p. ej., 'arriba', 'abajo').
pixels_distance float Distancia basada en píxeles entre dos objetos o puntos, por ejemplo, cajas delimitadoras (adecuada para el cálculo de distancias).
available_slots int Número de espacios desocupados en un área monitoreada (adecuado para la gestión de estacionamiento).
filled_slots int Número de espacios ocupados en un área monitoreada (adecuado para la gestión de estacionamiento).
email_sent bool Indica si se ha enviado correctamente un correo electrónico de notificación o alerta (adecuado para alarmas de seguridad).
total_tracks int Número total de seguimientos de objetos únicos observados durante el análisis de video.
region_counts Dict[str, int] Conteo de objetos dentro de regiones o zonas definidas por el usuario.
speed_dict Dict[str, float] Diccionario de velocidades de objetos calculadas por seguimiento, útil para el análisis de velocidad.
total_crop_objects int Número total de imágenes de objetos recortados generadas por la solución ObjectCropper.
speed Dict[str, float] Diccionario que contiene métricas de rendimiento para el seguimiento y el procesamiento de soluciones.

Para obtener más detalles, consulte el SolutionResults documentación de la clase.

Uso de soluciones a través de la CLI

Información del comando

La mayoría de las soluciones se pueden utilizar directamente a través de la interfaz de línea de comandos, incluyendo:

Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference

Sintaxis

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS es una palabra clave requerida.
  • SOLUTION_NAME es uno de: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye'].
  • ARGS (opcional) son personalizados arg=value pares, como show_in=True, para anular la configuración predeterminada.
yolo solutions count show=True # for object counting

yolo solutions source="path/to/video.mp4" # specify video file path

Contribuya a nuestras soluciones

¡Agradecemos las contribuciones de la comunidad! Si domina algún aspecto particular de Ultralytics YOLO que aún no se haya cubierto en nuestras soluciones, lo alentamos a que comparta su experiencia. Escribir una guía es una excelente manera de retribuir a la comunidad y ayudarnos a que nuestra documentación sea más completa y fácil de usar.

Para comenzar, lea nuestra Guía de Contribución para obtener pautas sobre cómo abrir una solicitud de extracción (PR) 🛠️. ¡Esperamos sus contribuciones!

Trabajemos juntos para que el ecosistema de Ultralytics YOLO sea más robusto y versátil 🙏!

Preguntas frecuentes

¿Cómo puedo usar Ultralytics YOLO para el conteo de objetos en tiempo real?

Ultralytics YOLO11 se puede utilizar para el conteo de objetos en tiempo real aprovechando sus capacidades avanzadas de detección de objetos. Puede seguir nuestra guía detallada sobre Conteo de Objetos para configurar YOLO11 para el análisis de transmisiones de video en vivo. Simplemente instale YOLO11, cargue su modelo y procese los fotogramas de video para contar objetos de forma dinámica.

¿Cuáles son los beneficios de usar Ultralytics YOLO para sistemas de seguridad?

Ultralytics YOLO11 mejora los sistemas de seguridad al ofrecer detección de objetos en tiempo real y mecanismos de alerta. Al emplear YOLO11, puede crear un sistema de alarma de seguridad que active alertas cuando se detecten nuevos objetos en el área de vigilancia. Aprenda cómo configurar un Sistema de Alarma de Seguridad con YOLO11 para una supervisión de seguridad robusta.

¿Cómo puede Ultralytics YOLO mejorar los sistemas de gestión de colas?

Ultralytics YOLO11 puede mejorar significativamente los sistemas de gestión de colas al contar y rastrear con precisión a las personas en las colas, lo que ayuda a reducir los tiempos de espera y optimizar la eficiencia del servicio. Siga nuestra guía detallada sobre Gestión de Colas para aprender cómo implementar YOLO11 para una supervisión y análisis eficaces de las colas.

¿Se puede usar Ultralytics YOLO para el monitoreo de entrenamientos?

Sí, Ultralytics YOLO11 se puede utilizar eficazmente para la supervisión de entrenamientos mediante el seguimiento y el análisis de rutinas de ejercicios en tiempo real. Esto permite una evaluación precisa de la forma y el rendimiento del ejercicio. Explore nuestra guía sobre Supervisión de Entrenamientos para aprender cómo configurar un sistema de supervisión de entrenamientos impulsado por IA utilizando YOLO11.

¿Cómo ayuda Ultralytics YOLO en la creación de mapas de calor para la visualización de datos?

Ultralytics YOLO11 puede generar mapas de calor para visualizar la intensidad de los datos en un área determinada, destacando las regiones de alta actividad o interés. Esta característica es particularmente útil para comprender patrones y tendencias en diversas tareas de visión artificial. Obtenga más información sobre la creación y el uso de Mapas de Calor con YOLO11 para un análisis y visualización de datos completos.



📅 Creado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios