Soluciones Ultralytics: Aprovecha YOLO26 para resolver problemas del mundo real
Las Soluciones Ultralytics ofrecen aplicaciones de vanguardia de modelos YOLO, brindando soluciones del mundo real como conteo de objetos, desenfoque y sistemas de seguridad, mejorando la eficiencia y la precisión en diversas industrias. Descubre el poder de YOLO26 para implementaciones prácticas e impactantes.
![]()
Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
Soluciones
Aquí tienes nuestra lista curada de soluciones de Ultralytics que puedes utilizar para crear proyectos increíbles de visión artificial.
- Análisis: Realiza un análisis de datos exhaustivo para descubrir patrones y tomar decisiones informadas, aprovechando YOLO26 para análisis descriptivos, predictivos y prescriptivos.
- Cálculo de distancia: Calcula distancias entre objetos utilizando centroides de cajas delimitadoras en YOLO26, esencial para el análisis espacial.
- Mapas de calor: Utiliza mapas de calor de detección para visualizar la intensidad de los datos en una matriz, proporcionando ideas claras en tareas de visión artificial.
- Segmentación de instancias con seguimiento de objetos: Implementa segmentación de instancias y seguimiento de objetos con YOLO26 para lograr contornos de objetos precisos y un monitoreo continuo.
- Inferencia en vivo con Streamlit: Aprovecha el poder de YOLO26 para la detección de objetos en tiempo real directamente a través de tu navegador web con una interfaz de Streamlit fácil de usar.
- Desenfoque de objetos: Aplica desenfoque de objetos usando YOLO26 para proteger la privacidad en el procesamiento de imágenes y vídeos.
- Conteo de objetos: Aprende a realizar conteo de objetos en tiempo real con YOLO26. Adquiere la experiencia necesaria para contar objetos con precisión en transmisiones de vídeo en directo.
- Conteo de objetos en regiones: Cuenta objetos en regiones específicas usando YOLO26 para una detección precisa en áreas variadas.
- Recorte de objetos: Domina el recorte de objetos con YOLO26 para la extracción precisa de objetos de imágenes y vídeos.
- Gestión de aparcamientos: Organiza y dirige el flujo de vehículos en áreas de aparcamiento con YOLO26, optimizando el uso del espacio y la experiencia del usuario.
- Gestión de colas: Implementa sistemas eficientes de gestión de colas para minimizar los tiempos de espera y mejorar la productividad usando YOLO26.
- Sistema de alarma de seguridad: 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.
- Búsqueda por similitud: Habilita la recuperación inteligente de imágenes combinando embeddings de OpenAI CLIP con Meta FAISS, permitiendo consultas en lenguaje natural como "persona sosteniendo una bolsa" o "vehículos en movimiento".
- Estimación de velocidad: Estima la velocidad de objetos usando YOLO26 y técnicas de seguimiento de objetos, crucial para aplicaciones como vehículos autónomos y monitoreo de tráfico.
- Seguimiento de objetos en zona: Aprende a realizar el seguimiento de objetos dentro de zonas específicas de fotogramas de vídeo usando YOLO26 para un monitoreo preciso y eficiente.
- Mapeo de objetos VisionEye View: Desarrolla sistemas que imiten el enfoque del ojo humano en objetos específicos, mejorando la capacidad de la computadora para discernir y priorizar detalles.
- Monitoreo de entrenamientos: Descubre cómo monitorear entrenamientos usando YOLO26. Aprende a seguir 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 Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | Lista de puntos que definen la región de conteo. |
show_in | bool | True | Indicador para controlar si se deben mostrar los recuentos de entrada en la transmisión de video. |
show_out | bool | True | Indicador para controlar si se deben mostrar los recuentos de salida en la transmisión de video. |
analytics_type | str | 'line' | Tipo de gráfico, p. ej., line, bar, area o pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mapa de colores para usar en el mapa de calor. |
json_file | str | None | Ruta al archivo JSON que contiene todos los datos de coordenadas de 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 ejercicios. 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 intensidad de 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 | Recuento total de detecciones para activar un correo electrónico con un sistema de alarma de seguridad. |
vision_point | tuple[int, int] | (20, 20) | El punto donde la visión rastreará objetos y dibujará rutas usando la solución VisionEye. |
source | str | None | Ruta a la fuente de entrada (video, RTSP, etc.). Solo utilizable con la interfaz de línea de comandos (CLI) de Solutions. |
figsize | tuple[int, int] | (12.8, 7.2) | Tamaño de figura para gráficos de análisis como mapas de calor o gráficas. |
fps | float | 30.0 | Fotogramas por segundo utilizados para cálculos de velocidad. |
max_hist | int | 5 | Puntos históricos máximos a 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 usado para la búsqueda de similitud. |
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.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 solapadas. |
classes | list | None | Filtra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas. |
verbose | bool | True | Controla la visualización de los resultados de seguimiento, proporcionando una salida visual de los objetos seguidos. |
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 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. Útil para obtener información visual inmediata durante el desarrollo o las pruebas. |
line_width | int or None | None | Especifica el ancho de línea de las cajas delimitadoras. Si es None, el ancho de línea se ajusta automáticamente según el 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 a 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 el resultado 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 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_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 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 cajas delimitadoras 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 centroides de objetos a un punto de "ojo" visual. |
adaptive_label() | None | Dibuja una etiqueta con forma de fondo circular o rectangular en el centro de una caja delimitadora. |
Trabajar con SolutionResults
Except Similarity Search, each Solution call returns a list of SolutionResults objects.
- Para el conteo 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 la transmisión de vídeo. |
out_count | int | Número total de objetos detectados saliendo de la zona definida en la transmisión 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 predefinida o área de espera (adecuado para gestión de colas). |
workout_count | int | Número total de repeticiones de entrenamiento completadas durante el seguimiento de ejercicio. |
workout_angle | float | Ángulo calculado de la articulación o pose durante el entrenamiento para la evaluación de la forma. |
workout_stage | str | Etapa de entrenamiento actual o fase de movimiento (p. ej., 'arriba', 'abajo'). |
pixels_distance | float | Distancia basada en píxeles entre dos objetos o puntos, p. ej., cajas delimitadoras. (Adecuado para cálculo de distancia). |
available_slots | int | Número de plazas desocupadas en un área monitoreada (adecuado para gestión de aparcamientos). |
filled_slots | int | Número de plazas ocupadas en un área monitoreada. (adecuado para gestión de aparcamientos) |
email_sent | bool | Indica si se ha enviado correctamente un correo electrónico de notificación o alerta (adecuado para alarma de seguridad). |
total_tracks | int | Número total de seguimientos de objetos únicos observados 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 seguimiento de velocidades de objetos calculadas, útil para 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 más detalles, consulta la documentación de la clase SolutionResults.
Uso de soluciones mediante CLI
La mayoría de las soluciones pueden usarse 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 los siguientes:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye']. - ARGS (opcional) son pares personalizados de
arg=value, comoshow_in=True, para sobrescribir 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 concreto de Ultralytics YOLO que aún no cubrimos en nuestras soluciones, te animamos a que compartas tu experiencia. Escribir una guía es una forma fantástica de devolver algo a la comunidad y ayudarnos a que nuestra documentación sea más completa y fácil de usar.
Para empezar, lee nuestra Guía de contribución para conocer las pautas sobre cómo abrir un Pull Request (PR) 🛠️. ¡Esperamos tus aportaciones!
¡Trabajemos juntos para hacer 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 YOLO26 puede utilizarse para el conteo de objetos en tiempo real aprovechando sus capacidades avanzadas de detección de objetos. Puedes seguir nuestra guía detallada sobre Conteo de objetos para configurar YOLO26 para el análisis de flujos de vídeo en directo. Solo tienes que instalar YOLO26, cargar tu modelo y procesar los fotogramas del vídeo para contar objetos de forma dinámica.
¿Cuáles son las ventajas de usar Ultralytics YOLO para sistemas de seguridad?
Ultralytics YOLO26 mejora los sistemas de seguridad ofreciendo detección de objetos y mecanismos de alerta en tiempo real. Al emplear YOLO26, puedes crear un sistema de alarma de seguridad que active avisos cuando se detecten nuevos objetos en el área de vigilancia. Aprende a configurar un Sistema de alarma de seguridad con YOLO26 para una vigilancia de seguridad robusta.
¿Cómo puede Ultralytics YOLO mejorar los sistemas de gestión de colas?
Ultralytics YOLO26 puede mejorar significativamente los sistemas de gestión de colas contando y rastreando con precisión a las personas en las filas, ayudando así a reducir los tiempos de espera y optimizar la eficiencia del servicio. Sigue nuestra guía detallada sobre Gestión de colas para aprender a implementar YOLO26 para un seguimiento y análisis eficaz de colas.
¿Se puede usar Ultralytics YOLO para el control de entrenamientos?
Sí, Ultralytics YOLO26 puede usarse eficazmente para el seguimiento de entrenamientos mediante la monitorización y el análisis de rutinas de fitness en tiempo real. Esto permite una evaluación precisa de la forma y el rendimiento durante el ejercicio. Explora nuestra guía sobre Monitorización de entrenamientos para aprender a configurar un sistema de control de entrenamientos basado en IA utilizando YOLO26.
¿Cómo ayuda Ultralytics YOLO a crear mapas de calor para la visualización de datos?
Ultralytics YOLO26 puede generar mapas de calor para visualizar la intensidad de los datos en un área determinada, resaltando las regiones de alta actividad o interés. Esta funcionalidad es especialmente útil para comprender patrones y tendencias en diversas tareas de visión artificial. Aprende más sobre cómo crear y utilizar Mapas de calor con YOLO26 para un análisis y visualización de datos completos.