Overslaan naar inhoud

Roboflow

Roboflow heeft alles wat je nodig hebt om computervisie modellen te bouwen en te implementeren. Sluit Roboflow aan bij elke stap in je pijplijn met API's en SDK's, of gebruik de end-to-end interface om het hele proces van beeld tot inferentie te automatiseren. Of je nu gegevenslabels, modeltraining of modelimplementatie nodig hebt, Roboflow biedt je bouwstenen om aangepaste computer vision-oplossingen aan je project toe te voegen.

Licentie

Ultralytics biedt twee licentie-opties:

Zie Ultralytics Licenties voor meer informatie.

In deze handleiding laten we zien hoe je gegevens kunt vinden, labelen en organiseren om ze te gebruiken voor het trainen van een aangepast Ultralytics YOLOv8 model. Gebruik de inhoudsopgave hieronder om direct naar een specifieke sectie te gaan:

  • Verzamel gegevens voor het trainen van een aangepast YOLOv8 model
  • Gegevens uploaden, converteren en labelen voor YOLOv8 formaat
  • Gegevens voorbewerken en aanvullen voor robuustheid van het model
  • Beheer van datasets voor YOLOv8
  • Gegevens exporteren in meer dan 40 formaten voor modeltraining
  • Aangepaste YOLOv8 modelgewichten uploaden om te testen en in te zetten
  • Gegevens verzamelen voor het trainen van een aangepast YOLOv8 model

Roboflow biedt twee services die je kunnen helpen bij het verzamelen van gegevens voor YOLOv8 modellen: Universe en Collect.

Universe is een online opslagplaats met meer dan 250.000 vision datasets met in totaal meer dan 100 miljoen afbeeldingen.

Roboflow Universum

Met een gratis Roboflow account kun je elke dataset exporteren die beschikbaar is op Universe. Om een dataset te exporteren klik je op de knop "Download deze dataset" op een dataset.

Roboflow Universum dataset exporteren

Selecteer voor YOLOv8"YOLOv8" als exportformaat:

Roboflow Universum dataset exporteren

Universe heeft ook een pagina die alle openbare verfijnde YOLOv8 modellen verzamelt die zijn geüpload naar Roboflow. Je kunt deze pagina gebruiken om voorgetrainde modellen te verkennen die je kunt gebruiken om te testen of voor geautomatiseerde gegevenslabeling of om prototypes te maken met Roboflow inferentie.

Als je zelf beelden wilt verzamelen, probeer dan Collect, een open source project waarmee je automatisch beelden kunt verzamelen met behulp van een webcam aan de rand. Je kunt met Collect tekst- of beeldaanwijzingen gebruiken om aan te geven welke gegevens verzameld moeten worden, zodat je alleen de nuttige gegevens vastlegt die je nodig hebt om je visiemodel te bouwen.

Gegevens uploaden, converteren en labelen voor YOLOv8

Roboflow Annotate is een online annotatietool voor gebruik bij het labelen van afbeeldingen voor objectdetectie, classificatie en segmentatie.

Om gegevens te labelen voor een YOLOv8 objectdetectie-, instantiesegmentatie- of classificatiemodel, maak je eerst een project aan in Roboflow.

Maak een Roboflow project aan

Upload vervolgens je afbeeldingen en eventuele reeds bestaande annotaties uit andere tools(met behulp van een van de meer dan 40 ondersteunde importformaten) naar Roboflow.

Afbeeldingen uploaden naar Roboflow

Selecteer de batch afbeeldingen die je hebt geüpload op de pagina Annoteren waar je naartoe wordt geleid nadat je afbeeldingen hebt geüpload. Klik vervolgens op "Annoteren starten" om afbeeldingen te labelen.

Druk op de knop B toets op je toetsenbord of klik op het boxpictogram in de zijbalk. Klik op een punt waar je de begrenzende box wilt beginnen en sleep om de box te maken:

Een afbeelding annoteren in Roboflow

Zodra je een annotatie hebt gemaakt, verschijnt er een pop-up waarin je wordt gevraagd om een klasse te selecteren voor je annotatie.

Druk op de knop P toets op je toetsenbord of het veelhoekpictogram in de zijbalk. Met het polygoon annotatiegereedschap ingeschakeld, klik je op individuele punten in de afbeelding om een polygoon te tekenen.

Roboflow biedt een op SAM gebaseerde labelassistent waarmee je afbeeldingen sneller dan ooit kunt labelen. SAM (Segment Anything Model) is een geavanceerd computervisiemodel dat afbeeldingen nauwkeurig kan labelen. Met SAM kun je het labelen van afbeeldingen aanzienlijk versnellen. Het annoteren van afbeeldingen met polygonen wordt zo eenvoudig als een paar klikken, in plaats van het vervelende proces van precies punten rond een object aanklikken.

Om de labelassistent te gebruiken klik je op het cursor icoon in de zijbalk, SAM wordt geladen voor gebruik in je project.

Een afbeelding annoteren in Roboflow met SAM-gestuurde labelhulp

Beweeg de muis over een object in de afbeelding en SAM zal een annotatie aanbevelen. Je kunt de muisaanwijzer op de juiste plek zetten en dan klikken om je annotatie te maken. Om je annotatie meer of minder specifiek te maken, kun je binnen of buiten de annotatie klikken die SAM op het document heeft gemaakt.

Je kunt ook tags toevoegen aan afbeeldingen via het paneel Tags in de zijbalk. Je kunt tags toepassen op gegevens uit een bepaald gebied, van een specifieke camera en meer. Je kunt deze tags vervolgens gebruiken om door gegevens te zoeken naar afbeeldingen die overeenkomen met een tag en om versies van een dataset te genereren met afbeeldingen die een bepaalde tag of set tags bevatten.

Tags toevoegen aan een afbeelding in Roboflow

Modellen die gehost worden op Roboflow kunnen gebruikt worden met Label Assist, een geautomatiseerd annotatiehulpmiddel dat je YOLOv8 model gebruikt om annotaties aan te bevelen. Om Label Assist te gebruiken, upload je eerst een YOLOv8 model naar Roboflow (zie instructies verderop in de handleiding). Klik vervolgens op het toverstafpictogram in de linker zijbalk en selecteer je model voor gebruik in Label Assist.

Kies een model en klik op "Doorgaan" om Label Assist in te schakelen:

Label Assist inschakelen

Wanneer je nieuwe afbeeldingen opent voor annotatie, zal Label Assist annotaties triggeren en aanbevelen.

ALabel Assist die een annotatie aanbeveelt

Datasetbeheer voor YOLOv8

Roboflow biedt een pakket gereedschappen voor het begrijpen van computer vision datasets.

Ten eerste kun je dataset zoeken gebruiken om afbeeldingen te vinden die voldoen aan een semantische tekstbeschrijving (d.w.z. vind alle afbeeldingen waarin mensen voorkomen), of die voldoen aan een gespecificeerd label (d.w.z. de afbeelding is geassocieerd met een specifieke tag). Om dataset zoeken te gebruiken, klik je op "Dataset" in de zijbalk. Voer vervolgens een zoekopdracht in met behulp van de zoekbalk en bijbehorende filters bovenaan de pagina.

De volgende tekstquery vindt bijvoorbeeld afbeeldingen met mensen in een dataset:

Een afbeelding zoeken

Je kunt je zoekopdracht beperken tot afbeeldingen met een bepaalde tag met de "Tags" selector:

Afbeeldingen filteren op tag

Voordat je begint met het trainen van een model met je dataset, raden we aan om Roboflow Health Check te gebruiken, een webtool die inzicht geeft in je dataset en hoe je de dataset kunt verbeteren voordat je een visiemodel gaat trainen.

Om Health Check te gebruiken, klik je op de link "Health Check" in de zijbalk. Er verschijnt een lijst met statistieken die de gemiddelde grootte van afbeeldingen in je dataset, klassenbalans, een heatmap van waar annotaties zich in je afbeeldingen bevinden en meer laten zien.

Roboflow Gezondheidscontrole analyse

Health Check kan veranderingen aanbevelen om de prestaties van de dataset te verbeteren. De functie Klassebalans kan bijvoorbeeld laten zien dat er een onevenwichtigheid in labels is die, als deze wordt opgelost, de prestaties van je model kan verbeteren.

Gegevens exporteren in 40+ formaten voor modeltraining

Om je gegevens te exporteren, heb je een datasetversie nodig. Een versie is een bevroren toestand van je dataset. Om een versie te maken, klik je eerst op "Versies" in de zijbalk. Klik dan op de knop "Nieuwe versie maken". Op deze pagina kun je augmentaties en voorbewerkingsstappen kiezen om toe te passen op je dataset:

Een datasetversie maken op Roboflow

Voor elke vergroting die je selecteert, verschijnt een pop-up waarmee je de vergroting naar wens kunt afstellen. Hier is een voorbeeld van het afstemmen van een helderheidsvergroting binnen gespecificeerde parameters:

Augmentaties toepassen op een dataset

Als je datasetversie is gegenereerd, kun je je gegevens exporteren naar een aantal formaten. Klik op de knop "Dataset exporteren" op de pagina met je datasetversie om je gegevens te exporteren:

Een dataset exporteren

Je bent nu klaar om YOLOv8 te trainen op een aangepaste dataset. Volg deze schriftelijke handleiding en YouTube-video voor stapsgewijze instructies of raadpleeg de documentatie opUltralytics .

Aangepaste YOLOv8 modelgewichten uploaden voor testen en implementeren

Roboflow biedt een oneindig schaalbare API voor geïmplementeerde modellen en SDK's voor gebruik met NVIDIA Jetsons, Luxonis OAK's, Raspberry Pis, GPU-gebaseerde apparaten en meer.

Je kunt YOLOv8 modellen inzetten door YOLOv8 gewichten te uploaden naar Roboflow. Je kunt dit doen met een paar regels Python code. Maak een nieuw Python bestand en voeg de volgende code toe:

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/")

Vervang in deze code de project-ID en versie-ID door de waarden voor jouw account en project. Leer hoe je je Roboflow API-sleutel kunt ophalen.

Als je bovenstaande code uitvoert, wordt je gevraagd om je te authenticeren. Vervolgens wordt je model geüpload en wordt er een API aangemaakt voor je project. Dit proces kan tot 30 minuten duren.

Om je model te testen en instructies te vinden voor ondersteunde SDK's, ga je naar de tab "Deploy" in de zijbalk Roboflow . Bovenaan deze pagina verschijnt een widget waarmee je je model kunt testen. Je kunt je webcam gebruiken voor live testen of afbeeldingen of video's uploaden.

Inferentie uitvoeren op een voorbeeldafbeelding

Je kunt je geüploade model ook gebruiken als labelhulp. Deze functie gebruikt je getrainde model om annotaties aan te bevelen op afbeeldingen die zijn geüpload naar Roboflow.

Hoe YOLOv8 modellen evalueren

Roboflow biedt een reeks functies voor gebruik bij het evalueren van modellen.

Zodra je een model hebt geüpload naar Roboflow, heb je toegang tot ons hulpmiddel voor modelevaluatie, dat een verwarringmatrix toont met de prestaties van je model en een interactieve vectoranalyseplot. Deze functies kunnen je helpen bij het vinden van mogelijkheden om je model te verbeteren.

Om toegang te krijgen tot een verwarringmatrix ga je naar je modelpagina op het Roboflow dashboard en klik je vervolgens op "Gedetailleerde evaluatie weergeven":

Start een Roboflow modelevaluatie

Er verschijnt een pop-up met een verwarringmatrix:

Een verwarringmatrix

Beweeg de muis over een vakje op de verwarringmatrix om de waarde te zien die bij het vakje hoort. Klik op een vakje om afbeeldingen in de betreffende categorie te zien. Klik op een afbeelding om de modelvoorspellingen en ground truth-gegevens van die afbeelding te bekijken.

Klik voor meer inzicht op Vectoranalyse. Dit toont een scatter plot van de afbeeldingen in je dataset, berekend met CLIP. Hoe dichter de afbeeldingen bij elkaar staan in de plot, hoe meer ze op elkaar lijken, semantisch gezien. Elke afbeelding wordt weergegeven als een stip met een kleur tussen wit en rood. Hoe roder de stip, hoe slechter het model presteerde.

Een vectoranalyseplot

Je kunt Vectoranalyse gebruiken om:

  • Zoek clusters van afbeeldingen;
  • Clusters identificeren waar het model slecht presteert, en;
  • Visualiseer overeenkomsten tussen afbeeldingen waarop het model slecht presteert.

Leerbronnen

Wil je meer weten over het gebruik van Roboflow voor het maken van YOLOv8 modellen? De volgende bronnen kunnen nuttig zijn bij je werk.

  • Train YOLOv8 op een aangepaste dataset: Volg ons interactieve notitieblok dat laat zien hoe je een YOLOv8 model kunt trainen op een aangepaste dataset.
  • Autodistill: Gebruik grote foundation vision modellen om gegevens te labelen voor specifieke modellen. Je kunt afbeeldingen labelen voor gebruik in het trainen van YOLOv8 classificatie-, detectie- en segmentatiemodellen met Autodistill.
  • Supervisie: Een Python pakket met handige hulpprogramma's voor het werken met computer vision modellen. Je kunt supervisie gebruiken om detecties te filteren, verwarringmatrices te berekenen en meer, allemaal in een paar regels Python code.
  • Roboflow Blog: De Roboflow Blog bevat meer dan 500 artikelen over computervisie, over onderwerpen variërend van het trainen van een YOLOv8 model tot de beste annotatiepraktijken.
  • Roboflow YouTube-kanaal: Blader door tientallen diepgaande computervisiegidsen op ons YouTube-kanaal, met onderwerpen variërend van het trainen van YOLOv8 modellen tot het automatisch labelen van afbeeldingen.

Project Presentatie

Hieronder staan een paar van de vele reacties die we hebben gekregen op het gebruik van YOLOv8 en Roboflow om samen computervisiemodellen te maken.

Afbeelding weergeven Afbeelding weergeven Afbeelding weergeven



Gemaakt op 2023-11-12, Bijgewerkt op 2024-05-08
Auteurs: Burhan-Q (1), glenn-jocher (8), capjamesg (1)

Reacties