Al hacer clic en "Aceptar todas las cookies", usted acepta el almacenamiento de cookies en su dispositivo para mejorar la navegación por el sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información en
Configuración de cookies
Al hacer clic en "Aceptar todas las cookies", usted acepta el almacenamiento de cookies en su dispositivo para mejorar la navegación por el sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información en
Aprenda a exportar modelos Ultralytics YOLO, como Ultralytics YOLO11, utilizando la integración ONNX para el despliegue multiplataforma a través de diversos hardware.
Cuando las soluciones de IA empezaron a llamar la atención, la mayoría de los modelos se desplegaban en potentes servidores en entornos controlados. Sin embargo, a medida que la tecnología ha avanzado, el despliegue se ha extendido mucho más allá del centro de datos.
En la actualidad, los modelos de IA se ejecutan en todo tipo de dispositivos, desde servidores en la nube y ordenadores de sobremesa hasta teléfonos inteligentes y dispositivos periféricos. Este cambio permite un procesamiento más rápido, funcionalidad offline y sistemas más inteligentes que operan más cerca de donde se generan los datos.
Un ámbito en el que esto es especialmente evidente es el de la visión por ordenador, una rama de la IA que permite a las máquinas interpretar datos visuales. Se utiliza para aplicaciones como el reconocimiento facial, la conducción autónoma y el análisis de vídeo en tiempo real. A medida que crecen estos casos de uso, también lo hace la necesidad de modelos que puedan funcionar sin problemas en distintos equipos y plataformas.
Pero la implantación de modelos de visión por ordenador en una serie de objetivos no siempre es sencilla. Los dispositivos difieren en cuanto a hardware, sistemas operativos y marcos compatibles, por lo que la flexibilidad y la compatibilidad son esenciales.
Por eso es fundamental tener la opción de exportar modelos de visión por ordenador como Ultralytics YOLO11 a diferentes formatos. Por ejemplo, la integración ONNX (Open Neural Network Exchange) de Ultralytics ofrece una forma práctica de salvar la distancia entre la formación y el despliegue. ONNX es un formato abierto que hace que los modelos sean independientes del marco y estén listos para su despliegue en distintas plataformas.
Fig. 1. ONNX le ayuda a tomar un modelo entrenado en un marco y ejecutarlo en otro fácilmente.
En este artículo, examinaremos más de cerca la integración ONNX soportada por Ultralytics y exploraremos cómo puede exportar su modelo YOLO11 para un despliegue flexible y multiplataforma.
¿Qué es ONNX y ONNX Runtime?
Open Neural Network Exchange es un proyecto de código abierto que define un formato estándar para los modelos de aprendizaje automático. Originalmente desarrollado por Microsoft y Facebook, permite a los desarrolladores entrenar un modelo en un marco, como PyTorch, y ejecutarlo en otro, como TensorFlow. Esto hace que el desarrollo de la IA sea más flexible, colaborativo y accesible, especialmente en campos como la visión por ordenador.
ONNX proporciona un conjunto común de operadores y un formato de archivo unificado, lo que facilita la transferencia de modelos entre diferentes herramientas, marcos de trabajo, tiempos de ejecución y compiladores. Normalmente, un modelo entrenado en un marco no es fácilmente compatible con otro, pero con ONNX, puede exportar su modelo una vez y desplegarlo en casi cualquier lugar: en CPU (unidades centrales de procesamiento), GPU (unidades de procesamiento gráfico), dispositivos móviles o hardware de borde.
Además, ONNX Runtime es un motor de inferencia de alto rendimiento desarrollado específicamente para ejecutar modelos en formato ONNX. Está diseñado para que los modelos ONNX se ejecuten con mayor rapidez y eficiencia en una amplia gama de plataformas, incluidos servidores, dispositivos móviles y hardware de última generación. ONNX Runtime es compatible con marcos de trabajo populares como PyTorch, TensorFlow, TensorFlow Lite y scikit-learn, lo que facilita su integración en diferentes flujos de trabajo y el despliegue de modelos allí donde se necesiten.
Fig. 2. ONNX y ONNX Runtime permiten un despliegue flexible de modelos multiplataforma.
Principales características de ONNX
Antes de hablar de cómo exportar YOLO11 al formato ONNX, veamos algunas características clave del formato de modelo ONNX.
Tanto si cambia de herramienta, como si despliega en distintos dispositivos o actualiza sistemas, ONNX le ayuda a que todo funcione sin problemas. Esto es lo que hace que el formato del modelo ONNX sea único:
Un formato estándar: ONNX utiliza una forma común de describir cómo se construyen los modelos, como capas y operaciones (piense en ellos como bloques de construcción). Cuando un modelo se convierte a ONNX, sigue este estándar para que cualquier sistema compatible con ONNX pueda entenderlo y ejecutarlo.
Compatibilidad con versiones anteriores: Aunque ONNX siga mejorando, garantiza que los modelos antiguos sigan funcionando con las versiones más recientes. Esto significa que no tendrás que volver a entrenar o reconstruir tus modelos cada vez que ONNX reciba una actualización.
Diseño de modelos basado en gráficos: Los modelos ONNX se estructuran como grafos de computación, en los que cada nodo representa una operación (como una capa o una función matemática), y las aristas indican el flujo de datos. Este diseño basado en grafos facilita la integración con diversos sistemas que utilizan estructuras de grafos computacionales similares.
Herramientas de fácil uso para desarrolladores: Incluye una amplia gama de herramientas que le ayudan a convertir, validar y optimizar sus modelos. Estas herramientas simplifican el proceso de traslado de modelos entre distintos marcos y pueden acelerar la implantación, especialmente en aplicaciones de visión por ordenador.
Visión general de la integración de ONNX
La exportación de modelos Ultralytics YOLO como Ultralytics YOLO11 en formato ONNX es sencilla y puede realizarse en unos pocos pasos.
Para empezar, instale el paquete Ultralytics Python utilizando un gestor de paquetes como "pip". Para ello, ejecute el comando "pip install ultralytics" en el símbolo del sistema o en el terminal.
Con el paquete Ultralytics, podrá entrenar, probar, ajustar, exportar y desplegar fácilmente modelos para diversas tareas de visión por ordenador, haciendo que todo el proceso sea más rápido y eficiente. Durante la instalación, si se encuentra con alguna dificultad, puede consultar la guía de problemas comunes para obtener soluciones y consejos.
Una vez instalado el paquete Ultralytics, puede cargar y exportar el modelo YOLO11 al formato ONNX utilizando el código siguiente. Este ejemplo carga un modelo YOLO11 preentrenado (yolo11n.pt) y lo exporta como un archivo ONNX (yolo11n.onnx), dejándolo listo para su despliegue en diferentes plataformas y dispositivos.
Tras convertir su modelo al formato ONNX, puede implantarlo en diversas plataformas.
El siguiente ejemplo muestra cómo cargar el modelo YOLO11 exportado (yolo11n.onnx) y ejecutar una inferencia con él. Inferir significa simplemente utilizar el modelo entrenado para hacer predicciones sobre nuevos datos. En este caso, utilizaremos la URL de una imagen de un autobús para probar el modelo.
Al ejecutar este código, se guardará la siguiente imagen de salida en la carpeta runs/detect/predict.
Fig. 3. Ejecución de una inferencia utilizando el modelo YOLO11 exportado en una imagen.
¿Cuándo elegir la integración con ONNX?
El paquete Python de Ultralytics permite exportar modelos a varios formatos, como TorchScript, CoreML, TensorRT y ONNX. Entonces, ¿por qué elegir ONNX?
Lo que distingue a ONNX es que es un formato independiente del entorno. Mientras que muchos otros formatos de exportación están vinculados a herramientas o entornos específicos, ONNX utiliza un formato estandarizado y un conjunto compartido de operadores. Esto hace que sea muy portátil, compatible con el hardware e ideal para el despliegue multiplataforma, tanto si se trabaja con servidores en la nube como con aplicaciones móviles o dispositivos periféricos.
He aquí algunas razones por las que la integración de ONNX podría ser la opción ideal para sus proyectos YOLO11:
Despliegue portátil: Una vez exportado a ONNX, su modelo YOLO11 puede desplegarse en varias plataformas sin cambios de código ni reentrenamiento.
Apoyo de todo el sector: ONNX es compatible con las principales empresas y marcos de IA, lo que lo convierte en un formato fiable y ampliamente aceptado. Garantiza la compatibilidad a largo plazo, al igual que los PDF funcionan en todos los dispositivos.
Desarrollo a prueba de futuro: ONNX le ayuda a proteger sus inversiones en modelos. A medida que las herramientas evolucionan, ONNX mantiene sus modelos actualizados y utilizables, incluso en entornos nuevos o diferentes.
Sin dependencia del proveedor: Algunas herramientas te obligan a utilizar sólo su sistema, lo que puede limitar lo que tu modelo puede hacer. ONNX evita este problema permitiéndote elegir la plataforma que mejor se adapte a tus necesidades, sin tener que ceñirte a una única configuración.
Aplicaciones de YOLO11 y del formato del modelo ONNX
A continuación, vamos a explorar algunas aplicaciones reales en las que YOLO11 puede implantarse con la ayuda de la integración de ONNX.
Seguimiento del inventario en los almacenes mediante YOLO11
En los almacenes de gran actividad, es difícil vigilar todos los productos y paquetes en todo momento. Los sistemas de visión por ordenador pueden ayudar a los trabajadores a encontrar los productos en las estanterías y obtener información como el número de productos, el tipo, etc. Estos sistemas pueden ayudar a las empresas a gestionar automáticamente su vasto inventario y ahorrar mucho tiempo a los trabajadores del almacén.
Concretamente, en los almacenes inteligentes, los modelos YOLO11 exportados a ONNX pueden utilizarse para identificar y contar artículos en tiempo real mediante cámaras y dispositivos de borde. El modelo exportado puede ayudar a escanear estanterías o palés para detectar niveles de existencias, artículos que faltan o espacios vacíos. Dado que la exportación a ONNX hace que el modelo sea ligero y eficiente, puede ejecutarse directamente en pequeños dispositivos de borde, como cámaras inteligentes, eliminando la necesidad de costosos servidores o el acceso constante a la nube.
Fig. 4. Ejemplo de uso de YOLO11 para detectar y contar paquetes.
Gestión de residuos hospitalarios con YOLO11
Los hospitales de todo el mundo generan grandes cantidades de residuos cada día, desde guantes y jeringuillas usados hasta equipos utilizados durante las intervenciones quirúrgicas (como instrumentos quirúrgicos de un solo uso o contaminados, como tijeras y bisturíes). De hecho, las investigaciones demuestran que los hospitales producen alrededor de 5 millones de toneladas de residuos al año, lo que equivale a 29 libras de residuos por cama y día.
Clasificar correctamente estos residuos es esencial para la higiene, la seguridad y el cumplimiento de la normativa. Con los modelos YOLO11 exportados en formato ONNX, los hospitales pueden automatizar y controlar la eliminación de residuos en tiempo real.
Por ejemplo, las cámaras situadas cerca de los cubos de basura en zonas como quirófanos o pasillos pueden supervisar los artículos a medida que se desechan. Un modelo YOLO11 personalizado, entrenado para reconocer los distintos tipos de residuos médicos, puede analizar las imágenes e identificar lo que se tira. Si un artículo acaba en el contenedor equivocado, como una jeringuilla usada en la basura normal, el sistema puede configurarse para alertar inmediatamente al personal con una luz o un sonido, lo que ayuda a evitar la contaminación y a garantizar el cumplimiento de las normas.
Fig. 5. Uso de YOLO11 para detectar instrumentos médicos.
Seguimiento de cultivos con YOLO11
Saber cuál es el momento adecuado para cosechar los cultivos puede tener un gran impacto tanto en la calidad de los productos como en la productividad general de una explotación. Tradicionalmente, los agricultores se basaban en la experiencia y las inspecciones manuales, pero los recientes avances tecnológicos están empezando a cambiar la situación.
Ahora, con innovaciones de visión por ordenador como YOLO11, exportadas en formato ONNX, los agricultores pueden llevar la automatización y la precisión al campo. Utilizando drones o cámaras montadas en tractores o postes, los agricultores pueden capturar imágenes de sus cultivos (como tomates, manzanas o trigo). YOLO11 puede utilizarse entonces para detectar indicadores clave como el color, el tamaño y la distribución de los cultivos. A partir de esta información, los agricultores pueden determinar si los cultivos están listos para la cosecha, si aún están madurando o si ya han pasado su punto álgido.
Fig. 6. YOLO11 puede utilizarse para detectar cultivos en imágenes aéreas de drones.
Limitaciones de ONNX a tener en cuenta
Aunque ONNX ofrece numerosas ventajas, como la portabilidad, la compatibilidad entre plataformas y la interoperabilidad de marcos, hay que tener en cuenta algunas limitaciones.
Tamaño de los modelos: La conversión de modelos al formato ONNX a veces puede dar lugar a archivos de mayor tamaño en comparación con sus formatos originales. Técnicas como la cuantización y la poda pueden ayudar a mitigar este problema reduciendo el tamaño del modelo sin afectar significativamente al rendimiento.
Compatibilidad del tiempo de ejecución: Aunque ONNX Runtime está diseñado para ser compatible con varias plataformas, el rendimiento y la compatibilidad pueden variar según el hardware y los sistemas operativos.
Retos de depuración: La depuración de modelos ONNX puede ser más compleja que en marcos nativos como PyTorch o TensorFlow. Los mensajes de error pueden ser menos descriptivos, lo que dificulta la localización de problemas. Sin embargo, herramientas como Netron para la visualización de modelos y las capacidades de registro de ONNX Runtime pueden ayudar en la solución de problemas.
Principales conclusiones
La exportación de Ultralytics YOLO11 a ONNX facilita la utilización de un modelo de visión por ordenador entrenado y su despliegue en casi cualquier lugar, ya sea un ordenador portátil, un dispositivo móvil o incluso una cámara inteligente compacta. Con la integración en ONNX, no está atado a un único marco o plataforma, lo que le da la flexibilidad para ejecutar su modelo en el entorno que mejor se adapte a su aplicación.
Esto hace que la transición de la formación a la implantación en el mundo real sea más rápida y eficaz. Tanto si se trata de hacer un seguimiento del inventario en un almacén como de garantizar que los residuos hospitalarios se eliminan correctamente, esta configuración ayuda a que los sistemas funcionen con mayor fluidez, reduce los errores y ahorra un tiempo valioso.