YOLO-World praktisch ausprobieren
Erfahre mehr über YOLO-World, ein Echtzeitmodell zur Objekterkennung mit offenem Vokabular, das Objekte anhand von Texteingaben findet, sowie über seine Anwendungen und ein kurzes Codebeispiel.
Abirami Vina7 Min. Lesezeit
Bei Computer-Vision-Projekten wird oft viel Zeit für die Annotation von Daten und das Training von Objekterkennungs-Modellen aufgewendet. Das könnte sich jedoch bald ändern. Tencent AI Lab veröffentlichte am 31. Januar 2024 YOLO-World, ein Echtzeitmodell zur Objekterkennung mit offenem Vokabular. YOLO-World ist ein Zero-Shot-Modell. Das bedeutet, dass du Objekterkennungs-Inferenz auf Bildern ausführen kannst, ohne das Modell trainieren zu müssen.
Zero-Shot-Modelle könnten verändern, wie wir Computer-Vision-Anwendungen angehen. In diesem Blogbeitrag erklären wir, wie YOLO-World funktioniert, stellen mögliche Anwendungsbereiche vor und zeigen ein praktisches Codebeispiel für den Einstieg.
Ein Einblick in YOLO-World#
Du kannst dem YOLO-World-Modell ein Bild und eine Textaufforderung übergeben, die die gesuchten Objekte beschreibt. Wenn du beispielsweise auf einem Foto „eine Person mit rotem Hemd“ finden möchtest, verarbeitet YOLO-World diese Eingabe und legt los.
Die einzigartige Architektur des Modells vereint drei Hauptelemente:
- Ein Detektor, der auf dem Modell zur Objekterkennung Ultralytics YOLOv8 basiert und den Bildinhalt analysiert.
- Ein von OpenAIs CLIP vortrainierter Textencoder, der speziell dafür entwickelt wurde, deine Textvorgabe zu verstehen.
- Ein Netzwerk, das Re-parameterizable Vision-Language Path Aggregation Network (RepVL-PAN), führt die verarbeiteten Bilddaten mit den Textdaten zusammen.
Der YOLO-Detektor durchsucht dein Eingabebild nach möglichen Objekten. Der Textencoder wandelt deine Beschreibung in ein Format um, das das Modell versteht. Diese beiden Informationsströme werden anschließend mithilfe einer mehrstufigen modalitätsübergreifenden Fusion über RepVL-PAN zusammengeführt. So kann YOLO-World die in deiner Eingabeaufforderung beschriebenen Objekte im Bild präzise erkennen und lokalisieren.

Beispiel für Ergebnisse von YOLO-World.
Vorteile von YOLO-World#
Einer der größten Vorteile von YOLO-World ist, dass du das Modell nicht für eine bestimmte Klasse trainieren musst. Es hat bereits anhand von Bild-Text-Paaren gelernt und kann daher Objekte anhand von Beschreibungen finden. So sparst du dir stundenlanges Sammeln und Annotieren von Daten, das Training auf teuren GPUs und vieles mehr.
Hier sind einige weitere Vorteile von YOLO-World:
- Echtzeitbetrieb – YOLO-World unterstützt wie die ursprüngliche YOLO-Architektur den Echtzeitbetrieb. Das Modell eignet sich ideal für Anwendungen, bei denen Objekte sofort erkannt werden müssen, etwa in autonomen Fahrzeugen und Überwachungssystemen.
- Instanzsegmentierung – Die ursprüngliche YOLO-World-Version umfasst Segmentierungsvarianten; im Ultralytics-Paket führt YOLO-World Objekterkennung aus, während YOLOE die Instanzsegmentierung mit offenem Vokabular ergänzt.
- Effizienz – YOLO-World verbindet hohe Genauigkeit mit geringem Rechenaufwand und eignet sich dadurch für praktische Anwendungen. Dank der optimierten Architektur ist eine schnelle Objekterkennung ohne übermäßige Anforderungen an die Rechenleistung möglich.
Anwendungen von YOLO-World#
YOLO-World-Modelle lassen sich für vielfältige Anwendungen einsetzen. Sehen wir uns einige davon an.
Qualitätskontrolle in der Fertigung#
In einer Fertigungslinie werden hergestellte Produkte vor dem Verpacken visuell auf Mängel geprüft. Diese Prüfung erfolgt oft von Hand, was zeitaufwendig ist und zu Fehlern führen kann. Solche Fehler können Probleme wie hohe Kosten sowie Reparaturen oder Rückrufaktionen nach sich ziehen. Um dem entgegenzuwirken, wurden spezielle Bildverarbeitungskameras und KI-Systeme für diese Prüfungen entwickelt.
YOLO-World-Modelle stellen in diesem Bereich einen großen Fortschritt dar. Dank ihrer Zero-Shot-Fähigkeiten können sie Produktfehler erkennen, selbst wenn sie nicht speziell für dieses Problem trainiert wurden. Eine Fabrik, die beispielsweise Wasserflaschen herstellt, kann YOLO-World einsetzen, um eine ordnungsgemäß mit einem Verschluss versiegelte Flasche von einer Flasche mit fehlendem oder defektem Verschluss zu unterscheiden.

Beispiel für die Prüfung von Flaschenverschlüssen.
Robotik#
YOLO-World-Modelle ermöglichen es Robotern, mit unbekannten Umgebungen zu interagieren. Auch ohne Training mit bestimmten Objekten, die sich in einem Raum befinden könnten, können sie erkennen, welche Objekte vorhanden sind. Angenommen, ein Roboter betritt einen Raum, in dem er noch nie zuvor war. Mit einem YOLO-World-Modell kann er trotzdem Objekte wie Stühle, Tische oder Lampen erkennen und identifizieren, obwohl er nicht gezielt mit diesen Objekten trainiert wurde.
Neben der Objekterkennung kann YOLO-World dank der Funktion „Prompt-then-detect“ auch den Zustand dieser Objekte bestimmen. In der Landwirtschaftsrobotik kann das Modell beispielsweise zum Erkennen reifer und unreifer Früchte eingesetzt werden, indem der Roboter entsprechend programmiert wird.
KI in der Automobilindustrie#
In der Automobilindustrie sind viele bewegliche Teile im Spiel, und YOLO-World lässt sich für verschiedene Anwendungen rund ums Auto einsetzen. Bei der Fahrzeugwartung ist beispielsweise die Fähigkeit von YOLO-World, eine große Vielfalt von Objekten ohne manuelle Kennzeichnung oder umfangreiches Vortraining zu erkennen, sehr nützlich. Mit YOLO-World lassen sich auszutauschende Fahrzeugteile identifizieren. Es könnte sogar Aufgaben wie Qualitätskontrollen automatisieren und Fehler oder fehlende Teile an neuen Autos erkennen.
Eine weitere Anwendung ist die Zero-Shot-Objekterkennung in selbstfahrenden Autos. Die Zero-Shot-Erkennungsfunktionen von YOLO-World können die Fähigkeit eines autonomen Fahrzeugs verbessern, Objekte auf der Straße wie Fußgänger, Verkehrsschilder und andere Fahrzeuge in Echtzeit zu erkennen und zu klassifizieren. Dadurch kann das Modell Hindernisse erkennen und Unfälle verhindern, damit die Fahrt sicherer wird.

Beispiel für die Erkennung von Objekten auf einer Straße.
Bestandsverwaltung für Einzelhandelsgeschäfte#
Die Erkennung von Objekten in den Regalen von Einzelhandelsgeschäften ist wichtig, um Bestände zu verfolgen, Warenbestände zu verwalten und Abläufe zu automatisieren. Die Erkennung mit offenem Vokabular von Ultralytics YOLO-World ist auch für die Bestandsverwaltung nützlich.
Bei der Bestandsverwaltung kann YOLO-World beispielsweise Artikel im Regal, etwa verschiedene Marken von Energydrinks, schnell erkennen und kategorisieren. Einzelhandelsgeschäfte können so genaue Bestandsdaten führen, Lagerbestände effizient verwalten und Lieferkettenabläufe reibungsloser gestalten.
All diese Anwendungen sind einzigartig und zeigen, wie vielseitig YOLO-World eingesetzt werden kann. Als Nächstes probieren wir YOLO-World praktisch aus und sehen uns ein Codebeispiel an.
Ein Blick auf den Code#
Wie bereits erwähnt, kann YOLO-World zur Erkennung verschiedener Autoteile bei der Wartung eingesetzt werden. Für eine Computer-Vision-Anwendung, die erforderliche Reparaturen erkennt, müsste man ein Foto des Autos aufnehmen, die Autoteile identifizieren, jedes Teil auf Schäden untersuchen und Reparaturen empfehlen. Jeder Teil dieses Systems würde andere KI-Techniken und -Ansätze nutzen. In diesem Codebeispiel konzentrieren wir uns auf die Erkennung von Autoteilen.
Mit YOLO-World kannst du verschiedene Autoteile in einem Bild in weniger als 5 Minuten identifizieren. Du kannst diesen Code erweitern und damit auch andere Anwendungen mit YOLO-World ausprobieren! Für den Einstieg müssen wir das Ultralytics-Paket wie unten gezeigt mit pip installieren.
pip install ultralyticsWeitere Anweisungen und bewährte Vorgehensweisen zur Installation findest du in unserer Anleitung zur Installation von Ultralytics. Falls bei der Installation der für YOLOv8 erforderlichen Pakete Probleme auftreten, findest du Lösungen und Tipps in unserer Anleitung zu häufigen Problemen.
Sobald du das benötigte Paket installiert hast, können wir ein Bild aus dem Internet herunterladen und darauf Inferenzen ausführen. Wir verwenden das folgende Bild.

Unser Eingabebild.
Anschließend importieren wir das benötigte Paket, initialisieren unser Modell und legen die Klassen fest, nach denen wir im Eingabebild suchen. In diesem Beispiel interessieren uns die folgenden Klassen: Auto, Rad, Autotür, Außenspiegel und Nummernschild.
Anschließend verwenden wir die predict-Methode und geben den Bildpfad sowie Parameter für die maximale Anzahl der Erkennungen und Schwellenwerte für Intersection over Union (IoU) und Konfidenz (conf) an, um die Inferenz auf dem Bild auszuführen. Abschließend werden die erkannten Objekte in einer Datei namens result.jpg gespeichert.
from ultralytics import YOLOWorld
# Ein YOLO-World-Modell initialisieren
model = YOLOWorld("yolov8s-worldv2.pt")
# Die zu erkennenden benutzerdefinierten Klassen festlegen
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])
# Inferenz mit einer maximalen Anzahl von Erkennungen sowie IoU- und Konfidenzschwellenwerten ausführen
results = model.predict("path/to/image.jpg", max_det=100, iou=0.5, conf=0.25)
# Das annotierte Ergebnis speichern
results[0].save("result.jpg")Das folgende Ausgabebild wird in deinen Dateien gespeichert.

Unser Ausgabebild.
Wenn du sehen möchtest, was YOLO-World ohne Programmierung leisten kann, öffne die YOLO-World-Demoseite, lade ein Eingabebild hoch und gib die benutzerdefinierten Klassen ein.
In unserer Dokumentation zu YOLO-World erfährst du, wie du das Modell mit eigenen Klassen speicherst, damit es später direkt und ohne wiederholte Eingabe eigener Klassen verwendet werden kann.
Ist dir aufgefallen, dass die Autotüren nicht erkannt wurden?#
Wenn du dir das Ausgabebild noch einmal ansiehst, wirst du feststellen, dass die eigene Klasse „Autotür“ nicht erkannt wurde. Trotz seiner großen Erfolge hat YOLO-World gewisse Einschränkungen. Um diese zu überwinden und das Modell effektiv einzusetzen, ist es wichtig, die richtigen Arten von Texteingaben zu verwenden.
Hier sind einige Hinweise dazu:
- Für genaue Vorhersagen benötigt YOLO-World möglicherweise keine hohen Konfidenzwerte. Eine Verringerung der Konfidenzschwellenwerte kann daher die Erkennungsrate erhöhen.
- Füge Klassen hinzu, die dich nicht interessieren. Das hilft, die primäre Objekterkennung zu verbessern, indem falsch positive Erkennungen bei sekundären Objekten reduziert werden.
- Wenn du zuerst größere Objekte erkennst und dich anschließend auf kleinere Details konzentrierst, kann sich die Erkennungsgenauigkeit verbessern.
- Nenne Farben in deinen Klassen, um Objekte anhand ihrer Farbmerkmale zu erkennen.
- Auch Beschreibungen der Objektgröße in Eingabeaufforderungen können YOLO-World dabei helfen, bestimmte Objekte genauer zu identifizieren.
- Nachbearbeitungsmethoden wie das Filtern von Vorhersagen nach Größe oder das Anpassen der Konfidenzwerte für einzelne Klassen können die Ergebnisse der Objekterkennung weiter verbessern.
Die Möglichkeiten sind grenzenlos#
Insgesamt lassen sich YOLO-World-Modelle dank ihrer fortschrittlichen Objekterkennungsfunktionen zu leistungsstarken Werkzeugen machen. Sie bieten hohe Effizienz und Genauigkeit und helfen bei der Automatisierung verschiedener Aufgaben in unterschiedlichen Anwendungsbereichen, wie etwa bei der praktischen Besprechung der Identifizierung von Autoteilen.
Erkunde gerne unser GitHub-Repository, um mehr über unsere Beiträge zu Computer Vision und KI zu erfahren. Wenn du wissen möchtest, wie KI Bereiche wie die Gesundheitstechnologie verändert, sieh dir unsere Lösungsseiten an. YOLO-World eröffnet viele neue Möglichkeiten für Vision-KI.
Verfasst von
Kommentare
Stelle eine Frage, teile deine Ergebnisse oder hilf anderen.










