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:
- Die AGPL-3.0 Lizenz, eine von der OSI genehmigte Open-Source-Lizenz, ist ideal für Studierende und Enthusiasten.
- Die Enterprise-Lizenz für Unternehmen, die unsere KI-Modelle in ihre Produkte und Dienstleistungen einbinden möchten.
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.
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.
Für YOLOv8 wählst du "YOLOv8" als Exportformat:
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.
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.
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:
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.
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.
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:
Wenn du neue Bilder zum Beschriften öffnest, löst Label Assist Anmerkungen aus und empfiehlt sie.
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:
Mit dem Selektor "Tags" kannst du deine Suche auf Bilder mit einem bestimmten Tag eingrenzen:
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.
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:
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:
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:
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.
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":
Es erscheint ein Pop-up-Fenster mit einer Verwechslungsmatrix:
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.
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.
Erstellt am 2023-11-12, Aktualisiert am 2024-05-08
Autoren: Burhan-Q (1), glenn-jocher (8), capjamesg (1)