Meet YOLO26: next-gen vision AI.

Link to this sectionStrategien zur Datenerfassung und Annotation für Computer Vision#

Datenerhebung und -annotation sind die beiden grundlegenden Schritte jedes Computer-Vision-Projekts: Du sammelst repräsentative Bilder oder Videos und labelst sie dann, damit ein Modell daraus lernen kann. Die Qualität dieser Daten bestimmt direkt die Modellleistung. Deshalb sind Klassendefinition, unvoreingenommene Beschaffung und konsistente Annotation entscheidend, bevor das Training beginnt.



Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀

Dieser Leitfaden behandelt das Einrichten von Klassen und das Sammeln von Daten, was Datenannotation ist sowie die zu wählenden Annotationstypen und -formate und effiziente Labeling-Strategien – jede Entscheidung ist auf deine Projektziele ausgerichtet.

Link to this sectionKlassen einrichten und Daten sammeln#

Das Sammeln von Bildern und Videos für ein Computer-Vision-Projekt lässt sich auf drei Entscheidungen reduzieren: Wie viele Klassen sollen definiert werden, woher sollen die Daten stammen und wie hält man den Datensatz frei von Bias.

Link to this sectionDie richtigen Klassen für dein Projekt auswählen#

Eine der ersten Fragen beim Start eines Computer Vision-Projekts ist, wie viele Klassen einbezogen werden sollen. Du musst die Klassenzugehörigkeit bestimmen, was die verschiedenen Kategorien oder Labels beinhaltet, die dein Modell erkennen und unterscheiden soll. Die Anzahl der Klassen sollte durch die spezifischen Ziele deines Projekts bestimmt werden.

Wenn du beispielsweise den Verkehr überwachen möchtest, könnten deine Klassen "Auto", "LKW", "Bus", "Motorrad" und "Fahrrad" umfassen. Wenn du hingegen Artikel in einem Geschäft verfolgst, könnten deine Klassen "Obst", "Gemüse", "Getränke" und "Snacks" sein. Die Definition von Klassen basierend auf deinen Projektzielen hilft dabei, deinen Datensatz relevant und fokussiert zu halten.

Wenn du deine Klassen definierst, ist eine weitere wichtige Unterscheidung, ob du eine grobe oder feine Klassenzählung wählst. 'Anzahl' bezieht sich auf die Anzahl der verschiedenen Klassen, an denen du interessiert bist. Diese Entscheidung beeinflusst die Granularität deiner Daten und die Komplexität deines Modells. Hier sind die Überlegungen für jeden Ansatz:

  • Grobe Klassenzählung: Dies sind breitere, umfassendere Kategorien, wie "Fahrzeug" und "kein Fahrzeug". Sie vereinfachen die Annotation und erfordern weniger Rechenressourcen, liefern aber weniger detaillierte Informationen, was die Effektivität des Modells in komplexen Szenarien potenziell einschränken kann.
  • Feine Klassenzählung: Mehr Kategorien mit feineren Unterscheidungen, wie "Limousine", "SUV", "Pickup" und "Motorrad". Sie erfassen detailliertere Informationen und verbessern die Modellgenauigkeit und -leistung. Sie sind jedoch zeitaufwendiger und arbeitsintensiver in der Annotation und erfordern mehr Rechenressourcen.

Der Start mit spezifischeren Klassen kann sehr hilfreich sein, insbesondere bei komplexen Projekten, bei denen Details wichtig sind. Spezifischere Klassen ermöglichen es dir, detailliertere Daten zu sammeln, tiefere Einblicke zu gewinnen und klarere Unterscheidungen zwischen Kategorien zu treffen. Dies verbessert nicht nur die Genauigkeit des Modells, sondern macht es auch einfacher, das Modell später bei Bedarf anzupassen, was Zeit und Ressourcen spart.

Link to this sectionDatenquellen#

Du kannst öffentliche Datensätze verwenden oder deine eigenen benutzerdefinierten Daten sammeln. Öffentliche Datensätze wie die auf Kaggle und der Google Dataset Search Engine bieten gut annotierte, standardisierte Daten und sind somit großartige Ausgangspunkte für das Training und die Validierung von Modellen.

Die benutzerdefinierte Datenerfassung hingegen ermöglicht es dir, deinen Datensatz an deine spezifischen Bedürfnisse anzupassen. Du kannst Bilder und Videos mit Kameras oder Drohnen aufnehmen, das Web nach Bildern durchsuchen oder bestehende interne Daten deines Unternehmens verwenden. Benutzerdefinierte Daten geben dir mehr Kontrolle über Qualität und Relevanz. Die Kombination von öffentlichen und benutzerdefinierten Datenquellen hilft dabei, einen vielfältigen und umfassenden Datensatz zu erstellen.

Link to this sectionVermeidung von Bias bei der Datenerfassung#

Bias tritt auf, wenn bestimmte Gruppen oder Szenarien in deinem Datensatz unter- oder überrepräsentiert sind. Dies führt zu einem Modell, das bei einigen Daten gut, bei anderen jedoch schlecht abschneidet. Es ist entscheidend, Bias in der KI zu vermeiden, damit dein Computer Vision-Modell in einer Vielzahl von Szenarien gut funktionieren kann.

Hier erfährst du, wie du Bias beim Sammeln von Daten vermeiden kannst:

  • Vielfältige Quellen: Sammle Daten aus vielen Quellen, um verschiedene Perspektiven und Szenarien zu erfassen.
  • Ausgewogene Repräsentation: Sorge für eine ausgewogene Repräsentation aller relevanten Gruppen. Berücksichtige beispielsweise verschiedene Altersgruppen, Geschlechter und Ethnien.
  • Kontinuierliche Überwachung: Überprüfe und aktualisiere deinen Datensatz regelmäßig, um aufkommende Biases zu identifizieren und anzugehen.
  • Techniken zur Bias-Minderung: Nutze Methoden wie das Oversampling unterrepräsentierter Klassen, Data Augmentation und fairnessbewusste Algorithmen.

Die Befolgung dieser Praktiken hilft dabei, ein robusteres und faireres Modell zu erstellen, das sich in realen Anwendungen gut verallgemeinern lässt.

Link to this sectionWas ist Datenannotation?#

Datenannotation ist der Prozess der Kennzeichnung von Daten, um sie für das Training von Machine Learning-Modellen nutzbar zu machen. In der Computer Vision bedeutet dies, Bilder oder Videos mit den Informationen zu versehen, die ein Modell zum Lernen benötigt. Ohne ordnungsgemäß annotierte Daten können Modelle die Zusammenhänge zwischen Eingaben und Ausgaben nicht präzise erlernen.

Link to this sectionArten der Datenannotation#

Je nach den spezifischen Anforderungen einer Computer Vision-Aufgabe gibt es verschiedene Arten der Datenannotation. Hier sind einige Beispiele:

  • Bounding Boxes: Rechteckige Boxen, die um Objekte in einem Bild gezeichnet werden und hauptsächlich für Objekterkennungsaufgaben verwendet werden. Diese Boxen werden durch ihre Koordinaten oben links und unten rechts definiert.
  • Polygone: Detaillierte Umrisse für Objekte, die eine präzisere Annotation als Bounding Boxes ermöglichen. Polygone werden bei Aufgaben wie der Instance Segmentation verwendet, bei denen die Form des Objekts wichtig ist.
  • Masken: Binäre Masken, bei denen jedes Pixel entweder Teil eines Objekts oder des Hintergrunds ist. Masken werden bei Semantic Segmentation-Aufgaben verwendet, um Details auf Pixelebene bereitzustellen.
  • Keypoints: Spezifische Punkte, die innerhalb eines Bildes markiert werden, um interessante Orte zu identifizieren. Keypoints werden bei Aufgaben wie der Pose Estimation und der Erkennung von Gesichtsmerkmalen verwendet.

Data annotation types including bounding boxes, polygons, and masks

Link to this sectionGängige Annotationsformate#

Nachdem du einen Annotationstyp ausgewählt hast, ist es wichtig, das geeignete Format zum Speichern und Teilen der Annotationen zu wählen. Die gängigsten Formate sind:

FormatDateistrukturHäufig verwendet für
COCOEinzelne JSON-DateiObjekterkennung, Instanzsegmentierung, Keypoint-Detektion, Stuff- und panoptische Segmentierung, Bildbeschreibung
Pascal VOCEine XML-Datei pro BildObjekterkennung
YOLOEine .txt-Datei pro BildObjekterkennung, Segmentierung und Pose

Das YOLO-Format speichert eine Zeile pro Objekt mit Klassenindizes ab 0. Für Objekterkennung lautet die Zeile class x_center y_center width height mit normalisierten 0–1-Koordinaten, während Segmentierung normalisierte Polygonpunkte anhängt und Pose Keypoint-Koordinaten sowie optionale Sichtbarkeitswerte nach der BBox anhängt.

Link to this sectionAnnotation-Richtlinien festlegen#

Nachdem Annotationstyp und Format gewählt sind, ist der nächste Schritt, klare und objektive Labeling-Regeln aufzustellen. Diese Regeln dienen als Leitfaden für Konsistenz und Genauigkeit während des Annotationsprozesses. Zentrale Aspekte dieser Regeln beinhalten:

  • Klarheit und Detailgenauigkeit: Stelle sicher, dass deine Anweisungen klar sind. Verwende Beispiele und Illustrationen, um zu zeigen, was erwartet wird.
  • Konsistenz: Halte deine Annotationen einheitlich. Lege Standardkriterien für die Annotation verschiedener Datentypen fest, damit alle Annotationen denselben Regeln folgen.
  • Bias reduzieren: Bleib neutral. Trainiere dich darin, objektiv zu sein und persönliche Biases zu minimieren, um faire Annotationen sicherzustellen.
  • Effizienz: Arbeite intelligenter, nicht härter. Nutze Tools und Workflows, die wiederkehrende Aufgaben automatisieren und den Annotationsprozess schneller und effizienter machen.

Das regelmäßige Überprüfen und Aktualisieren deiner Kennzeichnungsregeln trägt dazu bei, dass deine Annotationen präzise, konsistent und auf deine Projektziele ausgerichtet bleiben.

Link to this sectionAnnotationstools#

Ein gutes Annotationstool ermöglicht es dir, jeden Typ zu labeln, den deine Aufgabe erfordert, erzwingt konsistente Richtlinien und exportiert Labels in einem für das Training bereiten Format. Die Ultralytics Platform bietet einen integrierten Annotationseditor für Detection, Instanzsegmentierung, Pose, OBB und Klassifizierung, mit SAM-gestützter intelligenter Annotation, die mit einem einzigen Klick eine Maske für Detection-, Segmentierungs- und OBB-Aufgaben erstellt. Da jede Annotation im YOLO-Format gespeichert wird, wandert dein gelabelter Datensatz ohne Konvertierungsschritt direkt ins Training.

Link to this sectionAnnotationsqualität: Genauigkeit, Präzision und Ausreißer#

Bevor du in großem Maßstab annotierst, hilft es, Genauigkeit, Präzision, Ausreißer und Qualitätskontrolle zu verstehen, damit du deine Daten nicht auf kontraproduktive Weise labelst.

Link to this sectionGenauigkeit und Präzision verstehen#

Es ist wichtig, den Unterschied zwischen Genauigkeit und Präzision zu verstehen und wie sich dies auf die Annotation auswirkt. Genauigkeit bezieht sich darauf, wie nah die annotierten Daten an den wahren Werten liegen. Sie hilft uns zu messen, wie eng die Labels reale Szenarien widerspiegeln. Präzision gibt die Konsistenz der Annotationen an. Sie prüft, ob du demselben Objekt oder Merkmal im gesamten Datensatz dasselbe Label gibst. Hohe Genauigkeit und Präzision führen zu besser trainierten Modellen, indem Rauschen reduziert und die Fähigkeit des Modells zur Verallgemeinerung aus den Trainingsdaten verbessert wird.

Accuracy vs precision comparison for data annotation

Link to this sectionAusreißer identifizieren#

Ausreißer sind Datenpunkte, die stark von anderen Beobachtungen im Datensatz abweichen. In Bezug auf Annotationen könnte ein Ausreißer ein falsch gelabeltes Bild oder eine Annotation sein, die nicht zum Rest des Datensatzes passt. Ausreißer sind besorgniserregend, da sie den Lernprozess des Modells verzerren können, was zu ungenauen Vorhersagen und einer schlechten Verallgemeinerung führt.

Du kannst verschiedene Methoden verwenden, um Ausreißer zu erkennen und zu korrigieren:

  • Statistische Techniken: Um Ausreißer in numerischen Merkmalen wie Pixelwerten, Bounding Box-Koordinaten oder Objektgrößen zu erkennen, kannst du Methoden wie Box-Plots, Histogramme oder Z-Scores verwenden.
  • Visuelle Techniken: Um Anomalien in kategorialen Merkmalen wie Objektklassen, Farben oder Formen zu erkennen, verwende visuelle Methoden wie das Plotten von Bildern, Labels oder Heatmaps.
  • Algorithmische Methoden: Nutze Tools wie Clustering (z. B. K-Means-Clustering, DBSCAN) und Anomaly Detection-Algorithmen, um Ausreißer basierend auf Datenverteilungsmustern zu identifizieren.

Link to this sectionQualitätskontrolle annotierter Daten#

Genau wie bei anderen technischen Projekten ist die Qualitätskontrolle bei annotierten Daten ein Muss. Es ist eine gute Praxis, Annotationen regelmäßig zu überprüfen, um sicherzustellen, dass sie präzise und konsistent sind. Dies kann auf verschiedene Weise geschehen:

  • Überprüfung von Stichproben annotierter Daten
  • Verwendung automatisierter Tools zur Erkennung häufiger Fehler
  • Eine zweite Person die Annotationen überprüfen lassen

Wenn du mit mehreren Personen zusammenarbeitest, ist Konsistenz zwischen verschiedenen Annotatoren wichtig. Eine gute Übereinstimmung zwischen den Annotatoren bedeutet, dass die Richtlinien klar sind und jeder sie auf die gleiche Weise befolgt. Dies sorgt dafür, dass alle am selben Strang ziehen und die Annotationen konsistent bleiben.

Wenn du bei der Überprüfung Fehler findest, korrigiere sie und aktualisiere die Richtlinien, um zukünftige Fehler zu vermeiden. Gib den Annotatoren Feedback und biete regelmäßige Schulungen an, um Fehler zu reduzieren. Ein starker Prozess zur Fehlerbehandlung hält deinen Datensatz präzise und zuverlässig.

Link to this sectionEffiziente Strategien zur Datenkennzeichnung#

Um den Prozess der Datenkennzeichnung reibungsloser und effektiver zu gestalten, erwäge die Implementierung dieser Strategien:

  • Klare Annotationsrichtlinien: Biete detaillierte Anweisungen mit Beispielen, um sicherzustellen, dass alle Annotatoren Aufgaben konsistent interpretieren. Gib beispielsweise bei der Kennzeichnung von Vögeln an, ob der gesamte Vogel oder nur bestimmte Teile einzubeziehen sind.
  • Regelmäßige Qualitätskontrollen: Setze Benchmarks und verwende spezifische Metriken zur Überprüfung der Arbeit, um durch kontinuierliches Feedback hohe Standards aufrechtzuerhalten.
  • Verwende Vor-Annotationstools: Viele moderne Annotationsplattformen bieten KI-gestützte Vor-Annotationsfunktionen, die den Prozess erheblich beschleunigen können, indem sie automatisch erste Annotationen generieren, die von Menschen verfeinert werden können.
  • Implementiere Active Learning: Dieser Ansatz priorisiert die Kennzeichnung der informativsten Stichproben zuerst, was die Gesamtzahl der benötigten Annotationen reduzieren kann, während die Modellleistung erhalten bleibt.
  • Stapelverarbeitung (Batch Processing): Gruppiere ähnliche Bilder für die Annotation zusammen, um Konsistenz zu wahren und die Effizienz zu verbessern.

Diese Strategien können dazu beitragen, qualitativ hochwertige Annotationen beizubehalten und gleichzeitig die für den Kennzeichnungsprozess erforderliche Zeit und Ressourcen zu reduzieren.

Link to this sectionTeile deine Gedanken mit der Community#

Der Austausch deiner Ideen und Fragen mit anderen Computer Vision-Enthusiasten kann dazu beitragen, deine Projekte zu beschleunigen. Hier sind einige großartige Möglichkeiten, um zu lernen, Fehler zu beheben und sich zu vernetzen:

Link to this sectionWo du Hilfe und Support findest#

  • GitHub Issues: Besuche das YOLO26 GitHub-Repository und nutze den Issues-Tab, um Fragen zu stellen, Fehler zu melden und Funktionen vorzuschlagen. Die Community und die Maintainer sind da, um dir bei allen Problemen zu helfen, auf die du stößt.
  • Ultralytics Discord-Server: Tritt dem Ultralytics Discord-Server bei, um dich mit anderen Benutzern und Entwicklern zu vernetzen, Support zu erhalten, Wissen zu teilen und Ideen zu entwickeln.

Link to this sectionOffizielle Dokumentation#

  • Ultralytics YOLO26 Dokumentation: Verweise auf die offizielle YOLO26 Dokumentation für gründliche Anleitungen und wertvolle Einblicke in zahlreiche Computer-Vision-Aufgaben und -Projekte.

Link to this sectionFazit#

Das Sammeln diverser, unvoreingenommener Daten und deren konsistente Annotation mit den richtigen Tools ist das Fundament eines zuverlässigen Computer-Vision-Modells. Wenn dein Datensatz gesammelt und gelabelt ist, fahre mit dem Leitfaden zu den Schritten eines Computer-Vision-Projekts fort, um mit Training und Evaluation zu beginnen.

Link to this sectionFAQ#

Link to this sectionWas ist der beste Weg, um Bias bei der Datenerfassung für Computer Vision-Projekte zu vermeiden?#

Um Bias zu minimieren, sammle Daten aus vielfältigen Quellen, stelle eine ausgewogene Repräsentation aller relevanten Gruppen sicher (wie verschiedene Altersgruppen, Geschlechter und Ethnien), prüfe und aktualisiere deinen Datensatz regelmäßig, um entstehende Biases zu erkennen, und wende Minderungsstrategien wie Oversampling unterrepräsentierter Klassen, Datenerweiterung und Fairness-Algorithmen an. Die Vermeidung von Bias auf diese Weise sorgt dafür, dass dein Computer-Vision-Modell in verschiedenen realen Szenarien gut funktioniert und seine Generalisierungsfähigkeit verbessert.

Link to this sectionWie kann ich eine hohe Konsistenz und Genauigkeit bei der Datenannotation sicherstellen?#

Lege klare, objektive Labeling-Richtlinien mit detaillierten Anweisungen, Beispielen und Illustrationen fest und wende sie einheitlich über alle Datentypen an, damit jede Annotation denselben Regeln folgt. Trainiere Annotatoren, neutral zu bleiben, um persönlichen Bias zu reduzieren, prüfe und aktualisiere die Richtlinien regelmäßig und nutze automatisierte Konsistenzprüfungen sowie Feedback zwischen den Annotatoren, um die Genauigkeit hoch zu halten und mit deinen Projektzielen in Einklang zu bringen.

Link to this sectionWie viele Bilder benötige ich für das Training von Ultralytics YOLO-Modellen?#

Ein paar hundert annotierte Objekte pro Klasse reichen aus, um mit Transfer Learning zu experimentieren, aber für eine zuverlässige Performance in der Praxis empfiehlt Ultralytics mindestens 1.500 Bilder und 10.000 gelabelte Instanzen pro Klasse. Kombiniere einen ausreichend großen Datensatz mit einem vernünftigen Trainingsplan – etwa 300 Epochen sind ein gängiger Ausgangspunkt, der bei vorzeitigem Overfitting reduziert werden kann – und halte deine Annotationen streng und auf die spezifischen Ziele deines Projekts ausgerichtet. Erkunde detaillierte Trainingsstrategien im YOLO26-Trainingsleitfaden.

Link to this sectionBietet Ultralytics ein Daten-Annotationstool an?#

Ja. Die Ultralytics Platform enthält einen integrierten Annotationseditor, der Bounding Boxes, Polygone, Keypoints, orientierte Boxen und Klassifizierungs-Labels in einem einzigen Arbeitsbereich unterstützt. Die SAM-gestützte intelligente Annotation beschleunigt das Labeling für Detection-, Segmentierungs- und OBB-Aufgaben durch das Erstellen von Masken mit nur einem Klick. Jede Annotation wird im YOLO-Format gespeichert und ist bereit für das Training.

Link to this sectionWelche Arten der Datenannotation werden in der Computer Vision häufig verwendet?#

Die häufigsten Datenannotationstypen in der Computer Vision sind Bounding Boxes, Polygone, Masken und Keypoints, von denen jeder für eine andere Aufgabe geeignet ist:

  • Bounding Boxes: Hauptsächlich für die Objekterkennung verwendet; dies sind rechteckige Boxen um Objekte in einem Bild.
  • Polygone: Bieten präzisere Objektumrisse, die für Instance Segmentation-Aufgaben geeignet sind.
  • Masken: Bieten Details auf Pixelebene und werden in der Semantic Segmentation verwendet, um Objekte vom Hintergrund zu unterscheiden.
  • Keypoints: Identifizieren spezifische interessante Punkte innerhalb eines Bildes, nützlich für Aufgaben wie Pose Estimation und die Erkennung von Gesichtsmerkmalen.

Die Auswahl des geeigneten Annotationstyps hängt von den Anforderungen deines Projekts ab. Erfahre mehr darüber, wie du diese Annotationen und ihre Formate implementierst, in unserem Datenannotationsleitfaden.

Kommentare