YOLO-World zum Anfassen

Abirami Vina

4 Minuten lesen

5. April 2024

Lernen Sie YOLO-World kennen, ein innovatives Objekterkennungsmodell, das Objekte anhand von Texteingaben identifizieren kann. Erfahren Sie, wie YOLO-World funktioniert und welche Anwendungen es bietet, und machen Sie praktische Erfahrungen mit einem kurzen Codebeispiel.

Bei Bildverarbeitungsprojekten wird oft viel Zeit auf das Kommentieren von Daten und das Trainieren von Objekterkennungsmodellen verwendet. Aber das könnte bald der Vergangenheit angehören. Das AI Lab von Tencent hat am 31. Januar 2024 YOLO-World, ein Echtzeit-Objekterkennungsmodell mit offenem Vokabular, veröffentlicht. YOLO-World ist ein "Zero-Shot"-Modell, d. h. Sie können die Objekterkennung anhand von Bildern durchführen, ohne das Modell trainieren zu müssen.

Zero-Shot-Modelle haben das Potenzial, die Art und Weise zu verändern, wie wir Computer-Vision-Anwendungen angehen. In diesem Blog erkunden wir, wie YOLO-World funktioniert und welche Einsatzmöglichkeiten es bietet, und zeigen ein praktisches Code-Beispiel für den Einstieg.

Ein Blick in die YOLO-Welt

Sie können ein Bild und eine Texteingabe, die beschreibt, nach welchen Objekten Sie suchen, an das YOLO-World-Modell übergeben. Wenn Sie zum Beispiel "eine Person mit einem roten Hemd" auf einem Foto suchen, nimmt YOLO-World diese Eingabe auf und macht sich an die Arbeit.

Die einzigartige Architektur des Modells kombiniert drei Hauptelemente:

  • Ein Detektor, der auf dem Ultralytics YOLOv8-Objekterkennungsmodell basiert, um den visuellen Inhalt des Bildes zu analysieren.
  • Ein Text-Encoder, der von OpenAI's CLIP vortrainiert wurde und speziell dafür entwickelt wurde, Ihre Texteingabe zu verstehen.
  • Ein Netzwerk, das Vision-Language Path Aggregation Network (RepVL-PAN), das die verarbeiteten Bilddaten mit den Textdaten integriert.

Der YOLO-Detektor scannt Ihr Eingabebild, um potenzielle Objekte zu identifizieren. Der Text-Encoder wandelt Ihre Beschreibung in ein Format um, das das Modell verstehen kann. Diese beiden Informationsströme werden dann durch den RepVL-PAN mittels mehrstufiger Cross-Modality-Fusion zusammengeführt. So kann YOLO-World die in Ihrer Eingabeaufforderung beschriebenen Objekte präzise im Bild erkennen und lokalisieren.

__wf_reserved_inherit
Ein Beispiel für die Ergebnisse von YOLO-World.

Vorteile der Wahl von YOLO-World

Einer der größten Vorteile von YOLO-World ist, dass Sie das Modell nicht für eine bestimmte Klasse trainieren müssen. Es hat bereits aus Bild- und Textpaaren gelernt und weiß daher, wie man Objekte anhand von Beschreibungen findet. Sie können sich das stundenlange Sammeln von Daten, das Kommentieren von Daten, das Training auf teuren GPUs usw. sparen.

Hier sind einige weitere Vorteile der Nutzung von YOLO-World:

  • Echtzeit-Performance - YOLO-World unterstützt Echtzeit-Performance genau wie die ursprüngliche YOLO-Architektur. Sie ist ideal für Anwendungen, die eine sofortige Objekterkennung erfordern, wie z. B. autonome Fahrzeuge und Überwachungssysteme.
  • Instanz-Segmentierung - YOLO-World kann Objekte in Bildern sauber umreißen und trennen, auch wenn diese Objekte beim Training nicht speziell gelernt wurden.
  • Effizienz - YOLO-World kombiniert hohe Genauigkeit mit Recheneffizienz, was es für reale Anwendungen praktisch macht. Seine schlanke Architektur ermöglicht eine schnelle Objekterkennung ohne übermäßige Anforderungen an die Rechenleistung.

Die Anwendungen von YOLO-World

YOLO-World-Modelle können für eine Vielzahl von Anwendungen genutzt werden. Lassen Sie uns einige von ihnen erkunden.

Qualitätskontrolle in der Fertigung

Die auf einem Fließband hergestellten Produkte werden vor dem Verpacken visuell auf Fehler geprüft. Die Fehlererkennung erfolgt häufig von Hand, was Zeit kostet und zu Fehlern führen kann. Diese Fehler können Probleme wie hohe Kosten und die Notwendigkeit von Reparaturen oder Rückrufaktionen verursachen. Deshalb wurden spezielle Bildverarbeitungskameras und KI-Systeme entwickelt, um diese Kontrollen durchzuführen. 

Die YOLO-World-Modelle sind ein großer Fortschritt in diesem Bereich. Sie sind in der Lage, Fehler in Produkten zu finden, auch wenn sie nicht für dieses spezielle Problem trainiert wurden, indem sie ihre Zero-Shot-Fähigkeiten nutzen. So kann zum Beispiel eine Fabrik, die Wasserflaschen herstellt, mit Hilfe von YOLO-World leicht zwischen einer ordnungsgemäß mit einem Verschluss verschlossenen Flasche und einer Flasche unterscheiden, bei der ein Verschluss ausgelassen wurde oder fehlerhaft ist.

__wf_reserved_inherit
Ein Beispiel für die Kontrolle von Flaschenverschlüssen.

Robotik

YOLO-World-Modelle ermöglichen es Robotern, mit unbekannten Umgebungen zu interagieren. Ohne auf bestimmte Objekte in einem Raum trainiert zu sein, können sie dennoch erkennen, welche Objekte vorhanden sind. Nehmen wir an, ein Roboter betritt einen Raum, in dem er noch nie zuvor gewesen ist. Mit einem YOLO-World-Modell kann er dennoch Objekte wie Stühle, Tische oder Lampen erkennen und identifizieren, auch wenn er nicht speziell auf diese Gegenstände trainiert wurde.

Neben der Objekterkennung kann YOLO-World dank seiner "Prompt-then-Detect"-Funktion auch den Zustand dieser Objekte bestimmen. In der Agrarrobotik kann YOLO-World zum Beispiel reife Früchte von nicht reifen Früchten unterscheiden, indem der Roboter so programmiert wird, dass er sie erkennt.

KI in der Automobilbranche

In der Automobilindustrie gibt es viele bewegliche Teile, und YOLO-World kann für verschiedene Fahrzeuganwendungen eingesetzt werden. Wenn es zum Beispiel um die Wartung von Autos geht, ist die Fähigkeit von YOLO-World, eine Vielzahl von Objekten ohne manuelle Markierung oder umfangreiches Vortraining zu erkennen, äußerst nützlich. YOLO-World kann verwendet werden, um Autoteile zu identifizieren, die ersetzt werden müssen. Es könnte sogar Aufgaben wie Qualitätskontrollen, das Aufspüren von Mängeln oder fehlenden Teilen in neuen Autos automatisieren.

Eine weitere Anwendung ist die Zero-Shot-Objekterkennung in selbstfahrenden Autos. Die Zero-Shot-Erkennung von YOLO-World kann 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. Auf diese Weise können Hindernisse erkannt und Unfälle vermieden werden, was zu einer sichereren Fahrt beiträgt. 

__wf_reserved_inherit
Ein Beispiel für die Erkennung von Objekten auf einer Straße.

Bestandsverwaltung für Einzelhandelsgeschäfte

Die Identifizierung von Objekten in den Regalen von Einzelhandelsgeschäften ist ein wichtiger Bestandteil der Bestandsverfolgung, der Lagerhaltung und der Automatisierung von Prozessen. Die Fähigkeit von Ultralytics YOLO-World, eine Vielzahl von Objekten ohne manuelle Kennzeichnung oder umfangreiches Vortraining zu erkennen, ist für die Bestandsverwaltung äußerst nützlich. 

In der Bestandsverwaltung kann YOLO-World zum Beispiel Artikel in einem Regal schnell erkennen und kategorisieren, z. B. verschiedene Marken von Energydrinks. Einzelhandelsgeschäfte können eine genaue Bestandsaufnahme durchführen, Lagerbestände effizient verwalten und die Lieferkettenabläufe optimieren. 

Alle Anwendungen sind einzigartig und zeigen, wie vielfältig YOLO-World eingesetzt werden kann. Als Nächstes wollen wir YOLO-World in die Praxis umsetzen und uns ein Programmierbeispiel ansehen.

Ein Gang durch den Code

Wie wir bereits erwähnt haben, kann YOLO-World dazu verwendet werden, verschiedene Teile eines Autos zu erkennen, die gewartet werden müssen. Eine Bildverarbeitungsanwendung, die notwendige Reparaturen erkennt, würde ein Bild des Autos aufnehmen, Autoteile identifizieren, jedes Teil des Autos auf Schäden untersuchen und Reparaturen empfehlen. Jeder Teil dieses Systems würde verschiedene KI-Techniken und -Ansätze verwenden. Für die Zwecke dieses Code Walkthroughs konzentrieren wir uns auf den Teil, in dem Autoteile erkannt werden.

Mit YOLO-World können Sie in weniger als 5 Minuten verschiedene Autoteile in einem Bild identifizieren. Sie können diesen Code erweitern, um auch andere Anwendungen mit YOLO-World auszuprobieren! Um loszulegen, müssen wir das Ultralytics-Paket wie unten gezeigt per Pip installieren.

Weitere Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem Ultralytics-Installationshandbuch. Wenn Sie während der Installation der erforderlichen Pakete für YOLOv8 auf Schwierigkeiten stoßen, werfen Sie einen Blick auf unseren Leitfaden für häufige Probleme, der Lösungen und Tipps enthält.

Sobald Sie das benötigte Paket installiert haben, können wir ein Bild aus dem Internet herunterladen, um unsere Rückschlüsse zu ziehen. Wir werden das unten stehende Bild verwenden.

__wf_reserved_inherit
Unser Eingangsbild.

Dann importieren wir das benötigte Paket, initialisieren unser Modell und legen die Klassen fest, die wir in unserem Eingabebild suchen. Hier sind wir an den folgenden Klassen interessiert: Auto, Rad, Autotür, Autospiegel und Nummernschild.

Anschließend verwenden wir die Vorhersagemethode, indem wir den Pfad des Bildes zusammen mit den Parametern für die maximale Anzahl der Erkennungen und den Schwellenwerten für die Überschneidung über die Vereinigung (IoU) und die Konfidenz (conf) angeben, um eine Schlussfolgerung für das Bild zu ziehen. Abschließend werden die erkannten Objekte in einer Datei mit dem Namen "result.jpg" gespeichert.

Das folgende Ausgabebild wird in Ihren Dateien gespeichert.

__wf_reserved_inherit
Unser Ausgangsbild.

Wenn Sie es vorziehen, zu sehen, was YOLO-World tun kann, ohne zu programmieren, können Sie auf die YOLO-World Demo-Seite gehen, ein Eingabebild hochladen und die benutzerdefinierten Klassen eingeben. 

Lesen Sie unsere Doku-Seite auf YOLO-World, um zu erfahren, wie Sie das Modell mit den benutzerdefinierten Klassen speichern können, so dass es später direkt verwendet werden kann, ohne die benutzerdefinierten Klassen wiederholt einzugeben.

Haben Sie bemerkt, dass die Autotüren nicht erkannt wurden?

Wenn Sie sich das Ausgabebild noch einmal ansehen, werden Sie feststellen, dass die benutzerdefinierte Klasse "Autotür" nicht erkannt wurde. Trotz seiner großen Erfolge hat YOLO-World gewisse Einschränkungen. Um diese Grenzen zu überwinden und das YOLO-World-Modell effektiv zu nutzen, ist es wichtig, die richtigen Arten von textuellen Aufforderungen zu verwenden. 

Hier ist ein kleiner Einblick in das Thema:

  • YOLO-World benötigt möglicherweise keine hohen Konfidenzniveaus für genaue Vorhersagen, so dass eine Verringerung der Konfidenzschwellen die Erkennungsraten verbessern kann.
  • Fügen Sie Klassen hinzu, an denen Sie nicht interessiert sind. Dadurch wird die Erkennung von Primärobjekten verbessert und die Zahl der Fehlalarme bei Sekundärobjekten verringert.
  • Wenn Sie zuerst größere Objekte erkennen, bevor Sie sich auf kleinere Details konzentrieren, können Sie die Erkennungsgenauigkeit verbessern.
  • Erwähnen Sie Farben in Ihrem Unterricht, um Objekte anhand von Farbmerkmalen zu erkennen.
  • Die Beschreibung von Objektgrößen in Prompts kann YOLO-World auch helfen, bestimmte Objekte genauer zu identifizieren.
  • Nachbearbeitungsmethoden, wie z. B. die Filterung von Vorhersagen nach Größe oder die Anpassung der Konfidenzniveaus pro Klasse, können die Ergebnisse der Objekterkennung weiter verbessern.

Die Grenzen sind endlos

Insgesamt können die YOLO-World-Modelle mit ihren fortschrittlichen Objekterkennungsfähigkeiten zu einem leistungsstarken Werkzeug gemacht werden. Sie bieten eine hohe Effizienz und Genauigkeit und helfen bei der Automatisierung verschiedener Aufgaben in unterschiedlichen Anwendungen, wie zum Beispiel bei der Identifizierung von Autoteilen, die wir praktisch besprochen haben.

In unserem GitHub-Repository erfahren Sie mehr über unsere Beiträge zu Computer Vision und KI. Wenn Sie neugierig sind, wie KI Sektoren wie die Gesundheitstechnologie umgestaltet, schauen Sie sich unsere Lösungsseiten an. Die Möglichkeiten mit Innovationen wie YOLO-World scheinen endlos zu sein!

Lassen Sie uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise in die Zukunft des maschinellen Lernens

Kostenloser Start
Link in die Zwischenablage kopiert