Zurück zur Startseite

YOLOE: Objekterkennung ohne Feinabstimmung

YOLOE erweitert YOLO um Zero-Shot-Erkennungsfunktionen durch Text- und visuelle Prompts. RepRTA integriert Embeddings ohne Geschwindigkeitsverlust. Geeignet für dynamische Aufgaben wie Verpackung und Lagersteuerung.

YOLOE: Detektor für alles ohne Datensätze
Advertisement 728x90

YOLOE: Ein universeller Objektdetektor mit Text- und Bildaufforderungen

YOLOE ermöglicht die Erkennung beliebiger Objekte in Bildern mithilfe von Textbeschreibungen oder visuellen Beispielen anstelle fester Klassen. Das Backbone und PAN stammen vom Standard-YOLO, aber der Detektorkopf vergleicht Objekt-Einbettungen mit Vektoren eines Text-Encoders. Das RepRTA-Modul verfeinert Text-Einbettungen und integriert sie durch Re-Parametrisierung in das Modell, wobei die Inferenzgeschwindigkeit ohne Overhead erhalten bleibt.

Das Modell wird mit vortrainierten Gewichten initialisiert, wobei Klassen dynamisch festgelegt werden:

from ultralytics import YOLOE

model = YOLOE("yoloe-26m-seg.pt")
model.set_classes(["Person", "Bus"])
ergebnisse = model.predict("pfad/zum/bild.jpg")

Architektur und Schlüsselmodule

Standard-YOLO ist auf Klassen aus dem Trainingsdatensatz beschränkt. In YOLOE werden Klasseneinbettungen vor der Inferenz von einem Text-Encoder generiert und in die Gewichte eingebettet. Dies macht das Sammeln von Datensätzen, das Labeling und Trainingsiterationen überflüssig.

Google AdInline article slot

Zusätzlich werden visuelle Aufforderungen über SAVPE (Semantic-Activated Visual Prompt Encoder) unterstützt. Der Benutzer liefert ein Referenzbild mit Bounding Boxes, und das Modell sucht nach ähnlichen Objekten:

import numpy as np
from ultralytics import YOLOE
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor

model = YOLOE("yoloe-26m-seg.pt")
visuelle_aufforderungen = dict(
    bboxes=np.array([
        [221.52, 405.8, 344.98, 857.54],  # Person
        [120, 425, 160, 445],              # Bus
    ]),
    cls=np.array([0, 1]),
)
ergebnisse = model.predict(
    "ultralytics/assets/bus.jpg",
    refer_image="referenz.jpg",
    visual_prompts=visuelle_aufforderungen,
    predictor=YOLOEVPSegPredictor,
)
ergebnisse[0].show()

Der No-Prompt-Modus nutzt ein integriertes Wörterbuch mit über 1200 Kategorien:

from ultralytics import YOLOE

model = YOLOE("yoloe-26m-seg-pf.pt")
ergebnisse = model.predict("pfad/zum/bild.jpg")
ergebnisse[0].show()

Anwendungsszenarien

YOLOE eignet sich für Aufgaben mit klar beschreibbaren Objekten. Typische Anwendungsfälle sind:

Google AdInline article slot
  • Etikettierungskontrolle: Erkennung von QR-Codes, beschädigten Etiketten oder Verpackungsausrichtung auf einem Förderband.
  • Zonenüberwachung: Suche nach Fremdkörpern oder fehlenden Werkzeugen.
  • Lagerbestandsverwaltung: Zählen und Klassifizieren sich ändernder Produkte.
  • Visuelle Inspektion: Kratzer, Absplitterungen oder Verformungen auf Oberflächen.

In diesen Szenarien ersetzen Aufforderungen Datensätze und beschleunigen die Entwicklung.

Einschränkungen und Auswahl des Ansatzes

Das Modell stößt an Grenzen bei Aufgaben mit visuell ähnlichen Klassen, spezifischen Objekten oder Anforderungen an >95% Genauigkeit. Die Unterscheidung feiner Details oder ungesehener Objekte erfordert Feinabstimmung.

Strategie: Beginnen Sie mit YOLOE für eine Baseline-Bewertung; falls unzureichend, verfeinern Sie Encoder oder wechseln Sie zu klassischem Training.

Google AdInline article slot

Wichtige Punkte

  • Dynamische Klassen: Text- oder Bildaufforderungen statt fester Labels.
  • Geschwindigkeitserhalt: RepRTA parametrisiert Einbettungen neu, eliminiert Laufzeit-Overhead.
  • Flexibilität: SAVPE für visuelle Beispiele, integriertes Wörterbuch für Zero-Prompt.
  • Praktikabilität: Geeignet für industrielle Aufgaben mit wechselnden Objekten.
  • Grenzen: Nicht für Hochpräzision bei exotischen Daten.

— Editorial Team

Advertisement 728x90

Weiterlesen