Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Integraciones

Optimización de modelos de Ultralytics YOLO con la integración de TensorRT

Descubre cómo exportar modelos de Ultralytics YOLO con la integración de TensorRT para lograr un rendimiento de IA más rápido y eficiente en GPU NVIDIA en aplicaciones en tiempo real.

Abirami VinaAbirami Vina10 min de lectura
Descubre cómo exportar modelos de Ultralytics YOLO con la integración de TensorRT para lograr un rendimiento de IA más rápido y eficiente en GPU NVIDIA en aplicaciones en tiempo real.

Imagina un coche autónomo que circula por una calle concurrida y solo dispone de unos milisegundos para detectar a un peatón que baja de la acera. Al mismo tiempo, puede que tenga que reconocer una señal de stop parcialmente oculta por un árbol o reaccionar con rapidez ante un vehículo cercano que invade su carril. En situaciones así, la velocidad y las respuestas en tiempo real son fundamentales.

Aquí es donde la inteligencia artificial (AI), concretamente la visión artificial, una rama de la IA que ayuda a las máquinas a interpretar datos visuales, desempeña un papel clave. Para que las soluciones de visión artificial funcionen de forma fiable en entornos reales, a menudo tienen que procesar información con rapidez, realizar varias tareas a la vez y utilizar la memoria de forma eficiente.

Una forma de conseguirlo es mediante la aceleración por hardware, utilizando dispositivos especializados como las unidades de procesamiento gráfico (GPUs) para ejecutar los modelos más rápido. Las GPUs de NVIDIA son especialmente conocidas para estas tareas, gracias a su capacidad para ofrecer una latencia baja y un alto rendimiento.

Sin embargo, ejecutar un modelo en una GPU tal cual no garantiza siempre un rendimiento óptimo. Los modelos de IA visual suelen necesitar optimización para aprovechar al máximo las capacidades del hardware. Para alcanzar todo el rendimiento que ofrece un hardware específico, tenemos que compilar el modelo para que utilice el conjunto de instrucciones correspondiente.

Por ejemplo, TensorRT es un formato de exportación y una biblioteca de optimización desarrollados por NVIDIA para mejorar el rendimiento en GPU de NVIDIA. Utiliza técnicas avanzadas para reducir considerablemente el tiempo de inferencia sin perder precisión.

NVIDIA TensorRT permite que los modelos funcionen de forma óptima en dispositivos NVIDIA

Fig. 1. NVIDIA TensorRT permite que los modelos funcionen de forma óptima en distintos dispositivos NVIDIA.

En este artículo, exploraremos la integración con TensorRT compatible con Ultralytics y veremos cómo puedes exportar tu modelo YOLO11 para implementarlo de forma más rápida y eficiente en hardware NVIDIA. ¡Empezamos!

Introducción a TensorRT#

TensorRT es un conjunto de herramientas desarrollado por NVIDIA para ayudar a que los modelos de IA funcionen de forma más rápida y eficiente en las GPUs de NVIDIA. Está diseñado para aplicaciones reales en las que la velocidad y el rendimiento son fundamentales, como los coches autónomos y el control de calidad en la fabricación y la industria farmacéutica.

TensorRT incluye herramientas como compiladores y optimizadores de modelos que trabajan en segundo plano para garantizar que tus modelos funcionen con una latencia baja y puedan gestionar un mayor rendimiento.

La integración de TensorRT compatible con Ultralytics optimiza tu modelo YOLO para que funcione de forma más eficiente en GPU mediante métodos como la reducción de precisión. Esto consiste en utilizar formatos de menos bits, como punto flotante de 16 bits (FP16) o enteros de 8 bits (INT8), para representar los datos del modelo; así se reduce el uso de memoria y se aceleran los cálculos con un impacto mínimo en la precisión.

Además, en los modelos TensorRT optimizados se fusionan las capas compatibles de la red neuronal para reducir el uso de memoria y conseguir inferencias más rápidas y eficientes.

Un vistazo a la técnica de fusión de capas de TensorRT

Fig. 2. Vista de la técnica de fusión de capas de TensorRT.

Características principales del formato de exportación TensorRT#

