Zum Hauptinhalt springen
Eine gut gestaltete Label-Taxonomie ist die Grundlage jedes Annotationsprojekts. Diese Seite behandelt, wie Sie Ihre Objektklassen strukturieren, Attribute konfigurieren und Hierarchien aufbauen, die konsistente, hochwertige Trainingsdaten produzieren.

Was ist eine Ontologie?

Im Kontext der Datenannotation ist eine Ontologie (oder Label-Taxonomie) das vollständige Schema von Klassen, Attributen und Beziehungen, das Annotatoren zum Labeln von Daten verwenden. Sie definiert:
  • Was für Objekte zu labeln sind (Objektklassen)
  • Wie sie beschrieben werden (Attribute und Eigenschaften)
  • Wie Klassen zueinander in Beziehung stehen (Hierarchie und Gruppierung)
Eine klare Ontologie reduziert die Verwirrung der Annotatoren, verbessert das Inter-Annotator-Agreement und produziert sauberere Trainingsdaten für Ihre Modelle.

Objektklassen

Objektklassen sind die Kernbausteine Ihrer Taxonomie. Jede Klasse repräsentiert eine Kategorie von Objekten, die Annotatoren in den Daten identifizieren und labeln werden.

Klassen definieren

Beim Erstellen eines Projekts in Avala definieren Sie Ihre Label-Konfiguration als Liste von Klassen:
{
  "labels": [
    { "name": "car", "color": "#FF0000" },
    { "name": "pedestrian", "color": "#00FF00" },
    { "name": "cyclist", "color": "#0000FF" },
    { "name": "truck", "color": "#FFA500" },
    { "name": "bus", "color": "#800080" }
  ]
}
Jede Klasse hat einen eindeutigen Namen und eine Anzeigefarbe, die im Annotationseditor verwendet wird. Wählen Sie Farben, die sich visuell voneinander und von häufigen Hintergrundfarben in Ihren Daten unterscheiden.

Best Practices für Klassennamen

PraxisBeispielWarum
Verwenden Sie kleingeschriebene, spezifische Namensedan, pickup_truckReduziert Mehrdeutigkeit
Vermeiden Sie überlappende DefinitionenVerwenden Sie nicht sowohl car als auch vehicle auf derselben EbeneVerhindert Annotator-Verwirrung
Seien Sie konsistent mit Trennzeichentraffic_light nicht traffic-light oder trafficLightKonsistentes Parsing in Trainingspipelines
Negative/Hintergrundklassen nur bei Bedarfunknown, ignore_regionManche Modelle erfordern explizite Hintergrund-Labels

Attribute

Attribute fügen jeder Annotation strukturierte Metadaten über die Objektklasse hinaus hinzu. Sie ermöglichen Annotatoren, Eigenschaften wie Sichtbarkeit, Pose oder Zustand zu beschreiben.

Attributtypen

Avala unterstützt mehrere Attributtypen, die Sie an jede Objektklasse anhängen können:
TypBeschreibungWann verwendenBeispiel
DropdownEinzelauswahl aus einer vordefinierten ListeSich gegenseitig ausschließende OptionenVerdeckung: none, partial, heavy
CheckboxBoolescher SchalterEinfache Ja/Nein-Flagsis_parked: true/false
TextFreitexteingabeEindeutige Bezeichner oder BeschreibungenKennzeichen
ZahlNumerischer WertMessungen oder ZählungenGeschätzte Entfernung in Metern
MehrfachauswahlMehrere Auswahlmöglichkeiten aus einer ListeGleichzeitige, nicht-exklusive ZuständeSichtbar: headlights, taillights, turn_signal
Vergleich der Attributtypen

Attribute konfigurieren

Attribute werden in der Klassifikationskonfiguration des Projekts zusammen mit der Label-Konfiguration definiert:
{
  "labels": [
    { "name": "car", "color": "#FF0000" }
  ],
  "classification": {
    "attributes": [
      {
        "name": "occlusion",
        "type": "dropdown",
        "options": ["none", "partial", "heavy"],
        "required": true,
        "applies_to": ["car", "pedestrian", "cyclist"]
      },
      {
        "name": "is_parked",
        "type": "checkbox",
        "required": false,
        "applies_to": ["car", "truck", "bus"]
      },
      {
        "name": "truncation",
        "type": "dropdown",
        "options": ["none", "partial", "heavy"],
        "required": true,
        "applies_to": ["car", "pedestrian", "cyclist"]
      }
    ]
  }
}

Bedingte Attribute

Verwenden Sie das Feld applies_to, um Attribute nur für relevante Klassen anzuzeigen. Dies hält die Benutzeroberfläche des Annotators sauber — ein pedestrian benötigt kein is_parked-Attribut, und eine traffic_light benötigt kein truncation.
Markieren Sie Attribute als required für Eigenschaften, von denen Ihre Modelltrainingspipeline abhängt. Lassen Sie optionale Attribute für ergänzende Metadaten, die nützlich, aber nicht kritisch sind.

Hierarchische Taxonomien

Für komplexe Domänen werden flache Klassenlisten unhandlich. Hierarchische Taxonomien gruppieren verwandte Klassen unter Oberkategorien.

Beispiel: Fahrzeugtaxonomie

Vehicle
├── Car
│   ├── Sedan
│   ├── SUV
│   └── Hatchback
├── Truck
│   ├── Pickup
│   └── Semi
├── Bus
│   ├── City Bus
│   └── School Bus
└── Motorcycle

Wann Hierarchien verwenden

SzenarioEmpfehlung
Weniger als 15 KlassenFlache Liste ist einfacher und schneller
15-50 KlassenIn 3-5 Oberkategorien gruppieren
50+ KlassenMehrstufige Hierarchie mit Suche verwenden
Klassen teilen AttributeUnter Elternklasse gruppieren, damit Attribute vererbt werden

Hierarchien entwerfen

  1. Beginnen Sie breit, dann verfeinern Sie. Starten Sie mit Oberkategorien (vehicle, pedestrian, infrastructure) und fügen Sie Spezifität nur hinzu, wo Ihr Modell sie benötigt.
  2. Jede Blattklasse sollte eindeutig sein. Wenn Annotatoren nicht zuverlässig zwischen zwei Unterklassen unterscheiden können, führen Sie sie zusammen.
  3. Tiefe und Breite ausbalancieren. Tiefe Hierarchien (4+ Ebenen) verlangsamen Annotatoren. Bevorzugen Sie breitere Bäume mit 2-3 Ebenen.

Einzellabel- vs. Mehrlabel-Klassifikation

Avala unterstützt beide Klassifikationsmodi je nach Ihren Projektanforderungen.

Einzellabel

Jedes Objekt oder jede Szene erhält genau ein Klassenlabel. Dies ist der Standard für die meisten Annotationstypen.
  • Objekterkennung: Jede Bounding Box erhält eine Klasse
  • Szenenklassifikation: Jedes Bild erhält eine Kategorie

Mehrlabel

Ein Objekt oder eine Szene kann gleichzeitig mehrere Labels erhalten. Verwenden Sie dies, wenn Kategorien sich nicht gegenseitig ausschließen.
  • Ein Bild kann sowohl rainy als auch nighttime sein
  • Ein Fahrzeug kann sowohl damaged als auch parked sein
Konfigurieren Sie Mehrlabel-Klassifikation in der Klassifikationskonfiguration Ihres Projekts, indem Sie den Klassifikationstyp auf Aufgabenebene festlegen:
{
  "classification": {
    "type": "multi-label",
    "categories": [
      { "name": "weather", "options": ["clear", "rainy", "foggy", "snowy"] },
      { "name": "time_of_day", "options": ["daytime", "nighttime", "dawn", "dusk"] },
      { "name": "road_condition", "options": ["dry", "wet", "icy"] }
    ]
  }
}

Checkliste für das Ontologie-Design

Bevor Sie Ihr Annotationsprojekt starten, überprüfen Sie Ihre Ontologie anhand dieser Checkliste:
PrüfungFrage
VollständigkeitHat jedes Objekt, das Ihr Modell erkennen muss, eine Klasse?
Gegenseitige ExklusivitätKann ein Annotator immer genau eine Klasse ohne Mehrdeutigkeit zuweisen?
AttributabdeckungSind alle für das Training benötigten Eigenschaften als Attribute erfasst?
Konsistente GranularitätSind Klassen auf derselben Ebene gleich spezifisch?
Klarheit für AnnotatorenKann ein neuer Annotator jede Klasse allein anhand ihres Namens verstehen?
ModellabstimmungEntspricht die Taxonomie dem, was Ihre Modellarchitektur erwartet?
SkalierbarkeitKönnen Sie später neue Klassen hinzufügen, ohne umzustrukturieren?

Häufige Fehler

Überdetaillierte Klassen

Zu viele feingranulare Klassen führen zu niedrigem Inter-Annotator-Agreement und spärlichen Trainingsdaten pro Klasse. Problem: 50 Fahrzeug-Unterklassen, von denen die meisten weniger als 100 Beispiele haben. Lösung: Beginnen Sie mit 5-10 breiten Klassen. Fügen Sie Unterklassen nur hinzu, wenn Sie genügend Daten haben und Ihr Modell von der Unterscheidung profitiert.

Mehrdeutige Grenzen

Wenn zwei Klassen sich konzeptionell überschneiden, werden Annotatoren sich uneinig sein, welche zu verwenden ist. Problem: Sowohl van als auch minivan existieren, aber Annotatoren können sie nicht zuverlässig unterscheiden. Lösung: Entweder zu einer einzelnen Klasse zusammenführen oder explizite visuelle Richtlinien mit Referenzbildern bereitstellen, die die Grenze aufzeigen.

Fehlende Sonderfälle

Reale Daten enthalten Objekte, die nicht sauber in Ihre Taxonomie passen. Problem: Ein Annotator trifft auf einen Golfwagen, aber die Taxonomie hat nur car, truck und motorcycle. Lösung: Fügen Sie eine Sammelklasse wie other_vehicle hinzu und überprüfen Sie regelmäßig die damit gelabelten Elemente, um Klassen zu identifizieren, die Sie hinzufügen müssen.

Nächste Schritte

Grundkonzepte

Die grundlegenden Bausteine der Avala Plattform überprüfen.

Qualitätskontrolle

Prüf-Workflows einrichten, um die Annotationsqualität zu validieren.

Annotationstypen

JSON-Formate für Bounding Boxes, Polygone, Quader und mehr ansehen.

Erster Datensatz

Daten hochladen und Ihr erstes Annotationsprojekt erstellen.