Ultralytics YOLO27:

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 dependencies

Inferenz 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 stream

Training#

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
YOLOv5 training curves for COCO dataset

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 Skripte train.py, val.py, detect.py und export.py auszuführen.

  • yolov5s.pt bietet für die meisten Projekte die beste Balance aus Geschwindigkeit und Genauigkeit. Verwende yolov5n.pt für Edge-Geräte, yolov5m.pt bis yolov5x.pt, wenn Genauigkeit wichtiger ist als Geschwindigkeit, und die P6-Varianten wie yolov5s6.pt fü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/- und labels/-Ordnern ab, beschreibe diese in einer dataset.yaml und führe python train.py --data dataset.yaml --weights yolov5s.pt aus. 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 derselbe pip install ultralytics-Workflow verwendet wird, der im Schnellstart beschrieben ist.

Kommentare