Exporter et optimiser Ultralytics YOLOv8 pour l'inférence sur Intel OpenVINO

Nuvola Ladi

2 min lire

24 mai 2024

Optimisez votre modèle Ultralytics YOLOv8 pour l'inférence en utilisant OpenVINO. Suivez notre guide pour convertir les modèles PyTorch en ONNX et les optimiser pour les applications en temps réel.

Dans ce billet de blog, nous allons voir comment vous pouvez exporter et optimiser votre modèle Ultralytics YOLOv8 pré-entraîné ou personnalisé pour l' inférence à l'aide d'OpenVINO. Si vous utilisez un système basé sur Intel, qu'il s'agisse d'un CPU ou d'un GPU, ce guide vous montrera comment accélérer de manière significative votre modèle avec un minimum d'effort.

Pourquoi optimiser YOLOv8 avec OpenVINO ?

L'optimisation de votre modèle YOLOv8 avec OpenVINO peut multiplier par trois la vitesse des tâches d'inférence, en particulier si vous utilisez un processeur Intel. Ce gain de performance peut faire une énorme différence dans les applications en temps réel, de la détection d'objets à la segmentation et aux systèmes de sécurité.

Etapes pour exporter et optimiser votre modèle YOLOv8

Comprendre le processus

Tout d'abord, décomposons le processus. Nous allons convertir un modèle PyTorch en ONNX, puis l'optimiser à l'aide d'OpenVINO. Ce processus comporte quelques étapes simples et peut être appliqué à différents modèles et formats, notamment TensorFlow, PyTorch, Caffe et ONNX.

Exporter le modèle

En consultant la documentation d'Ultralytics, nous constatons que l'exportation d'un modèle YOLOv8 implique l'utilisation de la méthode d'exportation du cadre Ultralytics. Cette méthode nous permet de convertir notre modèle de PyTorch à ONNX, et enfin de l'optimiser pour OpenVINO. Le résultat est un modèle qui s'exécute beaucoup plus rapidement, en tirant parti de la puissance du matériel d'Intel.

Installation des dépendances

Avant d'exécuter le script d'exportation, vous devez vous assurer que toutes les dépendances nécessaires sont installées. Il s'agit notamment de la bibliothèque Ultralytics, d'ONNX et d'OpenVINO. L'installation de ces paquets est un processus simple qui peut être effectué via pip, l'installateur de paquets Python.

Exécution du script d'exportation

Une fois votre environnement configuré, vous pouvez exécuter votre script d'exportation. Ce script convertira votre modèle PyTorch en ONNX, puis en OpenVINO. Le processus est simple et consiste à appeler une seule fonction pour gérer l'exportation. Le cadre Ultralytics facilite la conversion et l'optimisation de vos modèles, ce qui vous permet d'obtenir les meilleures performances avec un minimum d'efforts.

__wf_reserved_inherit
Fig. 1. Nicolai Nielsen explique comment exécuter le script d'exportation.

Comparaison des performances

Après l'exportation, il est essentiel de comparer les performances des modèles originaux et optimisés. En comparant le temps d'inférence des deux modèles, vous pouvez clairement voir les gains de performance. En règle générale, le modèle OpenVINO présente une réduction significative du temps d'inférence par rapport au modèle PyTorch d'origine. C'est particulièrement vrai pour les modèles de grande taille, où l'augmentation des performances est la plus visible.

Applications et avantages dans le monde réel

L'optimisation des modèles YOLOv8 avec OpenVINO est particulièrement bénéfique pour les applications nécessitant un traitement en temps réel. En voici quelques exemples :

  • Systèmes de sécurité: La détection d'objets en temps réel permet d'alerter instantanément le personnel de sécurité, améliorant ainsi la sécurité et la réactivité.
  • Véhicules automatisés : Des vitesses d'inférence plus rapides améliorent la réactivité des systèmes de conduite autonome, les rendant plus sûrs et plus fiables.
  • Santé : Le traitement rapide des images pour les outils de diagnostic peut sauver des vies en fournissant des résultats plus rapides, ce qui permet d'intervenir à temps.

En mettant en œuvre ces optimisations, vous améliorez non seulement les performances, mais aussi la fiabilité et l'efficacité de vos applications. Cela peut conduire à de meilleures expériences pour les utilisateurs, à une productivité accrue et à des solutions plus innovantes.

Conclusion

L'exportation et l'optimisation d'un modèle YOLOv8 pour OpenVINO est un moyen puissant d'exploiter le matériel Intel pour des applications d'IA plus rapides et plus efficaces. En quelques étapes simples, vous pouvez transformer les performances de votre modèle et l'appliquer efficacement à des scénarios du monde réel.

N'oubliez pas de consulter d'autres tutoriels et guides d'Ultralytics pour continuer à améliorer vos projets d'IA. Visitez notre dépôt GitHub et rejoignez la communauté Ultralytics pour plus d'informations et de mises à jour. Innovons ensemble !

N'oubliez pas que l'optimisation de vos modèles n'est pas seulement une question de rapidité - il s'agit de débloquer de nouvelles possibilités et de s'assurer que vos solutions d'IA sont robustes, efficaces et prêtes pour l'avenir. 

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