Grüner Scheck
Link in die Zwischenablage kopiert

Praktische Erfahrungen mit YOLO-World

Lerne YOLO-World kennen, ein innovatives Modell zur Objekterkennung, das Objekte anhand von Textaufforderungen identifizieren kann. Erfahre, wie YOLO-World funktioniert und welche Anwendungen es bietet, und mach dich mit einem kurzen Code-Beispiel an die Arbeit.

Bei Bildverarbeitungsprojekten verbringt man oft viel Zeit damit, Daten zu annotieren und Modelle zur Objekterkennung zu trainieren. Aber das könnte bald der Vergangenheit angehören. Das AI Lab von Tencent veröffentlichte am 31. Januar 2024 YOLO-World, ein Echtzeit-Objekterkennungsmodell mit offenem Vokabular. YOLO-World ist ein Zero-Shot-Modell, d.h. du kannst die Objekterkennung auf Bildern durchführen, ohne es trainieren zu müssen.

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

Ein Blick in die YOLO-Welt

Du kannst dem YOLO-World Modell ein Bild und einen Text übergeben, der beschreibt, nach welchen Objekten du suchst. Wenn du zum Beispiel "eine Person in einem roten Hemd" auf einem Foto finden willst, 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, um den visuellen Inhalt des Bildes zu analysieren
  • Ein Text-Encoder, der von OpenAIs CLIP trainiert wurde und speziell dafür entwickelt wurde, deine Textaufforderung zu verstehen. 
  • Ein Netzwerk, das Vision-Language Path Aggregation Network (RepVL-PAN), das die verarbeiteten Bilddaten mit den Textdaten verknüpft.

Der YOLO Detektor scannt dein Eingangsbild, um mögliche Objekte zu identifizieren. Der Text-Encoder wandelt deine Beschreibung in ein Format um, das das Modell verstehen kann. Diese beiden Informationsströme werden dann durch den RepVL-PAN mit Hilfe der mehrstufigen Cross-Modality-Fusion zusammengeführt. So kann YOLO-World die in deinem Prompt beschriebenen Objekte genau erkennen und im Bild lokalisieren.

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 du das Modell nicht für eine bestimmte Klasse trainieren musst. Es hat bereits aus Bild- und Textpaaren gelernt und weiß daher, wie es Objekte anhand von Beschreibungen finden kann. So sparst du dir das stundenlange Sammeln von Daten, das Beschriften von Daten, das Training auf teuren Grafikprozessoren usw.

Hier sind einige weitere Vorteile von YOLO-World:

  • Echtzeitleistung - YOLO-World unterstützt Echtzeitleistung, 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.
  • Instance Segmentation - YOLO-World kann Objekte in Bildern sauber umreißen und trennen, auch wenn diese Objekte während des Trainings 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-Weltmodelle können für eine Vielzahl von Anwendungen genutzt werden. Lass uns einige davon 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 oft 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. Um dies zu vermeiden, wurden spezielle Bildverarbeitungskameras und KI-Systeme entwickelt, die diese Kontrollen durchführen. 

YOLO-Weltmodelle sind ein großer Fortschritt in diesem Bereich. Sie können Fehler in Produkten auch dann finden, wenn sie nicht für dieses spezielle Problem trainiert wurden, indem sie ihre Nullschuss-Fähigkeiten einsetzen. Eine Fabrik, die zum Beispiel Wasserflaschen herstellt, kann mit YOLO-World leicht erkennen, ob eine Flasche mit einem Verschluss richtig verschlossen ist oder ob ein Verschluss fehlt oder fehlerhaft ist.

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

Robotik

YOLO-Weltmodelle ermöglichen es Robotern, mit unbekannten Umgebungen zu interagieren. Auch wenn sie nicht auf bestimmte Objekte in einem Raum trainiert wurden, 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-Weltmodell kann er trotzdem Objekte wie Stühle, Tische oder Lampen erkennen und identifizieren, auch wenn er nicht speziell auf diese Gegenstände trainiert worden ist.

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

KI in der Autoindustrie

In der Autoindustrie gibt es viele bewegliche Teile, und YOLO-World kann für verschiedene Anwendungen im Auto eingesetzt werden. Wenn es zum Beispiel um die Wartung von Autos geht, ist YOLO-Worlds Fähigkeit, 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 ausgetauscht werden müssen. Es könnte sogar Aufgaben wie Qualitätskontrollen automatisieren und Defekte oder fehlende Teile in neuen Autos aufspüren.

Eine weitere Anwendung ist die Zero-Shot-Objekterkennung in selbstfahrenden Autos. YOLO Die Zero-Shot-Erkennung von -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 die Fahrt sicherer macht. 

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

Bestandsmanagement 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. Ultralytics YOLO-Die Fähigkeit von -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, wie z. B. verschiedene Marken von Energydrinks. Einzelhandelsgeschäfte können eine genaue Bestandsaufnahme durchführen, die Lagerbestände effizient verwalten und die Lieferkette reibungslos abwickeln. 

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

Ein Code Walk Through

Wie wir bereits erwähnt haben, kann YOLO-World genutzt werden, um verschiedene Teile eines Autos für die Wartung zu erkennen. Eine Computer-Vision-Anwendung, die notwendige Reparaturen erkennt, würde ein Foto des Autos machen, 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. In diesem Code-Walkthrough konzentrieren wir uns auf den Teil, in dem die Autoteile erkannt werden.

Mit YOLO-World kannst du in weniger als 5 Minuten verschiedene Autoteile in einem Bild identifizieren. Du kannst diesen Code auch erweitern, um verschiedene Anwendungen mit YOLO-World auszuprobieren! Um loszulegen, müssen wir das PaketUltralytics mit pip installieren, wie unten gezeigt.

# Install ultralytics package
pip install ultralytics

Weitere Anleitungen und bewährte Verfahren für den Installationsprozess findest du in unserem Ultralytics Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete für YOLOv8 auf Schwierigkeiten stößt, findest du in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Sobald du das benötigte Paket installiert hast, können wir ein Bild aus dem Internet herunterladen, mit dem wir unsere Rückschlüsse ziehen können. Wir werden das untenstehende Bild verwenden.

Unser Eingangsbild.

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

# Import YOLOWorld class from ultralytics module
from ultralytics import YOLOWorld

# Initialize the model with pre-trained weights
model = YOLOWorld('yolov8s-world')

# Set the classes you'd like to find in your image
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

Dann 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 Intersection over Union (IoU) und Confidence (Conf) angeben, um eine Schlussfolgerung aus dem Bild zu ziehen. Zum Schluss werden die erkannten Objekte in einer Datei namens "result.jpg" gespeichert.

# Run object detection for your custom classes on your image
results = model.predict('path_to_your_image.jpg', max_det=100, iou=0.01, conf=0.01)

# Save the results
results[0].save(filename='result.jpg')

Das folgende Ausgabebild wird in deinen Dateien gespeichert.

Unser Ausgangsbild.

Wenn du sehen möchtest, was YOLO-World ohne Programmierung kann, kannst du auf die YOLO-World Demo-Seite gehen, ein Eingabebild hochladen und die benutzerdefinierten Klassen eingeben. 

Lies unsere Doku-Seite auf YOLO -World, um zu erfahren, wie du das Modell mit den benutzerdefinierten Klassen speicherst, damit es später direkt verwendet werden kann, ohne die benutzerdefinierten Klassen wiederholt einzugeben.

Hast du bemerkt, dass die Autotüren nicht erkannt wurden?

Wenn du dir das Ausgabebild noch einmal ansiehst, wirst du 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 Modell YOLO-World effektiv zu nutzen, ist es wichtig, die richtigen Arten von Textaufforderungen zu verwenden. 

Hier ist ein kleiner Einblick in das Thema:

  • YOLO-Welt braucht keine hohen Konfidenzniveaus, um genaue Vorhersagen zu treffen, daher kann eine Senkung der Konfidenzschwellen die Aufdeckungsrate verbessern.
  • Füge Klassen hinzu, an denen du nicht interessiert bist. So kannst du die Erkennung von Primärobjekten verbessern und die Zahl der Fehlalarme bei Sekundärobjekten verringern.
  • Wenn du zuerst größere Objekte erkennst, bevor du dich auf kleinere Details konzentrierst, kannst du die Erkennungsgenauigkeit verbessern.
  • Erwähne Farben in deinem Unterricht, um Objekte anhand von Farbhinweisen zu erkennen.
  • Die Beschreibung der Objektgröße in den Aufforderungen kann YOLO-World auch helfen, bestimmte Objekte genauer zu identifizieren.
  • Nachbearbeitungsmethoden, wie z. B. das Filtern von Vorhersagen nach Größe oder das Anpassen von Konfidenzniveaus pro Klasse, können die Ergebnisse der Objekterkennung weiter verbessern.

Die Grenzen sind grenzenlos

Insgesamt können die YOLO-Weltmodelle mit ihren fortschrittlichen Objekterkennungsfunktionen zu einem leistungsstarken Werkzeug gemacht werden. Sie bieten eine hohe Effizienz und Genauigkeit und helfen dabei, verschiedene Aufgaben in unterschiedlichen Anwendungen zu automatisieren, wie z. B. bei der Identifizierung von Autoteilen, die wir praktisch besprochen haben.

In unserem GitHub-Repository kannst du mehr über unsere Beiträge zu Computer Vision und KI erfahren. Wenn du dich dafür interessierst, wie KI Sektoren wie die Gesundheitstechnologie umgestaltet, sieh dir unsere Lösungsseiten an. Die Möglichkeiten mit Innovationen wie YOLO-World scheinen endlos zu sein!

Facebook-LogoTwitter-LogoLinkedIn-LogoKopier-Link-Symbol

Lies mehr in dieser Kategorie

Lass uns gemeinsam die Zukunft
der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens