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.
![]()
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#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
model | str | None | Ruta a un archivo de modelo YOLO de Ultralytics. |
region | list o dict | None | Puntos 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_in | bool | True | Flag para controlar si se muestran los conteos de entrada en la transmisión de vídeo. |
show_out | bool | True | Flag para controlar si se muestran los conteos de salida en la transmisión de vídeo. |
analytics_type | str | 'line' | Tipo de grafo, es decir, line, bar, area o pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mapa de colores a usar para el mapa de calor. |
json_file | str | None | Ruta al archivo JSON que contiene todos los datos de coordenadas del aparcamiento. |
up_angle | float | 145.0 | Umbral de ángulo para la pose 'arriba'. |
kpts | list[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_angle | int | 90 | Umbral de ángulo para la pose 'abajo'. |
blur_ratio | float | 0.5 | Ajusta el porcentaje de la intensidad del desenfoque (blur), 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 | Recuento 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á trayectorias usando la solución VisionEye. |
source | str | None | Ruta a la fuente de entrada (vídeo, RTSP, etc.). Solo utilizable con la interfaz de línea de comandos (CLI) de Solutions. |
figsize | tuple[float, float] | (12.8, 7.2) | Tamaño de la figura para gráficos analíticos como mapas de calor o gráficas. |
fps | float | 30.0 | Fotogramas por segundo utilizados para los cálculos de velocidad. |
max_hist | int | 5 | Máximos puntos históricos a rastrear por objeto para los cálculos de velocidad/dirección. |
meter_per_pixel | float | 0.05 | Factor de escala utilizado para convertir la distancia de píxeles a unidades del mundo real. |
max_speed | int | 120 | Límite máximo de velocidad en superposiciones visuales (utilizado en alertas). |
data | str | 'images' | Ruta al directorio de imágenes utilizado para la búsqueda por similitud. |
imgsz | int | 640 | Tamaño de la imagen de entrada para la inferencia del modelo. |
Las soluciones también admiten algunos de los argumentos de track, incluidos parámetros como conf, line_width, tracker, model, show, verbose y classes.
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
tracker | str | '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. |
conf | float | 0.1 | Establece el umbral de confianza para las detecciones; valores más bajos permiten el seguimiento de más objetos, pero pueden incluir falsos positivos. |
iou | float | 0.7 | Establece el umbral de Intersection over Union (IoU) para filtrar detecciones superpuestas. |
classes | list | None | Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo realiza el seguimiento de las clases especificadas. |
verbose | bool | True | Controla la visualización de los resultados de seguimiento, 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, una GPU específica u otros dispositivos de computación para la ejecución del modelo. |
Puedes usar show_conf, show_labels y otros argumentos mencionados para personalizar la visualización.
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
show | bool | False | Si 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_width | int or None | None | Especifica 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_conf | bool | True | Muestra 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_labels | bool | True | Muestra 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étodo | Tipo de retorno | Descripción |
|---|---|---|
draw_region() | None | Dibuja una región usando puntos, colores y grosor especificados. |
queue_counts_display() | None | Muestra los conteos de cola 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_kpts() | np.ndarray | Dibuja puntos clave específicos en la imagen. |
plot_workout_information() | int | Dibuja un cuadro de texto etiquetado en la imagen. |
plot_angle_and_count_and_stage() | None | Visualiza el ángulo, el conteo de pasos y la etapa para el monitoreo de entrenamiento. |
plot_distance_and_line() | None | Muestra la distancia entre centroides y los conecta con una línea. |
display_objects_labels() | None | Anota cuadros delimitadores con etiquetas de clase de objeto. |
sweep_annotator() | None | Visualiza una línea de barrido vertical y una etiqueta opcional. |
visioneye() | None | Mapea y conecta los centroides de los objetos a un punto de "ojo" visual. |
adaptive_label() | None | Dibuja 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_countyclasswise_count.
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_countEl objeto SolutionResults tiene 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 entrando en la zona definida en el flujo de vídeo. |
out_count | int | Número total de objetos detectados saliendo de la zona definida en el flujo de vídeo. |
classwise_count | Dict[str, int] | Diccionario que registra los conteos de entrada/salida de objetos por clase para análisis avanzados. |
queue_count | int | Número de objetos actualmente dentro de una cola o área de espera predefinida (adecuado para la gestión de colas). |
workout_count | list[int] | Recuentos de repeticiones de ejercicios por seguimiento desde AI Gym (una entrada por cada individuo rastreado actualmente). |
workout_angle | list[float] | Ángulos de ejercicio por seguimiento desde AI Gym (una entrada por cada individuo rastreado actualmente). |
workout_stage | list[str] | Etapa actual del ejercicio por seguimiento desde AI Gym (una entrada por cada individuo rastreado actualmente). |
pixels_distance | float | Distancia basada en píxeles entre dos objetos o puntos, p. ej., cuadros delimitadores. (Adecuado para el cálculo de distancia). |
available_slots | int | Número de plazas libres en un área monitoreada (adecuado para la gestión de aparcamientos). |
filled_slots | int | Número de plazas ocupadas en un área monitoreada. (Adecuado para la gestión de aparcamientos) |
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 pistas de objetos únicas observadas durante el análisis de vídeo. |
region_counts | Dict[str, int] | Conteos de objetos dentro de regiones o zonas definidas por el usuario. |
speed_dict | Dict[str, float] | Diccionario por pista de velocidades de objetos calculadas, útil para el análisis de velocidad. |
total_crop_objects | int | Número total de imágenes de objetos recortadas generadas por la solución ObjectCropper. |
speed | Dict[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#
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, comoshow_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 pathContribuye 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.