YOLO Vision 2026:

Strategien zur Datenerfassung und Annotation für Computer Vision#

Datenerfassung und -annotation sind die beiden grundlegenden Schritte jedes computer vision project: Du sammelst repräsentative Bilder oder Videos und kennzeichnest sie, damit ein Modell daraus lernen kann. Die Qualität dieser Daten bestimmt direkt die Modellleistung. Aus diesem Grund 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 setting up classes and collecting data, what data annotation is sowie die zur Auswahl stehenden Annotationsarten und -formate, und efficient labeling strategies – jede Entscheidung ist auf your project's goals ausgerichtet.

Klassen 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.

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, 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.

Datenquellen#

Du kannst öffentliche Datensätze verwenden oder deine eigenen benutzerdefinierten Daten erfassen. Öffentliche Datensätze wie die auf Kaggle und Google Dataset Search Engine bieten gut annotierte, standardisierte Daten und sind daher hervorragende 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.

Vermeidung von Bias bei der Datenerfassung#

Bias tritt auf, wenn bestimmte Gruppen oder Szenarien in deinem Datensatz unterrepräsentiert oder überrepräsentiert sind. Dies führt zu einem Modell, das bei bestimmten Daten gut, bei anderen jedoch schlecht abschneidet. Es ist von entscheidender Bedeutung, bias in AI zu vermeiden, damit dein Computer-Vision-Modell in verschiedensten Szenarien gute Leistungen erbringen 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: Verwende Methoden wie Oversampling unterrepräsentierter Klassen, data augmentation und Fairness-bewusste Algorithmen.

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

Was ist Datenannotation?#

Datenannotation ist der Prozess des Kennzeichnens von Daten, um sie für das Training von machine learning-Modellen nutzbar zu machen. Im Bereich 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 Beziehungen zwischen Eingaben und Ausgaben nicht genau erlernen.

Arten der Datenannotation#

Je nach den spezifischen Anforderungen einer computer vision task 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 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: Bestimmte Punkte, die in einem Bild markiert sind, um Orte von Interesse zu identifizieren. Keypoints werden bei Aufgaben wie pose estimation und der Erkennung von Gesichtsmerkmalen verwendet.
  • Oriented Bounding Boxes: Rechtecke mit einem Rotationswinkel, die bei OBB-Aufgaben verwendet werden, bei denen Objekte in beliebigen Ausrichtungen auftreten, wie etwa bei Luftaufnahmen.

Data annotation types including bounding boxes, polygons, and masks

Gä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-DateiObject detection, Instanzsegmentierung, Keypoint-Detektion, Stuff- und panoptic segmentation, Bildunterschriften
Pascal VOCEine XML-Datei pro BildObjekterkennung
YOLOEine .txt-Datei pro BildObjekterkennung, Segmentierung, Pose und orientierte Bounding Boxes

Das YOLO-Format speichert eine Zeile pro Objekt mit Klassenindizes beginnend bei 0. Für die Objekterkennung lautet die Zeile class x_center y_center width height mit normalisierten 0-1-Koordinaten. Eine Segmentierungs-Zeile ersetzt den Kasten durch die normalisierten Polygonpunkte des Objekts, während eine Pose-Zeile den Kasten behält und die Keypoint-Koordinaten dahinter anhängt, mit einem Sichtbarkeits-Flag pro Keypoint, wenn das Dataset kpt_shape: [n, 3] deklariert. Eine OBB-Zeile speichert class x1 y1 x2 y2 x3 y3 x4 y4 unter Verwendung normalisierter Eckkoordinaten.

Wenn dein Annotationstool COCO JSON exportiert, kannst du es entweder in YOLO .txt-Labels konvertieren oder direkt auf dem JSON trainieren mit einer benutzerdefinierten Dataset-Klasse.

Annotation-Richtlinien festlegen#

Nachdem eine Annotationsart und ein Format ausgewählt wurden, besteht der nächste Schritt darin, klare und objektive Beschriftungsregeln aufzustellen. Diese Regeln dienen als Leitfaden für Konsistenz und accuracy während des gesamten Annotationsprozesses. Zu den wichtigsten Aspekten dieser Regeln gehören:

  • 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.

Annotationstools#

