Découvrez YOLO, 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 et ses applications, et mettez la main à la pâte avec un exemple de code rapide.

Découvrez YOLO, 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 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, un modèle de détection d'objets en temps réel et à vocabulaire ouvert. YOLO 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 et ses utilisations potentielles, et partager un exemple de code pratique pour vous aider à démarrer.
Vous pouvez transmettre au modèle YOLO une image et un texte décrivant les objets que vous recherchez. Par exemple, si vous souhaitez trouver "une personne portant une chemise rouge" sur une photo, YOLO 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 detect 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 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
Les modèles YOLO 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 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 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.

Les modèles YOLO 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, 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 peut également déterminer l'état de ces objets, grâce à sa fonction "demander detect 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 detect .
L'industrie automobile comporte de nombreux éléments mobiles, et YOLO peut être utilisé pour différentes applications automobiles. Par exemple, en ce qui concerne l'entretien des voitures, la capacité de YOLO à reconnaître une grande variété d'objets sans étiquetage manuel ni formation préalable approfondie est extrêmement utile. YOLO 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 peuvent améliorer la capacité d'un véhicule autonome à detect et à classify 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 à detect 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 à 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 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 peut être utilisé. Passons maintenant à la pratique avec YOLO et examinons un exemple de codage.
Comme nous l'avons mentionné précédemment, YOLO peut être utilisé pour detect 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, 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 également ! Pour commencer, nous devons installer le paquetUltralytics 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 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 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'unionIoU 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 peut faire sans codage, vous pouvez vous rendre sur la page de démonstration de YOLO, télécharger une image d'entrée et entrer les classes personnalisées.
Lisez notre page de documentation sur YOLO 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 a certaines limites. Pour les surmonter et utiliser efficacement le modèle YOLO, il est important d'utiliser les bons types d'invites textuelles.
Voici quelques informations à ce sujet :
Dans l'ensemble, les modèles YOLO 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 semblent infinies !