Prise en main de YOLO-World
Découvre YOLO-World, un modèle de détection d'objets innovant capable d'identifier des objets via des invites textuelles. Explore le fonctionnement de YOLO-World et ses applications, et passe à la pratique avec un exemple de code rapide.

Les projets de vision par ordinateur impliquent souvent de passer beaucoup de temps à annoter des données et à entraîner des modèles de object detection. Mais cela appartiendra bientôt au passé. Le laboratoire d'IA de Tencent a publié YOLO-World, un modèle de détection d'objets en temps réel et à vocabulaire ouvert, le 31 janvier 2024. YOLO-World est un modèle « zero-shot », ce qui signifie que tu peux exécuter des inférences de détection d'objets sur des images sans avoir à l'entraîner.
Les modèles zero-shot ont le potentiel de changer notre approche des applications de vision par ordinateur. Dans ce blog, nous explorerons le fonctionnement de YOLO-World, ses utilisations potentielles et nous partagerons un exemple de code pratique pour t'aider à démarrer.
Aperçu de YOLO-World#
Tu peux transmettre une image et une requête textuelle décrivant les objets que tu recherches via le modèle YOLO-World. Par exemple, si tu cherches à trouver « une personne portant une chemise rouge » dans une photo, YOLO-World prend cette entrée et se met au travail.
L'architecture unique du modèle combine trois éléments principaux :
- Un détecteur basé sur le modèle de détection d'objets Ultralytics YOLOv8 pour analyser le contenu visuel de l'image.
- Un encodeur de texte pré-entraîné par le CLIP d'OpenAI, spécifiquement conçu pour comprendre ta requête textuelle.
- Un réseau, le Vision-Language Path Aggregation Network (RepVL-PAN), qui intègre les données d'image traitées avec les données textuelles.
Le détecteur YOLO scanne ton image d'entrée pour identifier des objets potentiels. L'encodeur de texte transforme ta description dans un format que le modèle peut comprendre. Ces deux flux d'informations sont ensuite fusionnés via le RepVL-PAN en utilisant une fusion multi-niveaux inter-modalités. Cela permet à YOLO-World de détecter et de localiser précisément les objets décrits dans ta requête au sein de l'image.

Un exemple de résultats de YOLO-World.
Avantages de choisir YOLO-World#
L'un des plus grands avantages de l'utilisation de YOLO-World est que tu n'as pas à entraîner le modèle pour une classe spécifique. Il a déjà appris à partir de paires d'images et de textes, il sait donc comment trouver des objets basés sur des descriptions. Tu peux éviter des heures de collecte de données, d'annotation de données, d'entraînement sur des GPU coûteux, et ainsi de suite.
Voici quelques autres avantages à utiliser YOLO-World :
- Performances en temps réel - YOLO-World prend en charge des performances en temps réel, tout comme l'architecture YOLO originale. C'est idéal pour les applications nécessitant une détection d'objets immédiate, comme les véhicules autonomes et les systèmes de surveillance.
- Instance Segmentation - YOLO-World peut proprement délimiter et séparer des objets dans des images, même si ces objets n'ont pas été spécifiquement enseignés lors de son entraînement.
- Efficacité - YOLO-World combine haute précision et efficacité computationnelle, le rendant pratique pour des applications réelles. Son architecture rationalisée permet une détection rapide d'objets sans exigences excessives en puissance de traitement.
Les applications de YOLO-World#
Les modèles YOLO-World peuvent être utilisés pour une grande variété d'applications. Explorons-en quelques-unes.
Contrôle qualité dans la fabrication#
Les produits manufactured sur une chaîne de montage sont contrôlés visuellement pour détecter les défauts avant leur emballage. La détection des défauts est souvent effectuée à la main, ce qui prend du temps et peut entraîner des erreurs. Ces erreurs peuvent causer des problèmes tels que des coûts élevés et la nécessité de réparations ou de rappels. Pour y remédier, des caméras de vision industrielle spéciales et des systèmes d'IA ont été créés pour effectuer ces contrôles.
Les modèles YOLO-World constituent une avancée majeure dans ce domaine. Ils peuvent trouver des défauts dans les produits même s'ils n'ont pas été entraînés pour ce problème spécifique, grâce à leurs capacités zero-shot. Par exemple, une usine de fabrication de bouteilles d'eau peut facilement identifier la différence entre une bouteille correctement scellée avec un bouchon et une bouteille où un bouchon est manquant ou défectueux en utilisant YOLO-World.

