Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Optimisation des modèles Ultralytics YOLO avec l'intégration TensorRT

Abirami Vina

5 min de lecture

20 mai 2025

Découvrez comment exporter des modèles Ultralytics YOLO à l'aide de l'intégration TensorRT pour des performances d'IA plus rapides et plus efficaces sur les GPU NVIDIA pour les applications en temps réel.

Imaginez une voiture autonome circulant dans une rue animée et n'ayant que quelques millisecondes pour détecter un piéton qui descend du trottoir. Dans le même temps, elle peut avoir besoin de reconnaître un panneau d'arrêt partiellement caché par un arbre ou de réagir rapidement à un véhicule voisin qui dévie sur sa voie. Dans de telles situations, la vitesse et les réponses en temps réel sont essentielles.

C'est là que l'intelligence artificielle (IA), et plus précisément la vision par ordinateur, une branche de l'IA qui aide les machines à interpréter les données visuelles, joue un rôle clé. Pour que les solutions de vision par ordinateur fonctionnent de manière fiable dans des environnements réels, elles doivent souvent traiter l'information rapidement, gérer plusieurs tâches à la fois et utiliser la mémoire efficacement.

L'une des façons d'y parvenir est d'utiliser l'accélération matérielle, en utilisant des dispositifs spécialisés tels que les unités de traitement graphique (GPU) pour exécuter les modèles plus rapidement. Les GPU NVIDIA sont particulièrement réputés pour ces tâches, grâce à leur capacité à fournir une faible latence et un débit élevé.

Cependant, l'exécution d'un modèle sur un GPU tel quel ne garantit pas toujours des performances optimales. Les modèles de Vision IA nécessitent généralement une optimisation pour exploiter pleinement les capacités des périphériques matériels. Afin d'obtenir des performances optimales avec un matériel spécifique, nous devons compiler le modèle pour utiliser l'ensemble spécifique d'instructions pour le matériel.

Par exemple, TensorRT est un format d'exportation et une bibliothèque d'optimisation développés par NVIDIA pour améliorer les performances sur les machines haut de gamme. Il utilise des techniques avancées pour réduire considérablement le temps d'inférence tout en conservant la précision.

Fig 1. NVIDIA TensorRT permet aux modèles de fonctionner de manière optimale sur divers appareils NVIDIA.

Dans cet article, nous allons explorer l'intégration de TensorRT prise en charge par Ultralytics et vous expliquer comment exporter votre modèle YOLO11 pour un déploiement plus rapide et plus efficace sur le matériel NVIDIA. Commençons !

Un aperçu de TensorRT

TensorRT est une boîte à outils développée par NVIDIA pour aider les modèles d'IA à fonctionner plus rapidement et plus efficacement sur les GPU NVIDIA. Il est conçu pour les applications du monde réel où la vitesse et les performances sont vraiment importantes, comme les voitures autonomes et le contrôle de la qualité dans la fabrication et les produits pharmaceutiques. 

TensorRT comprend des outils tels que des compilateurs et des optimiseurs de modèles qui peuvent fonctionner en arrière-plan pour garantir que vos modèles fonctionnent avec une faible latence et peuvent gérer un débit plus élevé.

L'intégration de TensorRT prise en charge par Ultralytics fonctionne en optimisant votre modèle YOLO pour qu'il s'exécute plus efficacement sur les GPU en utilisant des méthodes telles que la réduction de la précision. Cela fait référence à l'utilisation de formats à plus faible nombre de bits, tels que les nombres à virgule flottante de 16 bits (FP16) ou les entiers de 8 bits (INT8), pour représenter les données du modèle, ce qui réduit l'utilisation de la mémoire et accélère le calcul avec un impact minimal sur la précision. 

De plus, les couches de réseaux neuronaux compatibles sont fusionnées dans des modèles TensorRT optimisés pour réduire l'utilisation de la mémoire, ce qui entraîne une inférence plus rapide et plus efficace.

Fig. 2. Un aperçu de la technique de fusion de couches de TensorRT.

Principales caractéristiques du format d'exportation TensorRT

