Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten

Einführung der Instanzsegmentierung in Ultralytics YOLOv5 v7.0

Ultralytics Team

3 Minuten Lesezeit

23. November 2022

Entdecken Sie YOLOv5 v7.0 mit neuen Instance-Segmentation-Modellen, die SOTA-Benchmarks für höchste KI-Genauigkeit und -Geschwindigkeit übertreffen. Treten Sie unserer Community bei.

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

Während der Arbeit an dieser neuesten Version hatten wir zwei Ziele stets vor Augen. Das erste war unsere Mission, KI einfach zu machen, und das zweite war unser Ziel, neu zu definieren, was "State-of-the-Art" wirklich bedeutet.

Mit bedeutenden Verbesserungen, Fehlerbehebungen und Upgrades haben wir genau das getan. Durch die Beibehaltung der gleichen einfachen Arbeitsabläufe wie bei unseren bestehenden YOLOv5-Objekterkennungsmodellen ist es jetzt einfacher denn je, Ihre 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 der Welt gemacht.

Da dies unsere erste Version von Segmentierungsmodellen ist, sind wir sehr stolz auf diesen Meilenstein. Wir danken unserer engagierten Community und unseren Mitwirkenden, die diese Version ermöglicht haben.  

Ultralytics YOLOv5 v7.0 SOTA Echtzeit-Instanzsegmentierung

Beginnen wir mit den Versionshinweisen zu YOLOv5 v7.0!

Wichtige YOLOv5-Aktualisierungen

Hier sind die Aktualisierungen in YOLOv5 seit unserer letzten Version von YOLOv5 v6.2 im August 2022.

  • Segmentierungsmodelle ⭐ NEU: SOTA YOLOv5-seg COCO-vorabtrainierte Segmentierungsmodelle sind jetzt zum ersten Mal verfügbar (#9052 von @glenn-jocher, @AyushExel und @Laughing-q)
  • PaddlePaddle Export: Exportieren Sie jedes YOLOv5-Modell (cls, seg, det) in das Paddle-Format mit python export.py --include paddle #9459 von @glenn-jocher)
  • YOLOv5 AutoCache: Die Verwendung von python train.py --cache ram scannt nun den verfügbaren Speicher und vergleicht ihn mit der vorhergesagten RAM-Nutzung des Datensatzes. Dies reduziert das Risiko bei der Zwischenspeicherung und sollte dazu beitragen, die Akzeptanz der Datensatz-Caching-Funktion zu verbessern, die das Training erheblich beschleunigen kann. (#10027 von @glenn-jocher)
  • Comet-Protokollierung und Visualisierungsintegration: Für immer kostenlos, mit Comet können Sie YOLOv5-Modelle speichern, das Training fortsetzen und Vorhersagen interaktiv visualisieren und debuggen. (#9232 von @DN6)

Neue Segmentierungs-Checkpoints

Wir haben YOLOv5-Segmentierungsmodelle auf COCO für 300 Epochen bei einer Bildgröße von 640 mit A100-GPUs trainiert. Wir haben alle Modelle nach ONNX FP32 für CPU-Geschwindigkeitstests und nach TensorRT FP16 für GPU-Geschwindigkeitstests exportiert. Wir haben alle Geschwindigkeitstests auf Google Colab Pro-Notebooks zur einfachen Reproduzierbarkeit durchgeführt.

  • Alle Checkpoints werden mit dem SGD-Optimierer mit lr0=0.01 und weight_decay=5e-5 bei einer Bildgröße von 640 und allen Standardeinstellungen auf 300 Epochen trainiert. Alle Läufe werden hier protokolliert.
  • Die Genauigkeitswerte beziehen sich auf ein einzelnes Modell mit einer einzigen Skala auf dem COCO-Datensatz. Reproduzierbar mit: python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
  • Geschwindigkeit gemittelt über 100 Inferenzbilder unter Verwendung einer Colab Pro A100 High-RAM-Instanz. Die Werte geben nur die Inferenzgeschwindigkeit an (NMS fügt etwa 1 ms pro Bild hinzu). Reproduzierbar durch python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
  • Export nach ONNX in FP32 und TensorRT in FP16 erfolgt mit export.py. Reproduktion durch python export.py --weights yolov5s-seg.pt --include engine --device 0 --half

Neue Anwendungsbeispiele für die Segmentierung

Zug

Das YOLOv5-Segmentierungstraining unterstützt den automatischen Download des COCO128-seg-Segmentierungsdatensatzes mit dem Argument --data coco128-seg.yaml und den manuellen Download des COCO-Segments-Datensatzes mit bash data/scripts/get_coco.sh --train --val --segments und dann python train.py --data coco.yaml.

Single-GPU

python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640

Multi-GPU DDP

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

Val

Validierung der YOLOv5m-seg-Genauigkeit auf dem ImageNet-1k-Datensatz:

bash data/scripts/get_coco.sh --val --segments  # COCO val segments Split herunterladen (780MB, 5000 Bilder) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640  # validieren

Vorhersagen

Verwenden Sie vortrainiertes 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')  # load from PyTorch Hub (ACHTUNG: Inferenz wird noch nicht unterstützt)

Ultralytics YOLOv5 v7.0 Instanzsegmentierung


Exportieren

Exportieren des YOLOv5s-seg-Modells nach ONNX und TensorRT:

python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Ultralytics YOLOv5 v7.0 Instanzsegmentierung

Haben Sie Fragen? Fragen Sie im Ultralytics-Forum, eröffnen Sie ein Problem oder reichen Sie einen PR ein im Repository. Sie können auch mit unserem YOLOv5-Segmentierungs-Colab-Notebook für Schnellstart-Tutorials beginnen.

Lasst uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens

Kostenlos starten
Link in die Zwischenablage kopiert