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.
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:
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.
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:
YOLO-Weltmodelle können für eine Vielzahl von Anwendungen genutzt werden. Lass uns einige davon erkunden.
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.
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.
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.
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.
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.
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.
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.
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.
Das folgende Ausgabebild wird in deinen Dateien gespeichert.
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.
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:
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!
Beginne deine Reise in die Zukunft des maschinellen Lernens