Instanzsegmentierung in Ultralytics YOLOv5 v7.0 vorgestellt
Entdecke YOLOv5 v7.0 mit neuen Modellen für die Instanzsegmentierung, die SOTA-Benchmarks übertreffen und erstklassige AI-Genauigkeit und Geschwindigkeit bieten. Werde Teil unserer Community.

YOLOv5 v7.0, die neueste Version unserer AI-Architektur, ist da, und wir freuen uns sehr, unsere neuen Modelle für die Instanzsegmentierung vorzustellen!

Bei der Arbeit an dieser neuesten Version hatten wir zwei Ziele stets im Blick. Das erste war unsere Mission, AI einfach zugänglich zu machen, und das zweite unser Ziel, die wahre Bedeutung von „state-of-the-art“ neu zu definieren.
Mit erheblichen Verbesserungen, Fehlerbehebungen und Erweiterungen ist uns genau das gelungen. Dank der ebenso einfachen Arbeitsabläufe wie bei unseren bestehenden Ultralytics YOLOv5-Modellen zur Objekterkennung ist es jetzt einfacher denn je, deine Modelle mit YOLOv5 v7.0 zu trainieren, zu validieren und bereitzustellen. Darüber hinaus haben wir alle SOTA-Benchmarks übertroffen und YOLOv5 damit zum schnellsten und genauesten Modell der Welt gemacht.
Da dies unsere erste Veröffentlichung von Segmentierungsmodellen ist, sind wir außerordentlich stolz auf diesen Meilenstein. Wir danken unserer engagierten Community und den Mitwirkenden, die diese Veröffentlichung ermöglicht haben.

Beginnen wir also mit den Versionshinweisen zu YOLOv5 v7.0!
Wichtige Updates für Ultralytics YOLOv5#
Hier erfährst du, was seit unserer letzten Veröffentlichung von YOLOv5 v6.2 im August 2022 in YOLOv5 aktualisiert wurde.
- Segmentierungsmodelle ⭐ NEU: SOTA-Segmentierungsmodelle YOLOv5-seg, die auf COCO vortrainiert wurden, sind jetzt erstmals verfügbar (#9052 von @glenn-jocher, @AyushExel und @Laughing-q)
- PaddlePaddle-Export: Exportiere jedes YOLOv5-Modell (cls, seg, det) mit python export.py --include paddle in das Paddle-Format #9459 von @glenn-jocher)
- YOLOv5 AutoCache: Mit python train.py --cache ram wird jetzt der verfügbare Arbeitsspeicher ermittelt und mit der prognostizierten RAM-Nutzung des Datensatzes verglichen. Dadurch wird das Risiko beim Zwischenspeichern reduziert und die Nutzung der Funktion zum Zwischenspeichern von Datensätzen gefördert, die das Training erheblich beschleunigen kann. (#10027 von @glenn-jocher)
- Integration von Comet für Protokollierung und Visualisierung: Comet ist dauerhaft kostenlos und ermöglicht es dir, YOLOv5-Modelle zu speichern, das Training fortzusetzen sowie Vorhersagen interaktiv zu visualisieren und zu debuggen. (#9232 von @DN6)
Neue Segmentierungs-Checkpoints#
Wir haben die Segmentierungsmodelle von Ultralytics YOLOv5 auf COCO über 300 Epochen bei einer Bildgröße von 640 mit A100-GPUs trainiert. Alle Modelle wurden für Geschwindigkeitstests auf der CPU nach ONNX FP32 und für Geschwindigkeitstests auf der GPU nach TensorRT FP16 exportiert. Für eine einfache Reproduzierbarkeit haben wir alle Geschwindigkeitstests in Google-Colab-Pro-Notebooks ausgeführt.
- Alle Checkpoints wurden über 300 Epochen mit dem SGD-Optimierer, lr0=0.01 und weight_decay=5e-5, bei einer Bildgröße von 640 und mit allen Standardeinstellungen trainiert. Alle Durchläufe werden in den Weights-&-Biases-Trainingsprotokollen erfasst.
- Die Genauigkeitswerte beziehen sich auf ein einzelnes Modell mit einer einzelnen Skalierung auf dem COCO-Datensatz. Reproduziere die Ergebnisse mit python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
- Die Geschwindigkeit wurde über 100 Inferenzbilder gemittelt, die auf einer Colab-Pro-A100-Instanz mit viel RAM verarbeitet wurden. Die Werte geben ausschließlich die Inferenzgeschwindigkeit an (NMS fügt etwa 1 ms pro Bild hinzu). Reproduziere die Ergebnisse mit 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. Reproduziere ihn mit python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Neue Beispiele für die Nutzung der Segmentierung#
Trainieren#
Das Training der Segmentierung mit Ultralytics YOLOv5 unterstützt den automatischen Download des Segmentierungsdatensatzes COCO128-seg mit dem Argument --data coco128-seg.yaml sowie den manuellen Download des Datensatzes COCO-segments mit bash data/scripts/get_coco.sh --train --val --segments und anschließend python train.py --data coco.yaml.
Eine GPU#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
DDP mit mehreren GPUs#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3
Validierung#
Validiere die Genauigkeit von YOLOv5m-seg auf dem COCO-Datensatz:
bash data/scripts/get_coco.sh --val --segments # COCO-Validierungsaufteilung für Segmente herunterladen (780 MB, 5000 Bilder) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validieren
Vorhersage#
Verwende das vortrainierte YOLOv5m-seg, um bus.jpg vorherzusagen:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # aus PyTorch Hub laden (WARNUNG: Inferenz wird noch nicht unterstützt)

Exportieren#
Exportiere das YOLOv5s-seg-Modell nach ONNX und TensorRT:
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. Du kannst auch mit unserem YOLOv5-Colab-Notebook zur Segmentierung beginnen, das kurze Tutorials für den Einstieg enthält.









