Uso de la integración de ONNX para exportar modelos de Ultralytics YOLO
Descubre cómo exportar modelos Ultralytics YOLO11 a ONNX, ejecutar inferencias con el modelo exportado y desplegarlo en CPU, GPU y dispositivos móviles y edge.
Abirami Vina12 min de lectura
Cuando las soluciones de IA empezaron a llamar la atención, la mayoría de los modelos se implementaban en servidores potentes y en entornos controlados. Sin embargo, a medida que ha avanzado la tecnología, la implementación se ha extendido mucho más allá del centro de datos.
Hoy en día, 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 procesar los datos más rápido, trabajar sin conexión y disponer de sistemas más inteligentes que operan cerca del lugar donde se generan los datos.
Un ámbito en el que esto resulta especialmente evidente es la visión artificial, una rama de la IA que permite a las máquinas interpretar datos visuales. Se utiliza 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 crece el uso de estas aplicaciones, también aumenta la necesidad de modelos que funcionen sin problemas en distintos tipos de hardware y plataformas.
Sin embargo, implementar modelos de visión artificial en distintos entornos de implementación no siempre es sencillo. Los dispositivos varían en cuanto al hardware, los sistemas operativos y los marcos de trabajo compatibles, por lo que la flexibilidad y la compatibilidad son esenciales.
Por eso, poder exportar modelos de visión artificial como Ultralytics YOLO11 a distintos formatos es fundamental. Por ejemplo, la integración con ONNX (Intercambio Abierto de Redes Neuronales) que ofrece 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 implementarse en distintas plataformas.

Fig. 1. ONNX te permite coger un modelo entrenado con un framework y ejecutarlo fácilmente en otro.
En este artículo, analizaremos en detalle la integración con ONNX compatible con Ultralytics y veremos cómo exportar tu modelo YOLO11 para desplegarlo de forma flexible en distintas plataformas.
¿Qué son 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 machine learning. Desarrollado originalmente por Microsoft y Facebook, permite a los desarrolladores entrenar un modelo con un framework, como PyTorch, y ejecutarlo con 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 ofrece un conjunto común de operadores y un formato de archivo unificado, lo que facilita trasladar modelos entre distintas herramientas, frameworks, entornos de ejecución y compiladores. Normalmente, un modelo entrenado con un framework no es fácilmente compatible con otro, pero con ONNX puedes exportar tu modelo una sola vez y desplegarlo en casi cualquier sitio: en CPU (unidades centrales de procesamiento), GPU (unidades de procesamiento gráfico), dispositivos móviles o hardware perimetral.
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 más rápido y de forma más eficiente en una amplia variedad de plataformas, como servidores, dispositivos móviles y hardware perimetral. ONNX Runtime es compatible con frameworks populares como PyTorch, TensorFlow, TensorFlow Lite y scikit-learn, lo que facilita su integración en distintos flujos de trabajo y el despliegue de modelos donde se necesiten.

Fig. 2. ONNX y ONNX Runtime permiten desplegar modelos de forma flexible en distintas plataformas.
Características clave de ONNX#
Antes de ver cómo exportar Ultralytics YOLO11 al formato ONNX, repasemos algunas características clave de este formato de modelo.
Tanto si cambias de herramienta como si despliegas en distintos dispositivos o actualizas sistemas, ONNX ayuda a que todo funcione sin problemas. Esto es lo que hace único al formato de modelo ONNX:
- Un formato estándar: ONNX utiliza una forma común de describir cómo se construyen los modelos, por ejemplo, sus capas y operaciones (que puedes imaginar 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 continúen funcionando con las versiones nuevas. Así, no tienes que volver a entrenar ni reconstruir tus modelos cada vez que se actualiza ONNX.
- Diseño de modelos basado en grafos: Los modelos ONNX se estructuran como grafos computacionales, donde 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 distintos sistemas que utilizan estructuras de grafos computacionales similares.
- Herramientas pensadas para desarrolladores: Incluye una amplia variedad de herramientas para convertir, validar y optimizar tus modelos. Estas herramientas simplifican el traslado de modelos entre distintos frameworks y pueden acelerar el despliegue, especialmente en aplicaciones de visión artificial.
Descripción general de la integración con ONNX#
Exportar modelos Ultralytics YOLO, como Ultralytics YOLO11, al formato ONNX es sencillo y se puede hacer en unos pocos pasos.
Para empezar, instala el paquete de Python de Ultralytics con un gestor de paquetes como pip. Para ello, ejecuta pip install ultralytics en el símbolo del sistema o el terminal.
Con el paquete Ultralytics, puedes entrenar, probar, ajustar, exportar y desplegar fácilmente modelos para distintas tareas de visión artificial, lo que agiliza y optimiza todo el proceso. Si tienes algún problema durante la instalación, consulta la guía de problemas habituales, donde encontrarás soluciones y consejos.
Una vez instalado el paquete Ultralytics, puedes cargar y exportar el modelo YOLO11 al formato ONNX con el código siguiente. Este ejemplo carga un modelo YOLO11 preentrenado (yolo11n.pt) y lo exporta como archivo ONNX (yolo11n.onnx), listo para desplegarlo en distintas plataformas y dispositivos.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="onnx")Los mismos pasos sirven para modelos más recientes, como Ultralytics YOLO26. Después de convertir el modelo al formato ONNX y confirmar que ofrece los mismos resultados que el original, podrás implementarlo en distintas plataformas.
En el siguiente ejemplo se muestra cómo cargar el modelo YOLO11 exportado (yolo11n.onnx) y ejecutar inferencias con él. Inferir significa, sencillamente, utilizar el modelo entrenado para hacer predicciones con datos nuevos. En este caso, usaremos la URL de una imagen de un autobús para probar el modelo.
onnx_model = YOLO("yolo11n.onnx")
results = onnx_model("https://ultralytics.com/images/bus.jpg", save=True)Al ejecutar este código, la imagen de salida siguiente se guardará en la carpeta runs/detect/predict.

Fig. 3. Ejecución de una inferencia en una imagen con el modelo Ultralytics YOLO11 exportado.
¿Cuándo conviene 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?
ONNX destaca porque es un formato independiente del framework. Mientras que muchos otros formatos de exportación están vinculados a herramientas o entornos concretos, ONNX utiliza un formato estandarizado y un conjunto compartido de operadores. Esto lo hace muy portable, compatible con el hardware e ideal para desplegar en distintas plataformas, tanto si trabajas con servidores en la nube como con aplicaciones móviles o dispositivos perimetrales.
Estas son algunas razones por las que la integración con ONNX puede ser la opción ideal para tus proyectos con Ultralytics YOLO11:
- Despliegue portable: Una vez exportado a ONNX, tu modelo Ultralytics YOLO11 se puede desplegar en distintas plataformas sin modificar el código ni volver a entrenarlo.
- Compatibilidad en todo el sector: ONNX es compatible con las principales empresas y frameworks de IA, por lo que es un formato fiable y ampliamente aceptado. Garantiza la compatibilidad a largo plazo, de forma parecida a como funcionan los PDF en distintos dispositivos.
- Desarrollo preparado para el futuro: ONNX ayuda a proteger la inversión que has hecho en tus modelos. A medida que evolucionan las herramientas, ONNX mantiene tus modelos vigentes y utilizables, incluso en entornos nuevos o diferentes.
- Sin dependencia de un proveedor: Algunas herramientas te obligan a utilizar únicamente sus sistemas, lo que puede limitar las posibilidades de tu modelo. ONNX evita este problema y te permite elegir la plataforma que mejor se adapte a tus necesidades, sin depender de una única configuración.
Aplicaciones de Ultralytics YOLO11 y del formato de modelo ONNX#
A continuación, veremos algunas aplicaciones reales en las que se puede desplegar Ultralytics YOLO11 con ayuda de la integración con ONNX.
Control del inventario en almacenes con Ultralytics YOLO11#
En los almacenes con mucho movimiento, es difícil vigilar todos los productos y paquetes en todo momento. Los sistemas de visión artificial pueden ayudar a los trabajadores a encontrar productos en las estanterías y obtener información, como el número y el tipo de productos, entre otros datos. Estos sistemas pueden ayudar a las empresas a gestionar automáticamente sus enormes inventarios y ahorrar mucho tiempo al personal del almacén.
En concreto, en los almacenes inteligentes, los modelos Ultralytics YOLO11 exportados a ONNX pueden utilizarse para identificar y contar artículos en tiempo real mediante cámaras y dispositivos periféricos. El modelo exportado puede ayudar a escanear estanterías o palés para detectar los niveles de existencias, los artículos que faltan o los huecos vacíos. Como los modelos ONNX se ejecutan de forma eficiente en una amplia variedad de hardware, el modelo puede funcionar directamente en pequeños dispositivos periféricos, como cámaras inteligentes, sin necesidad de servidores caros ni de una conexión constante a la nube.

Fig. 4. Ejemplo del uso de YOLO11 para detectar y contar paquetes.
Gestión de residuos hospitalarios con Ultralytics YOLO11#
Los hospitales de todo el mundo generan grandes cantidades de residuos cada día, desde guantes y jeringuillas usados hasta el equipo empleado durante las operaciones, como tijeras y bisturís de un solo uso o contaminados. De hecho, las investigaciones indican que los hospitales producen más de 5 millones de toneladas de residuos al año, lo que equivale a 29 libras de residuos por cama al día.
Clasificar correctamente estos residuos es esencial para mantener la higiene y la seguridad, y cumplir la normativa. Con los modelos Ultralytics YOLO11 exportados al formato ONNX, los hospitales pueden utilizar la visión artificial en el sector sanitario para automatizar y supervisar la eliminación de residuos en tiempo real.
Por ejemplo, se pueden colocar cámaras cerca de los contenedores de residuos en zonas como los quirófanos o los pasillos para supervisar los artículos cuando se desechan. Un modelo Ultralytics YOLO11 personalizado, entrenado para reconocer distintos tipos de residuos médicos, puede analizar las imágenes e identificar qué se está tirando. Si un artículo acaba en el contenedor equivocado, como una jeringuilla usada en la basura común, el sistema puede configurarse para avisar inmediatamente al personal mediante una luz o un sonido, lo que ayuda a evitar la contaminación y garantizar el cumplimiento de la normativa.

Fig. 5. Uso de Ultralytics YOLO11 para detectar instrumentos médicos.
Supervisión de cultivos con Ultralytics YOLO11#
Saber cuál es el momento adecuado para cosechar puede influir mucho tanto en la calidad de los productos como en la productividad general de una explotación agrícola. Tradicionalmente, los agricultores se basan en su experiencia y en inspecciones manuales, pero los últimos avances tecnológicos están empezando a cambiar esta situación.
Ahora, gracias a innovaciones en visión artificial como YOLO11, exportado al formato ONNX, los agricultores pueden automatizar y aumentar la precisión de las tareas en el campo. Con drones o cámaras instaladas en tractores o postes, pueden capturar imágenes de sus cultivos, como tomates, manzanas o trigo. Después, YOLO11 puede 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 cosechar, aún están madurando o ya han pasado su mejor momento.

Fig. 6. YOLO11 puede utilizarse para detectar cultivos en imágenes aéreas grabadas con un dron.
Limitaciones de ONNX que debes tener en cuenta#
Aunque ONNX ofrece numerosas ventajas, como la portabilidad, la compatibilidad entre plataformas y la interoperabilidad entre frameworks, debes tener en cuenta algunas limitaciones:
- Tamaño del modelo: La conversión de modelos al formato ONNX puede dar lugar a archivos más grandes que los de los formatos originales. Técnicas como la cuantización y la poda pueden ayudar a mitigar este problema al reducir el tamaño del modelo sin afectar significativamente al rendimiento.
- Compatibilidad del entorno de ejecución: Aunque ONNX Runtime está diseñado para ser compatible con distintas plataformas, el rendimiento y la compatibilidad pueden variar según el hardware y el sistema operativo.
- Dificultades de depuración: Depurar modelos ONNX puede ser más complejo que hacerlo con frameworks nativos como PyTorch o TensorFlow. Los mensajes de error pueden ser menos descriptivos, lo que dificulta localizar los problemas. Sin embargo, herramientas como Netron, para visualizar modelos, y las funciones de registro de ONNX Runtime pueden ayudar a resolverlos.
Conclusiones clave#
Exportar Ultralytics YOLO11 a ONNX facilita llevar un modelo de visión artificial ya entrenado y desplegarlo prácticamente en cualquier lugar, ya sea en un portátil, un dispositivo móvil o incluso una cámara inteligente compacta. Con la integración con ONNX, no dependes de un único framework o plataforma, así que puedes ejecutar tu modelo en el entorno que mejor se adapte a tu aplicación.
Esto agiliza y optimiza la transición del entrenamiento al despliegue en el mundo real. Tanto si controlas el inventario de un almacén como si te aseguras de que los residuos hospitalarios se eliminen correctamente, esta configuración ayuda a que los sistemas funcionen mejor, reduce los errores y ahorra un tiempo valioso.
¿Quieres saber más sobre visión artificial e IA? Explora nuestro repositorio de GitHub, únete a nuestra comunidad y consulta nuestras opciones de licencia para poner en marcha tu proyecto de visión artificial. Si te interesan innovaciones como la IA en la fabricación y la visión artificial en el sector de la automoción, visita nuestras páginas de soluciones para descubrir más.
Escrito por
Comentarios
Haz una pregunta, comparte tus resultados o ayuda a otra persona.










