Zum Inhalt springen

Roboflow

Roboflow hat alles, was du brauchst, um Computer Vision Modelle zu erstellen und einzusetzen. Verbinde Roboflow in jedem Schritt deiner Pipeline mit APIs und SDKs oder nutze die End-to-End-Schnittstelle, um den gesamten Prozess vom Bild bis zur Inferenz zu automatisieren. Ganz gleich, ob du Daten beschriften, Modelle trainieren oder einsetzen willst, Roboflow bietet dir Bausteine, mit denen du maßgeschneiderte Computer-Vision-Lösungen für dein Projekt entwickeln kannst.

Lizenzierung

Ultralytics bietet zwei Lizenzierungsoptionen an:

Weitere Informationen findest du unter Ultralytics Lizenzierung.

In diesem Leitfaden zeigen wir dir, wie du Daten findest, beschriftest und organisierst, um sie für das Training eines benutzerdefinierten Ultralytics YOLOv8 Modells zu verwenden. Verwende das Inhaltsverzeichnis unten, um direkt zu einem bestimmten Abschnitt zu springen:

  • Sammle Daten für das Training eines eigenen YOLOv8 Modells
  • Hochladen, Konvertieren und Kennzeichnen von Daten für das Format YOLOv8
  • Daten vorverarbeiten und ergänzen für die Robustheit des Modells
  • Datensatzverwaltung für YOLOv8
  • Exportiere Daten in über 40 Formaten für das Modelltraining
  • Hochladen von benutzerdefinierten YOLOv8 Modellgewichten zum Testen und Bereitstellen
  • Sammle Daten für das Training eines benutzerdefinierten YOLOv8 Modells

Roboflow bietet zwei Dienste an, mit denen du Daten für YOLOv8 Modelle sammeln kannst: Universe und Collect.

Universe ist ein Online-Repository mit über 250.000 Bilddaten mit insgesamt über 100 Millionen Bildern.

Roboflow Universum

Mit einem kostenlosen Roboflow Konto kannst du jeden auf Universe verfügbaren Datensatz exportieren. Um einen Datensatz zu exportieren, klicke auf die Schaltfläche "Diesen Datensatz herunterladen" auf einem beliebigen Datensatz.

Roboflow Export von Universum-Datensätzen

Für YOLOv8 wählst du "YOLOv8" als Exportformat:

Roboflow Export von Universum-Datensätzen

Universe hat auch eine Seite, die alle öffentlichen, fein abgestimmten YOLOv8 Modelle zusammenfasst , die auf Roboflow hochgeladen wurden. Du kannst diese Seite nutzen, um vortrainierte Modelle zu erkunden, die du zum Testen oder für die automatische Datenbeschriftung verwenden kannst, oder um mit Roboflow Inferenz zu prototypisieren.

Wenn du selbst Bilder sammeln möchtest, kannst du Collect ausprobieren, ein Open-Source-Projekt, mit dem du automatisch Bilder mit einer Webcam am Rand sammeln kannst. Mit Collect kannst du über Text- oder Bildaufforderungen angeben, welche Daten gesammelt werden sollen. So kannst du nur die nützlichen Daten erfassen, die du für die Erstellung deines Vision-Modells brauchst.

Hochladen, Konvertieren und Beschriften von Daten für YOLOv8 Format

Roboflow Annotate ist ein Online-Annotationstool für die Beschriftung von Bildern zur Objekterkennung, Klassifizierung und Segmentierung.

Um Daten für ein YOLOv8 Objekterkennungs-, Instanzsegmentierungs- oder Klassifizierungsmodell zu beschriften, erstellst du zunächst ein Projekt in Roboflow.

Erstelle ein Roboflow Projekt

Als Nächstes lädst du deine Bilder und alle bereits vorhandenen Anmerkungen aus anderen Tools(mit einem der über 40 unterstützten Importformate) in Roboflow hoch.

Bilder hochladen zu Roboflow

Wähle den Stapel Bilder, den du hochgeladen hast, auf der Seite "Anmerkungen" aus, zu der du nach dem Hochladen der Bilder weitergeleitet wirst. Klicke dann auf "Mit dem Beschriften beginnen", um die Bilder zu beschriften.

