Introduzione alla segmentazione di istanze in YOLOv5 v7.0 di Ultralytics
Scopri YOLOv5 v7.0 con nuovi modelli di segmentazione di istanze, che superano i benchmark SOTA per precisione e velocità AI di alto livello. Unisciti alla nostra community.

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 questa ultima versione, abbiamo tenuto in primo piano due obiettivi. Il primo è stato la nostra missione di rendere l'AI facile, e il secondo è stato il nostro obiettivo di ridefinire ciò che significa veramente "stato dell'arte".
Quindi, con miglioramenti, correzioni e aggiornamenti significativi, abbiamo fatto proprio questo. Mantenendo gli stessi semplici flussi di lavoro dei nostri modelli di rilevamento oggetti YOLOv5 esistenti, ora è più facile che mai addestrare, convalidare e distribuire i tuoi modelli con YOLOv5 v7.0. Oltre a questo, abbiamo superato tutti i benchmark SOTA, rendendo di fatto YOLOv5 il più veloce e accurato al mondo.
Poiché questo è il nostro primo rilascio di modelli di segmentazione, siamo immensamente orgogliosi di questo traguardo. Dobbiamo molti ringraziamenti alla nostra comunità dedicata e ai contributori, che hanno contribuito a rendere possibile questo rilascio.

Quindi, iniziamo con le note di rilascio di YOLOv5 v7.0!
Link to this sectionImportanti aggiornamenti di YOLOv5#
Ecco cosa è stato aggiornato in YOLOv5 dal nostro ultimo rilascio di YOLOv5 v6.2 nell'agosto 2022.
- Modelli di segmentazione ⭐ NOVITÀ: I modelli di segmentazione SOTA YOLOv5-seg pre-addestrati su COCO sono ora disponibili per la prima volta (#9052 di @glenn-jocher, @AyushExel e @Laughing-q)
- Esportazione PaddlePaddle: Esporta qualsiasi modello YOLOv5 (cls, seg, det) nel formato Paddle con python export.py --include paddle #9459 di @glenn-jocher)
- YOLOv5 AutoCache: L'uso di python train.py --cache ram ora scansionerà la memoria disponibile e la confronterà con l'utilizzo previsto della RAM per il dataset. Questo riduce i rischi nella memorizzazione nella cache e dovrebbe contribuire a migliorare l'adozione della funzionalità di caching del dataset, che può accelerare significativamente l'addestramento. (#10027 di @glenn-jocher)
- Integrazione di registrazione e visualizzazione Comet: Gratuito per sempre, Comet ti consente di salvare i modelli YOLOv5, riprendere l'addestramento e visualizzare ed eseguire il debug delle previsioni in modo interattivo. (#9232 di @DN6)
Link to this sectionNuovi checkpoint di segmentazione#
Abbiamo addestrato i modelli di segmentazione YOLOv5 su COCO per 300 epoche a una dimensione immagine di 640 utilizzando GPU A100. Abbiamo esportato tutti i modelli in ONNX FP32 per i test di velocità della CPU e in TensorRT FP16 per i test di velocità della GPU. Abbiamo eseguito tutti i test di velocità su notebook Google Colab Pro per una facile riproducibilità.
- Tutti i checkpoint sono addestrati per 300 epoche con ottimizzatore SGD con lr0=0.01 e weight_decay=5e-5 a una dimensione immagine di 640 e tutte le impostazioni predefinite. Tutte le esecuzioni sono registrate nei log di addestramento Weights & Biases.
- I valori di accuratezza si riferiscono a un modello singolo su scala singola sul dataset COCO. Riproducibile tramite python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
- Velocità mediata 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). Riproducibile tramite python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
- Esportazione in ONNX in FP32 e TensorRT in FP16 effettuata con export.py. Riproducibile tramite python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Link to this sectionEsempi di utilizzo della nuova segmentazione#
Link to this sectionAddestra#
L'addestramento alla segmentazione YOLOv5 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.
Link to this sectionGPU singola#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
Link to this sectionMulti-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
Link to this sectionVal#
Convalida la precisione di YOLOv5m-seg sul set di dati COCO:
bash data/scripts/get_coco.sh --val --segments # scarica lo split di segmentazione di validazione COCO (780MB, 5000 immagini) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # convalida
Link to this sectionPrevisione#
Usa YOLOv5m-seg pre-addestrato per prevedere bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # carica da PyTorch Hub (ATTENZIONE: l'inferenza non è ancora supportata)

Link to this sectionEsportazione#
Esporta il modello YOLOv5s-seg in ONNX e TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Hai domande? Chiedi sul forum Ultralytics, apri una segnalazione o invia una PR sul repository. Puoi anche iniziare con il nostro notebook Colab per la segmentazione YOLOv5 per tutorial di avvio rapido.






