Presentazione della segmentazione delle istanze in Ultralytics YOLOv5 v7.0
Scopri YOLOv5 v7.0, la versione che ha introdotto i modelli di segmentazione di istanze YOLOv5, con esempi di addestramento, convalida, predizione ed esportazione.
Nuvola Ladi4 min di lettura
È disponibile YOLOv5 v7.0, la versione più recente della nostra architettura di IA, e siamo entusiasti di presentare i nostri nuovi modelli di segmentazione delle istanze! (Per i nuovi progetti, oggi puoi usare Ultralytics YOLO26, che supporta anch’esso la segmentazione delle istanze.)

Durante lo sviluppo di questa ultima versione, abbiamo mantenuto due obiettivi ben presenti. Il primo era la nostra missione di rendere l'AI semplice, il secondo era l'obiettivo di ridefinire il vero significato di «all'avanguardia».
Con miglioramenti, correzioni e aggiornamenti significativi, abbiamo fatto proprio questo. Mantenendo gli stessi flussi di lavoro semplici dei nostri modelli Ultralytics YOLOv5 esistenti per il rilevamento degli oggetti, con YOLOv5 v7.0 è più facile che mai addestrare, convalidare e distribuire i tuoi modelli. Inoltre, abbiamo superato tutti i benchmark SOTA, rendendo YOLOv5-seg il modello di segmentazione delle istanze in tempo reale più veloce e accurato al momento del rilascio.
Essendo il nostro primo rilascio di modelli di segmentazione, siamo immensamente orgogliosi di questo traguardo. Dobbiamo un enorme ringraziamento alla nostra community e ai collaboratori, che hanno contribuito a rendere possibile questo rilascio.

Iniziamo con le note di rilascio di YOLOv5 v7.0!
Aggiornamenti importanti di Ultralytics YOLOv5#
Ecco gli aggiornamenti apportati a YOLOv5 dal nostro ultimo rilascio di YOLOv5 v6.2, nell'agosto 2022.
- Modelli di segmentazione ⭐ NOVITÀ: i modelli di segmentazione YOLOv5-seg SOTA preaddestrati su COCO sono 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:
python train.py --cache ramora analizzerà la memoria disponibile e la confronterà con l’utilizzo della RAM previsto per il dataset. Questo riduce il rischio associato alla memorizzazione nella cache e dovrebbe favorire l’adozione della funzionalità di caching dei dataset, che può accelerare notevolmente l’addestramento. (#10027 di @glenn-jocher) - Integrazione di logging e visualizzazione con Comet: gratuito per sempre, Comet ti consente di salvare i modelli YOLOv5, riprendere l'addestramento e visualizzare e analizzare interattivamente le previsioni. (#9232 di @DN6)
Nuovi checkpoint di segmentazione#
Abbiamo addestrato i modelli di segmentazione Ultralytics YOLOv5 su COCO per 300 epoche, con una dimensione delle immagini di 640 e GPU A100. Abbiamo esportato tutti i modelli in ONNX FP32 per i test di velocità sulla CPU e in TensorRT FP16 per i test di velocità sulla GPU. Per riprodurre facilmente i risultati, abbiamo eseguito tutti i test di velocità sui notebook Colab Pro di Google.
- Tutti i checkpoint sono addestrati per 300 epoche con l’ottimizzatore SGD, lr0=0.01 e weight_decay=5e-5, con una dimensione delle immagini di 640 e tutte le impostazioni predefinite. Tutte le esecuzioni sono registrate in questi log di addestramento di Weights & Biases.
- I valori di accuratezza si riferiscono a un singolo modello e una singola scala sul dataset COCO. Riproduci con
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt - Velocità media calcolata su 100 immagini di inferenza usando un’istanza Colab Pro A100 con molta RAM. I valori indicano solo la velocità di inferenza (NMS aggiunge circa 1 ms per immagine). Riproduci con
python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1 - Esportazione in ONNX FP32 e TensorRT FP16 eseguita con export.py. Riproduci con
python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Nuovi esempi d'uso della segmentazione#
Addestramento#
L’addestramento della segmentazione con Ultralytics 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, seguito da python segment/train.py --data coco.yaml.
Singola GPU#
python segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640Più GPU DDP#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --weights yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3Convalida#
Convalida l’accuratezza di YOLOv5s-seg sul dataset COCO:
bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 images)
python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validatePrevisione#
Usa YOLOv5m-seg preaddestrato per eseguire una previsione su bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --source data/images/bus.jpgmodel = torch.hub.load("ultralytics/yolov5", "custom", "yolov5m-seg.pt") # carica da PyTorch Hub (ATTENZIONE: l’inferenza non è ancora supportata)
Esportazione#
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, segnala un problema o invia una PR nel repository. Puoi anche iniziare con il nostro notebook Colab sulla segmentazione di YOLOv5, che include tutorial introduttivi.
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










