YOLO Vision 2026:

Ultralytics Solutions: Aprovecha YOLO26 para resolver problemas del mundo real#

Las Ultralytics Solutions ofrecen aplicaciones de vanguardia de modelos YOLO, proporcionando soluciones del mundo real como recuento de objetos, desenfoque y sistemas de seguridad, mejorando la eficiencia y la accuracy en diversas industrias. Descubre el poder de YOLO26 para implementaciones prácticas y de gran impacto.

Ultralytics Solutions Thumbnail



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

Soluciones#

Aquí tienes nuestra lista seleccionada de soluciones de Ultralytics que se pueden utilizar para crear increíbles proyectos de computer vision.

  • Analytics: Realiza un análisis de datos exhaustivo para descubrir patrones y tomar decisiones informadas, aprovechando YOLO26 para análisis descriptivos, predictivos y prescriptivos.
  • Distance Calculation: Calcula distancias entre objetos utilizando los centroides de los bounding box en YOLO26, algo fundamental para el análisis espacial.
  • Heatmaps: Utiliza mapas de calor de detección para visualizar la intensidad de los datos en una matriz, proporcionando información clara en tareas de computer vision.
  • Instance Segmentation with Object Tracking: Implementa la instance segmentation y el seguimiento de objetos con YOLO26 para lograr límites de objetos precisos y un seguimiento continuo.
  • Live Inference with Streamlit: Aprovecha la potencia de YOLO26 para la object detection en tiempo real directamente a través de tu navegador web con una interfaz de Streamlit fácil de usar.
  • Object Blurring: Aplica el desenfoque de objetos usando YOLO26 para proteger la privacidad en el procesamiento de imágenes y vídeos.
  • Object Counting: Aprende a realizar el recuento de objetos en tiempo real con YOLO26. Adquiere los conocimientos necesarios para contar objetos con precisión en transmisiones de vídeo en directo.
  • Object Counting in Regions: Cuenta objetos en regiones específicas utilizando YOLO26 para una detección precisa en diversas áreas.
  • Object Cropping: Domina el recorte de objetos con YOLO26 para extraer objetos de imágenes y vídeos con precisión.
  • Parking Management: Organiza y dirige el flujo de vehículos en zonas de aparcamiento con YOLO26, optimizando la utilización del espacio y la experiencia del usuario.
  • Queue Management: Implementa sistemas eficientes de gestión de colas para minimizar los tiempos de espera y mejorar la productividad utilizando YOLO26.
  • Security Alarm System: Crea un sistema de alarma de seguridad con YOLO26 que active alertas al detectar nuevos objetos. Personaliza el sistema para adaptarlo a tus necesidades específicas.
  • Similarity Search: Permite la recuperación inteligente de imágenes combinando incrustaciones de OpenAI CLIP con la búsqueda de similitud de coseno, lo que permite consultas en lenguaje natural como "persona sosteniendo un bolso" o "vehículos en movimiento".
  • Speed Estimation: Estima la velocidad de los objetos utilizando YOLO26 y técnicas de seguimiento de objetos, algo crucial para aplicaciones como vehículos autónomos y monitorización de tráfico.
  • Track Objects in Zone: Aprende a realizar el seguimiento de objetos dentro de zonas específicas de fotogramas de vídeo utilizando YOLO26 para una supervisión precisa y eficiente.
  • VisionEye View Objects Mapping: Desarrolla sistemas que imiten el enfoque del ojo humano en objetos específicos, mejorando la capacidad del ordenador para discernir y priorizar detalles.
  • Workouts Monitoring: Descubre cómo monitorizar entrenamientos usando YOLO26. Aprende a rastrear y analizar varias rutinas de fitness en tiempo real.

