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

Abirami Vina

5 minutes de lecture

20 mai 2025

Apprenez à exporter les modèles YOLO d'Ultralytics à 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.

Prenons l'exemple d'une voiture autonome qui se déplace dans une rue très fréquentée et qui n'a 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 stop partiellement caché par un arbre ou de réagir rapidement à un véhicule proche qui se déporte 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 les informations rapidement, gérer plusieurs tâches à la fois et utiliser la mémoire de manière efficace.

L'un des moyens d'y parvenir est l'accélération matérielle, qui consiste à utiliser des dispositifs spécialisés tels que les processeurs graphiques (GPU) pour faire tourner les modèles plus rapidement. Les GPU NVIDIA sont particulièrement bien connus pour ce type de tâches, grâce à leur capacité à fournir une faible latence et un débit élevé.

Cependant, l'exécution telle quelle d'un modèle sur un GPU ne garantit pas toujours des performances optimales. Les modèles d'IA visionnaire nécessitent généralement une optimisation pour tirer pleinement parti des capacités des appareils matériels. Pour obtenir des performances optimales avec un matériel spécifique, nous devons compiler le modèle afin d'utiliser le jeu d'instructions spécifique à ce 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. Elle utilise des techniques avancées pour réduire de manière significative le temps d'inférence tout en maintenant la précision.

__wf_reserved_inherit
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 voir comment vous pouvez exporter votre modèle YOLO11 pour un déploiement plus rapide et plus efficace sur le matériel NVIDIA. Commençons par le commencement !

Vue d'ensemble de TensorRT

TensorRT est un kit d'outils développé 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 auto-conduites 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 travailler en coulisse pour s'assurer que vos modèles s'exécutent avec une faible latence et peuvent gérer un débit plus élevé.

L'intégration TensorRT prise en charge par Ultralytics fonctionne en optimisant votre modèle YOLO pour qu'il s'exécute plus efficacement sur les GPU à l'aide de méthodes telles que la réduction de la précision. Il s'agit d'utiliser des formats de bits inférieurs, tels que la virgule flottante 16 bits (FP16) ou l'entier 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. 

En outre, les couches de réseaux neuronaux compatibles sont fusionnées dans des modèles TensorRT optimisés afin de réduire l'utilisation de la mémoire, ce qui se traduit par une inférence plus rapide et plus efficace.

__wf_reserved_inherit
Fig 2. 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 en utilisant l'intégration TensorRT, examinons quelques caractéristiques clés du format de modèle TensorRT :

  • Intégration facile des frameworks : TensorRT prend en charge l'intégration directe avec des 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, ce qui permet de développer des moteurs d'IA à grande 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, qui améliore l'efficacité grâce à des fonctions telles que la mise en lots des entrées, l'exécution simultanée des modèles, la prise en charge des ensembles de modèles et le streaming audio/vidéo en temps réel.
  • Flexible sur tous les appareils : Des petits appareils périphériques aux puissants serveurs, 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 et bien d'autres encore.

Comment fonctionne l'intégration de TensorRT ?

Exporter des modèles Ultralytics Y OLO comme Ultralytics YOLO11 vers le format de modèle TensorRT est facile. Voyons les étapes à suivre.

Pour commencer, vous pouvez installer le paquetage Ultralytics Python à l'aide d'un gestionnaire de paquetage comme "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 package Ultralytics Python, vous pouvez entraîner, tester, affiner, exporter et déployer des modèles pour diverses tâches de vision artificielle, 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 paquetage, vous pouvez vous référer au 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 de moteur TensorRT (yolo11n.engine), ce qui le rend prêt à être déployé sur les appareils NVIDIA.

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 en l'utilisant. 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 l'image d'un chien pour tester le modèle. 

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

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

Quand tirer parti de l'intégration de TensorRT ?

Le package Ultralytics Python supporte plusieurs 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 des exportations :

  • Taille réduite du modèle : 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 conduire à une réduction de 4 fois la taille du modèle, ce qui permet des temps de téléchargement plus rapides, des besoins de stockage plus faibles et une empreinte mémoire réduite pendant le déploiement.
  • Réduction de la consommation d'énergie : La quantification INT8 permet non seulement de réduire la taille des modèles, mais aussi de diminuer 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 tels que les drones, les smartphones ou les appareils périphériques.
  • Des 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 YOLO d'Ultralytics 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 la performance rapide et efficace de l'IA est essentielle. Examinons quelques exemples intéressants de la manière dont ils peuvent être utilisés.

Des caisses de paiement intelligentes dans les magasins de détail

Un grand nombre 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'appuyer uniquement sur les employés peut ralentir les opérations et entraîner la frustration des clients, en particulier à la caisse. Les longues files d'attente sont gênantes à la fois pour les clients et pour les propriétaires de magasins. Les caisses automatiques intelligentes sont une excellente solution à ce problème.

Ces guichets utilisent la vision par ordinateur et les GPU pour accélérer le processus et 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 GPU.

Ces modèles exportés sont bien adaptés aux installations de vente au détail intelligentes utilisant des appareils compacts mais puissants tels que le NVIDIA Jetson Nano, conçu spécifiquement pour les applications d'intelligence artificielle.

__wf_reserved_inherit
Fig. 4. Exemple de caisse de sortie 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. 

Au fur et à mesure que les produits se déplacent sur les tapis roulants, des caméras capturent des images, et le modèle YOLO11, fonctionnant au format TensorRT, les analyse en temps réel pour repérer les défauts. Cette configuration permet aux entreprises de détecter les problèmes rapidement et avec précision, ce qui réduit les erreurs et améliore 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 intelligents de détection des défauts devrait atteindre 5 milliards de dollars d'ici à 2026.

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

Considérations à garder à l'esprit lors de l'utilisation de TensorRT

Si l'intégration de TensorRT présente de nombreux avantages, tels que des vitesses d'inférence plus rapides et une latence réduite, il convient de garder à l'esprit certaines limites :

  • Légère baisse de précision : Lorsque vous exportez votre modèle au format TensorRT, il se peut que votre modèle exporté ne soit pas aussi précis que l'original. Les mesures de performance telles que la précision, le rappel et la détection d'objets par le modèle (scores mAP) peuvent diminuer légèrement. Ce problème peut être atténué par l'utilisation d'un ensemble de données représentatif lors de la quantification. 
  • Complexité accrue du débogage : Les optimisations réalisées par TensorRT peuvent rendre plus difficile la recherche d'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 du lot : Les gains de performance de TensorRT sont plus prononcés lorsque la taille des lots est plus importante. Pour les applications traitant des images uniques ou de petits lots, les améliorations de performances peuvent être moins significatives.

Principaux enseignements

L'exportation des modèles YOLO d'Ultralytics vers le format TensorRT les rend beaucoup plus rapides et efficaces, ce qui les rend idéaux pour les tâches en temps réel telles que la détection des 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 permet aux modèles de 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 y ait quelques limitations, l'augmentation des performances fait de l'intégration de TensorRT un excellent choix pour tous ceux qui construisent des systèmes de vision par ordinateur à grande vitesse sur du matériel NVIDIA.

Vous souhaitez en savoir plus sur l'IA ? Explorez notre dépôt GitHub, entrez en contact avec notre communauté et consultez nos options de licence pour démarrer votre projet de vision par ordinateur. Pour en savoir plus sur des innovations telles que l 'IA dans l'industrie manufacturière et la vision par ordinateur dans le secteur de la logistique, consultez nos pages consacrées aux solutions.

Construisons ensemble le futur
de l'IA !

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

Commencer gratuitement
Lien copié dans le presse-papiers