¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024

Uso de la integración ONNX para exportar modelos Ultralytics YOLO

Abirami Vina

4 minutos de lectura

2 de mayo de 2025

Aprenda cómo exportar modelos Ultralytics YOLO, como Ultralytics YOLO11, utilizando la integración ONNX para la implementación multiplataforma en diversos hardwares.

Cuando las soluciones de IA comenzaron a ganar atención, la mayoría de los modelos se implementaban en servidores potentes en entornos controlados. Sin embargo, a medida que la tecnología ha avanzado, la implementación se ha expandido mucho más allá del centro de datos.

Hoy en día, los modelos de IA se ejecutan en todo, desde servidores en la nube y ordenadores de escritorio hasta teléfonos inteligentes y dispositivos periféricos. Este cambio permite un procesamiento más rápido, funcionalidad sin conexión y sistemas más inteligentes que operan más cerca de donde se generan los datos.

Un área donde esto es especialmente evidente es la visión artificial, una rama de la IA que permite a las máquinas interpretar datos visuales. Se está utilizando para impulsar aplicaciones como el reconocimiento facial, la conducción autónoma y el análisis de vídeo en tiempo real. A medida que estos casos de uso crecen, también lo hace la necesidad de modelos que puedan ejecutarse sin problemas en diversos hardwares y plataformas.

Pero implementar modelos de visión artificial en una variedad de objetivos de implementación no siempre es sencillo. Los dispositivos difieren en términos de hardware, sistemas operativos y frameworks compatibles, lo que hace que la flexibilidad y la compatibilidad sean esenciales.

Es por eso que tener la opción de exportar modelos de visión artificial como Ultralytics YOLO11 a diferentes formatos es clave. Por ejemplo, la integración ONNX (Open Neural Network Exchange) soportada por Ultralytics proporciona una forma práctica de cerrar la brecha entre el entrenamiento y la implementación. ONNX es un formato abierto que hace que los modelos sean independientes del framework y estén listos para su implementación en todas las plataformas.

Fig. 1. ONNX le ayuda a tomar un modelo entrenado en un framework y ejecutarlo en otro fácilmente.

En este artículo, analizaremos más de cerca la integración ONNX soportada por Ultralytics y exploraremos cómo puede exportar su modelo YOLO11 para una implementación 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 framework, 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 artificial.

ONNX proporciona un conjunto común de operadores y un formato de archivo unificado, lo que facilita el movimiento de modelos entre diferentes herramientas, frameworks, runtimes y compiladores. Normalmente, un modelo entrenado en un framework no es fácilmente compatible con otro, pero con ONNX, puede exportar su modelo una vez e implementarlo casi en cualquier lugar: en CPUs (unidades centrales de procesamiento), GPUs (unidades de procesamiento gráfico), dispositivos móviles o hardware periférico.

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 de forma más rápida y eficiente en una amplia gama de plataformas, incluidos servidores, dispositivos móviles y hardware periférico. ONNX Runtime es compatible con frameworks populares como PyTorch, TensorFlow, TensorFlow Lite y scikit-learn, lo que facilita su integración en diferentes flujos de trabajo e implementación de modelos dondequiera que se necesiten.

Fig. 2. ONNX y ONNX Runtime permiten una implementación flexible de modelos multiplataforma.

Características clave de ONNX 

Antes de analizar cómo exportar YOLO11 al formato ONNX, veamos algunas características clave del formato de modelo ONNX. 

Ya sea que esté cambiando entre herramientas, implementando en diferentes dispositivos o actualizando sistemas, ONNX ayuda a que todo funcione sin problemas. Esto es lo que hace que el formato de 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 que admita ONNX pueda entenderlo y ejecutarlo.
  • Compatibilidad con versiones anteriores: Incluso a medida que ONNX continúa mejorando, garantiza que los modelos más antiguos sigan funcionando con las versiones más recientes. Esto significa que no tiene que volver a entrenar o reconstruir sus modelos cada vez que ONNX recibe una actualización.
  • Diseño de modelo basado en grafos: Los modelos ONNX se estructuran como grafos de computación, donde cada nodo representa una operación (como una capa o función matemática) y los bordes indican el flujo de datos. Este diseño basado en grafos facilita la integración con varios sistemas que utilizan estructuras de grafos computacionales similares.
  • Herramientas fáciles de usar para desarrolladores: Viene con una amplia gama de herramientas que le ayudan a convertir, validar y optimizar sus modelos. Estas herramientas simplifican el proceso de mover modelos entre diferentes frameworks y pueden acelerar la implementación, especialmente para aplicaciones de visión artificial.

