Cheque verde
Enlace copiado en el portapapeles

Pon en marcha una app interactiva de IA con Streamlit y Ultralytics YOLO11

Aprende a ejecutar las inferencias YOLO11 dentro de una interfaz Streamlit y a construir una interfaz interactiva de IA para tareas de visión por ordenador sin conocimientos de codificación.

Los modelos de visión por ordenador son impactantes herramientas de IA que permiten a las máquinas interpretar y analizar datos visuales, realizando tareas como la detección de objetos, la clasificación de imágenes y la segmentación de instancias con gran precisión. Sin embargo, a veces pueden requerir conocimientos técnicos adicionales, como habilidades de desarrollo web o de aplicaciones móviles, para desplegarlos y hacerlos accesibles a un público más amplio.

Toma Ultralytics YOLO11por ejemplo. Se trata de un modelo que admite diversas tareas y es útil en toda una serie de aplicaciones. Sin embargo, sin algunos conocimientos técnicos de front-end, construir y desplegar una interfaz fácil de usar para una interacción sin fisuras puede parecer un poco difícil para algunos ingenieros de IA.

Streamlit es un framework de código abierto que pretende facilitar este proceso. Es una herramienta Python para crear aplicaciones interactivas sin un complejo desarrollo front-end. Cuando se combina con YOLO11, permite a los usuarios subir imágenes, procesar vídeos y visualizar resultados en tiempo real con el mínimo esfuerzo.

Ultralytics va un paso más allá con su solución Live Inference, facilitando aún más la integración de Streamlit. Con un solo comando, los usuarios pueden lanzar una aplicación Streamlit preconstruida para YOLO11, eliminando la necesidad de configuración y codificación manuales. 

En este artículo, te explicaremos cómo configurar y ejecutar YOLO11 utilizando la solución Live Inference de Ultralyticscon Streamlit, haciendo que el despliegue de IA en tiempo real sea más rápido y accesible.

¿Qué es Streamlit?

Streamlit es un framework Python que simplifica la creación de aplicaciones web interactivas. Los desarrolladores pueden crear aplicaciones potenciadas por IA sin tener que lidiar con las complejidades del desarrollo front-end. 

Está diseñado para trabajar sin problemas con modelos de IA y aprendizaje automático. Con sólo unas pocas líneas de Python, los desarrolladores pueden crear una interfaz en la que los usuarios puedan subir imágenes, procesar vídeos e interactuar con modelos de IA.

Fig. 1. Características principales de Streamlit. Imagen del autor.

Una de sus características clave es el renderizado dinámico. Cuando los usuarios hacen cambios, la aplicación se actualiza automáticamente sin necesidad de recargar manualmente la página.

Además, como es ligero y fácil de usar, Streamlit funciona eficazmente tanto en máquinas locales como en plataformas en la nube. Esto lo convierte en una gran elección para desplegar aplicaciones de IA, compartir modelos con otros y proporcionar una experiencia de usuario intuitiva e interactiva.

Ultralytics YOLO11: Un modelo versátil de IA de Visión

Antes de sumergirnos en cómo ejecutar inferencias en vivo con Ultralytics YOLO11 en una aplicación Streamlit, veamos más de cerca qué hace que YOLO11 sea tan fiable.

Ultralytics YOLO11 es un modelo diseñado para tareas de visión por ordenador en tiempo real, como la detección de objetos, la segmentación de instancias y la estimación de poses. Ofrece un rendimiento de alta velocidad con una precisión impresionante.

Fig. 2. Ejemplo de utilización de YOLO11 para la detección de objetos.

Una de las mayores ventajas de YOLO11es su facilidad de uso. No hay necesidad de configuraciones complejas; los desarrolladores pueden instalar el paquetePython Ultralytics y empezar a hacer predicciones con sólo unas pocas líneas de código.

El paquetePython Ultralytics proporciona una serie de funciones, que permiten a los usuarios afinar los modelos y ajustar la configuración de detección. También ayuda a optimizar el rendimiento en distintos dispositivos para una implantación más fluida.

Más allá de la flexibilidad, el paquetePython Ultralytics admite integraciones en múltiples plataformas, incluidos dispositivos edge, entornos en la nube y sistemasGPU NVIDIA . Tanto si se implanta en un pequeño dispositivo integrado como en un servidor en la nube a gran escala, YOLO11 se adapta sin esfuerzo, haciendo que la IA de visión avanzada sea más accesible que nunca.

Ventajas de utilizar Streamlit con Ultralytics YOLO11

Puede que te estés preguntando, ¿cómo sé si Streamlit es la opción de despliegue adecuada para mí? Si buscas una forma sencilla y eficiente de ejecutar YOLO11 sin tener que ocuparte del desarrollo del front-end, Streamlit es una buena opción, especialmente para la creación de prototipos, proyectos de prueba de concepto (PoC) o despliegues dirigidos a un número reducido de usuarios.

