YOLOv5-Schnellstart 🚀#
Starte mit Ultralytics YOLOv5 in die dynamische Welt der Objekterkennung in Echtzeit! Dieser Leitfaden bietet KI-Begeisterten und Fachleuten einen umfassenden Einstieg, um YOLOv5 zu meistern. Von der ersten Einrichtung bis hin zu fortgeschrittenen Trainingstechniken findest du hier alle wichtigen Informationen. Am Ende dieses Leitfadens weißt du, wie du YOLOv5 mit modernen Methoden des Deep Learning sicher in deinen Projekten einsetzt. Lass uns durchstarten und mit YOLOv5 durchstarten!
Installation#
Mach dich startklar, indem du das YOLOv5-Repository klonst und die Umgebung einrichtest. So stellst du sicher, dass alle erforderlichen Abhängigkeiten installiert sind. Prüfe, ob Python>=3.8.0 und PyTorch>=1.8 für den Start bereitstehen. Diese grundlegenden Werkzeuge sind entscheidend, um YOLOv5 effektiv auszuführen.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesInferenz mit PyTorch Hub#
Erlebe, wie einfach die Inferenz mit YOLOv5 über den PyTorch Hub ist: Die Modelle werden nahtlos aus der neuesten Veröffentlichung von YOLOv5 heruntergeladen. Dieses Verfahren nutzt die Leistungsfähigkeit von PyTorch, um Modelle einfach zu laden und auszuführen und so schnell Vorhersagen zu erhalten.
import torch
# Modell laden
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Kann 'yolov5n' - 'yolov5x6' oder 'custom' sein
# Inferenz auf Bildern
img = "https://ultralytics.com/images/zidane.jpg" # Kann eine Datei, ein Path-, PIL-, OpenCV-, numpy-Objekt oder eine Liste von Bildern sein
# Inferenz ausführen
results = model(img)
# Ergebnisse anzeigen
results.print() # oder .show(), .save(), .crop(), .pandas() usw.Inferenz mit detect.py#
Nutze detect.py für vielseitige Inferenz mit verschiedenen Quellen. Das Skript lädt Modelle automatisch aus der neuesten YOLOv5-Version herunter und speichert Ergebnisse ganz einfach. Das Skript eignet sich ideal für die Verwendung über die Befehlszeile und zur Integration von YOLOv5 in größere Systeme. Es unterstützt Eingaben wie Bilder, Videos, Verzeichnisse, Webcams und sogar Livestreams.
python detect.py --weights yolov5s.pt --source 0 # webcam
python detect.py --weights yolov5s.pt --source image.jpg # image
python detect.py --weights yolov5s.pt --source video.mp4 # video
python detect.py --weights yolov5s.pt --source screen # screenshot
python detect.py --weights yolov5s.pt --source path/ # directory
python detect.py --weights yolov5s.pt --source list.txt # list of images
python detect.py --weights yolov5s.pt --source list.streams # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg' # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP streamTraining#
Reproduziere die Benchmarks des YOLOv5-COCO-Datensatzes, indem du die folgenden Trainingsanweisungen befolgst. Die erforderlichen Modelle und Datensätze (wie coco128.yaml oder der vollständige coco.yaml) werden direkt aus der neuesten YOLOv5-Version abgerufen. Das Training von YOLOv5n/s/m/l/x auf einer V100-GPU sollte in der Regel 1/2/4/6/8 Tage dauern (beachte, dass Konfigurationen für das Training mit mehreren GPUs schneller sind). Optimiere die Leistung mit dem größtmöglichen --batch-size oder verwende --batch-size -1 für die YOLOv5-AutoBatch-Funktion, die automatisch die optimale Batchgröße ermittelt. Die folgenden Batchgrößen eignen sich ideal für V100-GPUs mit 16 GB. Einzelheiten zu den Modellkonfigurationsdateien (*.yaml) findest du in der Architekturübersicht.
# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128
# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64
# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40
# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24
# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
Zusammenfassend ist YOLOv5 nicht nur ein hochmodernes Werkzeug zur Objekterkennung, sondern auch ein Beleg dafür, wie maschinelles Lernen die Art und Weise verändert, wie wir durch visuelles Verständnis mit der Welt interagieren. Wenn du diesen Leitfaden durcharbeitest und YOLOv5 in deinen Projekten einsetzt, denke daran, dass du an der Spitze einer technologischen Revolution stehst und in der Computer Vision Bemerkenswertes erreichen kannst. Wenn du weitere Einblicke oder Unterstützung von anderen Visionären benötigst, bist du in unserem GitHub-Repository willkommen, in dem eine lebendige Community aus Entwicklern und Forschenden zu Hause ist. Entdecke weitere Ressourcen wie die Ultralytics Platform für die Verwaltung von Datensätzen und das Training von Modellen ohne Code oder sieh dir unsere Seite Lösungen mit praxisnahen Anwendungsfällen und Inspiration an. Erkunde weiter, entwickle Neues und hab Freude an den Möglichkeiten von YOLOv5. Viel Erfolg beim Erkennen! 🌠🔍
Häufig gestellte Fragen#
Nicht für die Inferenz. PyTorch Hub lädt den Code und die Gewichte bei Bedarf mit
torch.hub.load("ultralytics/yolov5", "yolov5s")herunter. Zum Ausführen der Skriptetrain.py,val.py,detect.pyundexport.pymusst du das Repository klonen.yolov5s.ptbietet für die meisten Projekte die beste Balance zwischen Geschwindigkeit und Genauigkeit. Verwendeyolov5n.ptfür Edge-Geräte,yolov5m.ptbisyolov5x.pt, wenn Genauigkeit wichtiger als Geschwindigkeit ist, und P6-Varianten wieyolov5s6.ptfür das Training mit 1280 Pixeln. Die vollständige Liste findest du in der Tabelle mit den vortrainierten Checkpoints.Lege Bilder und Labels im YOLO-Format in parallelen Ordnern
images/undlabels/ab, beschreibe sie in einerdataset.yamlund führepython train.py --data dataset.yaml --weights yolov5s.ptaus. Das Tutorial Benutzerdefinierte Daten trainieren führt dich durch jeden Schritt.YOLOv5 ist stabil und wird im eigenständigen Repository weiterhin vollständig unterstützt, ist aber nicht mehr das neueste Modell. Für neue Projekte ist YOLO26 im Paket
ultralyticsschneller, genauer und lässt sich ohne NMS Ende-zu-Ende exportieren. Dabei kommt derselbepip install ultralytics-Workflow zum Einsatz, der im Schnellstart beschrieben ist.