YOLO Vision 2026:

Strategien zur Datenerfassung und Annotation für Computer Vision#

Datenerfassung und Annotation sind die beiden grundlegenden Schritte jedes Computer-Vision-Projekts: Du sammelst repräsentative Bilder oder Videos und beschriftest sie anschließend, damit ein Modell daraus lernen kann. Die Qualität dieser Daten bestimmt direkt die Modellleistung. Deshalb sind die Klassendefinition, eine unverzerrte Datenerhebung und eine 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 Sammeln von Daten, die Bedeutung von Datenannotation sowie die verfügbaren Annotationstypen und -formate und effiziente Strategien zur Beschriftung – jede Entscheidung ausgerichtet an den Zielen deines Projekts.

Klassen einrichten und Daten sammeln#

Beim Sammeln von Bildern und Videos für ein Computer-Vision-Projekt kommt es auf drei Entscheidungen an: wie viele Klassen definiert werden, aus welchen Quellen die Daten stammen und wie der Datensatz frei von Verzerrungen bleibt.

Die 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. Dazu gehören die verschiedenen Kategorien oder Bezeichnungen, die dein Modell erkennen und unterscheiden soll. Die Anzahl der Klassen sollte sich nach den konkreten Zielen deines Projekts richten.

Wenn du beispielsweise den Verkehr überwachen möchtest, könnten deine Klassen „Auto“, „Lkw“, „Bus“, „Motorrad“ und „Fahrrad“ umfassen. Wenn du dagegen Artikel in einem Geschäft verfolgen möchtest, könnten deine Klassen „Obst“, „Gemüse“, „Getränke“ und „Snacks“ lauten. Wenn du die Klassen anhand der Ziele deines Projekts definierst, bleibt dein Datensatz relevant und fokussiert.

Beim Definieren deiner Klassen musst du außerdem entscheiden, ob du eine grobe oder feine Klasseneinteilung wählen möchtest. „Anzahl“ bezeichnet die Zahl der unterschiedlichen Klassen, die dich interessieren. Diese Entscheidung beeinflusst die Granularität deiner Daten und die Komplexität deines Modells. Für die beiden Ansätze gelten folgende Überlegungen:

  • Grobe Klasseneinteilung: Dies sind umfassendere Kategorien wie „Fahrzeug“ und „kein Fahrzeug“. Sie vereinfachen die Annotation und benötigen weniger Rechenressourcen, liefern aber weniger detaillierte Informationen und können dadurch die Leistungsfähigkeit des Modells in komplexen Szenarien einschränken.
  • Feine Klasseneinteilung: Hier gibt es mehr Kategorien mit genaueren Unterscheidungen, etwa „Limousine“, „SUV“, „Pick-up“ und „Motorrad“. Sie erfassen detailliertere Informationen und verbessern dadurch Genauigkeit und Leistung des Modells. Ihre Annotation ist jedoch zeitaufwendiger und arbeitsintensiver und erfordert mehr Rechenressourcen.

Der Einstieg 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 Erkenntnisse zu gewinnen und klarere Unterschiede zwischen Kategorien festzulegen. Das verbessert nicht nur die Genauigkeit des Modells, sondern erleichtert auch spätere Anpassungen und spart dadurch Zeit und Ressourcen.

Datenquellen#

Du kannst öffentliche Datensätze verwenden oder eigene benutzerdefinierte Daten sammeln. Öffentliche Datensätze wie die auf Kaggle und der Google Dataset Search Engine bieten gut annotierte, standardisierte Daten und sind daher gute Ausgangspunkte für das Training und die Validierung von Modellen.

Die Erfassung eigener Daten ermöglicht es dir dagegen, deinen Datensatz an deine spezifischen Anforderungen anzupassen. Du kannst Bilder und Videos mit Kameras oder Drohnen aufnehmen, im Web nach Bildern suchen oder bereits vorhandene interne Daten deiner Organisation verwenden. Eigene Daten geben dir mehr Kontrolle über ihre Qualität und Relevanz. Durch die Kombination öffentlicher und eigener Datenquellen entsteht ein vielfältiger und umfassender Datensatz.

Verzerrungen bei der Datenerfassung vermeiden#

Eine Verzerrung entsteht, wenn bestimmte Gruppen oder Szenarien in deinem Datensatz unter- oder überrepräsentiert sind. Das führt zu einem Modell, das bei manchen Daten gute, bei anderen aber schlechte Ergebnisse liefert. Es ist entscheidend, Verzerrungen in der KI zu vermeiden, damit dein Computer-Vision-Modell in unterschiedlichsten Szenarien gut funktioniert.

So kannst du Verzerrungen beim Sammeln von Daten vermeiden:

  • Vielfältige Quellen: Sammle Daten aus vielen Quellen, um unterschiedliche Perspektiven und Szenarien abzudecken.
  • Ausgewogene Repräsentation: Beziehe alle relevanten Gruppen ausgewogen ein. Berücksichtige beispielsweise unterschiedliche Altersgruppen, Geschlechter und Ethnien.
  • Kontinuierliche Überwachung: Überprüfe und aktualisiere deinen Datensatz regelmäßig, um neu auftretende Verzerrungen zu erkennen und zu beheben.
  • Techniken zur Verzerrungsminderung: Verwende Methoden wie Oversampling unterrepräsentierter Klassen, Datenerweiterung und Algorithmen, die Fairness berücksichtigen.

Mit diesen Maßnahmen erstellst du ein robusteres und faireres Modell, das sich gut auf reale Anwendungen übertragen lässt.

Was ist Datenannotation?#

Datenannotation ist der Prozess, Daten zu beschriften, damit sie für das Training von Machine-Learning-Modellen verwendet werden können. Bei Computer Vision bedeutet das, Bilder oder Videos mit den Informationen zu versehen, die ein Modell zum Lernen benötigt. Ohne korrekt annotierte Daten können Modelle die Beziehungen zwischen Eingaben und Ausgaben nicht zuverlässig lernen.

Arten der Datenannotation#

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

  • Begrenzungsrahmen: Rechteckige Rahmen um Objekte in einem Bild, die hauptsächlich für Objekterkennungsaufgaben verwendet werden. Diese Rahmen werden durch ihre Koordinaten oben links und unten rechts definiert.
  • Polygone: Detaillierte Umrisse von Objekten, die eine präzisere Annotation als Begrenzungsrahmen ermöglichen. Polygone werden bei Aufgaben wie der Instanzsegmentierung 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 Aufgaben der semantischen Segmentierung verwendet, um Details auf Pixelebene bereitzustellen.
  • Schlüsselpunkte: Bestimmte Punkte, die in einem Bild markiert werden, um interessante Positionen zu kennzeichnen. Schlüsselpunkte werden bei Aufgaben wie der Posenschätzung und der Erkennung von Gesichtsmerkmalen verwendet.
  • Gedrehte Begrenzungsrahmen: Rechtecke mit einem Drehwinkel, die bei OBB-Aufgaben verwendet werden, wenn Objekte beliebig ausgerichtet sind, etwa in Luftaufnahmen.

Data annotation types including bounding boxes, polygons, and masks

Gängige Annotationsformate#

Nach der Auswahl eines Annotationstyps ist es wichtig, das passende Format zum Speichern und Teilen der Annotationen zu wählen. Die gängigsten Formate sind:

FormatDateistrukturHäufig verwendet für
COCOEine einzelne JSON-DateiObjekterkennung, Instanzsegmentierung, Schlüsselpunkterkennung, Stuff- und panoptische Segmentierung, Bildbeschreibung
Pascal VOCEine XML-Datei pro BildObjekterkennung
YOLOEine .txt-Datei pro BildObjekterkennung, Segmentierung, Pose und gedrehte Begrenzungsrahmen

Das YOLO-Format speichert eine Zeile pro Objekt, wobei die Klassenindizes bei 0 beginnen. Für die Objekterkennung lautet die Zeile class x_center y_center width height und enthält normalisierte Koordinaten im Bereich 0–1. Eine Segmentierungs-Zeile ersetzt den Rahmen durch die normalisierten Polygonpunkte des Objekts, während eine Pose-Zeile den Rahmen beibehält und dahinter die Koordinaten der Schlüsselpunkte ergänzt, jeweils mit einem Sichtbarkeitskennzeichen, wenn der Datensatz kpt_shape: [n, 3] angibt. Eine OBB-Zeile speichert class x1 y1 x2 y2 x3 y3 x4 y4 anhand normalisierter Eckkoordinaten.

Wenn dein Annotationstool COCO-JSON exportiert, kannst du es entweder in YOLO-Labels im Format .txt konvertieren oder direkt mit dem JSON trainieren, indem du eine benutzerdefinierte Datensatzklasse verwendest.

Annotationsrichtlinien festlegen#

Nachdem du Annotationstyp und -format ausgewählt hast, besteht der nächste Schritt darin, klare und objektive Regeln für die Beschriftung festzulegen. Diese Regeln dienen während des gesamten Annotationsprozesses als Orientierung für Konsistenz und Genauigkeit. Zu den wichtigsten Aspekten gehören:

  • Klarheit und Detailgenauigkeit: Achte darauf, dass deine Anweisungen verständlich sind. Verwende Beispiele und Abbildungen, 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.
  • Verzerrungen reduzieren: Bleibe neutral. Trainiere dich darin, objektiv zu sein, und minimiere persönliche Verzerrungen, um faire Annotationen sicherzustellen.
  • Effizienz: Arbeite intelligenter, nicht härter. Verwende Tools und Arbeitsabläufe, die sich wiederholende Aufgaben automatisieren und den Annotationsprozess schneller und effizienter machen.

Wenn du deine Regeln für die Beschriftung regelmäßig überprüfst und aktualisierst, bleiben deine Annotationen korrekt, konsistent und an den Zielen deines Projekts ausgerichtet.

Annotationstools#

Mit einem guten Annotationstool kannst du jeden für deine Aufgabe erforderlichen Typ beschriften, einheitliche Richtlinien durchsetzen und Labels in einem trainingsfertigen Format exportieren. Die Ultralytics Platform bietet einen integrierten Annotationseditor für Erkennung, Instanzsegmentierung, semantische Segmentierung, Klassifikation, Pose und OBB sowie eine intelligente Annotation mit SAM, die mit einem einzigen Klick eine Maske für Aufgaben der Erkennung, Instanzsegmentierung, semantischen Segmentierung und OBB erstellt. Da Annotationen in dem für die jeweilige Aufgabe erwarteten Layout gespeichert werden – YOLO-Zeilen im Format .txt für räumliche Aufgaben und Klassenordner für die Klassifikation –, kann dein beschrifteter Datensatz ohne Konvertierung direkt ins Training übernommen werden.

Annotationsqualität: Genauigkeit, Präzision und Ausreißer#

Bevor du in großem Umfang annotierst, ist es hilfreich, Genauigkeit, Präzision, Ausreißer und Qualitätskontrolle zu verstehen, damit du deine Daten nicht auf kontraproduktive Weise beschriftest.

Genauigkeit und Präzision verstehen#

Es ist wichtig, den Unterschied zwischen Genauigkeit und Präzision sowie deren Bedeutung für die Annotation zu verstehen. Genauigkeit beschreibt, wie nah die annotierten Daten an den tatsächlichen Werten liegen. Sie hilft uns zu messen, wie gut die Labels reale Szenarien abbilden. Präzision gibt die Konsistenz der Annotationen an. Sie prüft, ob du demselben Objekt oder Merkmal im gesamten Datensatz dasselbe Label zuweist. Hohe Genauigkeit und Präzision führen zu besser trainierten Modellen, da sie Rauschen reduzieren und die Fähigkeit des Modells verbessern, aus den Trainingsdaten zu generalisieren.

Accuracy vs precision comparison for data annotation

Ausreißer erkennen#

Ausreißer sind Datenpunkte, die deutlich von anderen Beobachtungen im Datensatz abweichen. Bei Annotationen kann ein Ausreißer ein falsch beschriftetes Bild oder eine Annotation sein, die nicht zum restlichen Datensatz passt. Ausreißer sind problematisch, weil sie den Lernprozess des Modells verzerren und zu ungenauen Vorhersagen sowie schlechter Generalisierung führen können.

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

  • Statistische Verfahren: Um Ausreißer in numerischen Merkmalen wie Pixelwerten, Begrenzungsrahmen-Koordinaten oder Objektgrößen zu erkennen, kannst du beispielsweise Boxplots, Histogramme oder z-Werte verwenden.
  • Visuelle Verfahren: Um Anomalien in kategorialen Merkmalen wie Objektklassen, Farben oder Formen zu erkennen, kannst du Bilder, Labels oder Heatmaps visualisieren.
  • Algorithmische Verfahren: Verwende Tools wie Clustering, beispielsweise K-Means-Clustering und DBSCAN, sowie Algorithmen zur Anomalieerkennung, um Ausreißer anhand von Mustern in der Datenverteilung zu identifizieren.

Qualitätskontrolle annotierter Daten#

Wie bei anderen technischen Projekten ist die Qualitätskontrolle auch bei annotierten Daten unerlässlich. Es ist sinnvoll, Annotationen regelmäßig zu überprüfen, um ihre Genauigkeit und Konsistenz sicherzustellen. Dafür gibt es verschiedene Möglichkeiten:

  • Stichproben annotierter Daten überprüfen
  • Automatisierte Tools verwenden, um häufige Fehler zu erkennen
  • Die Annotationen von einer anderen Person gegenprüfen lassen

Wenn du mit mehreren Personen arbeitest, ist die Konsistenz zwischen den verschiedenen Annotierenden wichtig. Eine gute Übereinstimmung zwischen den Annotierenden bedeutet, dass die Richtlinien klar sind und alle sie auf dieselbe Weise befolgen. So arbeiten alle nach denselben Vorgaben und die Annotationen bleiben konsistent.

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

Effiziente Strategien zur Datenbeschriftung#

Um den Prozess der Datenbeschriftung reibungsloser und effektiver zu gestalten, kannst du folgende Strategien umsetzen:

  • Klare Annotationsrichtlinien: Stelle detaillierte Anweisungen mit Beispielen bereit, damit alle Annotierenden die Aufgaben einheitlich interpretieren. Lege beispielsweise bei der Beschriftung von Vögeln fest, ob der gesamte Vogel oder nur bestimmte Körperteile einbezogen werden sollen.
  • Regelmäßige Qualitätsprüfungen: Lege Referenzwerte fest und verwende bestimmte Metriken zur Überprüfung der Arbeit. So hältst du durch kontinuierliches Feedback hohe Standards ein.
  • Tools für die Vorannotation verwenden: Viele moderne Annotationsplattformen bieten KI-gestützte Funktionen für die Vorannotation, die den Prozess deutlich beschleunigen können, indem sie automatisch erste Annotationen erstellen, die anschließend von Menschen verfeinert werden.
  • Active Learning einsetzen: Dieser Ansatz priorisiert zunächst die Beschriftung der informativsten Beispiele. Dadurch kann die insgesamt benötigte Anzahl an Annotationen reduziert und gleichzeitig die Modellleistung beibehalten werden.
  • Stapelverarbeitung: Gruppiere ähnliche Bilder zur Annotation, um die Konsistenz zu wahren und die Effizienz zu steigern.

Mit diesen Strategien kannst du hochwertige Annotationen sicherstellen und gleichzeitig den Zeit- und Ressourcenaufwand für die Beschriftung reduzieren.

Fazit#

Die Erfassung vielfältiger, unverzerrter Daten und ihre konsistente Annotation mit den richtigen Tools bilden die Grundlage für ein zuverlässiges Computer-Vision-Modell. Nachdem du deinen Datensatz erfasst und beschriftet hast, fahre mit dem Leitfaden zu den Schritten eines Computer-Vision-Projekts fort, um mit Training und Evaluierung zu beginnen. Wenn dabei Fragen auftreten, kannst du die Community im Ultralytics-GitHub-Repository oder auf dem Ultralytics-Discord-Server fragen.