Antes de explicar cómo exportar Ultralytics YOLO11 mediante la integración con TensorRT, veamos algunas características clave del formato de modelo TensorRT:

  • Integración sencilla con frameworks: TensorRT admite la integración directa con frameworks de IA populares, como PyTorch, Hugging Face y ONNX, y ofrece un rendimiento hasta 6 veces más rápido. También es compatible con MATLAB, lo que permite desarrollar motores de IA de alta velocidad en plataformas como Jetson, NVIDIA DRIVE y centros de datos.
  • Implementación escalable con Triton: Los modelos optimizados en formato TensorRT pueden implementarse a gran escala mediante NVIDIA Triton Inference Server, que mejora la eficiencia con funciones como el procesamiento por lotes de entradas, la ejecución simultánea de modelos, la compatibilidad con conjuntos de modelos y la transmisión de audio y vídeo en tiempo real.
  • Flexibilidad entre dispositivos: Desde pequeños dispositivos periféricos hasta potentes servidores, TensorRT funciona en todo el ecosistema NVIDIA y es compatible con herramientas como DeepStream para vídeo, Riva para IA de voz y otras para ciberseguridad, recomendaciones y mucho más.

¿Cómo funciona la integración con TensorRT?#

Exportar modelos Ultralytics YOLO, como Ultralytics YOLO11, al formato de modelo TensorRT es muy sencillo. Veamos los pasos.

Para empezar, puedes instalar el paquete de Python de Ultralytics con un gestor de paquetes como pip. Para ello, ejecuta el comando pip install ultralytics en el símbolo del sistema o en el terminal.

Después de instalar correctamente el paquete Python de Ultralytics, podrás entrenar, probar, ajustar, exportar e implementar modelos para distintas tareas de visión artificial, como la detección de objetos, la clasificación y la segmentación de instancias. Si tienes algún problema durante la instalación del paquete, consulta la guía de problemas habituales para encontrar soluciones y consejos.

Para el siguiente paso, necesitarás un dispositivo NVIDIA. Utiliza el fragmento de código siguiente para cargar YOLO11 y exportarlo al formato de modelo TensorRT. Carga una variante Nano preentrenada del modelo YOLO11 (yolo11n.pt) y la exporta como un archivo de motor TensorRT (yolo11n.engine), listo para implementarse en dispositivos NVIDIA.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="engine")

Después de convertir el modelo al formato TensorRT, puedes implementarlo en distintas aplicaciones.

El siguiente ejemplo muestra cómo cargar el modelo YOLO11 exportado (yolo11n.engine) y ejecutar una inferencia con él. La inferencia consiste en utilizar el modelo entrenado para realizar predicciones sobre datos nuevos. En este caso, usaremos una imagen de entrada de un perro para probar el modelo.

tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

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

Ejecución de una inferencia con el modelo Ultralytics YOLO11 exportado en formato TensorRT

Fig. 3. Resultado de ejecutar una inferencia con el modelo Ultralytics YOLO11 exportado en formato TensorRT.

Cuándo utilizar la integración con TensorRT#

El paquete Python de Ultralytics admite varias integraciones que permiten exportar modelos YOLO a distintos formatos, como TorchScript, CoreML, ONNX y TensorRT. Entonces, ¿cuándo deberías elegir la integración con TensorRT?

Estos son algunos factores que diferencian el formato de modelo TensorRT de otras opciones de integración para la exportación:

  • Menor tamaño del modelo: Exportar un modelo YOLO al formato TensorRT con precisión INT8 (quantize=8) puede reducir considerablemente su tamaño. La cuantización de FP32 a INT8 puede reducir el tamaño del modelo en un factor de 4, lo que permite descargarlo más rápido, requiere menos espacio de almacenamiento y reduce la memoria necesaria durante la implementación.
  • Menor consumo energético: La cuantización INT8 no solo reduce el tamaño del modelo, sino también el consumo energético. Las operaciones de precisión reducida de los modelos YOLO exportados con INT8 pueden consumir menos energía que los modelos FP32, algo especialmente beneficioso para dispositivos con batería, como drones, smartphones o dispositivos periféricos.
  • Mayor velocidad: Combinar la arquitectura eficiente de YOLO con la optimización INT8 de TensorRT puede mejorar la velocidad de inferencia.

Aplicaciones de Ultralytics YOLO11 y del formato de modelo TensorRT#

Los modelos Ultralytics YOLO exportados al formato TensorRT pueden implementarse en una amplia variedad de situaciones reales. Estos modelos optimizados son especialmente útiles cuando el rendimiento rápido y eficiente de la IA es fundamental. Veamos algunos ejemplos interesantes de cómo se pueden utilizar.

Cajas de autopago inteligentes en tiendas minoristas#