Una descripción general de la integración de ONNX

Exportar modelos Ultralytics YOLO como Ultralytics YOLO11 en formato ONNX es sencillo y se puede hacer en unos pocos pasos. 

Para empezar, instale el paquete de Python Ultralytics utilizando un administrador de paquetes como 'pip'. Esto se puede hacer ejecutando el comando "pip install ultralytics" en su símbolo del sistema o terminal para comenzar.

Con el paquete Ultralytics, puede entrenar, probar, ajustar, exportar e implementar fácilmente modelos para diversas tareas de visión artificial, lo que hace que todo el proceso sea más rápido y eficiente. Mientras lo instala, si encuentra alguna dificultad, puede consultar la guía de problemas comunes para obtener soluciones y consejos.

Una vez que el paquete Ultralytics está instalado, puede cargar y exportar el modelo YOLO11 al formato ONNX utilizando el código a continuación. Este ejemplo carga un modelo YOLO11 pre-entrenado (yolo11n.pt) y lo exporta como un archivo ONNX (yolo11n.onnx), preparándolo para su implementación en diferentes plataformas y dispositivos.

Después de convertir tu modelo al formato ONNX, puedes implementarlo en una variedad de plataformas. 

El siguiente ejemplo muestra cómo cargar el modelo YOLO11 exportado (yolo11n.onnx) y ejecutar una inferencia con él. La inferencia simplemente significa usar el modelo entrenado para hacer predicciones sobre nuevos datos. En este caso, usaremos la URL de una imagen de un autobús para probar el modelo.

Cuando ejecutes este código, la siguiente imagen de salida se guardará en la carpeta runs/detect/predict.

Fig. 3. Ejecución de una inferencia utilizando el modelo YOLO11 exportado en una imagen.

¿Cuándo deberías elegir la integración ONNX?

El paquete de Python Ultralytics admite la exportación de modelos a varios formatos, incluidos TorchScript, CoreML, TensorRT y ONNX. Entonces, ¿por qué elegir ONNX?

Lo que distingue a ONNX es que es un formato independiente del framework. Si bien 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 lo hace altamente portable, compatible con hardware e ideal para la implementación multiplataforma, ya sea que estés trabajando con servidores en la nube, aplicaciones móviles o dispositivos edge. 

Aquí hay algunas razones por las cuales la integración ONNX podría ser la opción ideal para tus proyectos YOLO11:

  • Implementación portable: Una vez exportado a ONNX, tu modelo YOLO11 se puede implementar en varias plataformas sin cambios de código ni reentrenamiento.
  • Soporte en toda la industria: ONNX es compatible con las principales empresas y frameworks de IA, lo que lo convierte en un formato confiable y ampliamente aceptado. Garantiza la compatibilidad a largo plazo, de forma similar a cómo funcionan los archivos PDF en todos los dispositivos.
  • Desarrollo a prueba de futuro: El uso de ONNX ayuda a proteger tus inversiones en modelos. A medida que las herramientas evolucionan, ONNX mantiene tus modelos relevantes y utilizables, incluso en entornos nuevos o diferentes.
  • Sin bloqueo de proveedores: Algunas herramientas te obligan a usar solo su sistema, lo que puede limitar lo que tu modelo puede hacer. ONNX evita eso al permitirte elegir la plataforma que mejor se adapte a tus necesidades, sin estar atado a una sola configuración.

Aplicaciones de YOLO11 y el formato de modelo ONNX

A continuación, exploremos algunas aplicaciones del mundo real donde YOLO11 se puede implementar con la ayuda de la integración ONNX.

Seguimiento de inventario en almacenes utilizando YOLO11

En almacenes concurridos, es difícil vigilar cada producto y paquete en todo momento. Los sistemas de visión artificial pueden ayudar a los trabajadores a encontrar productos en los estantes y obtener información como la cantidad de productos, el tipo, etc. Dichos sistemas pueden ayudar a las empresas a administrar automáticamente su vasto inventario y ahorrarles mucho tiempo a los trabajadores del almacén.

Específicamente, en almacenes inteligentes, los modelos YOLO11 exportados a ONNX se pueden utilizar para identificar y contar artículos en tiempo real utilizando cámaras y dispositivos edge. El modelo exportado puede ayudar a escanear estantes o paletas para detectar los niveles de stock, los artículos faltantes o los 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 edge, como cámaras inteligentes, eliminando la necesidad de servidores costosos o acceso constante a la nube.

Fig. 4. Un ejemplo del 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 todos los días, desde guantes y jeringas usados hasta equipos utilizados durante la cirugía (como herramientas quirúrgicas de un solo uso o contaminadas, como tijeras y bisturíes). De hecho, las investigaciones muestran que los hospitales producen alrededor de 5 millones de toneladas de residuos cada año, lo que equivale a 29 libras de residuos por cama por día. 

Clasificar adecuadamente dichos residuos es esencial para la higiene, la seguridad y el cumplimiento de las regulaciones. Con los modelos YOLO11 exportados en formato ONNX, los hospitales pueden automatizar y monitorear la eliminación de residuos en tiempo real.

Por ejemplo, las cámaras colocadas cerca de los contenedores de residuos en áreas como quirófanos o pasillos pueden monitorear los artículos a medida que se desechan. Un modelo YOLO11 personalizado, entrenado para reconocer diferentes tipos de residuos médicos, puede analizar las imágenes e identificar lo que se está tirando. Si un artículo termina en el contenedor equivocado, como una jeringa usada en la basura normal, el sistema se puede configurar para alertar inmediatamente al personal con una luz o un sonido, lo que ayuda a prevenir la contaminación y garantizar el cumplimiento.

Fig. 5. Uso de YOLO11 para detectar instrumentos médicos.

Monitoreo de cultivos habilitado con YOLO11

Saber el momento adecuado para cosechar los cultivos puede tener un gran impacto tanto en la calidad del producto como en la productividad general de una granja. Tradicionalmente, los agricultores confían en la experiencia y las inspecciones manuales, pero con los avances recientes en la tecnología, eso está empezando a cambiar.

Ahora, con innovaciones en visión artificial como YOLO11, exportado en formato ONNX, los agricultores pueden incorporar automatización y precisión en el campo. Mediante el uso de drones o cámaras montadas en tractores o postes, los agricultores pueden capturar imágenes de sus cultivos (como tomates, manzanas o trigo). YOLO11 se puede utilizar para detectar indicadores clave como el color, el tamaño y la distribución de los cultivos. Con base en esta información, los agricultores pueden determinar si los cultivos están listos para la cosecha, aún están madurando o ya han pasado su punto máximo.

Fig. 6. YOLO11 se puede utilizar para detectar cultivos en imágenes aéreas tomadas con drones. 

Limitaciones de ONNX a tener en cuenta

Si bien ONNX ofrece numerosos beneficios, como la portabilidad, la compatibilidad multiplataforma y la interoperabilidad de frameworks, existen algunas limitaciones que se deben tener en cuenta:​

  • Tamaño del modelo: La conversión de modelos al formato ONNX a veces puede resultar en archivos de mayor tamaño en comparación con sus formatos originales. Técnicas como la cuantización y el pruning pueden ayudar a mitigar este problema al reducir el tamaño del modelo sin afectar significativamente el rendimiento.
  • Compatibilidad en tiempo de ejecución: Aunque ONNX Runtime está diseñado para la compatibilidad multiplataforma, el rendimiento y el soporte pueden variar entre diferentes hardware y sistemas operativos. 
  • Desafíos de depuración: La depuración de modelos ONNX puede ser más compleja que en frameworks nativos como PyTorch o TensorFlow. Los mensajes de error pueden ser menos descriptivos, lo que dificulta la identificació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 resolución de problemas.

Conclusiones clave

Exportar Ultralytics YOLO11 a ONNX facilita la tarea de tomar un modelo de visión artificial entrenado e implementarlo en casi cualquier lugar, ya sea en un ordenador portátil, un dispositivo móvil o incluso una cámara inteligente compacta. Con la integración de ONNX, no está limitado a un único framework o plataforma, lo que le brinda la flexibilidad de ejecutar su modelo en el entorno que mejor se adapte a su aplicación. 

Esto hace que la transición del entrenamiento a la implementación en el mundo real sea más rápida y eficiente. Ya sea que esté rastreando el inventario en un almacén o asegurándose de que los residuos hospitalarios se eliminen correctamente, esta configuración ayuda a que los sistemas funcionen sin problemas, reduce los errores y ahorra un tiempo valioso.

¿Quiere obtener más información sobre la visión artificial y la IA? Explore nuestro repositorio de GitHub, conéctese con nuestra comunidad y consulte nuestras opciones de licencia para poner en marcha su proyecto de visión artificial. Si está explorando innovaciones como la IA en la fabricación y la visión artificial en la industria automotriz, visite nuestras páginas de soluciones para descubrir más. 

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Comienza gratis
Enlace copiado al portapapeles