Controllo verde
Link copiato negli appunti

Introduzione della segmentazione delle istanze in Ultralytics YOLOv5 v7.0

Scopri 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 Lav7.0, l'ultima versione della nostra architettura AI, è uscita e siamo entusiasti di presentare i nostri nuovi modelli di segmentazione delle istanze!

Durante il lavoro su quest'ultima versione, abbiamo mantenuto due obiettivi al centro dell'attenzione. Il primo era la nostra missione di rendere l'IA facile e il secondo era il nostro obiettivo di ridefinire il significato di "all'avanguardia".

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

Trattandosi del nostro primo rilascio di modelli di segmentazione, siamo immensamente orgogliosi di questa pietra miliare. Dobbiamo ringraziare la nostra comunità e i nostri collaboratori che hanno contribuito a rendere possibile questo rilascio.  

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

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

Aggiornamenti importanti su 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 preaddestrati da SOTA YOLOv5-seg COCO sono ora disponibili per la prima volta(#9052 da @glenn-jocher, @AyushExel, e @Laughing-q)
  • PaddlePaddle Esportazione: Esporta 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'utilizzo 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 notevolmente la formazione.(#10027 da @glenn-jocher)
  • Comet Integrazione di log e visualizzazione: Gratis per sempre, Comet ti permette di salvare i modelli di YOLOv5 , riprendere l'addestramento e visualizzare in modo interattivo le previsioni.(#9232 da @DN6)

Nuovi punti di controllo della segmentazione

Abbiamo addestrato i modelli di segmentazione di 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à di CPU e in TensorRT FP16 per i test di velocità di GPU . Abbiamo eseguito tutti i test di velocità su Google notebookColab Pro per facilitare la riproducibilità.

  • Tutti i checkpoint sono stati addestrati per 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 su un set di dati COCO. Riproduci da python segment/val.py --data coco.yaml --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 inferenza (NMS aggiunge circa 1ms per immagine). Riproduci da python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
  • Esportazione in ONNX a FP32 e TensorRT a FP16 effettuata con export.py. Riproduci da python export.py --peso yolov5s-seg.pt --include engine --device 0 --half

Esempi di utilizzo della nuova segmentazione

Treno

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

Singolo...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

Convalida dell'accuratezza di YOLOv5m-seg sul dataset ImageNet-1k:

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

Prevedere

Usa YOLOv5m-seg preaddestrato per predire bus.jpg:

python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg

modello = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # caricare da PyTorch Hub (ATTENZIONE: inferenza non ancora supportata)

Ultralytics YOLOv5 v7.0 Segmentazione delle istanze


Esportazione

Esporta 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

Hai delle domande? Chiedi al forum di Ultralytics , solleva un problema o invia un PR sul repo. Puoi anche iniziare con il nostro taccuinoYOLOv5 segmentation Colab, dove troverai delle esercitazioni rapide.

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico