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

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.

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.
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.
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.
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:
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.
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:
A continuación, exploremos algunas aplicaciones del mundo real donde YOLO11 se puede implementar con la ayuda de la integración ONNX.
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.
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.
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.
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:
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.