HyperAI

Ein-Klick-Bereitstellung Von YOLOv11

YOLO11: Die neueste Version der YOLO-Serie, eine vielseitige Wahl für Computer Vision-Aufgaben

1. Einführung in das Tutorial

YOLOv11 ist die neueste Version des vom Ultralytics-Team entwickelten Echtzeit-Objektdetektors und wurde am 30. September 2024 auf der Veranstaltung YOLO Vision 2024 (YV24) angekündigt. YOLOv11 bietet erhebliche Verbesserungen hinsichtlich Genauigkeit, Geschwindigkeit und Effizienz und ist damit ein leistungsstarkes Tool für Computer-Vision-Aufgaben. Die Einführung von YOLOv11 soll den Entwicklungsprozess vereinfachen und einen Grundstein für die spätere Integration legen. Es bietet im Vergleich zu früheren Versionen des YOLO-Modells erhebliche Verbesserungen in Architektur und Trainingsmethoden und ist daher eine vielseitige Wahl für eine Vielzahl von Computer Vision-Aufgaben. Die Einführung von YOLOv11 markiert einen neuen Meilenstein in der Objekterkennungstechnologie. Es setzt nicht nur einen neuen Maßstab in puncto Geschwindigkeit und Genauigkeit, sondern, was noch wichtiger ist, sein innovatives Modellarchitekturdesign macht komplexe Objekterkennungsaufgaben machbar.

Darüber hinaus ist der Installationsprozess von YOLOv11 relativ einfach. Entwickler können den neuesten Quellcode von der GitHub-Seite herunterladen und der Anleitung folgen, um Modellvorhersagen über die Befehlszeile zu testen. Dieses Tutorial verwendet YOLOv11. Das Modell und die zugehörige Umgebung wurden installiert. Sie können die API-Adresse direkt klonen und öffnen, um Modellinferenzen durchzuführen und Bilderkennung, Segmentierung, Posenschätzung, Verfolgung und Klassifizierung zu realisieren.

Zu den wichtigsten Verbesserungen von YOLOv11 gehören:

  • Verbesserte Merkmalsextraktion: Verbesserte Backbone- und Neck-Architektur für eine genauere Objekterkennung.
  • Optimierte Verarbeitungsgeschwindigkeit: Neues Architekturdesign und neue Trainingsmethoden ermöglichen eine schnellere Verarbeitungsgeschwindigkeit.
  • Höhere Genauigkeit mit weniger Parametern: Im COCO-Datensatz erreicht YOLOv11m eine höhere durchschnittliche Präzision (mAP) als YOLOv8m, während weniger Parameter verwendet werden.
  • Starke Anpassungsfähigkeit an die Umgebung: YOLOv11 kann in einer Vielzahl von Umgebungen eingesetzt werden, darunter Edge-Geräte, Cloud-Plattformen und Systeme, die NVIDIA-GPUs unterstützen.
  • Unterstützung für eine breite Palette von Aufgaben: YOLOv11 unterstützt eine Vielzahl von Computer Vision-Aufgaben wie Objekterkennung, Instanzsegmentierung, Bildklassifizierung, Posenschätzung und orientierte Objekterkennung (OBB).

YOLO-Entwicklungsgeschichte

YOLO (You Only Look Once) ist ein beliebtes Modell zur Objekterkennung und Bildsegmentierung, das von Joseph Redmon und Ali Farhadi an der University of Washington entwickelt wurde. YOLO wurde 2015 eingeführt und gewann aufgrund seiner hohen Geschwindigkeit und Genauigkeit schnell an Popularität.

  • YOLOv2, veröffentlicht im Jahr 2016, verbesserte das ursprüngliche Modell durch die Einbeziehung von Batch-Normalisierung, Ankerboxen und Dimensionsclustering.
  • YOLOv3, das 2018 eingeführt wurde, verbesserte die Leistung des Modells mithilfe eines effizienteren Backbone-Netzwerks, mehrerer Anker und räumlichem Pyramiden-Pooling weiter.
  • YOLOv4 wurde im Jahr 2020 veröffentlicht und führte Innovationen wie die Mosaik-Datenerweiterung, einen neuen ankerfreien Erkennungskopf und eine neue Verlustfunktion ein.
  • YOLOv5 verbessert die Leistung des Modells weiter und fügt neue Funktionen wie Hyperparameteroptimierung, integriertes Experiment-Tracking und automatischen Export in gängige Exportformate hinzu.
  • YOLOv6 wurde 2022 von Meituan als Open Source veröffentlicht und wird derzeit in vielen autonomen Lieferrobotern des Unternehmens verwendet.
  • YOLOv7 fügt zusätzliche Aufgaben wie die Posenschätzung im COCO-Keypoint-Datensatz hinzu.
  • YOLOv8 wurde 2023 von Ultralytics veröffentlicht. YOLOv8 führt neue Funktionen und Verbesserungen zur Verbesserung von Leistung, Flexibilität und Effizienz ein und unterstützt eine breite Palette visueller KI-Aufgaben.
  • YOLOv9 führt innovative Methoden wie Programmable Gradient Information (PGI) und Generalized Efficient Layer Aggregation Network (GELAN) ein.
  • YOLOv10 wurde von Forschern der Tsinghua-Universität mithilfe dieses Pakets erstellt. Erstellt vom UltralyticsPython-Paket. Diese Version erzielt Fortschritte bei der Echtzeit-Objekterkennung durch die Einführung eines End-to-End-Kopfes und die Beseitigung der Anforderung der nicht maximalen Unterdrückung (NMS).
  • YOLOv11 🚀 NEU: Das neueste YOLO-Modell von Ultralytics bietet hochmoderne (SOTA) Leistung bei mehreren Aufgaben, darunter Erkennung, Segmentierung, Posenabschätzung, Tracking und Klassifizierung, und nutzt dabei Funktionen aus einer breiten Palette von KI-Anwendungen und -Domänen.

2. Bedienungsschritte

Klicken Sie nach dem Starten des Containers auf die API-Adresse, um zur Weboberfläche zu gelangen

Dieses Tutorial enthält 5 Funktionen:

  • Objekterkennung
  • Instanzaufteilung
  • Bildklassifizierung
  • Posenschätzung
  • Positionsobjekterkennung

1. Objekterkennung

ObjektdetektorDie Ausgabe ist eine Reihe von Begrenzungsrahmen, die die Objekte im Bild umgeben, zusammen mit einer Klassenbezeichnung und einem Konfidenzwert für jeden Begrenzungsrahmen. Die Objekterkennung ist eine gute Wahl, wenn Sie interessante Objekte in einer Szene identifizieren müssen, aber nicht deren genaue Position oder Form kennen müssen.

Abbildung 1 Objekterkennung

2. Instanzsegmentierung

InstanzsegmentierungsmodellDie Ausgabe ist eine Reihe von Masken oder Umrissen, die jedes Objekt im Bild umreißen, zusammen mit einer Klassenbezeichnung und einem Vertrauenswert für jedes Objekt. Die Instanzsegmentierung ist sehr nützlich, wenn Sie nicht nur wissen müssen, wo sich Objekte in einem Bild befinden, sondern auch ihre genaue Form.

Abbildung 2 Instanzsegmentierung

3. Bildklassifizierung

Die Ausgabe eines Bildklassifizierers ist eine einzelne Klassenbezeichnung und ein Vertrauenswert. Die Bildklassifizierung ist nützlich, wenn Sie nur wissen müssen, zu welcher Klasse ein Bild gehört, ohne den Standort oder die genaue Form der Objekte in dieser Klasse zu kennen.

Abbildung 3 Bildklassifizierung

4. Posenschätzung

Bei der Posenschätzung handelt es sich um eine Aufgabe, bei der die Positionen bestimmter Punkte (oft als Schlüsselpunkte bezeichnet) in einem Bild ermittelt werden. Schlüsselpunkte können Teile eines Objekts darstellen, beispielsweise Gelenke, Orientierungspunkte oder andere hervorstechende Merkmale. Die Position wichtiger Punkte wird normalerweise als eine Reihe von 2D-Koordinaten [x, y] oder 3D-Koordinaten [x, y, sichtbar] ausgedrückt.

Die Ausgabe eines Pose-Estimation-Modells ist eine Reihe von Punkten, die Schlüsselpunkte von Objekten im Bild darstellen und normalerweise auch einen Konfidenzwert für jeden Punkt enthalten. Die Posenschätzung ist eine gute Wahl, wenn Sie bestimmte Teile von Objekten in einer Szene und ihre Position im Verhältnis zueinander identifizieren müssen.

Abbildung 4 Haltungsschätzung

5. Gerichtete Objekterkennung

Die orientierte Objekterkennung geht einen Schritt weiter als die Objekterkennung, indem sie einen zusätzlichen Winkel einführt, um Objekte in einem Bild genauer zu lokalisieren.

Die Ausgabe eines Detektors für orientierte Objekte ist eine Reihe gedrehter Begrenzungsrahmen, die die Objekte im Bild genau umschließen, zusammen mit einer Klassenbezeichnung und einem Vertrauenswert für jeden Begrenzungsrahmen. Die Objekterkennung ist eine gute Wahl, wenn Sie interessante Objekte in einer Szene identifizieren müssen, aber nicht deren genaue Position oder Form kennen müssen.

Abbildung 5: Orientierte Objekterkennung

Austausch und Diskussion

🖌️ Wenn Sie ein hochwertiges Projekt sehen, hinterlassen Sie bitte im Hintergrund eine Nachricht, um es weiterzuempfehlen! Darüber hinaus haben wir auch eine Tutorien-Austauschgruppe ins Leben gerufen. Willkommen, Freunde, scannen Sie den QR-Code und kommentieren Sie [SD-Tutorial], um der Gruppe beizutreten, verschiedene technische Probleme zu besprechen und Anwendungsergebnisse auszutauschen ↓