Avant de voir comment vous pouvez exporter YOLO11 à l'aide de l'intégration TensorRT, examinons quelques caractéristiques clés du format de modèle TensorRT :

  • Intégration facile du framework : TensorRT prend en charge l'intégration directe avec les frameworks d'IA populaires tels que PyTorch, Hugging Face et ONNX, offrant des performances jusqu'à 6 fois plus rapides. Il prend également en charge MATLAB, permettant le développement de moteurs d'IA à haute vitesse sur des plateformes telles que Jetson, NVIDIA DRIVE et les centres de données.
  • Déploiement évolutif avec Triton : Les modèles optimisés au format TensorRT peuvent être déployés à grande échelle à l'aide de NVIDIA Triton Inference Server, ce qui améliore l'efficacité grâce à des fonctionnalités telles que le batching d'entrée, l'exécution simultanée de modèles, la prise en charge d'ensembles de modèles et la diffusion audio/vidéo en temps réel.
  • Flexible sur tous les appareils : Des petits appareils périphériques aux serveurs puissants, TensorRT fonctionne dans l’ensemble de l’écosystème NVIDIA, prenant en charge des outils tels que DeepStream pour la vidéo, Riva pour l’IA vocale et d’autres pour la cybersécurité, les recommandations, etc.

Comment fonctionne l'intégration de TensorRT ?

L'exportation des modèles Ultralytics YOLO comme Ultralytics YOLO11 au format de modèle TensorRT est facile. Examinons les étapes à suivre.

Pour commencer, vous pouvez installer le paquet Python Ultralytics à l'aide d'un gestionnaire de paquets tel que « pip ». Pour ce faire, exécutez la commande « pip install ultralytics » dans votre invite de commande ou votre terminal.

Après avoir installé avec succès le paquet Python Ultralytics, vous pouvez entraîner, tester, affiner, exporter et déployer des modèles pour diverses tâches de vision par ordinateur, telles que la détection d'objets, la classification et la segmentation d'instances. Si vous rencontrez des difficultés lors de l'installation du paquet, vous pouvez consulter le guide des problèmes courants pour obtenir des solutions et des conseils.

Pour l'étape suivante, vous aurez besoin d'un appareil NVIDIA. Utilisez l'extrait de code ci-dessous pour charger et exporter YOLOv11 au format de modèle TensorRT. Il charge une variante nano pré-entraînée du modèle YOLO11 (yolo11n.pt) et l'exporte en tant que fichier moteur TensorRT (yolo11n.engine), le rendant prêt pour le déploiement sur les appareils NVIDIA.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="engine") 

Après avoir converti votre modèle au format TensorRT, vous pouvez le déployer pour diverses applications. 

L'exemple ci-dessous montre comment charger le modèle YOLO11 exporté (yolo11n.engine) et exécuter une inférence à l'aide de celui-ci. L'inférence consiste à utiliser le modèle entraîné pour faire des prédictions sur de nouvelles données. Dans ce cas, nous utiliserons une image d'entrée d'un chien pour tester le modèle. 

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)

Lorsque vous exécutez ce code, l'image de sortie suivante sera enregistrée dans le dossier runs\/detect\/predict.

Fig 3. Résultat de l'exécution d'une inférence à l'aide du modèle YOLO11 exporté au format TensorRT.

Quand faut-il exploiter l'intégration TensorRT ?

Le package Python Ultralytics prend en charge diverses intégrations qui permettent d'exporter les modèles YOLO vers différents formats tels que TorchScript, CoreML, ONNX et TensorRT. Alors, quand devriez-vous choisir d'utiliser l'intégration TensorRT ?

Voici quelques facteurs qui distinguent le format de modèle TensorRT des autres options d'intégration d'exportation :

  • Taille de modèle plus petite : L'exportation d'un modèle YOLO au format TensorRT avec une précision INT8 peut réduire considérablement la taille du modèle. La quantification de FP32 à INT8 peut entraîner une réduction de la taille du modèle par un facteur de 4, ce qui permet des temps de téléchargement plus rapides, des besoins de stockage moindres et une empreinte mémoire réduite lors du déploiement.
  • Consommation d'énergie réduite : La quantification INT8 réduit non seulement la taille du modèle, mais diminue également la consommation d'énergie. Les opérations de précision réduite pour les modèles YOLO exportés en INT8 peuvent consommer moins d'énergie que les modèles FP32, ce qui est particulièrement avantageux pour les appareils alimentés par batterie comme les drones, les smartphones ou les appareils edge.
  • Performances plus rapides : La combinaison de l'architecture efficace de YOLO avec l'optimisation INT8 de TensorRT peut améliorer les vitesses d'inférence.

Applications de YOLO11 et du format de modèle TensorRT

Les modèles Ultralytics YOLO exportés au format TensorRT peuvent être déployés dans un large éventail de scénarios réels. Ces modèles optimisés sont particulièrement utiles lorsque des performances d'IA rapides et efficaces sont essentielles. Explorons quelques exemples intéressants de la façon dont ils peuvent être utilisés.

Caisses intelligentes dans les magasins de détail

