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 cómo la exportación de Ultralytics YOLO11 al formato OpenVINO™ permite una inferencia ultrarrápida en hardware Intel®, mejorando la velocidad, la escalabilidad y la precisión.
La adopción de la IA depende de que las soluciones de IA sean accesibles, y una gran parte de ello es facilitar su implementación en el hardware que la gente ya tiene. Ejecutar modelos de IA en GPU (unidades de procesamiento gráfico) es una gran opción en términos de rendimiento y potencia de procesamiento paralelo.
Sin embargo, la realidad es que no todo el mundo tiene acceso a GPU de gama alta, especialmente en entornos edge o en ordenadores portátiles cotidianos. Es por eso que es tan importante optimizar los modelos para que se ejecuten de manera eficiente en hardware más ampliamente disponible, como unidades centrales de procesamiento (CPU), GPU integradas y unidades de procesamiento neuronal (NPU).
La visión artificial, por ejemplo, es una rama de la IA que permite a las máquinas analizar y comprender imágenes y secuencias de video en tiempo real. Los modelos de Vision AI como Ultralytics YOLO11 admiten tareas clave como la detección de objetos y la segmentación de instancias que impulsan aplicaciones desde el análisis minorista hasta el diagnóstico médico.
Fig. 1. Uso de Ultralytics YOLO11 para detectar y segmentar objetos en una tienda minorista.
Para hacer que la visión artificial sea más accesible, Ultralytics ha lanzado una integración actualizada con el kit de herramientas OpenVINO, que es un proyecto de código abierto para optimizar y ejecutar la inferencia de IA en CPU, GPU y NPU.
Con esta integración, es más fácil exportar e implementar modelos YOLO11 con una inferencia hasta 3 veces más rápida en las CPU y un rendimiento acelerado en las GPU y NPU de Intel. En este artículo, le guiaremos a través de cómo utilizar el paquete de Python de Ultralytics para exportar modelos YOLO11 al formato OpenVINO y utilizarlo para la inferencia. ¡Empecemos!
Una visión general de Ultralytics YOLO11
Antes de profundizar en los detalles de la integración de OpenVINO soportada por Ultralytics, analicemos más de cerca qué hace que YOLO11 sea un modelo de visión artificial confiable e impactante. YOLO11 es el modelo más reciente de la serie YOLO de Ultralytics, que ofrece mejoras significativas tanto en velocidad como en precisión.
Uno de sus aspectos más destacados es la eficiencia. Por ejemplo, Ultralytics YOLO11m tiene un 22% menos de parámetros que Ultralytics YOLOv8m, pero alcanza una mayor precisión media (mAP) en el conjunto de datos COCO. Esto significa que se ejecuta más rápido y también detecta objetos con mayor precisión, lo que lo hace ideal para aplicaciones en tiempo real donde el rendimiento y la capacidad de respuesta son críticos.
Fig. 2. Puntos de referencia de rendimiento de Ultralytics YOLO11.
Más allá de la detección de objetos, YOLO11 admite varias tareas avanzadas de visión artificial, como la segmentación de instancias, la estimación de poses, la clasificación de imágenes, el seguimiento de objetos y la detección de cajas delimitadoras orientadas. YOLO11 también es fácil de usar para los desarrolladores, ya que el paquete Ultralytics Python proporciona una interfaz sencilla y coherente para entrenar, evaluar e implementar modelos.
Además de esto, el paquete de Python de Ultralytics soporta varias integraciones y múltiples formatos de exportación, incluyendo OpenVINO, ONNX, TorchScript, lo que le permite integrar fácilmente YOLO11 en varios pipelines de despliegue. Ya sea que se dirija a la infraestructura de la nube, a los dispositivos de borde o a los sistemas embebidos, el proceso de exportación es sencillo y adaptable a sus necesidades de hardware.
¿Qué es OpenVINO™?
OpenVINO™ (Open Visual Inference and Neural Network Optimization) es un conjunto de herramientas de código abierto para optimizar e implementar la inferencia de IA en una amplia gama de hardware. Permite a los desarrolladores ejecutar aplicaciones de inferencia de alto rendimiento de manera eficiente en varias plataformas de Intel, incluidas CPU, GPU integradas y discretas, NPU y matrices de puertas programables en campo (FPGA).
OpenVINO proporciona una interfaz de tiempo de ejecución unificada que abstrae las diferencias de hardware a través de plugins específicos del dispositivo. Esto significa que los desarrolladores pueden escribir código una vez e implementarlo en múltiples objetivos de hardware de Intel utilizando una API consistente.
Estas son algunas de las características clave que hacen de OpenVINO una excelente opción para la implementación:
Convertidor de modelos: Esta herramienta convierte y prepara modelos de frameworks populares como PyTorch, ONNX, TensorFlow, PaddlePaddle y otros, para que puedan optimizarse para una inferencia eficiente en hardware de Intel.
Ejecución heterogénea: No es necesario reescribir el código para los diferentes hardwares de Intel. OpenVINO facilita la ejecución del mismo modelo en cualquier hardware compatible, desde las CPU hasta las GPU.
Soporte de cuantización: El kit de herramientas admite formatos de precisión reducida como FP16 (por defecto) e INT8, que ayudan a disminuir el tamaño del modelo y a acelerar la inferencia sin afectar significativamente a la precisión.
Fig. 3. OpenVINO permite diversas opciones de implementación.
Explorando la integración de Ultralytics x OpenVINO
Ahora que hemos explorado qué es OpenVINO y su importancia, analicemos cómo exportar modelos YOLO11 al formato OpenVINO y ejecutar una inferencia eficiente en hardware Intel.
Paso 1: Instale el paquete de Python de Ultralytics
Para exportar un modelo al formato OpenVINO, primero deberá instalar el paquete de Python de Ultralytics. Este paquete proporciona todo lo que necesita para entrenar, evaluar y exportar modelos YOLO, incluido YOLO11.
Puede instalarlo ejecutando el comando "pip install ultralytics" en su terminal o símbolo del sistema. Si está trabajando en un entorno interactivo como Jupyter Notebook o Google Colab, simplemente agregue un signo de exclamación antes del comando.
Además, si te encuentras con algún problema durante la instalación o al exportar, la documentación de Ultralytics y las guías de solución de problemas son excelentes recursos para ayudarte a volver a encarrilarte.
Paso 2: Exporte su modelo YOLO11 a formato OpenVINO
Una vez configurado el paquete Ultralytics, el siguiente paso es cargar su modelo YOLO11 y convertirlo a un formato compatible con OpenVINO.
En el ejemplo siguiente, estamos utilizando un modelo YOLO11 pre-entrenado ("yolo11n.pt"). La funcionalidad de exportación se utiliza para convertirlo al formato OpenVINO. Después de ejecutar este código, el modelo convertido se guardará en un nuevo directorio llamado "yolo11n_openvino_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="openvino")
Paso 3: Ejecute la inferencia con el modelo exportado
Una vez que su modelo YOLO11 se exporta al formato OpenVINO, puede ejecutar inferencias de dos maneras: utilizando el paquete de Python Ultralytics o el OpenVINO Runtime nativo.
Uso del paquete de Python Ultralytics
El modelo YOLO11 exportado se puede implementar fácilmente utilizando el paquete de Python Ultralytics, como se muestra en el fragmento de código a continuación. Este método es ideal para la experimentación rápida y la implementación optimizada en hardware Intel.
También puede especificar qué dispositivo utilizar para la inferencia, como "intel:cpu", "intel:gpu" o "intel:npu", según el hardware Intel disponible en su sistema.
Después de ejecutar el código anterior, la imagen de salida se guardará en el directorio "runs/detect/predict".
Fig. 4. Uso del modelo YOLO11 exportado para detectar objetos en una imagen.
Uso del entorno de ejecución nativo OpenVINO
Si busca una forma personalizable de ejecutar la inferencia, especialmente en entornos de producción, OpenVINO Runtime le brinda más control sobre cómo se ejecuta su modelo. Admite funciones avanzadas como la ejecución asíncrona (ejecución de múltiples solicitudes de inferencia en paralelo) y el equilibrio de carga (distribución eficiente de las cargas de trabajo de inferencia en hardware de Intel).
Para utilizar el runtime nativo, necesitará los archivos del modelo exportado: un archivo .xml (que define la arquitectura de la red) y un archivo .bin (que almacena los pesos entrenados del modelo). También puede configurar parámetros adicionales como las dimensiones de entrada o los pasos de preprocesamiento en función de su aplicación.
Un flujo de implementación típico incluye la inicialización del núcleo OpenVINO, la carga y compilación del modelo para un dispositivo de destino, la preparación de la entrada y la ejecución de la inferencia. Para obtener ejemplos detallados y orientación paso a paso, consulte la documentación oficial de Ultralytics OpenVINO.
¿Por qué elegir la integración de Ultralytics con OpenVINO?
Mientras explora las integraciones de Ultralytics, notará que el paquete de Python de Ultralytics admite la exportación de modelos YOLO11 a una variedad de formatos como TorchScript, CoreML, TensorRT y ONNX. Entonces, ¿por qué elegir la integración de OpenVINO?
Estas son algunas de las razones por las que el formato de exportación OpenVINO es ideal para implementar modelos en hardware de Intel:
Mejoras de rendimiento: Puede experimentar una inferencia hasta 3 veces más rápida en las CPU de Intel, con aceleración adicional disponible en las GPU integradas y las NPU.
No es necesario volver a entrenar: Puede exportar sus modelos YOLO11 existentes directamente al formato OpenVINO sin modificarlos ni volver a entrenarlos.
Diseñado para escalar: El mismo modelo exportado se puede implementar en dispositivos edge de baja potencia e infraestructura de nube a gran escala, lo que simplifica la implementación de IA escalable.
También puede evaluar los puntos de referencia de rendimiento para el modelo YOLO11 en una variedad de plataformas Intel® en el OpenVINO™ Model Hub. El OpenVINO Model Hub es un recurso para que los desarrolladores evalúen los modelos de IA en hardware Intel y descubran la ventaja de rendimiento de OpenVINO en CPU Intel, GPU integradas, NPU y gráficos discretos.
Fig. 5. OpenVINO™ Model Hub: Pruebas comparativas de rendimiento para el modelo YOLO11 en una gama de plataformas Intel®.
Aplicaciones de YOLO11 y el formato de exportación OpenVINO
Con la ayuda de la integración de OpenVINO, la implementación de modelos YOLO11 en hardware de Intel en situaciones del mundo real se vuelve mucho más sencilla.
Un gran ejemplo es el comercio minorista inteligente, donde YOLO11 puede ayudar a detectar estantes vacíos en tiempo real, rastrear qué productos se están agotando y analizar cómo se mueven los clientes por la tienda. Esto permite a los minoristas mejorar la gestión del inventario y optimizar la distribución de la tienda para una mejor interacción con el comprador.
De forma similar, en las ciudades inteligentes, YOLO11 puede utilizarse para monitorizar el tráfico contando vehículos, rastreando peatones y detectando infracciones de semáforo en tiempo real. Estos datos pueden ayudar a optimizar el flujo del tráfico, mejorar la seguridad vial y asistir en sistemas automatizados de control.
Otro caso de uso interesante es la inspección industrial, donde YOLO11 se puede implementar en las líneas de producción para detectar automáticamente defectos visuales como componentes faltantes, desalineación o daños en la superficie. Esto aumenta la eficiencia, reduce los costos y respalda una mejor calidad del producto.
Factores clave a tener en cuenta al utilizar el kit de herramientas OpenVINO
Al implementar modelos YOLO11 con OpenVINO, aquí hay algunas cosas importantes que debe tener en cuenta para obtener los mejores resultados:
Verificar la compatibilidad del hardware: Asegúrese de que su hardware Intel, ya sea una CPU, una GPU integrada o una NPU, sea compatible con OpenVINO para que el modelo pueda ejecutarse de manera eficiente.
Instala los drivers correctos: Si estás utilizando GPUs o NPUs de Intel, comprueba que todos los drivers necesarios estén correctamente instalados y actualizados.
Comprenda lascompensaciones de precisión: OpenVINO admite precisiones de modelo FP32, FP16 e INT8. Cada una viene con una compensación entre velocidad y precisión, por lo que es importante elegir la opción correcta en función de sus objetivos de rendimiento y el hardware disponible.
Conclusiones clave
Exportar Ultralytics YOLO11 al formato OpenVINO facilita la ejecución de modelos de IA de visión rápidos y eficientes en hardware de Intel. Puedes realizar implementaciones en CPU, GPU y NPU sin necesidad de volver a entrenar ni modificar el código. Es una forma excelente de mejorar el rendimiento manteniendo la sencillez y la escalabilidad.
Con el soporte integrado en el paquete de Python de Ultralytics, exportar y ejecutar la inferencia con OpenVINO es sencillo. En tan solo unos pasos, puede optimizar su modelo y ejecutarlo en una variedad de plataformas Intel. Ya sea que esté trabajando en el comercio minorista inteligente, el monitoreo del tráfico o la inspección industrial, este flujo de trabajo le ayuda a pasar del desarrollo a la implementación con rapidez y confianza.
Únase a la comunidad YOLO y consulte el repositorio de GitHub de Ultralytics para obtener más información sobre las integraciones impactantes compatibles con Ultralytics. Además, eche un vistazo a las opciones de licencia de Ultralytics para comenzar hoy mismo con la visión artificial.
Regístrese en nuestro próximo seminario web para ver la integración de Ultralytics × OpenVINO en acción, y visite el sitio web de OpenVINO para explorar herramientas para optimizar e implementar la IA a escala.