Un exemple d'inspection de bouchon de bouteille.
Robotique#
Les modèles YOLO-World permettent aux robots d'interagir avec des environnements inconnus. Sans être entraînés sur des objets spécifiques qui pourraient se trouver dans une pièce, ils peuvent toujours identifier quels objets sont présents. Disons qu'un robot entre dans une pièce où il n'est jamais allé auparavant. Avec un modèle YOLO-World, il peut toujours reconnaître et identifier des objets comme des chaises, des tables ou des lampes, même s'il n'a pas été spécifiquement entraîné sur ces éléments.
En plus de la détection d'objets, YOLO-World peut également déterminer l'état de ces objets, grâce à sa fonctionnalité « prompt-then-detect ». Par exemple, en robotique agricultural, il peut être utilisé pour identifier des fruits mûrs par rapport à des fruits non mûrs en programmant le robot pour les détecter.
L'IA dans l'industrie automobile#
L'industrie automobile implique de nombreuses pièces mobiles, et YOLO-World peut être utilisé pour différentes applications automobiles. Par exemple, pour l'entretien des voitures, la capacité de YOLO-World à reconnaître une grande variété d'objets sans étiquetage manuel ni pré-entraînement intensif est extrêmement utile. YOLO-World peut être utilisé pour identifier des pièces de voiture devant être remplacées. Il pourrait même automatiser des tâches comme les contrôles qualité, en repérant des défauts ou des pièces manquantes dans les voitures neuves.
Une autre application est la détection d'objets « zero-shot » dans les self-driving cars. Les capacités de détection « zero-shot » de YOLO-World peuvent améliorer la capacité d'un véhicule autonome à détecter et classifier des objets sur la route, tels que les piétons, les panneaux de signalisation et d'autres véhicules, en temps réel. Ce faisant, il peut aider à détecter des obstacles et à prévenir les accidents pour un trajet plus sûr.

Un exemple de détection d'objets sur une route.
Gestion des stocks pour les magasins de détail#
Identifier des objets sur les étagères dans les magasins de détail est une partie importante du suivi des stocks, du maintien des niveaux et de l'automatisation des processus. La capacité d'Ultralytics YOLO-World à reconnaître une grande variété d'objets sans étiquetage manuel ni pré-entraînement intensif est extrêmement utile pour la gestion des stocks.
Par exemple, dans la inventory management, YOLO-World peut repérer et catégoriser rapidement des articles sur une étagère, comme différentes marques de boissons énergisantes. Les magasins de détail peuvent tenir un inventaire précis, gérer efficacement les niveaux de stock et fluidifier les opérations de la chaîne d'approvisionnement.
Toutes ces applications sont uniques et montrent à quel point YOLO-World peut être utilisé de manière étendue. Ensuite, passons à la pratique avec YOLO-World et jetons un coup d'œil à un exemple de codage.
Une présentation du code#
Comme nous l'avons mentionné précédemment, YOLO-World peut être utilisé pour détecter différentes pièces d'une voiture pour l'entretien. Une application de vision par ordinateur qui détecte les réparations nécessaires impliquerait de prendre une photo de la voiture, d'identifier les pièces, d'examiner chaque pièce pour détecter des dommages, et de recommander des réparations. Chaque partie de ce système utiliserait différentes techniques et approches d'IA. Pour les besoins de cette présentation du code, concentrons-nous sur la partie où les pièces de voiture sont détectées.
Avec YOLO-World, tu peux identifier différentes pièces de voiture sur une image en moins de 5 minutes. Tu peux étendre ce code pour tester d'autres applications en utilisant également YOLO-World ! Pour commencer, nous devrons installer via pip le Ultralytics package comme indiqué ci-dessous.
Pour plus d'instructions et de bonnes pratiques concernant le processus d'installation, consulte notre guide Ultralytics Installation. Si tu rencontres des difficultés lors de l'installation des paquets requis pour YOLOv8, jette un œil à notre Common Issues guide pour trouver des solutions et des astuces.
Une fois le paquet nécessaire installé, nous pouvons télécharger une image depuis Internet pour exécuter nos inférences. Nous allons utiliser l'image ci-dessous.