Un large éventail de tâches dans les magasins de détail, telles que la lecture des codes-barres, la pesée des produits ou l'emballage des articles, sont encore effectuées manuellement par le personnel. Cependant, le fait de s'en remettre uniquement aux employés peut ralentir les opérations et entraîner la frustration des clients, en particulier à la caisse. Les longues files d'attente sont un inconvénient tant pour les clients que pour les propriétaires de magasins. Les caisses automatiques intelligentes sont une excellente solution à ce problème.

Ces compteurs utilisent la vision par ordinateur et les GPU pour accélérer le processus, contribuant ainsi à réduire les temps d'attente. La vision par ordinateur permet à ces systèmes de voir et de comprendre leur environnement grâce à des tâches telles que la détection d'objets. Les modèles avancés comme YOLO11, lorsqu'ils sont optimisés avec des outils comme TensorRT, peuvent fonctionner beaucoup plus rapidement sur les appareils GPU.

Ces modèles exportés sont bien adaptés aux configurations de vente au détail intelligentes utilisant des appareils matériels compacts mais puissants comme le NVIDIA Jetson Nano, conçu spécifiquement pour les applications d'IA en périphérie.

Fig 4. Un exemple de caisse intelligente.

Détection automatisée des défauts dans la fabrication

Un modèle de vision par ordinateur comme YOLO11 peut être entraîné sur mesure pour détecter les produits défectueux dans l'industrie manufacturière. Une fois entraîné, le modèle peut être exporté au format TensorRT pour être déployé dans des installations équipées de systèmes d'IA haute performance. 

Lorsque les produits se déplacent le long des bandes transporteuses, les caméras capturent des images, et le modèle YOLO11, fonctionnant au format TensorRT, les analyse en temps réel pour détecter les défauts. Cette configuration permet aux entreprises de détecter les problèmes rapidement et avec précision, réduisant ainsi les erreurs et améliorant l'efficacité.

De même, des industries telles que l'industrie pharmaceutique utilisent ces types de systèmes pour identifier les défauts dans les emballages médicaux. En fait, le marché mondial des systèmes de détection de défauts intelligents devrait atteindre 5 milliards de dollars d'ici 2026.

Fig 5. Utilisation de YOLO pour détecter les défauts dans l'industrie pharmaceutique.

Éléments à prendre en compte lors de l'utilisation de TensorRT

Bien que l'intégration de TensorRT apporte de nombreux avantages, comme des vitesses d'inférence plus rapides et une latence réduite, voici quelques limitations à garder à l'esprit :

  • Légère baisse de précision : Lorsque vous exportez votre modèle au format TensorRT, votre modèle exporté peut ne pas être aussi précis que l'original. Les métriques de performance telles que la précision, le rappel et la qualité de la détection d'objets par le modèle (scores mAP) peuvent légèrement diminuer. Cela peut être atténué en utilisant un ensemble de données représentatif pendant la quantification. 
  • Complexité de débogage accrue : Les optimisations effectuées par TensorRT peuvent rendre plus difficile le traçage des erreurs ou la compréhension d'un comportement inattendu, en particulier lors de la comparaison des résultats avec le modèle original.
  • Sensibilité à la taille des lots : Les gains de performance de TensorRT sont plus prononcés avec des tailles de lots plus importantes. Pour les applications traitant des images uniques ou de petits lots, les améliorations de performance peuvent être moins significatives.

Principaux points à retenir

L'exportation des modèles Ultralytics YOLO au format TensorRT les rend considérablement plus rapides et plus efficaces, ce qui les rend idéaux pour les tâches en temps réel telles que la détection de défauts dans les usines, l'alimentation des systèmes de caisse intelligents ou la surveillance des zones urbaines très fréquentées. 

Cette optimisation aide les modèles à mieux fonctionner sur les GPU NVIDIA en accélérant les prédictions et en réduisant l'utilisation de la mémoire et de l'énergie. Bien qu'il existe quelques limitations, l'amélioration des performances fait de l'intégration de TensorRT un excellent choix pour tous ceux qui construisent des systèmes de vision par ordinateur à haute vitesse sur du matériel NVIDIA.

Vous souhaitez en savoir plus sur l'IA ? Explorez notre dépôt GitHub, connectez-vous avec notre communauté et consultez nos options de licence pour démarrer votre projet de vision par ordinateur. Découvrez-en davantage sur les innovations telles que l'IA dans la fabrication et la vision par ordinateur dans le secteur de la logistique sur nos pages de solutions.

Construisons ensemble l'avenir
de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique

Démarrer gratuitement
Lien copié dans le presse-papiers