Presentazione della segmentazione delle istanze in Ultralytics YOLOv5 v7.0
Scopri YOLOv5 v7.0 con i nuovi modelli di segmentazione delle istanze, che superano i benchmark SOTA per offrire massima accuratezza e velocità nell'AI. Unisciti alla nostra community.

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

Durante lo sviluppo di questa ultima versione, abbiamo mantenuto due obiettivi sempre in primo piano. Il primo era la nostra missione di rendere l'AI semplice, mentre il secondo era il nostro obiettivo di ridefinire il vero significato di “stato dell'arte”.
Quindi, con miglioramenti, correzioni e aggiornamenti significativi, ci siamo riusciti. Mantenendo gli stessi semplici flussi di lavoro dei nostri modelli esistenti di rilevamento degli oggetti Ultralytics 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 di fatto YOLOv5 il modello più veloce e accurato al mondo.
Poiché questa è la nostra prima versione di modelli di segmentazione, siamo immensamente orgogliosi di questo traguardo. Dobbiamo moltissimo alla nostra comunità e ai nostri contributor, che hanno contribuito a rendere possibile questa versione.

Iniziamo quindi con le note di rilascio di YOLOv5 v7.0!
Aggiornamenti importanti di Ultralytics YOLOv5#
Ecco cosa è stato aggiornato in YOLOv5 dall'ultima versione di YOLOv5 v6.2 dell'agosto 2022.
- Modelli di segmentazione ⭐ NOVITÀ: i modelli di segmentazione SOTA YOLOv5-seg preaddestrati 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)
- AutoCache di YOLOv5: python train.py --cache ram eseguirà ora la scansione della memoria disponibile e la confronterà con l'utilizzo previsto della RAM del dataset. Questo riduce il rischio durante la memorizzazione nella cache e dovrebbe favorire l'adozione della funzionalità di caching del dataset, che può velocizzare significativamente 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 ed eseguire il debug interattivo delle predizioni. (#9232 di @DN6)
Nuovi checkpoint di segmentazione#
Abbiamo addestrato i modelli di segmentazione Ultralytics YOLOv5 su COCO per 300 epoche con immagini di dimensioni 640 utilizzando 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. Abbiamo eseguito tutti i test di velocità su notebook Google Colab Pro per facilitarne la riproducibilità.
- Tutti i checkpoint sono addestrati per 300 epoche con l'ottimizzatore SGD, lr0=0.01 e weight_decay=5e-5, con immagini di dimensioni 640 e tutte le impostazioni predefinite. Tutte le esecuzioni sono registrate nei log di addestramento di Weights & Biases.
- I valori di accuratezza si riferiscono a un singolo modello e a una singola scala sul dataset COCO. Riproduci con python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
- La velocità è calcolata come 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 1 ms per immagine). Riproduci con python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
- L'esportazione in ONNX a FP32 e in TensorRT a FP16 è stata eseguita con export.py. Riproduci con python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Nuovi esempi di utilizzo della segmentazione#
Addestra#
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 train.py --data coco.yaml.
Singola GPU#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
DDP multi-GPU#
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 l'accuratezza di YOLOv5m-seg sul dataset COCO:
bash data/scripts/get_coco.sh --val --segments # scarica lo split dei segmenti di validazione COCO (780 MB, 5000 immagini) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # convalida
Predici#
Usa YOLOv5m-seg preaddestrato per eseguire la predizione su 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)

Esporta#
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 rapidamente con il nostro notebook Colab sulla segmentazione di YOLOv5, che include tutorial introduttivi.









