Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Introduzione della segmentazione delle istanze in Ultralytics YOLOv5 v7.0

Team Ultralytics

3 minuti di lettura

23 novembre 2022

Scoprite YOLOv5 v7.0 con nuovi modelli di segmentazione delle istanze, che superano i benchmark SOTA per la massima precisione e velocità dell'AI. Unisciti alla nostra comunità.

YOLOv5 v7.0, l'ultima versione della nostra architettura AI, è uscita e siamo entusiasti di presentare i nostri nuovi modelli di segmentazione delle istanze!

Mentre lavoravamo a quest'ultima versione, abbiamo tenuto due obiettivi ben presenti. Il primo era la nostra missione di rendere l'IA facile e il secondo era il nostro obiettivo di ridefinire ciò che significa veramente "stato dell'arte".

Con significativi miglioramenti, correzioni e aggiornamenti, abbiamo fatto proprio questo. Mantenendo gli stessi semplici flussi di lavoro dei nostri modelli di rilevamento degli oggetti YOLOv5 esistenti, ora è più facile che mai addestrare, convalidare e distribuire i vostri modelli con YOLOv5 v7.0. Inoltre, abbiamo superato tutti i benchmark SOTA, rendendo YOLOv5 il più veloce e preciso al mondo.

Essendo questa la nostra prima release di modelli di segmentazione, siamo immensamente orgogliosi di questo traguardo. Ringraziamo la nostra comunità e i nostri collaboratori dedicati, che hanno contribuito a rendere possibile questa release.  

Ultralytics YOLOv5 v7.0 SOTA Segmentazione delle istanze in tempo reale

Quindi, iniziamo con le note di rilascio di YOLOv5 v7.0!

Aggiornamenti importanti di YOLOv5

Ecco cosa è stato aggiornato in YOLOv5 dall'ultimo rilascio di YOLOv5 v6.2 nell'agosto 2022.

  • Modelli di segmentazione ⭐ NOVITÀ: i modelli di segmentazione SOTA YOLOv5 COCO sono ora disponibili per la prima volta(#9052 di @glenn-jocher, @AyushExel e @Laughing-q).
  • EsportazionePaddlePaddle : Esportazione di qualsiasi modello YOLOv5 (cls, seg, det) in formato Paddle con python export.py --include paddle #9459 di @glenn-jocher)
  • YOLOv5 AutoCache: L'uso di python train.py --cache ram ora analizza la memoria disponibile e la confronta con l'uso previsto della RAM del dataset. Questo riduce i rischi della cache e dovrebbe contribuire a migliorare l'adozione della funzione di cache del dataset, che può accelerare significativamente l'addestramento.(#10027 di @glenn-jocher)
  • Integrazione di registrazione e visualizzazioneComet : Gratis per sempre, Comet consente di salvare i modelli YOLOv5 , di riprendere l'addestramento e di visualizzare ed eseguire il debug delle previsioni in modo interattivo.(#9232 di @DN6)

Nuovi checkpoint di segmentazione

Abbiamo addestrato i modelli di segmentazione YOLOv5 su COCO per 300 epoche con immagini di dimensioni 640 utilizzando le GPU A100. Abbiamo esportato tutti i modelli in ONNX FP32 per i test di velocità CPU e in TensorRT FP16 per i test di velocità GPU . Abbiamo eseguito tutti i test di velocità su notebook Google Colab Pro per una facile riproducibilità.

  • Tutti i checkpoint sono addestrati a 300 epoche con l'ottimizzatore SGD con lr0=0,01 e weight_decay=5e-5 con dimensioni dell'immagine 640 e tutte le impostazioni predefinite. Tutte le corse sono registrate qui.
  • I valori di accuratezza si riferiscono a un modello a scala singola sul dataset COCO . Riproduzione con python segment.py --data cocoyaml --weights yolov5s-seg.pt
  • Velocità media su 100 immagini di inferenza utilizzando un'istanza Colab Pro A100 High-RAM. I valori indicano solo la velocità di inferenzaNMS aggiunge circa 1 ms per immagine). Riproduzione con python segment.py --data cocoyaml --weights yolov5s-seg.pt --batch 1
  • Esportazione in ONNX a FP32 e TensorRT a FP16 effettuata con export.py. Riprodurre con python export.py --pesi yolov5s-seg.pt --include engine --device 0 --half

Nuovi esempi di utilizzo della segmentazione

Addestra

L'addestramento alla segmentazione di YOLOv5 supporta il download automatico del dataset di segmentazione COCO128 con l'argomento --data coco128-segyaml e il download manuale del dataset COCO con bash data/scripts/get_coco.sh --train --val --segments e poi python train.py --data cocoyaml.

GPU GPU

python segment.py --model yolov5s-seg.pt --data coco128-segyaml --epochs 5 --img 640

DDP GPU

python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment.py --model yolov5s-seg.pt --data coco128-segyaml --epochs 5 --img 640 --device 0,1,2,3

Val

Convalidare l'accuratezza di YOLOv5m-seg sul set di dati ImageNet:

bash data/scripts/get_coco.sh --val --segments # scarica i segmenti COCO val suddivisi (780MB, 5000 immagini) python segment.py --weights yolov5s-seg.pt --data cocoyaml --img 640 # convalida

Predici

Utilizza YOLOv5m-seg pre-addestrato per prevedere bus.jpg:

python segment.py --pesi yolov5m-seg.pt --dati data/images/bus.jpg

model = torch.hub.load(ultralyticsyolov5', 'custom', 'yolov5m-seg.pt') # caricamento da PyTorch Hub (ATTENZIONE: inferenza non ancora supportata)

Ultralytics YOLOv5 v7.0 Segmentazione delle istanze


Esporta

Esportare il modello YOLOv5s-seg in ONNX e TensorRT:

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

Ultralytics YOLOv5 v7.0 Segmentazione delle istanze

Avete domande? Chiedete al forum di Ultralytics , sollevate un problema o inviate una PR sul repo. Potete anche iniziare con il nostro taccuinoYOLOv5 per la segmentazione del Colab per avere delle esercitazioni rapide.

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis