Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
IA visual

Contenerización con Docker para simplificar el despliegue de modelos

Descubre cómo la contenerización con Docker hace que desplegar modelos de visión artificial como Ultralytics YOLO11 sea más eficiente y sencillo.

Abirami VinaAbirami Vina11 min de lectura
Uso de la contenerización con Docker para desplegar modelos YOLO11

El proceso de crear una solución de visión artificial implica más pasos que simplemente entrenar y probar un modelo. De hecho, una de las partes más gratificantes de crear modelos es ver cómo repercuten en entornos reales. Usar Vision AI para resolver problemas lleva de forma natural a desplegar en producción los modelos de visión artificial que desarrollas.

El despliegue de modelos consta de varios pasos, entre ellos, optimizarlos para garantizar su fiabilidad, escalabilidad y rendimiento en distintas condiciones. Un flujo de trabajo de despliegue bien estructurado salva la distancia entre el desarrollo del modelo y la generación de un impacto significativo y tangible.

A menudo, al desplegar modelos de visión artificial como Ultralytics YOLO11, puedes elegir entre varias técnicas y opciones de despliegue, y la elección adecuada depende de la aplicación concreta que estés creando. Por ejemplo, técnicas como la contenerización pueden simplificar el flujo de trabajo de despliegue.

La contenerización permite empaquetar un modelo y sus dependencias, como bibliotecas, marcos de trabajo y configuraciones, en una unidad única e independiente llamada contenedor. Una de las formas más eficientes y populares de hacerlo es con Docker, una plataforma de código abierto que facilita la creación, distribución y ejecución de aplicaciones contenerizadas.

En este artículo veremos cómo la contenerización y Docker agilizan el despliegue de modelos y mejoran la escalabilidad y la eficiencia de las aplicaciones de Vision AI en entornos reales.

¿Qué es el despliegue de modelos?#

El despliegue de modelos es la fase final del ciclo de vida del aprendizaje automático, en la que el modelo entrenado se incorpora a un entorno de producción para realizar predicciones en el mundo real. Un despliegue correcto es fundamental para que el modelo funcione de forma fiable en condiciones prácticas.

Por ejemplo, piensa en un modelo de visión artificial diseñado para identificar matrículas en un sistema automatizado de cobro de peajes. Aunque puede alcanzar una gran precisión en un entorno controlado con conjuntos de datos bien etiquetados, desplegarlo en cámaras de carretera puede generar problemas de latencia debido a factores como el procesamiento de imágenes de alta resolución, los retrasos de red, las limitaciones del hardware y las exigencias de la inferencia en tiempo real.

Las predicciones lentas pueden provocar retrasos en el cobro de peajes, congestiones o incluso detecciones omitidas. Las estrategias adecuadas de despliegue de modelos pueden ayudar a reducir la latencia, mejorar la eficiencia y garantizar un rendimiento fiable en aplicaciones reales.

Detección de matrículas con Ultralytics YOLO11

Fig. 1. Detección de matrículas con Ultralytics YOLO11.

Además, hay varios aspectos que debes tener en cuenta al desplegar modelos. Uno de ellos es la escalabilidad: los modelos pueden funcionar bien durante el entrenamiento, pero tener dificultades para gestionar datos a gran escala.

Otro problema son las diferencias entre entornos, como las discrepancias de hardware, cuando se entrena un modelo con GPU (unidades de procesamiento gráfico) de alto rendimiento, pero se despliega en dispositivos con una capacidad de procesamiento limitada. Estas inconsistencias durante el despliegue pueden provocar comportamientos imprevistos del modelo. Se pueden utilizar soluciones avanzadas como la contenerización para afrontar estos retos.

Contenerización#

La contenerización se puede comparar con preparar una fiambrera que contiene todo lo necesario para una comida, como alimentos, cubiertos y condimentos. Puedes comer en cualquier sitio sin preocuparte por encontrar una cocina o utensilios concretos.

Del mismo modo, la contenerización empaqueta un modelo con todas sus dependencias, como bibliotecas, marcos de trabajo y configuraciones, en una sola unidad llamada contenedor. Estos contenedores garantizan que el modelo se ejecute de forma coherente al proporcionar las mismas dependencias en cualquier sistema, independientemente del entorno subyacente. A diferencia de las máquinas virtuales, que incluyen sistemas operativos completos, los contenedores son ligeros y portátiles, por lo que constituyen una alternativa eficiente.

Diagrama de tres contenedores de aplicaciones que comparten el núcleo del sistema operativo anfitrión y se ejecutan en el mismo hardware

Fig. 2. Descripción general de la contenerización.

Estas son algunas de las principales ventajas de la contenerización:

  • Control de versiones: Con la contenerización, pueden coexistir distintas versiones de un modelo o una pila de software, lo que permite revertir cambios y aplicar actualizaciones fácilmente sin interrumpir los sistemas de producción.
  • Seguridad: Los contenedores aíslan las aplicaciones del sistema subyacente, reduciendo el riesgo de conflictos, vulnerabilidades y accesos no autorizados.
  • Despliegue rápido: Las imágenes de contenedor preconfiguradas permiten realizar despliegues rápidos y reproducibles, reducir el tiempo de configuración y minimizar los errores de despliegue.

Docker: simplificación de la contenerización#

Aunque la contenerización es una forma excelente de ejecutar aplicaciones en entornos aislados, configurarla puede ser complicado. Ahí es donde entra en juego Docker. Docker es una plataforma de código abierto que simplifica la creación, el despliegue y la gestión de aplicaciones contenerizadas.

Proporciona un entorno uniforme y aislado, junto con las herramientas y los marcos de trabajo necesarios para probar el modelo. En concreto, Docker destaca por su sólido ecosistema y su facilidad de uso. Facilita el despliegue de modelos de IA al simplificar el proceso, funcionar sin problemas con plataformas en la nube y permitir que los modelos de IA se ejecuten de forma eficiente en dispositivos periféricos para obtener resultados más rápidos.

Muchas industrias ya lo utilizan activamente para desplegar y gestionar aplicaciones contenerizadas de forma eficiente. El despliegue de modelos con Docker suele incluir tres componentes principales:

  • Dockerfile: Archivo de configuración de texto que sirve de esquema para crear una imagen de Docker. Contiene todas las instrucciones necesarias, como la imagen base, las dependencias requeridas, la configuración del entorno y los comandos para ejecutar el modelo.
  • Imágenes de Docker: Archivos de paquetes preconfigurados que incluyen todo lo necesario para ejecutar el modelo: código, bibliotecas, entornos de ejecución y dependencias. Estas imágenes garantizan que el modelo se ejecute con la misma configuración en cualquier sistema.
  • Contenedores de Docker: Instancias en ejecución de imágenes de Docker que proporcionan un entorno aislado y seguro para ejecutar el modelo. En este entorno, el modelo se puede entrenar, probar y ajustar sin interferir con otras aplicaciones ni con el sistema anfitrión.

Componentes clave de Docker

Fig. 3. Comprender los componentes clave de Docker.

Ejemplo de una aplicación de visión artificial con Docker#

Imagina que una ciudad quiere desplegar un sistema de supervisión del tráfico con visión artificial para detectar y clasificar vehículos en tiempo real. Desplegar este sistema en varias ubicaciones, cada una con condiciones de hardware y red diferentes, puede ser complicado. Los problemas de compatibilidad, los conflictos entre dependencias y los entornos incoherentes pueden provocar un rendimiento poco fiable.

Con Docker, los desarrolladores pueden empaquetar todo el modelo de visión artificial junto con sus dependencias, como marcos de trabajo de IA como TensorFlow y scripts personalizados, en un contenedor. Así se garantiza que el modelo se ejecute de forma coherente en distintos entornos, desde el desarrollo local hasta los servidores en la nube o incluso los dispositivos periféricos instalados en cámaras de tráfico.

Diagrama de seis aplicaciones en contenedores que se ejecutan en Docker, sobre el sistema operativo anfitrión y la infraestructura

Fig. 4. Cómo funciona Docker.

Por ejemplo, al desplegar modelos de visión artificial en contenedores Docker en varios cruces, la ciudad puede analizar el flujo del tráfico, detectar infracciones y optimizar los semáforos. Como Docker proporciona un entorno estandarizado en todas las ubicaciones, el mantenimiento resulta más sencillo, las actualizaciones son más fáciles y el rendimiento se mantiene constante.

Despliegue de Ultralytics YOLO11 con Docker#

Ultralytics YOLO11, gracias a su capacidad para realizar tareas de visión artificial complejas, se puede utilizar en diversos sectores, como la fabricación, la atención sanitaria, la conducción autónoma y la agricultura.

Por ejemplo, Ultralytics YOLO11 puede procesar flujos de vídeo en aplicaciones de fitness para seguir ejercicios, como las flexiones, mediante la estimación de pose. Al detectar los movimientos corporales y contar las repeticiones en tiempo real, ayuda a mejorar el seguimiento del entrenamiento y el análisis del rendimiento.

Seguimiento de un entrenamiento con la estimación de poses de Ultralytics YOLO11

Fig. 5. Seguimiento de un entrenamiento con Ultralytics YOLO11.

Si queremos desplegar un modelo de este tipo en aplicaciones reales, debemos gestionar las dependencias, optimizar el hardware y garantizar un rendimiento uniforme en distintos entornos. Docker simplifica este proceso al empaquetar Ultralytics YOLO11 con todas las bibliotecas y configuraciones necesarias, lo que hace que el despliegue sea más eficiente, escalable y fiable.

Aquí tienes un breve resumen de las ventajas de desplegar Ultralytics YOLO11 con Docker:

  • Mantenimiento simplificado: Docker simplifica la actualización y el mantenimiento de Ultralytics YOLO11 y sus dependencias. Las actualizaciones se pueden aplicar a la imagen del contenedor sin afectar al sistema anfitrión, lo que garantiza una gestión del modelo fluida y eficiente.
  • Colaboración simplificada: Los desarrolladores y los investigadores pueden compartir fácilmente contenedores de Docker preconfigurados, lo que garantiza que los equipos trabajen en el mismo entorno y evita problemas de compatibilidad.
  • Eficiencia de recursos: A diferencia de las máquinas virtuales tradicionales, los contenedores de Docker comparten el sistema operativo anfitrión, lo que reduce la sobrecarga y mejora el uso de los recursos, algo fundamental para las tareas de inferencia en tiempo real.

Aplicaciones de Ultralytics YOLO11 que se pueden desplegar con Docker#

Veamos algunos ejemplos de aplicaciones de visión artificial que se pueden crear con Ultralytics YOLO11 y Docker.

Supervisión del tráfico con Ultralytics YOLO11#

Antes hemos hablado de la supervisión del tráfico con visión artificial. Curiosamente, la compatibilidad de Ultralytics YOLO11 con el seguimiento de objetos puede ayudar a crear un sistema integral de gestión del tráfico. ¿Cómo funciona?

Ultralytics YOLO11 puede analizar las transmisiones de vídeo en directo de las cámaras de tráfico para detectar y seguir vehículos en tiempo real. Al identificar continuamente la posición, la velocidad y los patrones de movimiento de los vehículos, el sistema puede supervisar los niveles de congestión, detectar infracciones de tráfico (como saltarse un semáforo en rojo o realizar giros ilegales) y optimizar los semáforos con datos en tiempo real.

Además, desplegar Ultralytics YOLO11 en dispositivos periféricos o plataformas en la nube con Docker garantiza un procesamiento eficiente y escalabilidad, lo que lo convierte en una herramienta valiosa para gestionar el tráfico en ciudades inteligentes.

Seguimiento y recuento de vehículos con Ultralytics YOLO11

Fig. 6. Seguimiento y recuento de vehículos con YOLO11.

Fisioterapia mejorada con Ultralytics YOLO11#

En el ámbito de la atención sanitaria, la fisioterapia es fundamental para la rehabilitación, y mantener una postura y unos movimientos adecuados es esencial para una recuperación satisfactoria. La información en tiempo real de un sistema de supervisión de pacientes basado en visión puede ayudar a los terapeutas a detectar problemas como ángulos articulares incorrectos o desequilibrios musculares.

Por ejemplo, si un paciente levanta el brazo hacia un lado, pero no lo eleva hasta la altura correcta o compensa con una postura inadecuada, el sistema puede detectar estos errores y ofrecer correcciones instantáneas. Así, los terapeutas pueden ajustar los tratamientos en tiempo real.

Las capacidades de estimación de poses de Ultralytics YOLO11 se pueden utilizar para detectar puntos clave del cuerpo y analizar los movimientos de las articulaciones. Puede procesar vídeos en directo para ofrecer información instantánea, ayudar a los terapeutas a corregir la postura y mejorar la precisión de los movimientos, además de prevenir lesiones. Esto facilita la creación de planes de tratamiento personalizados según la evolución de cada paciente.

Seguimiento de la fisioterapia con la estimación de poses de Ultralytics YOLO11

Fig. 7. Ejemplo de seguimiento de la fisioterapia con Ultralytics YOLO11.

Para desplegar este tipo de solución, Docker puede garantizar un funcionamiento fluido en distintos entornos, tanto en clínicas como en la supervisión remota de pacientes. Docker simplifica el despliegue, mejora la escalabilidad y mantiene la coherencia del sistema, lo que hace que las herramientas de fisioterapia basadas en IA sean más fiables y accesibles.

Conclusiones clave#

El despliegue de un modelo de visión artificial es un paso fundamental para llevarlo desde el desarrollo hasta su uso en el mundo real. Un proceso de despliegue fluido garantiza que el modelo entrenado funcione de forma fiable en aplicaciones prácticas. Herramientas como Docker y la contenerización han facilitado este proceso al eliminar muchos de los obstáculos tradicionales.

Gracias a su ligereza, portabilidad y escalabilidad, estas tecnologías están cambiando la forma de crear y desplegar modelos como Ultralytics YOLO11. Al utilizar la contenerización, las empresas pueden ahorrar tiempo, reducir costes y mejorar la eficiencia, al tiempo que garantizan que los modelos se ejecuten de forma coherente en distintos entornos.

Únete a nuestra comunidad y consulta nuestro repositorio de GitHub para obtener más información sobre la IA. Lee sobre distintas aplicaciones de la visión artificial en la atención sanitaria y la IA en la fabricación. Explora nuestras opciones de licencia de YOLO para empezar con la IA de visión.

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático