Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
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 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.
Por eso, tener la opción de exportar modelos de visión por ordenador como Ultralytics YOLO11 a distintos 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ónONNX 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 distintas 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 de forma más rápida y eficiente en una amplia gama de plataformas, incluidos servidores, dispositivos móviles y hardware de vanguardia. 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 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.
Visión general de la integración 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 paqueteUltralytics 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 (yolo11nonnx), 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 (yolo11nonnx) 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 detect.
Fig. 3. Ejecución de una inferencia utilizando el modelo YOLO11 exportado en una imagen.
¿Cuándo elegir la integración ONNX ?
El paquetePython 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 ONNX .
Seguimiento del inventario en los almacenes mediante 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.
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 detect 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 detect 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 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 las papeleras en zonas como quirófanos o pasillos pueden controlar los objetos que se tiran. 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 detect instrumentos médicos.
Seguimiento de cultivos 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 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 detect 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 detect 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.
Conclusiones clave
La exportación de Ultralytics YOLO11 a ONNX facilita la implementación de un modelo de visión por ordenador entrenado 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 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 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.