Um mit Begrenzungsrahmen zu beschriften, drücke die B Taste auf deiner Tastatur oder klicke auf das Kasten-Symbol in der Seitenleiste. Klicke auf einen Punkt, an dem dein Begrenzungsrahmen beginnen soll, und ziehe dann, um den Rahmen zu erstellen:

Ein Bild mit Anmerkungen versehen in Roboflow

Sobald du eine Anmerkung erstellt hast, wird ein Pop-up-Fenster angezeigt, in dem du aufgefordert wirst, eine Klasse für deine Anmerkung auszuwählen.

Um mit Polygonen zu beschriften, drücke die P Taste auf deiner Tastatur oder das Polygonsymbol in der Seitenleiste. Wenn das Polygon-Anmerkungswerkzeug aktiviert ist, klicke auf einzelne Punkte im Bild, um ein Polygon zu zeichnen.

Roboflow bietet einen SAM-basierten Beschriftungsassistenten, mit dem du Bilder schneller als je zuvor beschriften kannst. SAM (Segment Anything Model) ist ein hochmodernes Computer Vision Modell, das Bilder präzise beschriften kann. Mit SAM kannst du den Prozess der Bildbeschriftung erheblich beschleunigen. Das Beschriften von Bildern mit Polygonen wird so einfach wie ein paar Klicks, anstatt dass du mühsam Punkte um ein Objekt herum anklicken musst.

Um den Etikettenassistenten zu verwenden, klicke auf das Cursor-Symbol in der Seitenleiste. SAM wird dann zur Verwendung in deinem Projekt geladen.

Kommentieren eines Bildes in Roboflow mit SAM-unterstützter Beschriftung

Wenn du mit dem Mauszeiger über ein beliebiges Objekt im Bild fährst, schlägt SAM eine Anmerkung vor. Du kannst mit dem Mauszeiger die richtige Stelle für die Anmerkung suchen und dann darauf klicken, um deine Anmerkung zu erstellen. Wenn du deine Anmerkung mehr oder weniger spezifisch gestalten möchtest, kannst du innerhalb oder außerhalb der Anmerkung klicken, die SAM auf dem Dokument erstellt hat.

Du kannst den Bildern auch Tags über das Panel Tags in der Seitenleiste hinzufügen. Du kannst Daten aus einem bestimmten Gebiet, die von einer bestimmten Kamera aufgenommen wurden, mit Tags versehen und vieles mehr. Anhand dieser Tags kannst du dann die Daten nach Bildern durchsuchen, die einem Tag entsprechen, und Versionen eines Datensatzes mit Bildern erstellen, die ein bestimmtes Tag oder einen Satz von Tags enthalten.

Hinzufügen von Tags zu einem Bild in Roboflow

Modelle, die auf Roboflow gehostet werden, können mit Label Assist verwendet werden. Dabei handelt es sich um ein automatisches Annotations-Tool, das dein YOLOv8 Modell nutzt, um Annotationen zu empfehlen. Um Label Assist zu nutzen, lade zunächst ein YOLOv8 Modell auf Roboflow hoch (siehe Anweisungen weiter unten im Leitfaden). Dann klickst du auf das Zauberstab-Symbol in der linken Seitenleiste und wählst dein Modell für die Verwendung in Label Assist aus.

Wähle ein Modell aus und klicke dann auf "Weiter", um den Etikettenassistenten zu aktivieren:

Aktivieren des Label Assist

Wenn du neue Bilder zum Beschriften öffnest, löst Label Assist Anmerkungen aus und empfiehlt sie.

ALabel Assist empfiehlt eine Beschriftung

Datensatzverwaltung für YOLOv8

Roboflow bietet eine Reihe von Werkzeugen für das Verstehen von Computer-Vision-Datensätzen.

Erstens kannst du die Datensatzsuche verwenden, um Bilder zu finden, die einer semantischen Textbeschreibung entsprechen (z. B. alle Bilder finden, die Personen enthalten) oder die einer bestimmten Bezeichnung entsprechen (d. h. das Bild ist mit einem bestimmten Tag verbunden). Um die Datensatzsuche zu nutzen, klicke in der Seitenleiste auf "Datensatz". Gib dann über die Suchleiste und die entsprechenden Filter oben auf der Seite eine Suchanfrage ein.

Die folgende Textabfrage findet zum Beispiel Bilder, die Personen in einem Datensatz enthalten:

