YOLOv5-Schnellstart 🚀#
Begib dich mit Ultralytics YOLOv5 auf eine Reise in die dynamische Welt der Echtzeit-Objekterkennung! Dieser Leitfaden dient als umfassender Einstieg für KI-Enthusiasten und Fachleute, die YOLOv5 sicher beherrschen möchten. Von der Ersteinrichtung bis hin zu fortgeschrittenen Trainingstechniken findest du hier alles, was du brauchst. Am Ende dieses Leitfadens verfügst du über das Wissen, YOLOv5 mithilfe modernster Deep-Learning-Methoden sicher in deinen Projekten einzusetzen. Lass uns die Motoren starten und in die Welt von YOLOv5 abheben!
Installation#
Bereite den Start vor, indem du das YOLOv5-Repository klonst und die Umgebung einrichtest. Dadurch wird sichergestellt, dass alle erforderlichen Abhängigkeiten installiert sind. Vergewissere dich, dass 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 die Einfachheit der YOLOv5-PyTorch-Hub-Inferenz, bei der Modelle nahtlos aus der neuesten YOLOv5-Version heruntergeladen werden. Diese Methode nutzt die Leistungsfähigkeit von PyTorch, um Modelle einfach zu laden und auszuführen, sodass du unkompliziert Vorhersagen erhältst.
import torch
# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Can be 'yolov5n' - 'yolov5x6', or 'custom'
# Inference on images
img = "https://ultralytics.com/images/zidane.jpg" # Can be a file, Path, PIL, OpenCV, numpy, or list of images
# Run inference
results = model(img)
# Display results
results.print() # or .show(), .save(), .crop(), .pandas(), etc.Inferenz mit detect.py#
Nutze detect.py für eine vielseitige Inferenz an verschiedenen Quellen. Es ruft automatisch Modelle aus dem neuesten YOLOv5-Release ab und speichert Ergebnisse mühelos. Dieses Skript ist ideal für die Verwendung über die Befehlszeile und die Integration von YOLOv5 in größere Systeme und unterstützt Eingaben wie Bilder, Videos, Verzeichnisse, Webcams und sogar Live-Streams.
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#
Repliziere die YOLOv5-COCO-Datensatz-Benchmarks, indem du den nachstehenden Trainingsanweisungen folgst. Die erforderlichen Modelle und Datensätze (wie coco128.yaml oder das vollständige coco.yaml) werden direkt aus dem neuesten YOLOv5-Release abgerufen. Das Training von YOLOv5n/s/m/l/x auf einer V100-GPU dauert typischerweise jeweils 1/2/4/6/8 Tage (beachte, dass Setups für das Multi-GPU-Training schneller arbeiten). Maximiere die Leistung, indem du das höchstmögliche --batch-size verwendest, oder nutze --batch-size -1 für die YOLOv5-AutoBatch-Funktion, die automatisch die optimale Batch-Größe ermittelt. Die folgenden Batch-Größen sind ideal für V100-16GB-GPUs. Siehe die Architekturübersicht für Details zu Modellkonfigurationsdateien (*.yaml).
# 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 für die Leistungsfähigkeit des maschinellen Lernens, das durch visuelles Verständnis unsere Interaktion mit der Welt verändert. Während du diesen Leitfaden durcharbeitest und YOLOv5 auf deine Projekte anwendest, denke daran, dass du an der Spitze einer technologischen Revolution stehst und im Bereich 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, dem Zuhause einer aktiven Gemeinschaft von Entwicklern und Forschern. Entdecke weitere Ressourcen wie die Ultralytics Platform zur Verwaltung von Datensätzen und zum Training von Modellen ohne Code oder besuche unsere Seite Lösungen mit Anwendungen aus der Praxis und Inspiration. Entdecke weiter, entwickle weiter und genieße die faszinierenden Möglichkeiten von YOLOv5. Viel Erfolg bei der Erkennung! 🌠🔍
FAQ#
Nicht für die Inferenz. PyTorch Hub lädt den Code und die Gewichte bei Bedarf mit
torch.hub.load("ultralytics/yolov5", "yolov5s")herunter. Das Klonen ist erforderlich, um die Skriptetrain.py,val.py,detect.pyundexport.pyauszuführen.yolov5s.ptbietet für die meisten Projekte die beste Balance aus Geschwindigkeit und Genauigkeit. Verwendeyolov5n.ptfür Edge-Geräte,yolov5m.ptbisyolov5x.pt, wenn Genauigkeit wichtiger ist als Geschwindigkeit, und die P6-Varianten wieyolov5s6.ptfür das Training mit 1280 Pixeln. Siehe die Tabelle der vortrainierten Checkpoints für die vollständige Liste.Lege Bilder und Beschriftungen im YOLO-Format in parallelen
images/- undlabels/-Ordnern ab, beschreibe diese in einerdataset.yamlund führepython train.py --data dataset.yaml --weights yolov5s.ptaus. Das Tutorial zum Trainieren mit eigenen Daten führt Schritt für Schritt durch diesen Prozess.YOLOv5 ist stabil und wird im eigenständigen Repository weiterhin vollständig unterstützt, es ist jedoch nicht mehr das neueste Modell. Für neue Arbeiten ist YOLO26 im
ultralytics-Paket schneller, genauer und exportiert End-to-End ohne NMS, wobei derselbepip install ultralytics-Workflow verwendet wird, der im Schnellstart beschrieben ist.