Découvrez YOLO-World, un modèle innovant de détection d’objets capable d’identifier des objets via des invites textuelles. Explorez le fonctionnement de YOLO-World et ses applications, et familiarisez-vous avec un exemple de code rapide.

Découvrez YOLO-World, un modèle innovant de détection d’objets capable d’identifier des objets via des invites textuelles. Explorez le fonctionnement de YOLO-World et ses applications, et familiarisez-vous 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 détection d'objets. Mais cela pourrait bientôt appartenir 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 vous pouvez 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 façon d'aborder les applications de vision par ordinateur. Dans ce blog, nous allons explorer le fonctionnement de YOLO-World et ses utilisations potentielles, et partager un exemple de code pratique pour vous aider à démarrer.
Vous pouvez transmettre une image et une invite textuelle décrivant les objets que vous recherchez via le modèle YOLO-World. Par exemple, si vous souhaitez trouver "une personne portant une chemise rouge" sur une photo, YOLO-World prend cette entrée et se met au travail.
L'architecture unique du modèle combine trois éléments principaux :
Le détecteur YOLO scanne votre image d'entrée pour identifier les objets potentiels. L'encodeur de texte transforme votre 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 la fusion inter-modalités multi-niveaux. Cela permet à YOLO-World de détecter et de localiser précisément les objets décrits dans votre invite au sein de l'image.

L'un des principaux avantages de l'utilisation de YOLO-World est que vous n'avez pas besoin d'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 en fonction de descriptions. Vous pouvez éviter des heures de collecte de données, d'annotation de données, d'entraînement sur des GPU coûteux, etc.
Voici d'autres avantages de l'utilisation de YOLO-World :
Les modèles YOLO-World peuvent être utilisés pour une grande variété d'applications. Explorons quelques-unes d'entre elles.
Les produits fabriqués sur une chaîne de montage sont contrôlés visuellement pour détecter les défauts avant d'être emballés. 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 aider à cela, 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 représentent une avancée importante dans ce domaine. Ils peuvent trouver des défauts dans les produits, même lorsqu'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 fabriquant des bouteilles d'eau peut facilement identifier une bouteille correctement scellée avec un bouchon par rapport à une bouteille où un bouchon a été oublié ou est défectueux en utilisant YOLO-World.

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 peuvent se trouver dans une pièce, ils peuvent toujours identifier les objets présents. Ainsi, disons qu'un robot entre dans une pièce où il n'est jamais entré 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, dans la robotique agricole, il peut être utilisé pour identifier les fruits mûrs par rapport aux fruits non mûrs en programmant le robot pour les détecter.
L'industrie automobile implique de nombreuses pièces mobiles, et YOLO-World peut être utilisé pour différentes applications automobiles. Par exemple, en ce qui concerne l'entretien automobile, la capacité de YOLO-World à reconnaître une grande variété d'objets sans étiquetage manuel ou pré-entraînement extensif est extrêmement utile. YOLO-World peut être utilisé pour identifier les pièces automobiles qui doivent être remplacées. Il pourrait même automatiser des tâches telles que les contrôles de qualité, la détection des défauts ou des pièces manquantes dans les nouvelles voitures.
Une autre application est la détection d'objets zero-shot dans les voitures autonomes. Les capacités de détection zero-shot de YOLO-World peuvent améliorer la capacité d'un véhicule autonome à détecter et à classer les objets sur la route, tels que les piétons, les panneaux de signalisation et les autres véhicules, en temps réel. Ce faisant, il peut aider à détecter les obstacles et à prévenir les accidents pour un voyage plus sûr.

L'identification des objets sur les étagères dans les magasins de détail est un élément important du suivi des stocks, du maintien des stocks et de l'automatisation des processus. La capacité d'Ultralytics YOLO-World à reconnaître une grande variété d'objets sans étiquetage manuel ou pré-entraînement extensif est extrêmement utile pour la gestion des stocks.
Par exemple, dans la gestion des stocks, YOLO-World peut rapidement repérer et catégoriser les articles sur une étagère, tels que 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é. Ensuite, passons à la pratique avec YOLO-World et jetons un coup d'œil à un exemple de codage.
Comme mentionné précédemment, YOLO-World peut être utilisé pour détecter différentes parties d'une voiture à des fins de maintenance. 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 automobiles, d'examiner chaque pièce de la voiture pour détecter les 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 automobiles sont détectées.
Avec YOLO-World, vous pouvez identifier différentes pièces automobiles dans une image en moins de 5 minutes. Vous pouvez étendre ce code pour essayer différentes applications en utilisant également YOLO-World ! Pour commencer, nous devrons installer le package Ultralytics via pip, comme indiqué ci-dessous.
Pour plus d'instructions et de bonnes pratiques concernant le processus d'installation, consultez notre guide d'Installation Ultralytics. Si vous rencontrez des difficultés lors de l'installation des packages requis pour YOLOv8, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.
Une fois que vous avez installé le package nécessaire, nous pouvons télécharger une image depuis Internet pour exécuter nos inférences. Nous allons utiliser l'image ci-dessous.

Ensuite, nous importerons le package nécessaire, initialiserons notre modèle et définirons les classes que nous recherchons dans notre image d'entrée. Ici, nous sommes intéressés par les classes suivantes : voiture, roue, portière de voiture, rétroviseur de voiture et plaque d'immatriculation.
Nous utiliserons ensuite la méthode predict, en fournissant le chemin d'accès à l'image ainsi que les paramètres pour le nombre maximal de détections, et les seuils pour l'intersection sur l'union (IoU) et la confiance (conf) afin d'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 vos fichiers.

Si vous préférez voir ce que YOLO-World peut faire sans coder, vous pouvez vous rendre sur la page de démonstration de YOLO-World, télécharger une image d'entrée et saisir les classes personnalisées.
Consultez notre page de documentation sur YOLO-World pour savoir comment enregistrer le modèle avec les classes personnalisées afin qu'il puisse être utilisé directement plus tard sans avoir à saisir les classes personnalisées à plusieurs reprises.
Si vous regardez à nouveau l'image de sortie, vous remarquerez que la classe personnalisée « portière de voiture » n'a pas été détectée. Malgré ses grandes réalisations, YOLO-World a certaines limites. Pour lutter contre ces limitations et utiliser efficacement le modèle YOLO-World, il est important d'utiliser les types corrects d'invites textuelles.
Voici quelques informations à ce sujet :
Dans l'ensemble, les modèles YOLO-World peuvent être transformés en un outil puissant grâce à leurs capacités avancées de détection d'objets. Ils offrent une grande efficacité, une grande précision et aident à automatiser différentes tâches dans diverses applications, comme l'exemple de l'identification des pièces automobiles dont nous avons discuté concrètement.
N'hésitez pas à explorer notre dépôt GitHub pour en savoir plus sur nos contributions à la vision par ordinateur et à l'IA. Si vous êtes curieux de savoir comment l'IA remodèle des secteurs tels que la technologie de la santé, consultez nos pages de solutions. Les possibilités offertes par des innovations comme YOLO-World semblent infinies !