Suche nach einem Bild

Mit dem Selektor "Tags" kannst du deine Suche auf Bilder mit einem bestimmten Tag eingrenzen:

Bilder nach Tag filtern

Bevor du anfängst, ein Modell mit deinem Datensatz zu trainieren, empfehlen wir dir Roboflow Health Check, ein Webtool, das dir einen Einblick in deinen Datensatz gibt und dir zeigt, wie du den Datensatz vor dem Training eines Bildverarbeitungsmodells verbessern kannst.

Um Health Check zu nutzen, klicke auf den Link "Health Check" in der Seitenleiste. Es wird eine Liste mit Statistiken angezeigt, die die durchschnittliche Größe der Bilder in deinem Datensatz, die Klassenbalance, eine Heatmap, die zeigt, wo sich Anmerkungen in deinen Bildern befinden, und vieles mehr.

Roboflow Health Check Analyse

Der Health Check kann Änderungen empfehlen, um die Leistung des Datensatzes zu verbessern. Die Funktion "Klassenbalance" kann zum Beispiel ein Ungleichgewicht bei den Bezeichnungen aufzeigen, das die Leistung deines Modells verbessern kann.

Exportiere Daten in über 40 Formaten für die Modellschulung

Um deine Daten zu exportieren, brauchst du eine Datensatzversion. Eine Version ist ein in der Zeit eingefrorener Zustand deines Datensatzes. Um eine Version zu erstellen, klicke zunächst auf "Versionen" in der Seitenleiste. Dann klickst du auf die Schaltfläche "Neue Version erstellen". Auf dieser Seite kannst du Erweiterungen und Vorverarbeitungsschritte auswählen, die du auf deinen Datensatz anwenden möchtest:

Erstellen einer Datensatzversion auf Roboflow

Für jede Augmentierung, die du auswählst, erscheint ein Pop-up-Fenster, in dem du die Augmentierung auf deine Bedürfnisse abstimmen kannst. Hier ist ein Beispiel für die Einstellung einer Helligkeitssteigerung innerhalb bestimmter Parameter:

Anwendung von Erweiterungen auf einen Datensatz

Wenn du deine Datensatzversion erstellt hast, kannst du deine Daten in eine Reihe von Formaten exportieren. Klicke auf die Schaltfläche "Datensatz exportieren" auf der Seite mit deiner Datensatzversion, um deine Daten zu exportieren:

Exportieren eines Datensatzes

Jetzt kannst du YOLOv8 mit einem benutzerdefinierten Datensatz trainieren. Folge dieser schriftlichen Anleitung und dem YouTube-Video für eine Schritt-für-Schritt-Anleitung oder sieh in der Ultralytics Dokumentation nach.

Hochladen von benutzerdefinierten YOLOv8 Modellgewichten zum Testen und Einsetzen

Roboflow bietet eine unbegrenzt skalierbare API für die Bereitstellung von Modellen und SDKs zur Verwendung mit NVIDIA Jetsons, Luxonis OAKs, Raspberry Pis, GPU-basierten Geräten und mehr.

Du kannst YOLOv8 Modelle einsetzen, indem du YOLOv8 Gewichte auf Roboflow hochlädst. Das kannst du mit ein paar Zeilen Python Code machen. Erstelle eine neue Python Datei und füge den folgenden Code ein:

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

Ersetze in diesem Code die Projekt-ID und die Versions-ID durch die Werte für dein Konto und dein Projekt. Erfahre, wie du deinen Roboflow API-Schlüssel abrufst.

Wenn du den obigen Code ausführst, wirst du aufgefordert, dich zu authentifizieren. Dann wird dein Modell hochgeladen und eine API für dein Projekt erstellt. Dieser Vorgang kann bis zu 30 Minuten in Anspruch nehmen.

Um dein Modell zu testen und Anweisungen für die Bereitstellung der unterstützten SDKs zu finden, gehe auf den Reiter "Bereitstellung" in der Seitenleiste von Roboflow . Oben auf dieser Seite wird ein Widget angezeigt, mit dem du dein Modell testen kannst. Du kannst deine Webcam für Live-Tests verwenden oder Bilder oder Videos hochladen.

Inferenz auf ein Beispielbild anwenden

Du kannst dein hochgeladenes Modell auch als Beschriftungsassistent verwenden. Diese Funktion nutzt dein trainiertes Modell, um Anmerkungen zu den auf Roboflow hochgeladenen Bildern zu empfehlen.

Wie du YOLOv8 Modelle bewertest

Roboflow bietet eine Reihe von Funktionen für die Bewertung von Modellen.

Sobald du ein Modell auf Roboflow hochgeladen hast, kannst du auf unser Modellbewertungstool zugreifen, das eine Konfusionsmatrix, die die Leistung deines Modells zeigt, sowie eine interaktive Darstellung der Vektoranalyse bereitstellt. Diese Funktionen können dir helfen, Möglichkeiten zur Verbesserung deines Modells zu finden.

Um eine Verwechslungsmatrix aufzurufen, gehst du auf deine Modellseite im Roboflow Dashboard und klickst dann auf "Detaillierte Bewertung anzeigen":

Starte eine Roboflow Modellbewertung

Es erscheint ein Pop-up-Fenster mit einer Verwechslungsmatrix:

Eine Verwirrungsmatrix

Bewege den Mauszeiger über ein Kästchen in der Verwirrungsmatrix, um den dazugehörigen Wert zu sehen. Klicke auf ein Kästchen, um die Bilder der jeweiligen Kategorie zu sehen. Klicke auf ein Bild, um die Modellvorhersagen und die Wahrheitsdaten zu diesem Bild anzuzeigen.

Für weitere Einblicke klickst du auf Vektoranalyse. Daraufhin wird ein Streudiagramm der Bilder in deinem Datensatz angezeigt, das mit CLIP berechnet wurde. Je näher die Bilder in der Grafik beieinander liegen, desto ähnlicher sind sie sich in semantischer Hinsicht. Jedes Bild wird als ein Punkt mit einer Farbe zwischen weiß und rot dargestellt. Je roter der Punkt ist, desto schlechter hat das Modell abgeschnitten.

Ein Vektoranalyseplot

Du kannst die Vektoranalyse nutzen, um:

  • Finde Cluster von Bildern;
  • Identifiziere Cluster, in denen das Modell schlecht abschneidet, und;
  • Visualisiere Gemeinsamkeiten zwischen Bildern, bei denen das Modell schlecht abschneidet.

Lernressourcen

Möchtest du mehr über die Verwendung von Roboflow für die Erstellung von YOLOv8 Modellen erfahren? Die folgenden Ressourcen können dir bei deiner Arbeit behilflich sein.

  • Trainiere YOLOv8 mit einem benutzerdefinierten Datensatz: Unser interaktives Notizbuch zeigt dir, wie du ein YOLOv8 Modell auf einem benutzerdefinierten Datensatz trainierst.
  • Autodistill: Verwende große Foundation Vision Modelle, um Daten für bestimmte Modelle zu beschriften. Mit Autodistill kannst du Bilder für das Training von YOLOv8 Klassifizierungs-, Erkennungs- und Segmentierungsmodellen beschriften.
  • Supervision: Ein Python Paket mit hilfreichen Dienstprogrammen für die Arbeit mit Computer Vision Modellen. Du kannst Supervision nutzen, um Erkennungen zu filtern, Konfusionsmatrizen zu berechnen und vieles mehr - und das alles mit ein paar Zeilen Python Code.
  • Roboflow Blog: Der Roboflow Blog enthält mehr als 500 Artikel zum Thema Computer Vision, die sich mit Themen wie dem Trainieren eines YOLOv8 Modells bis hin zu Best Practices bei der Annotation befassen.
  • Roboflow YouTube-Kanal: Auf unserem YouTube-Kanal findest du Dutzende von ausführlichen Anleitungen zum Thema Computer Vision, die vom Training von YOLOv8 Modellen bis zur automatischen Bildbeschriftung reichen.

Projekt Schaufenster

Im Folgenden findest du einige der vielen Rückmeldungen, die wir für die Verwendung von YOLOv8 und Roboflow zur Erstellung von Computer Vision Modellen erhalten haben.

Vorzeigebild Vorzeigebild Vorzeigebild



Erstellt am 2023-11-12, Aktualisiert am 2024-05-08
Autoren: Burhan-Q (1), glenn-jocher (8), capjamesg (1)

Kommentare