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.
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
, yclasswise_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, comoshow_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.