Ein gutes Annotationstool ermöglicht es dir, jeden von deiner Aufgabe benötigten Typ zu beschriften, erzwingt konsistente Richtlinien und exportiert Labels in einem für das Training vorbereiteten Format. Die Ultralytics Platform bietet einen integrierten Annotationseditor, der Erkennung, Instanzsegmentierung, semantische Segmentierung, Klassifizierung, Pose und OBB abdeckt, mit SAM-gestützter intelligenter Annotation, die einen einzigen Klick in eine Maske für Erkennungs-, Instanzsegmentierungs-, semantische Segmentierungs- und OBB-Aufgaben verwandelt. Da die Annotationen in dem Layout gespeichert werden, das die jeweilige Aufgabe erwartet – YOLO .txt-Zeilen für räumliche Aufgaben und Klassenordner für die Klassifizierung –, wandert dein beschriftetes Dataset direkt ohne Konvertierungsschritt in das Training.

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

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

Genauigkeit und Präzision verstehen#

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

Accuracy vs precision comparison for data annotation

Ausreiß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 Boxplots, 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: Verwende Tools wie Clustering (z. B. K-Means-Clustering, DBSCAN) und anomaly detection-Algorithmen, um Ausreißer basierend auf Datenverteilungsmustern zu identifizieren.

Qualitä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.

Effiziente 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.

Fazit#

Das Sammeln diverser, unvoreingenommener Daten und deren konsistente Annotation mit den richtigen Tools ist das Fundament eines zuverlässigen Computer-Vision-Modells. Sobald dein Dataset gesammelt und beschriftet ist, fahre mit der Anleitung zu den Schritten eines Computer-Vision-Projekts fort, um zum Training und zur Evaluierung überzugehen. Wenn dabei Fragen aufkommen, frage die Community im Ultralytics GitHub-Repository oder auf dem Ultralytics Discord-Server.

FAQ#

  • 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.

  • 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.

  • Ein paar hundert annotierte Objekte pro Klasse reichen aus, um mit dem transfer learning zu experimentieren, aber für eine zuverlässige Leistung in der Praxis empfiehlt Ultralytics at least 1,500 images and 10,000 labeled instances per class. Kombiniere einen ausreichend großen Datensatz mit einem vernünftigen Trainingsplan – around 300 epochs sind ein üblicher Ausgangspunkt, der verkürzt werden kann, wenn das Modell frühzeitig überanpasst (overfitting) –, und halte deine Annotationen rigoros und auf die spezifischen Ziele deines Projekts ausgerichtet. Erkunde detaillierte Trainingsstrategien im YOLO26 training guide.

  • Ja. Die Ultralytics Platform enthält einen integrierten Annotationseditor, der Bounding Boxes, Polygone, Keypoints, orientierte Bounding Boxes und Klassifizierungslabels in einem einzigen Arbeitsbereich unterstützt. Die SAM-gestützte intelligente Annotation beschleunigt die Beschriftung für Erkennungs-, Instanzsegmentierungs-, semantische Segmentierungs- und OBB-Aufgaben durch das Generieren von Masken aus einem einzigen Klick, während Pose und Klassifizierung manuell annotiert werden. Annotationen werden in dem Layout gespeichert, das die jeweilige Aufgabe erwartet – YOLO .txt-Zeilen für die räumlichen Aufgaben, Klassenordner für die Klassifizierung –, bereit für das Training.

  • Passe den Annotationstyp an die Aufgabe an, für die du trainieren möchtest. Bounding Boxes lassen sich am schnellsten zeichnen und sind alles, was die Objekterkennung benötigt. Polygone und Masken erfordern merklich mehr Zeit pro Objekt, sind aber für die Instanzsegmentierung erforderlich, wenn die genaue Form eines Objekts wichtig ist. Keypoints eignen sich für die Posenschätzung und Landmark-Erkennung, und orientierte Bounding Boxes eignen sich für OBB-Aufgaben wie Luftaufnahmen, bei denen ein achsenauseinadergerichtetes Rechteck zu viel Hintergrund einschließen würde. Das Annotieren für die genaueste Aufgabe, die du tatsächlich brauchst, hält den Beschriftungsaufwand im Verhältnis zum Ergebnis.

Kommentare