Prendre en main YOLO-World
Découvre YOLO-World, un modèle de détection d’objets à vocabulaire ouvert et en temps réel qui repère les objets à partir d’instructions textuelles, ainsi que ses applications et un exemple de code rapide.
Abirami Vina9 min de lecture
Les projets de vision par ordinateur nécessitent souvent beaucoup de temps pour annoter les données et entraîner des modèles de détection d’objets. Mais cela pourrait bientôt changer. Le laboratoire d’IA de Tencent a publié YOLO-World, un modèle de détection d’objets à vocabulaire ouvert en temps réel, le 31 janvier 2024. YOLO-World est un modèle zero-shot, ce qui signifie que tu peux lancer l’inférence de détection d’objets sur des images sans avoir à l’entraîner.
Les modèles zero-shot pourraient changer notre façon d’aborder les applications de vision par ordinateur. Dans cet article, nous allons voir comment fonctionne YOLO-World, explorer ses utilisations possibles et te proposer un exemple de code pratique pour démarrer.
Aperçu de YOLO-World#
Tu peux fournir au modèle YOLO-World une image et une invite textuelle décrivant les objets recherchés. Par exemple, si tu veux trouver « une personne portant une chemise rouge » dans une photo, YOLO-World reçoit 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, qui analyse le contenu visuel de l’image.
- Un encodeur de texte préentraîné par CLIP d’OpenAI, spécialement conçu pour comprendre ton prompt textuel.
- Un réseau, le réseau d’agrégation de chemins vision-langage reparamétrable (RepVL-PAN), qui intègre les données d’image traitées aux données textuelles.
Le détecteur YOLO analyse l’image fournie pour repérer les objets potentiels. L’encodeur de texte transforme ta description en un format compréhensible par le modèle. Ces deux flux d’informations sont ensuite fusionnés par RepVL-PAN grâce à une fusion multimodale à plusieurs niveaux. YOLO-World peut ainsi détecter et localiser avec précision, dans l’image, les objets décrits dans ton invite.

Exemple de résultats de YOLO-World.
Avantages de YOLO-World#
L’un des principaux avantages de YOLO-World, c’est que tu n’as pas besoin d’entraîner le modèle pour une classe précise. Il a déjà appris à partir de paires d’images et de textes, et sait donc trouver des objets à partir de descriptions. Tu peux ainsi éviter des heures de collecte et d’annotation de données, ainsi que l’entraînement sur des GPU coûteux.
Voici d’autres avantages de YOLO-World :
- Performances en temps réel - YOLO-World offre des performances en temps réel, tout comme l’architecture YOLO d’origine. Il convient parfaitement aux applications qui nécessitent une détection immédiate des objets, comme les véhicules autonomes et les systèmes de surveillance.
- Segmentation d’instances – La version originale de YOLO-World comprend des variantes de segmentation ; dans le package Ultralytics, YOLO-World effectue la détection, et YOLOE ajoute la segmentation d’instances à vocabulaire ouvert.
- Efficacité - YOLO-World associe une grande précision à une faible charge de calcul, ce qui le rend adapté aux applications du monde réel. Son architecture rationalisée permet de détecter rapidement les objets sans solliciter excessivement la puissance de calcul.
Applications de YOLO-World#
Les modèles YOLO-World peuvent servir à une grande variété d’applications. Découvrons-en quelques-unes.
Contrôle qualité dans la fabrication#
Les produits fabriqués sur une chaîne de montage font l’objet d’une inspection visuelle pour repérer les défauts avant leur emballage. Cette détection des défauts est souvent réalisée manuellement, ce qui prend du temps et peut entraîner des erreurs. Ces erreurs peuvent occasionner des problèmes comme des coûts élevés et la nécessité de réparations ou de rappels. Pour y remédier, des caméras spécialisées de vision industrielle et des systèmes d’IA ont été conçus pour effectuer ces contrôles.
Les modèles YOLO-World représentent une avancée majeure dans ce domaine. Grâce à leurs capacités zero-shot, ils peuvent repérer des défauts dans des produits même s’ils n’ont pas été entraînés pour ce problème précis. Par exemple, une usine qui fabrique des bouteilles d’eau peut utiliser YOLO-World pour distinguer une bouteille correctement scellée avec un bouchon d’une bouteille dont le bouchon est absent ou défectueux.

Exemple d’inspection de bouchons de bouteille.
Robotique#
Les modèles YOLO-World permettent aux robots d’interagir avec des environnements inconnus. Même sans avoir été entraînés sur les objets susceptibles de se trouver dans une pièce, ils peuvent repérer les objets présents. Imaginons qu’un robot entre dans une pièce où il n’est jamais allé. Grâce à un modèle YOLO-World, il peut tout de même 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 objets.
En plus de détecter les objets, YOLO-World peut aussi déterminer leur état grâce à sa fonctionnalité « inviter puis détecter ». Par exemple, en robotique agricole, il peut servir à distinguer les fruits mûrs des fruits qui ne le sont pas, en programmant le robot pour les détecter.
L’IA dans l’industrie automobile#
L’industrie automobile comporte de nombreux éléments 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 approfondi est très utile. YOLO-World peut servir à identifier les pièces automobiles à remplacer. Il pourrait même automatiser des tâches comme les contrôles qualité en repérant les défauts ou les pièces manquantes sur les voitures neuves.
La détection d’objets zero-shot dans les voitures autonomes constitue une autre application. Les capacités de détection zero-shot de YOLO-World peuvent améliorer l’aptitude d’un véhicule autonome à détecter et à classer en temps réel les objets sur la route, comme les piétons, les panneaux de signalisation et les autres véhicules. Il peut ainsi contribuer à repérer les obstacles et à prévenir les accidents pour des trajets plus sûrs.

