Inferencia en vivo con la aplicación Streamlit usando Ultralytics YOLO11
Introducción
Streamlit facilita la creación e implementación de aplicaciones web interactivas. La combinación de esto con Ultralytics YOLO11 permite la detección de objetos y el análisis en tiempo real directamente en su navegador. La alta precisión y velocidad de YOLO11 garantizan un rendimiento perfecto para las transmisiones de vídeo en directo, lo que lo hace ideal para aplicaciones en seguridad, comercio minorista y mucho más.
Ver: Cómo usar Streamlit con Ultralytics en tiempo real Visión Artificial en su navegador
Acuicultura | Cría de animales |
---|---|
![]() |
![]() |
Detección de peces usando Ultralytics YOLO11 | Detección de animales utilizando Ultralytics YOLO11 |
¿Ventajas de la inferencia en vivo?
- Detección de objetos en tiempo real sin problemas: Streamlit combinado con YOLO11 permite la detección de objetos en tiempo real directamente desde la transmisión de su cámara web. Esto permite un análisis e información inmediatos, lo que lo hace ideal para aplicaciones que requieren retroalimentación instantánea.
- Implementación fácil de usar: La interfaz interactiva de Streamlit facilita la implementación y el uso de la aplicación sin necesidad de amplios conocimientos técnicos. Los usuarios pueden iniciar la inferencia en vivo con un simple clic, lo que mejora la accesibilidad y la usabilidad.
- Utilización eficiente de recursos: Los algoritmos optimizados de YOLO11 garantizan un procesamiento de alta velocidad con recursos computacionales mínimos. Esta eficiencia permite una inferencia fluida y confiable de la cámara web incluso en hardware estándar, lo que hace que la visión artificial avanzada sea accesible a un público más amplio.
Código de la aplicación Streamlit
Instalación de Ultralytics
Antes de comenzar a construir la aplicación, asegúrate de tener instalado el paquete de python Ultralytics. Puedes instalarlo usando el comando pip install ultralytics
Inferencia usando Streamlit con Ultralytics YOLO
yolo solutions inference
yolo solutions inference model="path/to/model.pt"
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
Esto iniciará la aplicación Streamlit en tu navegador web predeterminado. Verás el título principal, el subtítulo y la barra lateral con opciones de configuración. Selecciona el modelo YOLO11 que desees, establece la confianza y los umbrales NMS, y haz clic en el botón "Start" para comenzar la detección de objetos en tiempo real.
Cómo funciona
Internamente, la aplicación Streamlit utiliza el módulo de soluciones de Ultralytics para crear una interfaz interactiva. Cuando inicia la inferencia, la aplicación:
- Captura video desde tu cámara web o archivo de video cargado
- Procesa cada fotograma a través del modelo YOLO11
- Aplica la detección de objetos con los umbrales de confianza e IoU especificados
- Muestra tanto los fotogramas originales como los anotados en tiempo real.
- Habilita opcionalmente el seguimiento de objetos si se selecciona
La aplicación proporciona una interfaz limpia y fácil de usar con controles para ajustar los parámetros del modelo e iniciar/detener la inferencia en cualquier momento.
Conclusión
Siguiendo esta guía, has creado con éxito una aplicación de detección de objetos en tiempo real utilizando Streamlit y Ultralytics YOLO11. Esta aplicación te permite experimentar el poder de YOLO11 en la detección de objetos a través de tu cámara web, con una interfaz fácil de usar y la capacidad de detener la transmisión de video en cualquier momento.
Para mejorar aún más, puedes explorar la posibilidad de añadir más funciones, como grabar el flujo de vídeo, guardar los fotogramas anotados o integrarlos con otras bibliotecas de visión artificial.
Comparte tus ideas con la comunidad
Interactúe con la comunidad para obtener más información, solucionar problemas y compartir sus proyectos:
Dónde encontrar ayuda y soporte técnico
- Incidencias de GitHub: Visite el repositorio Ultralytics en GitHub para plantear preguntas, informar sobre errores y sugerir funciones.
- Servidor de Discord de Ultralytics: Únete al servidor de Discord de Ultralytics para conectar con otros usuarios y desarrolladores, obtener soporte, compartir conocimientos e intercambiar ideas.
Documentación oficial
- Documentación de Ultralytics YOLO11: Consulta la documentación oficial de YOLO11 para obtener guías completas e información sobre diversas tareas y proyectos de visión artificial.
Preguntas frecuentes
¿Cómo puedo configurar una aplicación de detección de objetos en tiempo real utilizando Streamlit y Ultralytics YOLO11?
Configurar una aplicación de detección de objetos en tiempo real con Streamlit y Ultralytics YOLO11 es sencillo. Primero, asegúrate de tener instalado el paquete de python de Ultralytics usando:
pip install ultralytics
Luego, puede crear una aplicación Streamlit básica para ejecutar la inferencia en vivo:
Aplicación Streamlit
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, YOLOv10
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
yolo solutions inference
Para obtener más detalles sobre la configuración práctica, consulta la sección de código de la aplicación Streamlit de la documentación.
¿Cuáles son las principales ventajas de usar Ultralytics YOLO11 con Streamlit para la detección de objetos en tiempo real?
El uso de Ultralytics YOLO11 con Streamlit para la detección de objetos en tiempo real ofrece varias ventajas:
- Detección perfecta en tiempo real: Logre una detección de objetos en tiempo real y de alta precisión directamente desde las transmisiones de la cámara web.
- Interfaz fácil de usar: La interfaz intuitiva de Streamlit permite un uso e implementación sencillos sin necesidad de amplios conocimientos técnicos.
- Eficiencia de Recursos: Los algoritmos optimizados de YOLO11 garantizan un procesamiento de alta velocidad con recursos computacionales mínimos.
Obtenga más información sobre estos beneficios en la sección Ventajas de la Inferencia en Vivo.
¿Cómo implemento una aplicación de detección de objetos Streamlit en mi navegador web?
Después de codificar tu aplicación Streamlit integrando Ultralytics YOLO11, puedes implementarla ejecutando:
streamlit run path/to/file.py
Este comando iniciará la aplicación en su navegador web predeterminado, lo que le permitirá seleccionar modelos YOLO11, establecer umbrales de confianza y NMS, e iniciar la detección de objetos en tiempo real con un simple clic. Para obtener una guía detallada, consulte la sección Streamlit Application Code.
¿Cuáles son algunos casos de uso para la detección de objetos en tiempo real utilizando Streamlit y Ultralytics YOLO11?
La detección de objetos en tiempo real utilizando Streamlit y Ultralytics YOLO11 se puede aplicar en varios sectores:
- Seguridad: Monitoreo en tiempo real para el acceso no autorizado y sistemas de alarmas de seguridad.
- Comercio minorista: Conteo de clientes, gestión de estantes y seguimiento de inventario.
- Vida silvestre y agricultura: Monitoreo de animales y condiciones de los cultivos para esfuerzos de conservación.
Para obtener casos de uso y ejemplos más detallados, explora las Soluciones de Ultralytics.
¿Cómo se compara Ultralytics YOLO11 con otros modelos de detección de objetos como YOLOv5 y RCNN?
Ultralytics YOLO11 proporciona varias mejoras con respecto a modelos anteriores como YOLOv5 y RCNN:
- Mayor Velocidad y Precisión: Rendimiento mejorado para aplicaciones en tiempo real.
- Facilidad de uso: Interfaces e implementación simplificadas.
- Eficiencia de Recursos: Optimizado para una mejor velocidad con requisitos computacionales mínimos.
Para una comparación exhaustiva, consulta la Documentación de Ultralytics YOLO11 y las publicaciones de blog relacionadas que analizan el rendimiento del modelo.