Découvrez YOLO-World, un modèle de détection d'objets innovant capable d'identifier des objets à l'aide d'invites textuelles. Découvrez le fonctionnement de YOLO-World et ses applications, et mettez la main à la pâte avec un exemple de code rapide.

Découvrez YOLO-World, un modèle de détection d'objets innovant capable d'identifier des objets à l'aide d'invites textuelles. Découvrez le fonctionnement de YOLO-World et ses applications, et mettez la main à la pâte 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 31 janvier 2024, 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. YOLO-World est un modèle "zero-shot", ce qui signifie que vous pouvez effectuer des inférences de détection d'objets sur des images sans avoir à l'entraîner.
Les modèles zéro-coup ont le potentiel de changer la façon dont nous abordons 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 un texte décrivant les objets que vous recherchez au modèle YOLO-World. Par exemple, si vous souhaitez trouver "une personne portant une chemise rouge" sur une photo, YOLO-World prend en compte cette information et se met au travail.
L'architecture unique du modèle combine trois éléments principaux :
Le détecteur YOLO analyse votre image d'entrée pour identifier les objets potentiels. Le codeur de texte transforme votre description dans un format compréhensible par le modèle. Ces deux flux d'informations sont ensuite fusionnés par l'intermédiaire du RepVL-PAN au moyen d'une fusion multimodale. Cela permet à YOLO-World de détecter et de localiser précisément dans l'image les objets décrits dans votre message.
L'un des principaux avantages de l'utilisation de YOLO-World est qu'il n'est pas nécessaire d'entraîner le modèle pour une classe spécifique. Il a déjà appris à partir de paires d'images et de textes, et sait donc comment trouver des objets sur la base 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 liés à l'utilisation de YOLO-World :
Les modèles YOLO-World peuvent être utilisés pour une grande variété d'applications. Examinons-en quelques-unes.
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 entraîner des problèmes tels que des coûts élevés et la nécessité de procéder à des réparations ou à des rappels. Pour y remédier, des caméras de vision industrielle et des systèmes d'intelligence artificielle 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é formés à ce problème spécifique, grâce à leurs capacités d'analyse zéro. Par exemple, une usine fabriquant des bouteilles d'eau peut facilement distinguer une bouteille correctement fermée par un bouchon d'une bouteille dont le bouchon a été oublié ou défectueux grâce à YOLO-World.
Les modèles YOLO-World permettent aux robots d'interagir avec des environnements inconnus. Sans être formés aux objets spécifiques qui peuvent se trouver dans une pièce, ils peuvent néanmoins identifier les objets présents. Supposons qu'un robot entre dans une pièce où il n'a jamais mis les pieds auparavant. Avec un modèle YOLO-World, il peut reconnaître et identifier des objets tels que des chaises, des tables ou des lampes, même s'il n'a pas été spécifiquement formé à ces objets.
Outre la détection d'objets, YOLO-World peut également déterminer l'état de ces objets, grâce à sa fonction "demander puis détecter". Par exemple, dans le domaine de la robotique agricole , il peut être utilisé pour identifier les fruits mûrs et les fruits non mûrs en programmant le robot pour qu'il les détecte.
L'industrie automobile comporte de nombreux éléments mobiles, et YOLO-World peut être utilisé pour différentes applications automobiles. Par exemple, en ce qui concerne l'entretien des voitures, la capacité de YOLO-World à reconnaître une grande variété d'objets sans étiquetage manuel ni formation préalable approfondie est extrêmement utile. YOLO-World peut être utilisé pour identifier les pièces de voiture qui doivent être remplacées. Il pourrait même automatiser des tâches telles que les contrôles de qualité, en repérant les défauts ou les pièces manquantes dans les voitures neuves.
Une autre application est la détection d'objets en plan zéro dans les voitures autonomes. Les capacités de détection sans prise de vue 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 trajet plus sûr.
L'identification des objets sur les étagères des magasins de détail est un élément important du suivi des stocks, de la gestion 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 ni formation préalable approfondie est extrêmement utile pour la gestion des stocks.
Par exemple, dans le cadre de la gestion des stocks, YOLO-World peut rapidement repérer et classer les articles sur une étagère, comme les différentes marques de boissons énergisantes. Les magasins de détail peuvent tenir des inventaires précis, gérer efficacement les niveaux de stock et faciliter les opérations de la chaîne d'approvisionnement.
Toutes les applications sont uniques et montrent à quel point YOLO-World peut être utilisé. Passons maintenant à la pratique avec YOLO-World et examinons un exemple de codage.
Comme nous l'avons mentionné précédemment, YOLO-World peut être utilisé pour détecter les différentes parties d'une voiture à entretenir. Une application de vision par ordinateur qui détecte les réparations nécessaires impliquerait de prendre une photo de la voiture, d'en identifier les pièces, d'examiner chaque partie de la voiture pour y déceler des dommages et de recommander des réparations. Chaque partie de ce système utilise différentes techniques et approches d'intelligence artificielle. Pour les besoins de ce code, nous nous concentrerons sur la partie où les pièces de la voiture sont détectées.
Avec YOLO-World, vous pouvez identifier les différentes pièces d'une voiture sur une image en moins de 5 minutes. Vous pouvez étendre ce code pour tester différentes applications en utilisant YOLO-World également ! Pour commencer, nous devons installer le paquet Ultralytics comme indiqué ci-dessous.
Pour plus d'instructions et de bonnes pratiques liées au processus d'installation, consultez notre guide d'installation d'Ultralytics. Pendant l'installation des paquets requis pour YOLOv8, si vous rencontrez des difficultés, jetez un coup d'œil à notre guide des problèmes courants pour trouver des solutions et des conseils.
Une fois que vous avez installé le paquetage nécessaire, nous pouvons télécharger une image à partir d'Internet pour exécuter nos inférences. Nous allons utiliser l'image ci-dessous.
Ensuite, nous allons importer le paquetage nécessaire, initialiser notre modèle et définir les classes que nous recherchons dans notre image d'entrée. Ici, nous nous intéressons aux classes suivantes : voiture, roue, porte, rétroviseur et plaque d'immatriculation.
Nous utiliserons ensuite la méthode de prédiction, 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 l'union (IoU) et la confiance (conf) afin d'effectuer 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 codage, vous pouvez vous rendre sur la page de démonstration de YOLO-World, télécharger une image d'entrée et entrer les classes personnalisées.
Lisez notre page de documentation sur YOLO-World pour savoir comment sauvegarder le modèle avec les classes personnalisées afin de pouvoir l'utiliser directement par la suite sans avoir à entrer les classes personnalisées à plusieurs reprises.
Si vous regardez à nouveau l'image de sortie, vous remarquerez que la classe personnalisée "porte de voiture" n'a pas été détectée. Malgré ses grandes réalisations, YOLO-World a certaines limites. Pour les surmonter et utiliser efficacement le modèle YOLO-World, il est important d'utiliser les bons types 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é et une grande précision, et permettent d'automatiser différentes tâches dans diverses applications, comme l'exemple de l'identification des pièces de voiture que nous avons pratiquement abordé.
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 des soins de santé , consultez nos pages consacrées aux solutions. Les possibilités offertes par des innovations telles que YOLO-World semblent infinies !