FAQ#

  • Um Verzerrungen zu minimieren, solltest du Daten aus vielfältigen Quellen sammeln, eine ausgewogene Repräsentation aller relevanten Gruppen sicherstellen, etwa verschiedener Altersgruppen, Geschlechter und Ethnien, deinen Datensatz regelmäßig überprüfen und aktualisieren, um neu auftretende Verzerrungen zu erkennen, und Maßnahmen wie Oversampling unterrepräsentierter Klassen, Datenerweiterung und Algorithmen zur Fairnesssicherung einsetzen. So bleibt die Leistung deines Computer-Vision-Modells in unterschiedlichen realen Szenarien gut und seine Generalisierungsfähigkeit verbessert sich.

  • Lege klare, objektive Richtlinien für die Beschriftung mit detaillierten Anweisungen, Beispielen und Abbildungen fest und wende sie einheitlich auf alle Datentypen an, damit jede Annotation denselben Regeln folgt. Schule die Annotierenden darin, neutral zu bleiben und persönliche Verzerrungen zu reduzieren, überprüfe und aktualisiere die Richtlinien regelmäßig und verwende automatisierte Konsistenzprüfungen sowie Feedback zwischen den Annotierenden, um eine hohe Genauigkeit sicherzustellen und die Annotationen an den Zielen deines Projekts auszurichten.

  • Einige hundert annotierte Objekte pro Klasse reichen aus, um mit Transfer Learning zu experimentieren. Für eine zuverlässige Leistung in realen Szenarien empfiehlt Ultralytics jedoch mindestens 1.500 Bilder und 10.000 beschriftete Instanzen pro Klasse. Kombiniere einen ausreichend großen Datensatz mit einem angemessenen Trainingsplan – etwa 300 Epochen sind ein üblicher Ausgangspunkt, bei frühem Overfitting jedoch sollte die Anzahl reduziert werden – und achte darauf, dass deine Annotationen sorgfältig erstellt und an den konkreten Zielen deines Projekts ausgerichtet sind. Weitere Trainingsstrategien findest du im YOLO26-Trainingsleitfaden.

  • Ja. Die Ultralytics Platform enthält einen integrierten Annotationseditor, der Begrenzungsrahmen, Polygone, Schlüsselpunkte, gedrehte Begrenzungsrahmen und Klassifikationslabels in einem einzigen Arbeitsbereich unterstützt. Die intelligente Annotation mit SAM beschleunigt die Beschriftung für Aufgaben der Erkennung, Instanzsegmentierung, semantischen Segmentierung und OBB, indem sie mit einem einzigen Klick Masken erzeugt. Pose und Klassifikation werden dagegen manuell annotiert. Die Annotationen werden im für die jeweilige Aufgabe erwarteten Layout gespeichert – YOLO-Zeilen im Format .txt für räumliche Aufgaben und Klassenordner für die Klassifikation – und sind damit direkt für das Training bereit.

  • Richte den Annotationstyp nach der Aufgabe aus, für die du trainieren möchtest. Begrenzungsrahmen lassen sich am schnellsten zeichnen und reichen für die Objekterkennung aus. Polygone und Masken benötigen pro Objekt deutlich mehr Zeit, sind aber für die Instanzsegmentierung erforderlich, wenn die genaue Form eines Objekts wichtig ist. Schlüsselpunkte eignen sich für Posenschätzung und die Erkennung von Merkmalspunkten. Gedrehte Begrenzungsrahmen eignen sich für OBB-Aufgaben wie Luftaufnahmen, bei denen ein achsenparalleles Rechteck zu viel Hintergrund einschließen würde. Wenn du für die genaueste tatsächlich benötigte Aufgabe annotierst, bleibt der Beschriftungsaufwand im angemessenen Verhältnis zum Ergebnis.

Kommentare