Découvre YOLO-World, un modèle innovant de détection d'objets qui permet d'identifier des objets à l'aide d'invites textuelles. Explore le fonctionnement de YOLO-World et ses applications, et mets-toi à l'œuvre 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'intelligence artificielle 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 à zéro coup, ce qui signifie que tu peux effectuer des déductions de détection d'objets sur des images sans avoir à l'entraîner.
Les modèles de prise de vue zéro ont le potentiel de changer la façon dont nous abordons les applications de vision par ordinateur. Dans ce blog, nous explorerons le fonctionnement de YOLO-World et ses utilisations potentielles, et nous partagerons un exemple de code pratique pour te permettre de commencer.
Tu peux transmettre une image et un texte décrivant les objets que tu cherches au modèle YOLO-World. Par exemple, si tu souhaites trouver "une personne portant une chemise rouge" sur une photo, YOLO-World prend en compte ces informations et se met au travail.
L'architecture unique du modèle combine trois éléments principaux :
Le détecteur YOLO scanne ton image d'entrée pour identifier les objets potentiels. Le codeur de texte transforme ta description dans un format que le modèle peut comprendre. Ces deux flux d'informations sont ensuite fusionnés par le RepVL-PAN à l'aide d'une fusion multimodale. Cela permet à YOLO-World de détecter et de localiser avec précision les objets décrits dans ton message dans l'image.
L'un des plus grands avantages de l'utilisation de YOLO-World est que tu n'as 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 se basant sur des descriptions. Tu peux ainsi é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 :
YOLO-Les modèles du monde peuvent être utilisés pour une grande variété d'applications. Explorons-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 de les emballer. La détection des défauts se fait souvent à 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 spéciales de vision industrielle et des systèmes d'intelligence artificielle ont été créés pour effectuer ces contrôles.
YOLO-Les modèles du monde entier représentent un grand progrès 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 en utilisant leurs capacités de tir à zéro. Par exemple, une usine qui fabrique des bouteilles d'eau peut facilement identifier une bouteille correctement fermée par un bouchon par rapport à une bouteille dont le bouchon a été oublié ou défectueux grâce à YOLO-World.
YOLO-Les modèles du monde permettent aux robots d'interagir avec des environnements inconnus. Sans être formés sur les objets spécifiques qui peuvent se trouver dans une pièce, ils peuvent tout de même identifier les objets présents. Imaginons 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.
En plus de la détection d'objets, YOLO-World peut également déterminer l'état de ces objets, grâce à sa fonction "prompt-then-detect". Par exemple, dans le domaine de 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 qu'il les détecte.
L'industrie automobile comporte de nombreuses pièces 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 autopilotées. YOLO-Les capacités de détection en plan zéro de -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 de l'inventaire, de la gestion des stocks et de l'automatisation des processus. Ultralytics YOLO-La capacité de -World à reconnaître une grande variété d'objets sans étiquetage manuel ni formation préalable poussée 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 un inventaire 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é. Ensuite, nous allons mettre la main à la pâte avec YOLO-World et examiner un exemple de codage.
Comme nous l'avons déjà mentionné, 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'identifier les pièces de la voiture, d'examiner chaque partie de la voiture pour voir si elle est endommagée 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, concentrons-nous sur la partie où les pièces de la voiture sont détectées.
Avec YOLO-World, tu peux identifier les différentes pièces d'une voiture sur une image en moins de 5 minutes. Tu peux aussi étendre ce code pour tester différentes applications à l'aide de YOLO-World ! Pour commencer, nous devons installer le paquetageUltralytics comme indiqué ci-dessous.
Pour plus d'instructions et de bonnes pratiques concernant le processus d'installation, consulte notre guide d'installationUltralytics . Pendant l'installation des paquets requis pour YOLOv8, si tu rencontres des difficultés, jette un coup d'œil à notre guide des problèmes courants pour trouver des solutions et des conseils.
Une fois que tu as installé le paquetage nécessaire, nous pouvons télécharger une image sur 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 de voiture, rétroviseur de voiture 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 tes fichiers.
Si tu préfères voir ce que YOLO-World peut faire sans codage, tu peux aller sur la page de démonstration deYOLO -World, télécharger une image d'entrée et entrer les classes personnalisées.
Lis 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 plus tard sans avoir à entrer les classes personnalisées à plusieurs reprises.
Si tu jettes à nouveau un coup d'œil à 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éalisations, YOLO-World a certaines limites. Pour combattre ces limites 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 dont nous avons pratiquement discuté.
N'hésite pas à explorer notre dépôt GitHub pour en savoir plus sur nos contributions à la vision par ordinateur et à l'IA. Si tu es curieux de savoir comment l'IA remodèle des secteurs comme les technologies de la santé , consulte nos pages sur les solutions. Les possibilités offertes par des innovations comme YOLO-World semblent infinies !
Commence ton voyage avec le futur de l'apprentissage automatique.