Exemple de détection d’objets sur une route.
Gestion des stocks des commerces de détail#
L’identification des objets sur les rayons des magasins est essentielle pour suivre les stocks, maintenir les niveaux d’inventaire et automatiser les processus. La détection à vocabulaire ouvert d’Ultralytics YOLO-World est également utile pour la gestion des stocks.
Par exemple, pour la gestion des stocks, YOLO-World peut repérer et catégoriser rapidement les articles en rayon, comme différentes marques de boissons énergisantes. Les commerces de détail peuvent ainsi 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 différentes et montrent l’étendue des possibilités offertes par YOLO-World. Passons maintenant à la pratique avec YOLO-World et découvrons un exemple de code.
Parcours du code#
Comme nous l’avons mentionné, YOLO-World peut détecter différentes pièces d’une voiture pour en faciliter l’entretien. Une application de vision par ordinateur destinée à repérer les réparations nécessaires consisterait à prendre une photo de la voiture, à identifier ses pièces, à examiner chacune d’elles pour détecter les dommages et à recommander des réparations. Chaque composant de ce système ferait appel à différentes techniques et approches d’IA. Pour ce parcours du code, concentrons-nous sur la détection des pièces automobiles.
Avec YOLO-World, tu peux identifier différentes pièces automobiles dans une image en moins de 5 minutes. Tu peux aussi étendre ce code pour tester différentes applications avec YOLO-World ! Pour commencer, nous devons installer le package Ultralytics avec pip, comme indiqué ci-dessous.
pip install ultralyticsPour obtenir davantage d’instructions et de bonnes pratiques sur le processus d’installation, consulte notre guide Installation d’Ultralytics. Si tu rencontres des difficultés lors de l’installation des packages nécessaires à YOLOv8, consulte notre guide des problèmes courants, qui propose des solutions et des conseils.
Une fois le package nécessaire installé, nous pouvons télécharger une image depuis Internet pour y effectuer nos inférences. Nous allons utiliser l’image ci-dessous.

Notre image d’entrée.
Nous allons ensuite importer le package nécessaire, initialiser notre modèle et définir les classes recherchées dans l’image d’entrée. Dans cet exemple, nous nous intéressons aux classes suivantes : voiture, roue, portière, rétroviseur et plaque d’immatriculation.
Nous utiliserons ensuite la méthode predict en lui fournissant le chemin de l’image, ainsi que les paramètres du nombre maximal de détections et les seuils d’intersection sur l’union (IoU) et de confiance (conf), afin d’exécuter l’inférence sur l’image. Enfin, les objets détectés sont enregistrés dans un fichier nommé result.jpg.
from ultralytics import YOLOWorld
# Initialiser un modèle YOLO-World
model = YOLOWorld("yolov8s-worldv2.pt")
# Définir les classes personnalisées à détecter
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])
# Exécuter l’inférence avec un nombre maximal de détections et des seuils d’IoU et de confiance
results = model.predict("path/to/image.jpg", max_det=100, iou=0.5, conf=0.25)
# Enregistrer le résultat annoté
results[0].save("result.jpg")L’image de sortie suivante sera enregistrée dans tes fichiers.

Notre image de sortie.
Si tu préfères découvrir ce que YOLO-World peut faire sans coder, tu peux te rendre sur la page de démonstration de YOLO-World, téléverser une image d’entrée et saisir les classes personnalisées.
Consulte notre page de documentation sur YOLO-World pour apprendre à enregistrer le modèle avec les classes personnalisées afin de pouvoir le réutiliser directement plus tard, sans avoir à saisir ces classes à chaque fois.
Tu as remarqué que les portières n’ont pas été détectées ?#
Si tu regardes à nouveau l’image de sortie, tu verras que la classe personnalisée « portière » n’a pas été détectée. Malgré ses grandes avancées, YOLO-World présente certaines limites. Pour les contourner et utiliser efficacement le modèle YOLO-World, il est important d’employer les bons types d’invites textuelles.
Voici quelques conseils :
- YOLO-World n’a peut-être pas besoin de niveaux de confiance élevés pour produire des prédictions précises. Réduire les seuils de confiance peut donc améliorer les taux de détection.
- Ajoute les classes qui ne t’intéressent pas. Cela aidera à améliorer la détection des objets principaux en réduisant les faux positifs pour les objets secondaires.
- Détecter d’abord les objets les plus grands, puis se concentrer sur les détails plus petits, peut améliorer la précision de détection.
- Précise les couleurs dans tes classes pour détecter les objets à partir d’indices de couleur.
- Décrire la taille des objets dans les invites peut également aider YOLO-World à identifier plus précisément des objets spécifiques.
- Les méthodes de post-traitement, comme le filtrage des prédictions par taille ou l’ajustement des niveaux de confiance pour chaque classe, peuvent encore améliorer les résultats de détection d’objets.
Les possibilités sont infinies#
Dans l’ensemble, les modèles YOLO-World peuvent devenir des outils puissants grâce à leurs capacités avancées de détection d’objets. Ils offrent une grande efficacité et une excellente précision, et contribuent à automatiser différentes tâches dans de nombreuses applications, comme l’exemple de l’identification des pièces automobiles que nous avons présenté en pratique.
N’hésite pas à parcourir notre dépôt GitHub pour en savoir plus sur nos contributions à la vision par ordinateur et à l’IA. Si tu veux découvrir comment l’IA transforme des secteurs comme les technologies de la santé, consulte nos pages de solutions. YOLO-World ouvre de nombreuses possibilités inédites pour l’IA visuelle.
Écrit par
Commentaires
Pose une question, partage tes résultats ou aide quelqu’un.