En las tiendas minoristas, el personal sigue realizando manualmente muchas tareas, como escanear códigos de barras, pesar productos o empaquetar artículos. Sin embargo, depender únicamente de los empleados puede ralentizar las operaciones y frustrar a los clientes, especialmente en la caja. Las colas largas son incómodas tanto para los compradores como para los propietarios de las tiendas. Las cajas de autopago inteligentes son una solución excelente para este problema.

Estas cajas utilizan visión artificial y GPUs para acelerar el proceso y ayudar a reducir los tiempos de espera. La visión artificial permite que estos sistemas perciban y comprendan su entorno mediante tareas como la detección de objetos. Los modelos avanzados, como Ultralytics YOLO11, pueden funcionar mucho más rápido en dispositivos con GPU si se optimizan con herramientas como TensorRT.

Estos modelos exportados son ideales para instalaciones comerciales inteligentes que utilizan dispositivos compactos pero potentes, como el NVIDIA Jetson Nano, diseñado específicamente para aplicaciones de IA en el borde.

Un cliente paga con tarjeta en un quiosco de autopago inteligente equipado con cámara, con aperitivos y un plátano en la bandeja

Fig. 4. Ejemplo de un mostrador de autopago inteligente.

Detección automatizada de defectos en la fabricación#

Un modelo de visión artificial como Ultralytics YOLO11 puede entrenarse con datos personalizados para detectar productos defectuosos en la industria manufacturera. Una vez entrenado, el modelo puede exportarse al formato TensorRT para implementarlo en instalaciones equipadas con sistemas de IA de alto rendimiento.

A medida que los productos avanzan por las cintas transportadoras, las cámaras capturan imágenes y el modelo Ultralytics YOLO11, ejecutado en formato TensorRT, las analiza en tiempo real para detectar defectos. Esta configuración permite a las empresas identificar los problemas de forma rápida y precisa, reducir los errores y mejorar la eficiencia.

Del mismo modo, sectores como el farmacéutico utilizan este tipo de sistemas para identificar defectos en envases médicos. De hecho, se prevé que el mercado mundial de sistemas inteligentes de detección de defectos alcance los 5.000 millones de dólares en 2026.

Uso de YOLO para detectar defectos en la industria farmacéutica

Fig. 5. Uso de YOLO para detectar defectos en la industria farmacéutica.

Aspectos que debes tener en cuenta al usar TensorRT#

Aunque la integración de TensorRT ofrece muchas ventajas, como una inferencia más rápida y una latencia reducida, conviene tener en cuenta algunas limitaciones:

  • Ligera pérdida de precisión: Al exportar tu modelo al formato TensorRT, puede que no sea tan preciso como el original. Las métricas de rendimiento, como la precisión, la exhaustividad y la capacidad del modelo para detectar objetos (puntuaciones mAP), podrían disminuir ligeramente. Puedes mitigar este efecto utilizando un conjunto de datos de calibración representativo (el argumento data) durante la cuantización INT8.
  • Mayor complejidad de depuración: Las optimizaciones de TensorRT pueden dificultar el rastreo de errores o la comprensión de comportamientos inesperados, especialmente al comparar los resultados con los del modelo original.
  • Sensibilidad al tamaño del lote: Las mejoras de rendimiento de TensorRT son más notables con tamaños de lote grandes. En las aplicaciones que procesan imágenes individuales o lotes pequeños, las mejoras de rendimiento pueden ser menos significativas.

Conclusiones clave#

Al exportar los modelos Ultralytics YOLO al formato TensorRT, se ejecutan mucho más rápido y de forma más eficiente, por lo que son ideales para tareas en tiempo real, como detectar defectos en fábricas, impulsar sistemas de autopago inteligentes o supervisar zonas urbanas concurridas.

Esta optimización ayuda a los modelos a rendir mejor en las GPU NVIDIA, ya que acelera las predicciones y reduce el consumo de memoria y energía. Aunque tiene algunas limitaciones, la mejora del rendimiento convierte la integración de TensorRT en una opción excelente para quienes desarrollan sistemas de visión artificial de alta velocidad con hardware NVIDIA.

¿Quieres saber más sobre la IA? Explora nuestro repositorio de GitHub, conecta con nuestra comunidad y consulta nuestras opciones de licencia para poner en marcha tu proyecto de visión artificial. Descubre más sobre innovaciones como la IA en la fabricación y la visión artificial en la industria logística en nuestras páginas de soluciones.

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático