Roboflow
Roboflow possède tout ce dont tu as besoin pour construire et déployer des modèles de vision artificielle. Connecte Roboflow à n'importe quelle étape de ton pipeline grâce aux API et aux SDK, ou utilise l'interface de bout en bout pour automatiser l'ensemble du processus, de l'image à l'inférence. Que tu aies besoin d'étiqueter des données, d'entraîner des modèles ou de les déployer, Roboflow te donne les éléments de base pour apporter des solutions de vision par ordinateur personnalisées à ton projet.
Licence
Ultralytics propose deux options de licence :
- La licenceAGPL-3.0 , une licence open-source approuvée par l'OSI, idéale pour les étudiants et les passionnés.
- La licence Entreprise pour les entreprises qui cherchent à intégrer nos modèles d'IA dans leurs produits et services.
Pour plus de détails, voir Ultralytics Licences.
Dans ce guide, nous allons montrer comment trouver, étiqueter et organiser les données pour les utiliser dans la formation d'un modèle personnalisé Ultralytics YOLOv8 . Utilise la table des matières ci-dessous pour accéder directement à une section spécifique :
- Recueille des données pour former un modèle personnalisé YOLOv8
- Télécharger, convertir et étiqueter les données pour le format YOLOv8
- Prétraiter et augmenter les données pour assurer la robustesse du modèle
- Gestion des ensembles de données pour YOLOv8
- Exporte les données dans plus de 40 formats pour l'entraînement des modèles
- Télécharge les poids des modèles personnalisés YOLOv8 pour les tester et les déployer.
- Rassembler des données pour former un modèle personnalisé YOLOv8
Roboflow fournit deux services qui peuvent t'aider à collecter des données pour les modèles YOLOv8 : Univers et Collect.
Universe est un référentiel en ligne qui contient plus de 250 000 ensembles de données de vision totalisant plus de 100 millions d'images.
Avec un compte Roboflow gratuit, tu peux exporter n'importe quel jeu de données disponible sur Universe. Pour exporter un jeu de données, clique sur le bouton "Télécharger ce jeu de données" sur n'importe quel jeu de données.
Pour YOLOv8, sélectionne "YOLOv8" comme format d'exportation :
Universe dispose également d'une page qui regroupe tous les modèles YOLOv8 affinés publics téléchargés sur Roboflow. Tu peux utiliser cette page pour explorer des modèles pré-entraînés que tu peux utiliser pour des tests ou pour l'étiquetage automatisé des données ou pour créer des prototypes avec l'inférenceRoboflow .
Si tu veux recueillir des images toi-même, essaie Collect, un projet open source qui te permet de recueillir automatiquement des images à l'aide d'une webcam sur le bord. Tu peux utiliser des messages-guides sous forme de texte ou d'image avec Collect pour indiquer quelles données doivent être collectées, ce qui te permet de ne capturer que les données utiles dont tu as besoin pour construire ton modèle de vision.
Télécharger, convertir et étiqueter les données pour le format YOLOv8
Roboflow Annotate est un outil d'annotation en ligne qui permet d'étiqueter les images pour la détection, la classification et la segmentation des objets.
Pour étiqueter les données d'un modèle de détection d'objet, de segmentation d'instance ou de classification YOLOv8 , crée d'abord un projet dans Roboflow.
Ensuite, télécharge tes images et toutes les annotations préexistantes provenant d'autres outils(en utilisant l'un des 40+ formats d'importation pris en charge) dans Roboflow.
Sélectionne le lot d'images que tu as téléchargé sur la page Annoter à laquelle tu es conduit après avoir téléchargé des images. Puis, clique sur "Commencer à annoter" pour étiqueter les images.
Pour étiqueter avec des boîtes de délimitation, appuie sur la touche B
de ton clavier ou clique sur l'icône de la boîte dans la barre latérale. Clique sur un point où tu veux commencer ta boîte de délimitation, puis fais glisser pour créer la boîte :
Un pop-up apparaîtra pour te demander de sélectionner une classe pour ton annotation une fois que tu auras créé une annotation.
Pour Ă©tiqueter avec des polygones, appuie sur la touche P
de ton clavier, ou l'icône de polygone dans la barre latérale. Lorsque l'outil d'annotation polygonale est activé, clique sur des points individuels de l'image pour dessiner un polygone.
Roboflow propose un assistant d'étiquetage basé sur SAM qui te permet d'étiqueter des images plus rapidement que jamais. SAM (Segment Anything Model) est un modèle de vision par ordinateur de pointe qui permet d'étiqueter les images avec précision. Avec SAM, tu peux accélérer considérablement le processus d'étiquetage des images. Annoter des images avec des polygones devient aussi simple que quelques clics, au lieu du processus fastidieux qui consiste à cliquer précisément des points autour d'un objet.
Pour utiliser l'assistant d'étiquetage, clique sur l'icône du curseur dans la barre latérale, SAM sera chargé pour être utilisé dans ton projet.
Passe le curseur sur n'importe quel objet de l'image et SAM te recommandera une annotation. Tu peux survoler pour trouver le bon endroit à annoter, puis cliquer pour créer ton annotation. Pour modifier ton annotation et la rendre plus ou moins spécifique, tu peux cliquer à l'intérieur ou à l'extérieur de l'annotation que SAM a créée sur le document.
Tu peux également ajouter des balises aux images à partir du panneau des balises dans la barre latérale. Tu peux appliquer des balises à des données provenant d'une zone particulière, prises à partir d'un appareil photo spécifique, et plus encore. Tu peux ensuite utiliser ces étiquettes pour rechercher dans les données les images correspondant à une étiquette et générer des versions d'un ensemble de données avec des images qui contiennent une étiquette particulière ou un ensemble d'étiquettes.
Les modèles hébergés sur Roboflow peuvent être utilisés avec Label Assist, un outil d'annotation automatique qui utilise ton modèle YOLOv8 pour recommander des annotations. Pour utiliser Label Assist, télécharge d'abord un modèle YOLOv8 sur Roboflow (voir les instructions plus loin dans le guide). Ensuite, clique sur l'icône de la baguette magique dans la barre latérale gauche et sélectionne ton modèle pour l'utiliser dans Label Assist.
Choisis un modèle, puis clique sur "Continuer" pour activer l'assistance à l'étiquetage :
Lorsque tu ouvres de nouvelles images à annoter, Label Assist déclenche et recommande des annotations.
Gestion des ensembles de données pour YOLOv8
Roboflow fournit une suite d'outils pour comprendre les ensembles de données de vision par ordinateur.
Tout d'abord, tu peux utiliser la recherche d'ensembles de données pour trouver des images qui répondent à une description sémantique (c'est-à -dire trouver toutes les images qui contiennent des personnes), ou qui répondent à une étiquette spécifiée (c'est-à -dire que l'image est associée à un tag spécifique). Pour utiliser la recherche de jeux de données, clique sur "Jeux de données" dans la barre latérale. Saisis ensuite une requête de recherche à l'aide de la barre de recherche et des filtres associés en haut de la page.
Par exemple, la requête textuelle suivante permet de trouver des images qui contiennent des personnes dans un ensemble de données :
Tu peux restreindre ta recherche aux images comportant un tag particulier en utilisant le sélecteur "Tags" :
Avant de commencer à former un modèle avec ton jeu de données, nous te recommandons d'utiliser Roboflow Health Check, un outil Web qui donne un aperçu de ton jeu de données et de la façon dont tu peux l'améliorer avant de former un modèle de vision.
Pour utiliser le bilan de santé, clique sur le lien "Bilan de santé" dans la barre latérale. Une liste de statistiques apparaîtra, indiquant la taille moyenne des images de ton jeu de données, l'équilibre des classes, une carte thermique de l'emplacement des annotations dans tes images, et bien plus encore.
Le bilan de santé peut recommander des changements pour améliorer les performances du jeu de données. Par exemple, la fonction d'équilibre des classes peut montrer qu'il y a un déséquilibre dans les étiquettes qui, s'il est résolu, peut augmenter les performances ou ton modèle.
Exporter les données dans plus de 40 formats pour la formation au modèle
Pour exporter tes données, tu auras besoin d'une version du jeu de données. Une version est un état de ton jeu de données figé dans le temps. Pour créer une version, clique d'abord sur "Versions" dans la barre latérale. Ensuite, clique sur le bouton "Créer une nouvelle version". Sur cette page, tu pourras choisir les augmentations et les étapes de prétraitement à appliquer à ton jeu de données :
Pour chaque augmentation que tu sélectionnes, une fenêtre contextuelle apparaît pour te permettre de régler l'augmentation en fonction de tes besoins. Voici un exemple de réglage d'une augmentation de la luminosité selon des paramètres précis :
Lorsque la version de ton jeu de données a été générée, tu peux exporter tes données dans différents formats. Clique sur le bouton "Exporter le jeu de données" sur la page de la version de ton jeu de données pour exporter tes données :
Tu es maintenant prêt à entraîner YOLOv8 sur un ensemble de données personnalisé. Suis ce guide écrit et cette vidéo YouTube pour obtenir des instructions étape par étape ou reporte-toi à la documentation deUltralytics .
Télécharger les poids des modèles personnalisés YOLOv8 pour les tester et les déployer
Roboflow propose une API évolutive à l'infini pour les modèles déployés et des SDK à utiliser avec les Jetsons de NVIDIA, les OAK de Luxonis, les Raspberry Pis, les appareils basés sur le GPU, et bien plus encore.
Tu peux déployer les modèles YOLOv8 en téléchargeant les poids YOLOv8 sur Roboflow. Tu peux le faire en quelques lignes de code Python . Crée un nouveau fichier Python et ajoute le code suivant :
import roboflow # install with 'pip install roboflow'
roboflow.login()
rf = roboflow.Roboflow()
project = rf.workspace(WORKSPACE_ID).project("football-players-detection-3zvbc")
dataset = project.version(VERSION).download("yolov8")
project.version(dataset.version).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")
Dans ce code, remplace l'identifiant du projet et l'identifiant de la version par les valeurs de ton compte et de ton projet. Apprends à récupérer ta clé API Roboflow .
Lorsque tu exécuteras le code ci-dessus, il te sera demandé de t'authentifier. Ensuite, ton modèle sera téléchargé et une API sera créée pour ton projet. Ce processus peut prendre jusqu'à 30 minutes.
Pour tester ton modèle et trouver des instructions de déploiement pour les SDK pris en charge, va sur l'onglet "Déployer" dans la barre latérale Roboflow . En haut de cette page, un widget apparaîtra avec lequel tu pourras tester ton modèle. Tu peux utiliser ta webcam pour les tests en direct ou télécharger des images ou des vidéos.
Tu peux aussi utiliser ton modèle téléchargé comme assistant d'étiquetage. Cette fonction utilise ton modèle entraîné pour recommander des annotations sur les images téléchargées sur Roboflow.
Comment évaluer les modèles YOLOv8
Roboflow fournit une série de caractéristiques à utiliser pour évaluer les modèles.
Une fois que tu as téléchargé un modèle sur Roboflow, tu peux accéder à notre outil d'évaluation du modèle, qui fournit une matrice de confusion montrant la performance de ton modèle ainsi qu'un graphique d'analyse vectorielle interactif. Ces fonctions peuvent t'aider à trouver des possibilités d'améliorer ton modèle.
Pour accéder à une matrice de confusion, va sur la page de ton modèle sur le tableau de bord Roboflow , puis clique sur "Voir l'évaluation détaillée" :
Une fenêtre contextuelle s'affiche et présente une matrice de confusion :
Passe le curseur sur une case de la matrice de confusion pour voir la valeur associée à la case. Clique sur une case pour voir les images de la catégorie correspondante. Clique sur une image pour voir les prédictions du modèle et les données de vérité terrain associées à cette image.
Pour en savoir plus, clique sur Analyse vectorielle. Tu verras alors un diagramme de dispersion des images de ton ensemble de données, calculé à l'aide de CLIP. Plus les images sont proches dans le diagramme, plus elles sont similaires d'un point de vue sémantique. Chaque image est représentée par un point d'une couleur comprise entre le blanc et le rouge. Plus le point est rouge, moins le modèle est performant.
Tu peux utiliser l'analyse vectorielle pour :
- Trouve des groupes d'images ;
- Identifie les grappes où le modèle est peu performant, et ;
- Visualise les points communs entre les images sur lesquelles le modèle est peu performant.
Ressources pédagogiques
Tu veux en savoir plus sur l'utilisation de Roboflow pour créer des modèles YOLOv8 ? Les ressources suivantes peuvent t'être utiles dans ton travail.
- Entraîne YOLOv8 sur un ensemble de données personnalisé: Suis notre carnet de notes interactif qui te montre comment entraîner un modèle YOLOv8 sur un ensemble de données personnalisé.
- Autodistill: Utilise les modèles de vision de grandes fondations pour étiqueter les données pour des modèles spécifiques. Tu peux étiqueter des images pour les utiliser dans la formation des modèles de classification, de détection et de segmentation de YOLOv8 avec Autodistill.
- Supervision: Un paquetage Python avec des utilitaires utiles pour travailler avec des modèles de vision par ordinateur. Tu peux utiliser la supervision pour filtrer les détections, calculer les matrices de confusion, et plus encore, le tout en quelques lignes de code Python .
- Roboflow Blog: Le blog Roboflow propose plus de 500 articles sur la vision par ordinateur, couvrant des sujets allant de la formation d'un modèle YOLOv8 aux meilleures pratiques d'annotation.
- Roboflow Chaîne YouTube: Parcours des dizaines de guides approfondis sur la vision par ordinateur sur notre chaîne YouTube, couvrant des sujets allant de l'entraînement des modèles YOLOv8 à l'étiquetage automatisé des images.
Présentation du projet
Tu trouveras ci-dessous quelques-uns des nombreux commentaires que nous avons reçus sur l'utilisation conjointe de YOLOv8 et de Roboflow pour créer des modèles de vision par ordinateur.
Créé le 2023-11-12, Mis à jour le 2024-05-08
Auteurs : Burhan-Q (1), glenn-jocher (8), capjamesg (1)