Agiliza el proceso de trabajo con YOLO11 eliminando complejidades innecesarias y proporcionando una interfaz intuitiva para interactuar en tiempo real. Aquí tienes otras ventajas clave:

  • Controles de IA personalizables: Puedes añadir controles deslizantes, desplegables y botones a tu interfaz, para que los usuarios puedan ajustar con precisión los parámetros de detección y filtrar objetos específicos fácilmente.
  • Integración con otras herramientas de IA: Streamlit admite la integración con NumPy, OpenCV, Matplotlib y otras bibliotecas de aprendizaje automático, mejorando las capacidades del flujo de trabajo de IA.
  • Visualización interactiva de datos: La compatibilidad integrada con tablas y gráficos permite a los usuarios visualizar la detección de objetos, los resultados de la segmentación o las perspectivas del seguimiento sin esfuerzo.
  • Facilidad de colaboración: las aplicaciones Streamlit pueden compartirse fácilmente con miembros del equipo, partes interesadas o clientes a través de un simple enlace, lo que permite la retroalimentación y la iteración instantáneas.

Guía paso a paso para desplegar YOLO11 en una aplicación web Streamlit

Ahora que hemos explorado las ventajas de utilizar Streamlit con YOLO11, vamos a ver cómo ejecutar tareas de visión por ordenador en tiempo real en un navegador utilizando Streamlit con YOLO11.

Instalar el paquetePython Ultralytics

El primer paso es instalar el paquetePython Ultralytics . Para ello, utiliza el siguiente comando:

1# Install the ultralytics package from PyPI
2pip install ultralytics

Una vez instalado, YOLO11 está listo para usarse sin ninguna configuración complicada. Si tienes algún problema al instalar los paquetes necesarios, puedes consultar nuestra Guía de problemas comunes para obtener consejos y soluciones.

Iniciar la aplicación Streamlit con YOLO11 

Normalmente, necesitarías desarrollar un script Python utilizando componentes Streamlit para ejecutar YOLO11. Sin embargo, Ultralytics proporciona una forma sencilla de ejecutar YOLO11 con Streamlit. 

Si ejecutas el siguiente script Python , se iniciará instantáneamente la aplicación Streamlit en tu navegador web predeterminado:

1from ultralytics import solutions
2
3inf = solutions.Inference(
4    model="yolo11n.pt",  # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
5)
6
7inf.inference()
8
9### Make sure to run the file using command `streamlit run <file-name.py>`

No se necesita ninguna configuración adicional. La interfaz de la aplicación Streamlit incluye una sección de carga de imágenes y vídeos, un menú desplegable para seleccionar la variante del modelo YOLO11 que te interesa, y controles deslizantes para ajustar la confianza en la detección. Todo está perfectamente organizado, lo que permite a los usuarios realizar inferencias sin esfuerzo y sin escribir código adicional.

Ejecutar inferencias utilizando YOLO11 en la aplicación Streamlit

Ahora que la aplicación Streamlit se ejecuta en tu navegador web, vamos a explorar cómo utilizarla para realizar inferencias con YOLO11.

Por ejemplo, supongamos que queremos analizar un archivo de vídeo para detectar objetos. Estos son los pasos para subir un archivo, seleccionar un modelo y ver los resultados en tiempo real:

  • Sube un archivo de vídeo: Selecciona "vídeo" en el menú desplegable de configuración del usuario, que indica a la aplicación que procese un archivo pregrabado en lugar de la señal de la webcam.
  • Elige un modelo YOLO11 : Selecciona "YOLO11l" en el desplegable de modelos para detectar objetos utilizando un modelo YOLO11 grande.
  • Inicia el proceso de detección: Haz clic en "Iniciar" para que YOLO11 analice el vídeo fotograma a fotograma y detecte objetos en tiempo real.
  • Visualiza el vídeo procesado: Observa cómo aparece el vídeo en la pantalla con actualizaciones en directo, mostrando los objetos detectados con cuadros delimitadores.
  • Interactúa con los resultados en Streamlit: Utiliza la interfaz para ajustar la configuración o analizar las detecciones, todo ello sin configuración ni codificación adicionales.
Fig 3. La interfaz de la aplicación Ultralytics YOLO Streamlit.

Casos prácticos con Streamlit y YOLO11

Hemos visto que Streamlit es estupendo para crear prototipos, herramientas de investigación y aplicaciones pequeñas y medianas. Ofrece una forma sencilla de desplegar modelos de IA sin un complejo desarrollo front-end.

Sin embargo, ejecutar YOLO11 con Streamlit no siempre es una solución lista para usar, a menos que utilices la aplicación Ultralytics YOLO Streamlit que configuramos en los pasos anteriores. En la mayoría de los casos, se requiere cierto trabajo de desarrollo para personalizar la aplicación y adaptarla a necesidades específicas. Aunque Streamlit simplifica la implantación, tendrás que configurar los componentes necesarios para que YOLO11 funcione sin problemas.

Exploremos dos ejemplos prácticos de cómo Ultralytics YOLO11 puede desplegarse eficazmente con Streamlit en escenarios del mundo real.

Contar objetos para controlar el inventario con YOLO11

Llevar la cuenta del inventario en tiendas minoristas, almacenes o zonas de suministros de oficina puede llevar mucho tiempo y ser propenso a errores. Utilizando YOLO11 con Streamlit, las empresas pueden automatizar el recuento de objetos de forma rápida y eficaz, por lo que es una gran opción para una prueba de concepto (PoC) antes de comprometerse a una implantación a gran escala.

Con esta configuración, los usuarios pueden subir una imagen o utilizar una alimentación de cámara en directo, y YOLO11 puede ayudar a detectar y contar objetos al instante. El recuento en tiempo real puede mostrarse en la interfaz Streamlit, proporcionando una forma sencilla de controlar los niveles de existencias sin esfuerzo manual.

Por ejemplo, el propietario de una tienda puede escanear una estantería y ver inmediatamente cuántas botellas, cajas o productos envasados hay sin tener que contarlos manualmente. Aprovechando YOLO11 y Streamlit, las empresas pueden reducir el trabajo manual, mejorar la precisión y explorar la automatización con una inversión mínima.

Fig 4. Detección de botellas en un frigorífico utilizando YOLO11.

Aumentar la seguridad con YOLO11 y Streamlit

Mantener seguras las zonas restringidas de oficinas, almacenes o lugares de celebración de eventos puede ser difícil, sobre todo con una supervisión manual. Utilizando YOLO11 con Streamlit, las empresas pueden configurar un sencillo sistema de seguridad basado en IA para detectar accesos no autorizados en tiempo real.

Se puede conectar una cámara a la interfaz Streamlit, donde YOLO11 se utiliza para identificar y seguir a las personas que entran en zonas restringidas. Si se detecta a una persona no autorizada, el sistema puede activar una alerta o registrar el suceso para su revisión.

Por ejemplo, un responsable de almacén puede controlar el acceso a zonas de almacenamiento de alta seguridad, o una oficina puede seguir los movimientos en secciones restringidas sin necesidad de supervisión constante.

Puede ser un proyecto revelador para las empresas que deseen explorar la supervisión de la seguridad basada en la IA Vision antes de comprometerse con un sistema más grande y totalmente automatizado. Integrando YOLO11 con Streamlit, las empresas pueden mejorar la seguridad, minimizar la supervisión manual y responder a los accesos no autorizados con mayor eficacia.

Consejos para supervisar una aplicación interactiva de IA con Streamlit

Utilizar herramientas como Streamlit para desplegar modelos de visión por ordenador ayuda a crear una experiencia interactiva y fácil de usar. Sin embargo, después de configurar la interfaz en vivo, es importante asegurarse de que el sistema funciona eficazmente y ofrece resultados precisos a lo largo del tiempo.

He aquí algunos factores clave a tener en cuenta tras la implantación:

  • Seguimiento regular: Controla la precisión de la detección, la velocidad de inferencia y el uso de recursos. Ajusta los parámetros del modelo o actualiza el hardware si disminuye el rendimiento.
  • Gestión de múltiples usuarios y escalabilidad: A medida que crece la demanda de los usuarios, optimizar la infraestructura es clave para mantener el rendimiento. Las plataformas en la nube y las soluciones de despliegue escalables ayudan a garantizar un funcionamiento sin problemas.
  • Mantener actualizado el modelo: Mantener actualizados el modelo y las bibliotecas mejora la precisión, la seguridad y el acceso a nuevas funciones.

Puntos clave

Ultralytics simplifica la implantación de YOLO11 con una interfaz en vivo Streamlit lista para usar que se ejecuta con un solo comando, sin necesidad de codificación. Esto permite a los usuarios empezar a utilizar la detección de objetos en tiempo real al instante.

La interfaz también incluye personalización integrada, lo que permite a los usuarios cambiar de modelo, ajustar la precisión de detección y filtrar objetos con facilidad. Todo se gestiona dentro de una interfaz sencilla y fácil de usar, lo que elimina la necesidad de desarrollar manualmente la interfaz de usuario. Combinando

Las capacidades de YOLO11con la facilidad de despliegue de Streamlit, las empresas y los desarrolladores pueden crear prototipos, probar y perfeccionar rápidamente aplicaciones basadas en IA. 

Forma parte de nuestra comunidad y explora nuestro repositorio de GitHub para obtener más información sobre la IA. Echa un vistazo a nuestras páginas de soluciones para saber más sobre innovaciones como la IA en la fabricación y la visión por ordenador en la sanidad. Echa un vistazo a nuestras opciones de licencia y ¡empieza hoy mismo!

Logotipo de FacebookLogotipo de TwitterLogotipo de LinkedInSímbolo de enlace de copia

Leer más en esta categoría

¡Construyamos juntos el futuro
de la IA!

Comienza tu viaje con el futuro del aprendizaje automático