Wir stellen die Instanzsegmentierung in Ultralytics YOLOv5 v7.0 vor
Entdecke YOLOv5 v7.0, die Version, in der YOLOv5-Modelle zur Instanzsegmentierung eingeführt wurden, mit Beispielen für Training, Validierung, Vorhersagen und Export.
Nuvola Ladi3 Min. Lesezeit
YOLOv5 v7.0, die neueste Version unserer KI-Architektur, ist da. Wir freuen uns, unsere neuen Instanzsegmentierungsmodelle vorzustellen! (Für neue Projekte empfehlen wir heute Ultralytics YOLO26, das ebenfalls Instanzsegmentierung unterstützt.)

Bei der Arbeit an dieser neuesten Version standen zwei Ziele im Mittelpunkt. Erstens wollten wir KI einfach nutzbar machen, und zweitens wollten wir neu definieren, was „Stand der Technik“ wirklich bedeutet.
Mit deutlichen Verbesserungen, Korrekturen und Upgrades haben wir genau das erreicht. Die Workflows bleiben so einfach wie bei unseren bestehenden Ultralytics-YOLOv5-Modellen zur Objekterkennung. Dadurch ist es jetzt einfacher denn je, deine Modelle mit YOLOv5 v7.0 zu trainieren, zu validieren und bereitzustellen. Außerdem haben wir alle SOTA-Benchmarks übertroffen und YOLOv5-seg zum Zeitpunkt der Veröffentlichung zum schnellsten und genauesten Echtzeitmodell für Instanzsegmentierung gemacht.
Da dies unsere erste Veröffentlichung von Segmentierungsmodellen ist, sind wir sehr stolz auf diesen Meilenstein. Unser großer Dank gilt unserer engagierten Community und den Mitwirkenden, die diese Veröffentlichung möglich gemacht haben.

Beginnen wir also mit den Versionshinweisen zu YOLOv5 v7.0!
Wichtige Aktualisierungen von Ultralytics YOLOv5#
Hier erfährst du, was sich seit unserer letzten Veröffentlichung von YOLOv5 v6.2 im August 2022 geändert hat.
- Segmentierungsmodelle ⭐ NEU: Die auf COCO vortrainierten YOLOv5-Segmentierungsmodelle auf dem neuesten Stand der Technik sind jetzt erstmals verfügbar (#9052 von @glenn-jocher, @AyushExel und @Laughing-q)
- PaddlePaddle-Export: Exportiere mit
python export.py --include paddlejedes YOLOv5-Modell (cls, seg, det) in das Paddle-Format (#9459 von @glenn-jocher) - YOLOv5 AutoCache:
python train.py --cache ramdurchsucht jetzt den verfügbaren Arbeitsspeicher und vergleicht ihn mit dem geschätzten RAM-Bedarf des Datensatzes. Das verringert das Risiko beim Zwischenspeichern und dürfte die Nutzung der Datensatz-Zwischenspeicherung fördern, die das Training deutlich beschleunigen kann. (#10027 von @glenn-jocher) - Integration für Protokollierung und Visualisierung mit Comet: Comet ist dauerhaft kostenlos und ermöglicht es dir, YOLOv5-Modelle zu speichern, das Training fortzusetzen sowie Vorhersagen interaktiv zu visualisieren und Fehler zu beheben. (#9232 von @DN6)
Neue Segmentierungs-Checkpoints#
Wir haben Ultralytics-YOLOv5-Segmentierungsmodelle mit A100-GPUs 300 Epochen lang auf COCO bei einer Bildgröße von 640 trainiert. Für CPU-Geschwindigkeitstests haben wir alle Modelle nach ONNX FP32 und für GPU-Geschwindigkeitstests nach TensorRT FP16 exportiert. Alle Geschwindigkeitstests liefen in Google-Colab-Pro-Notebooks, um die Ergebnisse einfach reproduzieren zu können.
- Alle Checkpoints wurden bei einer Bildgröße von 640 und mit den Standardeinstellungen 300 Epochen lang trainiert. Dabei kamen der SGD-Optimierer mit lr0=0.01 und weight_decay=5e-5 zum Einsatz. Alle Läufe sind in diesen Weights-&-Biases-Trainingsprotokollen dokumentiert.
- Die Genauigkeitswerte beziehen sich auf ein einzelnes Modell mit einer einzelnen Skalierung auf dem COCO-Datensatz. So kannst du die Ergebnisse reproduzieren:
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt - Die Geschwindigkeit wurde anhand von 100 Inferenzbildern auf einer Colab-Pro-A100-Instanz mit viel Arbeitsspeicher gemittelt. Die Werte geben nur die Inferenzgeschwindigkeit an (NMS fügt pro Bild etwa 1 ms hinzu). So kannst du die Ergebnisse reproduzieren:
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1 - Der Export nach ONNX mit FP32 und nach TensorRT mit FP16 erfolgte mit export.py. So kannst du die Ergebnisse reproduzieren:
python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Neue Anwendungsbeispiele für die Segmentierung#
Trainieren#
Das Training von Ultralytics-YOLOv5-Segmentierungsmodellen unterstützt den automatischen Download des Segmentierungsdatensatzes COCO128-seg mit dem Argument --data coco128-seg.yaml sowie den manuellen Download des COCO-Segments-Datensatzes mit bash data/scripts/get_coco.sh --train --val --segments und anschließend python segment/train.py --data coco.yaml.
Eine GPU#
python segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640Mehrere GPUs mit DDP#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3Validieren#
Genauigkeit von YOLOv5s-seg auf dem COCO-Datensatz validieren:
bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 images)
python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validateVorhersagen#
Verwende das vortrainierte YOLOv5m-seg, um Vorhersagen für bus.jpg zu erstellen:
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpgmodel = torch.hub.load("ultralytics/yolov5", "custom", "yolov5m-seg.pt") # Aus PyTorch Hub laden (WARNUNG: Inferenz wird noch nicht unterstützt)
Exportieren#
YOLOv5s-seg-Modell nach ONNX und TensorRT exportieren:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0
Hast du Fragen? Stelle sie im Ultralytics-Forum, melde ein Problem oder reiche einen PR ein im Repository. Für Tutorials zu den ersten Schritten kannst du auch unser YOLOv5-Segmentierungsnotebook für Colab verwenden.
Verfasst von
Kommentare
Stelle eine Frage, teile deine Ergebnisse oder hilf anderen.










