KI-Modelle und Plattformen
Entpacken von Yolov8: Ultralytics’ virales Meisterwerk der Computer-Vision

Bislang war die Objekterkennung in Bildern mit Hilfe von Computer-Vision-Modellen durch eine Verzögerung von einigen Sekunden aufgrund der Verarbeitungszeit behindert. Diese Verzögerung behinderte die praktische Anwendung in Anwendungsfällen wie dem autonomen Fahren. Die Veröffentlichung des YOLOv8-Computer-Vision-Modells durch Ultralytics hat jedoch die Verarbeitungsverzögerung durchbrochen. Das neue Modell kann Objekte in Echtzeit mit unübertroffener Genauigkeit und Geschwindigkeit erkennen, was es im Computer-Vision-Bereich beliebt macht.
Dieser Artikel erforscht YOLOv8, seine Fähigkeiten und wie Sie es feinjustieren und Ihre eigenen Modelle über sein Open-Source-GitHub-Repository erstellen können.
Yolov8 Erklärt
YOLO (You Only Live Once) ist ein beliebtes Computer-Vision-Modell, das in der Lage ist, Objekte in Bildern zu erkennen und zu segmentieren. Das Modell hat in der Vergangenheit mehrere Updates erfahren, wobei YOLOv8 die 8. Version markiert.
Wie es steht, baut YOLOv8 auf den Fähigkeiten der vorherigen Versionen auf, indem es leistungsstarke neue Funktionen und Verbesserungen einführt. Dies ermöglicht die Echtzeit-Objekterkennung in Bild- und Videodaten mit verbesserter Genauigkeit und Präzision.
Von v1 bis v8: Eine Kurze Geschichte
Yolov1: Veröffentlicht im Jahr 2015, wurde die erste Version von YOLO als einstufiges Objekterkennungsmodell eingeführt. Funktionen umfassten das Lesen des gesamten Bildes, um jeden Begrenzungsrahmen in einer einzigen Auswertung vorherzusagen.
Yolov2: Die nächste Version, die 2016 veröffentlicht wurde, zeigte eine Spitzenleistung auf Benchmarks wie PASCAL VOC und COCO und arbeitet mit hohen Geschwindigkeiten (67-40 FPS). Es konnte auch über 9000 Objektkategorien genau erkennen, sogar mit begrenzten spezifischen Erkennungsdaten.
Yolov3: Im Jahr 2018 veröffentlicht, präsentierte Yolov3 neue Funktionen wie ein effektiveres Rückgratnetzwerk, mehrere Anker und räumliche Pyramiden-Pooling für die multiscale-Feature-Extraktion.
Yolov4: Mit der Veröffentlichung von Yolov4 im Jahr 2020 wurde die neue Mosaik-Datenaugmentierungstechnik eingeführt, die verbesserte Trainingsfähigkeiten bot.
Yolov5: Im Jahr 2021 veröffentlicht, fügte Yolov5 leistungsstarke neue Funktionen hinzu, darunter Hyperparameter-Optimierung und integrierte Experiment-Verfolgung.
Yolov6: Mit der Veröffentlichung von Yolov6 im Jahr 2022 wurde das Modell Open-Source, um die communitygetriebene Entwicklung zu fördern. Neue Funktionen wurden eingeführt, wie eine neue Selbst-Destillationsstrategie und eine Anchor-Aided-Training-Strategie.
Yolov7: Im gleichen Jahr, 2022, veröffentlicht, verbesserte Yolov7 das bestehende Modell in Bezug auf Geschwindigkeit und Genauigkeit und war zum Zeitpunkt der Veröffentlichung das schnellste Objekterkennungsmodell.
Was Macht YOLOv8 Ausgefallen?

YOLOv8s unübertroffene Genauigkeit und hohe Geschwindigkeit machen das Computer-Vision-Modell von den vorherigen Versionen abheben. Es ist ein bedeutendes Ergebnis, da Objekte jetzt in Echtzeit ohne Verzögerung erkannt werden können, im Gegensatz zu den vorherigen Versionen.
Aber abgesehen davon kommt YOLOv8 mit leistungsstarken Fähigkeiten, die Folgendes umfassen:
- Anpassbare Architektur: YOLOv8 bietet eine flexible Architektur, die Entwickler an ihre spezifischen Anforderungen anpassen können.
- Adaptive Trainingsfähigkeit: YOLOv8s neue adaptive Trainingsfähigkeiten, wie die Ausgleichung der Verlustfunktion während des Trainings und Techniken, verbessern die Lernrate. Nimm Adam, das zu besserer Genauigkeit, schnellerer Konvergenz und insgesamt besserer Modellleistung beiträgt.
- Erweiterte Bildanalyse: Durch neue semantische Segmentierung und Klassen-Vorhersage-Fähigkeiten kann das Modell Aktivitäten, Farbe, Textur und sogar Beziehungen zwischen Objekten erkennen, neben seiner Kern-Objekterkennungsfunktion.
- Datenaugmentierung: Neue Datenaugmentierungstechniken helfen, Aspekte von Bildvariationen wie niedrige Auflösung, Okklusion usw. in realen Objekterkennungssituationen zu bewältigen, in denen die Bedingungen nicht ideal sind.
- Rückgrat-Unterstützung: YOLOv8 bietet Unterstützung für mehrere Rückgrate, einschließlich CSPDarknet (Standard-Rückgrat), EfficientNet (leichtes Rückgrat) und ResNet (klassisches Rückgrat), die Benutzer auswählen können.
Benutzer können sogar das Rückgrat anpassen, indem sie das CSPDarknet53 durch eine andere CNN-Architektur ersetzen, die mit YOLOv8s Eingabe- und Ausgabedimensionen kompatibel ist.
Trainieren und Feinjustieren von YOLOv8
Das YOLOv8-Modell kann entweder feinjustiert werden, um bestimmte Anwendungsfälle zu erfüllen, oder von Grund auf trainiert werden, um ein spezialisiertes Modell zu erstellen. Weitere Informationen zu den Trainingsverfahren finden Sie in der offiziellen Dokumentation.
Lassen Sie uns erkunden, wie Sie beide Operationen durchführen können.
Feinjustieren von YOLOV8 Mit einem Benutzerdefinierten Datensatz
Die Feinjustierung lädt ein vorheriges Modell und verwendet dessen Standardgewichte als Startpunkt für das Training. Intuitiv gesagt, erinnert sich das Modell an all sein vorheriges Wissen, und die Feinjustierung fügt neue Informationen hinzu, indem es die Gewichte anpasst.
Das YOLOv8-Modell kann mit Ihrem Python-Code oder über die Kommandozeilen-Schnittstelle (CLI) feinjustiert werden.
1. Feinjustieren eines YOLOv8-Modells mit Python
Beginnen Sie damit, das Ultralytics-Paket in Ihren Code zu importieren. Laden Sie dann das benutzerdefinierte Modell, das Sie trainieren möchten, mit dem folgenden Code:
| # Installieren Sie das Ultralytics-Paket aus PyPI pip install ultralytics |
Führen Sie dann den folgenden Code in einer Python-Datei aus:
| from ultralytics import YOLO
# Laden Sie ein Modell # Trainieren Sie das Modell auf dem MS COCO-Datensatz |
Standardmäßig wird der Code das Modell mit dem COCO-Datensatz für 100 Epochen trainieren. Sie können jedoch diese Einstellungen konfigurieren, um die Größe, die Epochen usw. in einer YAML-Datei festzulegen.
Sobald Sie das Modell mit Ihren Einstellungen und dem Datenpfad trainiert haben, überwachen Sie den Fortschritt, testen und justieren Sie das Modell und trainieren es weiter, bis Sie die gewünschten Ergebnisse erzielt haben.
2. Feinjustieren eines YOLOv8-Modells mit der CLI
Um ein Modell mit der CLI zu trainieren, führen Sie den folgenden Befehl in der Kommandozeile aus:
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
Der CLI-Befehl lädt das vorge trainierte `yolov8n.pt`-Modell und trainiert es weiter auf dem Datensatz, der in der `coco8.yaml`-Datei definiert ist.
Erstellen Sie Ihr Eigenes Modell mit YOLOv8
Es gibt im Wesentlichen zwei Möglichkeiten, ein benutzerdefiniertes Modell mit dem YOLO-Framework zu erstellen:
- Training von Grund auf: Dieser Ansatz ermöglicht es Ihnen, die vordefinierte YOLOv8-Architektur zu verwenden, aber keine vorge trainierten Gewichte. Das Training erfolgt von Grund auf.
- Benutzerdefinierte Architektur: Sie passen die Standard-YOLO-Architektur an und trainieren die neue Struktur von Grund auf.
Die Implementierung beider Methoden bleibt dieselbe. Um ein YOLO-Modell von Grund auf zu trainieren, führen Sie den folgenden Python-Code aus:
| from ultralytics import YOLO
# Laden Sie ein Modell # Trainieren Sie das Modell |
Beachten Sie, dass diesmal eine `.yaml`-Datei anstelle einer `.pt`-Datei geladen wird. Die YAML-Datei enthält die Architekturinformationen für das Modell, und keine Gewichte werden geladen. Der Trainingsbefehl wird das Training dieses Modells von Grund auf starten.
Um eine benutzerdefinierte Architektur zu trainieren, müssen Sie die benutzerdefinierte Struktur in einer `.yaml`-Datei definieren, ähnlich wie die `yolov8n.yaml` oben. Dann laden Sie diese Datei und trainieren das Modell mit dem gleichen Code wie oben.
Um mehr über die Objekterkennung mit KI und die neuesten KI-Trends zu erfahren, besuchen Sie unite.ai.













