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.

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 und Pose

Das YOLO-Format speichert eine Zeile pro Objekt mit Klassenindizes, die bei 0 beginnen. Für object detection lautet die Zeile class x_center y_center width height mit normalisierten 0–1-Koordinaten, während bei segmentation normalisierte Polygonpunkte und bei pose Keypoint-Koordinaten plus optionale Sichtbarkeitswerte nach der Box angehängt werden.

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 Typ zu kennzeichnen, den deine Aufgabe erfordert, erzwingt konsistente Richtlinien und exportiert Beschriftungen in einem trainingsbereiten Format. Ultralytics Platform bietet einen integrierten annotation editor für Detektion, Instanzsegmentierung, Pose, OBB und Klassifizierung, komplett mit SAM-powered smart annotation, die einen einzelnen Klick in eine Maske für Detektions-, Segmentierungs- und OBB-Aufgaben verwandelt. Da jede Annotation im YOLO format gespeichert wird, wandert dein annotierter Datensatz direkt in das training, ohne dass ein Kon Schritt erforderlich ist.

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.

Teile deine Gedanken mit der Community#

Der Austausch von Ideen und Fragen mit anderen computer vision-Enthusiasten kann dazu beitragen, deine Projekte zu beschleunigen. Hier sind einige tolle Möglichkeiten zum Lernen, zur Fehlerbehebung und zum Networking:

Wo du Hilfe und Support findest#

  • GitHub Issues: Besuche das YOLO26-GitHub-Repository und verwende den Issues tab, um Fragen zu stellen, Fehler zu melden und Funktionsvorschläge einzureichen. Die Community und die Maintainer helfen dir gerne bei allen auftretenden Problemen.
  • Ultralytics Discord Server: Trete dem Ultralytics Discord server bei, um dich mit anderen Benutzern und Entwicklern zu vernetzen, Unterstützung zu erhalten, Wissen auszutauschen und Ideen zu besprechen.

Offizielle Dokumentation#

  • Ultralytics YOLO26 Documentation: Schaue in der official YOLO26 documentation nach ausführlichen Leitfäden und wertvollen Einblicken zu zahlreichen Computer-Vision-Aufgaben und -Projekten.

Fazit#

Das Erfassen vielfältiger, unvoreingenommener Daten und deren konsistente Annotation mit den richtigen Tools ist das Fundament eines zuverlässigen Computer-Vision-Modells. Sobald dein Datensatz erfasst und beschriftet ist, kannst du im Leitfaden zu den steps of a computer vision project fortfahren, um mit dem Training und der Evaluierung zu beginnen.

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. Ultralytics Platform enthält einen integrierten annotation editor, der Bounding Boxes, Polygone, Keypoints, orientierte Boxen und Klassifizierungsetiketten in einem einzigen Arbeitsbereich unterstützt. SAM-powered smart annotation beschleunigt die Kennzeichnung für Detektions-, Segmentierungs- und OBB-Aufgaben durch die Generierung von Masken mit einem einzigen Klick, und jede Annotation wird im YOLO format gespeichert und ist bereit für das training.

  • 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 Annotationsentyps hängt von den Anforderungen deines Projekts ab. Erfahre mehr darüber, wie du diese Annotationen und ihre Formate implementierst, in unserem data annotation guide.

Kommentare