Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten

YOLO zum Anfassen

Abirami Vina

4 Min. Lesezeit

5. April 2024

Lernen Sie YOLO kennen, ein innovatives Objekterkennungsmodell, das Objekte anhand von Texteingaben identifizieren kann. Erfahren Sie, wie YOLO 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, ein Echtzeit-Objekterkennungsmodell mit offenem Vokabular, veröffentlicht. YOLO 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 funktioniert und welche Einsatzmöglichkeiten es bietet, und zeigen ein praktisches Code-Beispiel für den Einstieg.

Ein Blick in die YOLO

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

Die einzigartige Architektur des Modells kombiniert drei Hauptelemente:

  • Ein Detektor auf der Grundlage des Ultralytics YOLOv8 Modell zur Objekterkennung, um den visuellen Inhalt des Bildes zu analysieren.
  • Ein Text-Encoder, der von OpenAIs CLIP vortrainiert wurde und speziell darauf ausgelegt ist, Ihre Texteingabe zu verstehen. 
  • Ein Netzwerk, das Vision-Language Path Aggregation Network (RepVL-PAN), das die verarbeiteten Bilddaten mit den Textdaten integriert.

Der YOLO 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 die in Ihrer Eingabeaufforderung beschriebenen Objekte präzise im Bild detect und lokalisieren.

Ein Beispiel für die Ergebnisse von YOLO.

Vorteile der Wahl von YOLO

Einer der größten Vorteile von YOLO 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:

  • Echtzeit-Performance - YOLO unterstützt Echtzeit-Performance genau wie die ursprüngliche YOLO . Sie ist ideal für Anwendungen, die eine sofortige Objekterkennung erfordern, wie z. B. autonome Fahrzeuge und Überwachungssysteme.
  • Instanz-Segmentierung - YOLO kann Objekte in Bildern sauber umreißen und trennen, auch wenn diese Objekte beim Training nicht speziell gelernt wurden.
  • Effizienz - YOLO 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

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

Qualitätskontrolle in der Fertigung

Produkte, die am Fließband hergestellt werden, werden vor dem Verpacken visuell auf Fehler überprü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ückrufen verursachen. Um dabei zu helfen, wurden spezielle Machine-Vision-Kameras und KI-Systeme entwickelt, um diese Kontrollen durchzuführen. 

Die YOLO 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 beispielsweise eine Fabrik, die Wasserflaschen herstellt, mit Hilfe von YOLO leicht zwischen einer ordnungsgemäß mit einem Verschluss verschlossenen Flasche und einer Flasche unterscheiden, bei der ein Verschluss ausgelassen wurde oder fehlerhaft ist.

Ein Beispiel für die Inspektion von Flaschendeckeln.

Robotik

YOLO 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 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 dank seiner "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 detect .

KI in der Automobilindustrie

In der Automobilindustrie gibt es viele bewegliche Teile, und YOLO kann für verschiedene Fahrzeuganwendungen eingesetzt werden. Wenn es zum Beispiel um die Wartung von Autos geht, ist die Fähigkeit von YOLO, eine Vielzahl von Objekten ohne manuelle Markierung oder umfangreiches Vortraining zu erkennen, äußerst nützlich. YOLO 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 kann die Fähigkeit eines autonomen Fahrzeugs verbessern, Objekte auf der Straße, wie Fußgänger, Verkehrsschilder und andere Fahrzeuge, in Echtzeit detect und zu classify . Auf diese Weise können Hindernisse detect und Unfälle vermieden werden, was zu einer sichereren Fahrt beiträgt. 

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, 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 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 eingesetzt werden kann. Als Nächstes wollen wir YOLO in die Praxis umsetzen und uns ein Programmierbeispiel ansehen.

Ein Code Walkthrough

Wie wir bereits erwähnt haben, kann YOLO dazu verwendet werden, verschiedene Teile eines Autos zu detect , die gewartet werden müssen. Eine Bildverarbeitungsanwendung, 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. Für die Zwecke dieses Code Walkthroughs konzentrieren wir uns auf den Teil, in dem Autoteile erkannt werden.

Mit YOLO 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 auszuprobieren! Um loszulegen, müssen wir das Ultralytics wie unten gezeigt per Pip installieren.

Weitere Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem Ultralytics . 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 Inferenz auszuführen. Wir werden das folgende Bild verwenden.

Unser Eingabebild.

Dann importieren wir das benötigte Paket, initialisieren unser Modell und legen die Klassen fest, nach denen wir in unserem Eingangsbild suchen. Hier interessieren wir uns für die folgenden Klassen: 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 VereinigungIoU) 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.

Unser Ausgabebild.

Wenn Sie lieber sehen möchten, was YOLO ohne Programmierung kann, können Sie auf die YOLO Demo-Seite gehen, ein Bild hochladen und die benutzerdefinierten Klassen eingeben. 

Lesen Sie unsere Doku-Seite auf YOLO, 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 eingeben zu müssen.

Ist Ihnen aufgefallen, 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 gewisse Einschränkungen. Um diese Grenzen zu überwinden und das YOLO effektiv zu nutzen, ist es wichtig, die richtigen Arten von textuellen Aufforderungen zu verwenden. 

Hier einige Einblicke:

  • YOLO 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. Dies trägt zur Verbesserung der primären Objekterkennung bei, indem falsch-positive Ergebnisse für sekundäre Objekte reduziert werden.
  • Die Erkennung größerer Objekte vor der Konzentration auf kleinere Details kann die Erkennungsgenauigkeit verbessern.
  • Erwähnen Sie Farben in Ihrem Unterricht, um Objekte anhand von Farbmerkmalen detect .
  • Die Beschreibung von Objektgrößen in Prompts kann YOLO 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 endlos

Insgesamt können die YOLO 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.

Schauen Sie sich unser GitHub-Repository an, um mehr über unsere Beiträge zu Computer Vision und KI zu erfahren. 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 scheinen endlos zu sein!

Lasst uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens

Kostenlos starten