Notre image d'entrée.
Ensuite, nous importerons le paquet nécessaire, initialiserons notre modèle et définirons les classes que nous recherchons dans notre image d'entrée. Ici, nous nous intéressons aux classes suivantes : voiture, roue, porte de voiture, rétroviseur et plaque d'immatriculation.
Nous utiliserons ensuite la méthode predict, en fournissant le chemin de l'image ainsi que les paramètres pour le nombre maximum de détections, et les seuils pour l'intersection sur union (IoU) et la confiance (conf) pour exécuter une inférence sur l'image. Enfin, les objets détectés sont enregistrés dans un fichier nommé 'result.jpg'.
L'image de sortie suivante sera enregistrée dans tes fichiers.

Notre image de sortie.
Si tu préfères voir ce que YOLO-World peut faire sans coder, tu peux aller sur la page de démo de YOLO-World, télécharger une image d'entrée et entrer les classes personnalisées.
Lis notre docs page on YOLO-World pour apprendre à enregistrer le modèle avec les classes personnalisées afin de pouvoir l'utiliser directement par la suite sans avoir à saisir de classes personnalisées de manière répétée.
As-tu remarqué que les portes de la voiture n'ont pas été détectées ?#
Si tu regardes à nouveau l'image de sortie, tu remarqueras que la classe personnalisée « porte de voiture » n'a pas été détectée. Malgré ses grandes réussites, YOLO-World a certaines limitations. Pour combattre ces limitations et utiliser efficacement le modèle YOLO-World, il est important d'utiliser les bons types de requêtes textuelles.
Voici quelques idées à ce sujet :
- YOLO-World peut ne pas avoir besoin de niveaux de confiance élevés pour des prédictions précises, donc réduire les seuils de confiance peut améliorer les taux de détection.
- Ajoute les classes qui ne t'intéressent pas. Cela aidera à améliorer la object detection principale en réduisant les faux positifs pour les objets secondaires.
- Détecter les objets plus grands en premier avant de se concentrer sur les petits détails peut améliorer la précision de la détection.
- Mentionne les couleurs dans tes classes pour détecter des objets basés sur des indices de couleur.
- Décrire les tailles des objets dans les requêtes peut aussi aider YOLO-World à identifier des objets spécifiques plus précisément.
- Les méthodes de post-traitement, telles que le filtrage des prédictions par taille ou l'ajustement des niveaux de confiance par classe, peuvent encore améliorer les résultats de la détection d'objets.
Les limites sont infinies#
Dans l'ensemble, les modèles YOLO-World peuvent devenir un outil puissant grâce à leurs capacités avancées de détection d'objets. Ils offrent une grande efficacité, une excellente précision et aident à automatiser différentes tâches à travers diverses applications, comme l'exemple de identifying car parts dont nous avons discuté en pratique.
N'hésite pas à explorer notre GitHub repository pour en savoir plus sur nos contributions à la vision par ordinateur et à l'IA. Si tu te demandes comment l'IA redéfinit des secteurs comme la technologie de la healthcare, consulte nos pages de solutions. Les possibilités offertes par des innovations telles que YOLO-World semblent infinies !






