YOLOv5 . YOLOv8: Die Entwicklung der Ultralytics -Erkennung Ultralytics
Der Bereich der Bildverarbeitung hat sich rasant weiterentwickelt, was vor allem auf die kontinuierlichen Innovationen innerhalb der YOLO You Only Look Once) von Objekterkennungsprogrammen zurückzuführen ist. Zwei der einflussreichsten Versionen dieser Reihe sind YOLOv5 und YOLOv8, die beide von Ultralytics entwickelt wurden. Während YOLOv5 bei seiner Veröffentlichung im Jahr 2020 den Industriestandard für Benutzerfreundlichkeit und Flexibilität YOLOv5 , führte YOLOv8 veröffentlicht im Jahr 2023) bahnbrechende Neuerungen in der Architektur ein, die den Stand der Technik neu definierten.
Dieser Leitfaden enthält einen ausführlichen technischen Vergleich, der Entwicklern, Forschern und Ingenieuren dabei hilft, das richtige Modell für ihre spezifischen Anwendungsanforderungen auszuwählen. Außerdem werden die neuesten Fortschritte in diesem Bereich vorgestellt, beispielsweise YOLO26.
Ultralytics YOLOv5: Der Industriestandard
Veröffentlicht im Juni 2020, YOLOv5 einen entscheidenden Moment in der Demokratisierung der KI. Im Gegensatz zu seinen Vorgängern, die hauptsächlich in C (Darknet) geschrieben waren, YOLOv5 das erste native PyTorch Implementierung, wodurch es für die Python -Community besonders zugänglich war.
Hauptmerkmale und Architektur
YOLOv5 für seine Ausgewogenheit zwischen Geschwindigkeit, Genauigkeit und benutzerfreundlichem Design geschätzt. Seine Architektur weist gegenüber YOLOv4 mehrere wesentliche Verbesserungen auf:
- CSPDarknet Backbone: Nutzt Cross-Stage-Partial-Verbindungen, um den Gradientenfluss zu verbessern und Parameter zu reduzieren.
- Auto-Learning Anchor Boxes: Lernt automatisch die optimalen Ankerbox-Abmessungen für den benutzerdefinierten Datensatz, bevor das Training beginnt.
- Mosaik-Datenanreicherung: Eine Trainingstechnik, bei der vier Bilder zu einem kombiniert werden, wodurch die Fähigkeit des Modells zur detect Objekte verbessert und die Kontextgeneralisierung optimiert wird.
Technische Daten:
- Autoren: Glenn Jocher
- Organisation:Ultralytics
- Datum: 2020-06-26
- GitHub:ultralytics/yolov5
Ultralytics YOLOv8: Definition des neuesten Stands der Technik
Im Januar 2023 eingeführt, YOLOv8 einen bedeutenden Fortschritt in der Computer-Vision-Technologie. Es entfernte sich von der in YOLOv5 verwendeten ankerbasierten Erkennung und YOLOv5 einem ankerfreien Design YOLOv5 , wodurch der Lernprozess vereinfacht und die Generalisierung über verschiedene Objektformen hinweg verbessert wurde.
Architektonische Innovationen
YOLOv8 eine Reihe moderner Techniken YOLOv8 , die sowohl die Geschwindigkeit als auch die Genauigkeit steigerten:
- Ankerfreie Erkennung: Macht die manuelle Konfiguration von Ankerboxen überflüssig, da die Objektzentren direkt vorhergesagt werden. Dies reduziert die Anzahl der Box-Vorhersagen und beschleunigt die Nicht-Maximalunterdrückung (NMS).
- C2f-Modul: Ersetzt das C3-Modul aus YOLOv5, bietet einen reichhaltigeren Gradientenfluss und passt die Kanalzahlen für eine bessere Merkmalsextraktion an.
- Entkoppelter Kopf: Trennt die Aufgaben der Objektivität, Klassifizierung und Regression in verschiedene Zweige, sodass jede Aufgabe effektiver konvergieren kann.
- Vielseitigkeit der Aufgaben: Von Grund auf entwickelt, um nicht nur die Erkennung, sondern auch die Instanzsegmentierung, Posenschätzung, Klassifizierung und OBB (Oriented Bounding Box) zu unterstützen.
Technische Daten:
- Autoren: Glenn Jocher, Ayush Chaurasia, und Jing Qiu
- Organisation:Ultralytics
- Datum: 2023-01-10
- GitHub:ultralytics/ultralytics
Leistungsvergleich
Beim Vergleich dieser beiden leistungsstarken Modelle wird deutlich, dass YOLOv8 sowohl YOLOv5 der Genauigkeit (mAP) als auch der Latenz auf vergleichbarer Hardware besser abschneidet als YOLOv5 . Dennoch YOLOv5 ein hochleistungsfähiges Modell, das für ältere Systeme äußerst effizient ist.
Die folgende Tabelle zeigt die Leistung anhand des COCO . Fettgedruckte Werte geben die beste Leistung in jeder Kategorie an.
| Modell | Größe (Pixel) | mAPval 50-95 | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Analyse
YOLOv8n Nano) erzielt einen deutlich höheren mAP 37,3) als YOLOv5n (28,0), wobei die Anzahl der Parameter nur geringfügig erhöht wurde. Diese Effizienzsteigerung macht YOLOv8 ersten Wahl für moderne Edge-Anwendungen, bei denen es auf jeden Prozentpunkt Genauigkeit ankommt.
Training und Ökosystem
Beide Modelle profitieren enorm vom Ultralytics , das Benutzerfreundlichkeit in den Vordergrund stellt.
Vereinfachter Schulungsablauf
Der Übergang von YOLOv5 YOLOv8 führte YOLOv8 eine einheitliche CLI Python ein, die alle Aufgaben unterstützt. Während YOLOv5 auf spezifischen Skripten YOLOv5 (z. B. train.py, detect.py), YOLOv8 nachfolgende Modelle wie YOLO26 Verwenden Sie eine modulare Paketstruktur.
YOLOv5 :
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt
YOLOv8 :
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
Die Vorteile der Ultralytics
Beide Modelle lassen sich nahtlos in die Ultralytics integrieren. Dadurch können Benutzer Trainingsläufe visualisieren, Datensätze verwalten und Modelle mit einem Klick in Formate wie ONNX, TensorRTund CoreML exportieren, CoreML komplexe Konvertierungsskripte schreiben zu müssen.
Anwendungsfälle und Empfehlungen
Die Wahl zwischen diesen beiden Modellen hängt von Ihren spezifischen Anforderungen ab, wobei für neue Projekte in der Regel neuere Modelle empfohlen werden.
Ideale Szenarien für YOLOv5
- Legacy-Systeme: Projekte, die bereits tief in die YOLOv5 integriert sind und bei denen die Migrationskosten hoch sind.
- Spezifische Hardwareunterstützung: Bestimmte ältere Edge-KI-Beschleuniger verfügen möglicherweise über hochoptimierte Kernel, die speziell auf die spezifischen Schichtstrukturen YOLOv5 abgestimmt sind.
- Einfachheit: Für rein pädagogische Zwecke kann die explizite skriptbasierte Struktur des YOLOv5 für Anfänger einfacher zu analysieren sein, da sie Zeile für Zeile durchgesehen werden kann.
Ideale Szenarien für YOLOv8
- Hohe Genauigkeitsanforderungen: Anwendungen wie medizinische Bildgebung oder Qualitätsprüfung, bei denen die Erkennung subtiler Merkmale entscheidend ist.
- Multi-Task-Lernen: Projekte, die neben der Erkennung auch eine Segmentierung oder Posenschätzung erfordern.
- Zukunftssicherheit: Entwickler, die neue Projekte starten, sollten sich für YOLOv8 oder neuer) entscheiden, um langfristigen Support und Kompatibilität mit den neuesten Bereitstellungstools zu gewährleisten.
Die Zukunft: Ultralytics
YOLOv5 YOLOv8 zwar hervorragend, doch die Entwicklung in diesem Bereich schreitet weiter voran. Entwicklern, die im Jahr 2026 absolute Spitzenleistung anstreben, empfehlen wir dringend Ultralytics .
Warum YOLO26 wählen? YOLO26 baut auf dem Erbe von v5 und v8 auf, führt jedoch revolutionäre Änderungen in Bezug auf Geschwindigkeit und Effizienz ein:
- End-to-End NMS: Durch den Wegfall der Non-Maximum Suppression (NMS) vereinfacht YOLO26 die Bereitstellungslogik und reduziert die Inferenzlatenz, ein Konzept, das erstmals in YOLOv10eingeführt wurde.
- MuSGD Optimizer: Ein hybrider Optimierer, der LLM-Trainingsstabilität für Bildverarbeitungsmodelle bietet und eine schnellere Konvergenz gewährleistet.
- Verbessert für Edge: Durch die Entfernung von DFL und spezifische CPU läuft YOLO26 auf CPUs bis zu 43 % schneller als frühere Generationen.
- Überlegene Erkennung kleiner Objekte: Die neuen Funktionen ProgLoss und STAL verbessern die Leistung bei kleinen Zielen erheblich, was für Drohnenbilder und IoT-Anwendungen von entscheidender Bedeutung ist.
Fazit
Sowohl YOLOv5 YOLOv8 monumentale Errungenschaften in der Geschichte der Computervision YOLOv8 . YOLOv5 bleibt ein zuverlässiges, speicherschonendes Arbeitstier für viele bestehende Anwendungen und wird für seine Stabilität und seinen geringen Ressourcenbedarf beim Training geschätzt. YOLOv8bietet jedoch eine überlegene Vielseitigkeit, höhere Genauigkeit und ein moderneres Architekturdesign, das den aktuellen Forschungstrends entspricht.
Für diejenigen, die das Neueste vom Neuesten verlangen und nach YOLO26 oder YOLO11 bietet noch größere Vorteile in Bezug auf Geschwindigkeit und Präzision. Letztendlich bietet das robuste Ultralytics sorgt dafür, dass Sie unabhängig von der Wahl Ihres Modells über die Tools, die Dokumentation und die Community-Unterstützung verfügen, die Sie für Ihren Erfolg benötigen.
Code-Beispiel: Inferenz ausführen
Erleben Sie die Einfachheit der Ultralytics . Dieser Code funktioniert austauschbar für die Modelle YOLOv8, YOLO11 und YOLO26.
from ultralytics import YOLO
# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")
# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")
# Process results list
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
masks = result.masks # Masks object for segmentation masks
keypoints = result.keypoints # Keypoints object for pose outputs
probs = result.probs # Probs object for classification outputs
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
Weitere Informationen zur Integration dieser Modelle in Ihren Arbeitsablauf finden Sie in unserer Schnellstartanleitung.