Argumentos de las soluciones#

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo YOLO de Ultralytics.
regionlist o dictNonePuntos que definen la región de interés, ya sea una lista de tuplas (x, y) o un diccionario que mapea nombres de regiones a listas de puntos para múltiples regiones (solo RegionCounter). Cuando es None, las soluciones que requieren una región recurren a un valor predeterminado.
show_inboolTrueFlag para controlar si se muestran los conteos de entrada en la transmisión de vídeo.
show_outboolTrueFlag para controlar si se muestran los conteos de salida en la transmisión de vídeo.
analytics_typestr'line'Tipo de grafo, es decir, line, bar, area o pie.
colormapintcv2.COLORMAP_DEEPGREENMapa de colores a usar para el mapa de calor.
json_filestrNoneRuta al archivo JSON que contiene todos los datos de coordenadas del aparcamiento.
up_anglefloat145.0Umbral de ángulo para la pose 'arriba'.
kptslist[int]'[6, 8, 10]'Lista de tres índices de puntos clave utilizados para monitorear 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_angleint90Umbral de ángulo para la pose 'abajo'.
blur_ratiofloat0.5Ajusta el porcentaje de la intensidad del desenfoque (blur), con valores en el rango 0.1 - 1.0.
crop_dirstr'cropped-detections'Nombre del directorio para almacenar las detecciones recortadas.
recordsint5Recuento total de detecciones para activar un correo electrónico con el sistema de alarma de seguridad.
vision_pointtuple[int, int](20, 20)El punto donde la visión rastreará objetos y dibujará trayectorias usando la solución VisionEye.
sourcestrNoneRuta a la fuente de entrada (vídeo, RTSP, etc.). Solo utilizable con la interfaz de línea de comandos (CLI) de Solutions.
figsizetuple[float, float](12.8, 7.2)Tamaño de la figura para gráficos analíticos como mapas de calor o gráficas.
fpsfloat30.0Fotogramas por segundo utilizados para los cálculos de velocidad.
max_histint5Máximos puntos históricos a rastrear por objeto para los cálculos de velocidad/dirección.
meter_per_pixelfloat0.05Factor de escala utilizado para convertir la distancia de píxeles a unidades del mundo real.
max_speedint120Límite máximo de velocidad en superposiciones visuales (utilizado en alertas).
datastr'images'Ruta al directorio de imágenes utilizado para la búsqueda por similitud.
imgszint640Tamaño de la imagen de entrada para la inferencia del modelo.
Argumentos de seguimiento

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

ArgumentoTipoPredeterminadoDescripción
trackerstr'tracktrack.yaml'Especifica el algoritmo de seguimiento que se va 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 realiza el seguimiento de 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 (por ejemplo, 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.
Argumentos de visualización

Puedes usar show_conf, show_labels y otros argumentos mencionados para personalizar la visualización.

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi es True, muestra las imágenes o vídeos anotados en una ventana. Es útil para obtener retroalimentación visual inmediata durante el desarrollo o las pruebas.
line_widthint or NoneNoneEspecifica el grosor de línea de los cuadros delimitadores. Si es None, el grosor de la línea se ajusta automáticamente según el tamaño de la imagen. Proporciona una 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.

Uso de SolutionAnnotator#

Todas las Ultralytics Solutions utilizan la clase independiente SolutionAnnotator, que amplía la clase principal Annotator, y tienen los siguientes métodos:

MétodoTipo de retornoDescripción
draw_region()NoneDibuja una región usando puntos, colores y grosor especificados.
queue_counts_display()NoneMuestra los conteos de cola en la región especificada.
display_analytics()NoneMuestra estadísticas generales para la gestión de aparcamientos.
estimate_pose_angle()floatCalcula el ángulo entre tres puntos en una pose de objeto.
draw_specific_kpts()np.ndarrayDibuja puntos clave específicos en la imagen.
plot_workout_information()intDibuja un cuadro de texto etiquetado en la imagen.
plot_angle_and_count_and_stage()NoneVisualiza el ángulo, el conteo de pasos y la etapa para el monitoreo de entrenamiento.
plot_distance_and_line()NoneMuestra la distancia entre centroides y los conecta con una línea.
display_objects_labels()NoneAnota cuadros delimitadores con etiquetas de clase de objeto.
sweep_annotator()NoneVisualiza una línea de barrido vertical y una etiqueta opcional.
visioneye()NoneMapea y conecta los centroides de los objetos a un punto de "ojo" visual.
adaptive_label()NoneDibuja una etiqueta de fondo circular o rectangular en el centro de un cuadro delimitador (BBox).

Trabajar con SolutionResults#

A excepción de Similarity Search, cada llamada a Solution devuelve un objeto SolutionResults.

  • Para el recuento 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="yolo26n.pt",  # model="yolo26n-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

El objeto SolutionResults tiene los siguientes atributos:

AtributoTipoDescripción
plot_imnp.ndarrayImagen con superposiciones visuales como conteos, efectos de desenfoque o mejoras específicas de la solución.
in_countintNúmero total de objetos detectados entrando en la zona definida en el flujo de vídeo.
out_countintNúmero total de objetos detectados saliendo de la zona definida en el flujo de vídeo.
classwise_countDict[str, int]Diccionario que registra los conteos de entrada/salida de objetos por clase para análisis avanzados.
queue_countintNúmero de objetos actualmente dentro de una cola o área de espera predefinida (adecuado para la gestión de colas).
workout_countlist[int]Recuentos de repeticiones de ejercicios por seguimiento desde AI Gym (una entrada por cada individuo rastreado actualmente).
workout_anglelist[float]Ángulos de ejercicio por seguimiento desde AI Gym (una entrada por cada individuo rastreado actualmente).
workout_stagelist[str]Etapa actual del ejercicio por seguimiento desde AI Gym (una entrada por cada individuo rastreado actualmente).
pixels_distancefloatDistancia basada en píxeles entre dos objetos o puntos, p. ej., cuadros delimitadores. (Adecuado para el cálculo de distancia).
available_slotsintNúmero de plazas libres en un área monitoreada (adecuado para la gestión de aparcamientos).
filled_slotsintNúmero de plazas ocupadas en un área monitoreada. (Adecuado para la gestión de aparcamientos)
email_sentboolIndica si se ha enviado correctamente un correo electrónico de notificación o alerta (adecuado para alarmas de seguridad).
total_tracksintNúmero total de pistas de objetos únicas observadas durante el análisis de vídeo.
region_countsDict[str, int]Conteos de objetos dentro de regiones o zonas definidas por el usuario.
speed_dictDict[str, float]Diccionario por pista de velocidades de objetos calculadas, útil para el análisis de velocidad.
total_crop_objectsintNúmero total de imágenes de objetos recortadas generadas por la solución ObjectCropper.
speedDict[str, float]Diccionario que contiene métricas de rendimiento para el seguimiento y el procesamiento de la solución.

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

Uso de soluciones mediante 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, Trackzone

Sintaxis

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

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

Contribuye a nuestras soluciones#

¡Agradecemos las contribuciones de la comunidad! Si dominas un aspecto particular de Ultralytics YOLO que aún no está cubierto en nuestras soluciones, te animamos a compartir tu experiencia. Escribir una guía es una forma estupenda de devolver algo a la comunidad y ayudarnos a hacer nuestra documentación más completa y fácil de usar.

Para empezar, lee nuestra Contributing Guide para conocer las pautas sobre cómo abrir una Pull Request (PR) 🛠️. ¡Esperamos tus contribuciones!

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

FAQ#

  • Ultralytics YOLO26 se puede utilizar para el recuento de objetos en tiempo real aprovechando sus capacidades avanzadas de detección de objetos. Puedes seguir nuestra guía detallada sobre Object Counting para configurar YOLO26 para el análisis de secuencias de vídeo en directo. Simplemente instala YOLO26, carga tu modelo y procesa los fotogramas de vídeo para contar objetos dinámicamente.

  • Ultralytics YOLO26 mejora los sistemas de seguridad al ofrecer detección de objetos en tiempo real y mecanismos de alerta. Al emplear YOLO26, puedes crear un sistema de alarma de seguridad que active alertas cuando se detecten nuevos objetos en el área de vigilancia. Aprende a configurar un Security Alarm System con YOLO26 para una supervisión de seguridad robusta.

  • Ultralytics YOLO26 puede mejorar significativamente los sistemas de gestión de colas contando y rastreando con precisión a las personas en las colas, ayudando así a reducir los tiempos de espera y optimizar la eficiencia del servicio. Sigue nuestra guía detallada sobre Queue Management para aprender a implementar YOLO26 para la monitorización y el análisis eficaces de colas.

  • Sí, Ultralytics YOLO26 se puede utilizar eficazmente para monitorizar entrenamientos mediante el seguimiento y análisis de rutinas de fitness en tiempo real. Esto permite una evaluación precisa de la forma de ejercicio y el rendimiento. Explora nuestra guía sobre Workouts Monitoring para aprender a configurar un sistema de supervisión de entrenamientos impulsado por IA utilizando YOLO26.

  • Ultralytics YOLO26 puede generar mapas de calor para visualizar la intensidad de los datos en un área determinada, resaltando regiones de alta actividad o interés. Esta función es especialmente útil para comprender patrones y tendencias en diversas tareas de computer vision. Obtén más información sobre cómo crear y utilizar Heatmaps con YOLO26 para un análisis y visualización de datos exhaustivos.

Comentarios