Instance Segmentation
La segmentazione per istanze delinea ogni oggetto in un'immagine con la propria maschera di pixel, separando gli oggetti a contatto della stessa classe. Modelli, metriche e codice.
La segmentazione delle istanze è un'attività di visione artificiale che individua ogni oggetto in un'immagine, gli assegna una classe e ne delinea una maschera a livello di pixel. Combina il ragionamento sui singoli oggetti del rilevamento di oggetti con la precisione a livello di pixel della segmentazione delle immagini: mentre un rilevatore disegna un riquadro di delimitazione rettangolare che include anche lo sfondo, un modello di segmentazione delle istanze indica esattamente quali pixel appartengono a ciascun oggetto. Due persone vicine diventano due maschere distinte con due etichette, rendendo possibile contare, misurare ed estrarre singoli oggetti.
Segmentazione delle istanze, semantica e panottica a confronto#
La segmentazione delle istanze è una delle tre attività di segmentazione, che si distinguono per il significato delle etichette:
- Segmentazione semantica: assegna a ogni pixel una classe e unisce tutti gli oggetti di quella classe in un'unica regione, quindi tre auto parcheggiate diventano un'unica area «auto». Etichetta anche le regioni di sfondo, come la strada e il cielo.
- Segmentazione delle istanze: assegna una maschera e un ID distinti a ogni oggetto conteggiabile, o «cosa», quindi le tre auto diventano auto 1, auto 2 e auto 3. I pixel che non appartengono a nessun oggetto rilevato restano senza etichetta.
- Segmentazione panottica: assegna una classe a ogni pixel e anche un ID di istanza agli oggetti conteggiabili, riunendo i due approcci in un unico output.
I modelli utilizzabili con prompt, come il Segment Anything Model (SAM) di Meta, eseguono la segmentazione interattiva: restituiscono una maschera per l'elemento indicato da un clic, un riquadro o un prompt testuale, senza basarsi su un elenco fisso di classi.
Come funzionano i modelli di segmentazione delle istanze#
I modelli a due stadi rilevano prima gli oggetti e poi li segmentano. Mask R-CNN, il modello di riferimento consolidato introdotto nel 2017, propone regioni candidate, classifica e perfeziona ogni riquadro e prevede una piccola maschera da 28×28 all'interno di ogni riquadro tramite un ramo dedicato alle maschere.
I modelli a uno stadio prevedono riquadri e maschere in un unico passaggio, una soluzione adatta all'inferenza in tempo reale. YOLACT ha introdotto l'architettura a prototipi utilizzata anche dai modelli di segmentazione YOLO: la rete prevede un insieme condiviso di maschere prototipo per l'intera immagine e un breve vettore di coefficienti della maschera per ogni oggetto rilevato. La maschera di ciascun oggetto è la somma ponderata dei prototipi in base ai coefficienti, ritagliata sul suo riquadro e convertita in una maschera binaria tramite sogliatura.
I modelli basati su Transformer, come Mask2Former, seguono una terza strada: prevedono un insieme fisso di query per le maschere e usano la stessa architettura per la segmentazione semantica, delle istanze e panottica.
Maschere, poligoni e metriche#
Le etichette di addestramento sono in genere poligoni tracciati attorno a ciascun oggetto e memorizzati in formati come JSON COCO o file di testo YOLO, con un ID di classe e un elenco di vertici normalizzati per ogni oggetto. Durante l'inferenza, i modelli restituiscono ogni istanza come maschera binaria, che può essere riconvertita in un contorno poligonale per la memorizzazione o la visualizzazione. L'accuratezza viene riportata come precisione media media (mAP) delle maschere, calcolata come la mAP dei riquadri, ma misurando l'intersezione su unione (IoU) tra le maschere previste e quelle di riferimento. Tracciare un poligono intorno a ogni oggetto richiede molto più tempo che disegnare un riquadro, perciò i modelli utilizzabili con prompt, come SAM, sono ampiamente usati per trasformare un singolo clic in una bozza di maschera, che un annotatore corregge in seguito.
I modelli di segmentazione Ultralytics YOLO26, identificati dal suffisso -seg, usano l'architettura a prototipi con 32 prototipi e 32 coefficienti per rilevamento e restituiscono ogni istanza con la relativa classe, il riquadro, la maschera e il contorno poligonale:
from ultralytics import YOLO
# Load a YOLO26 instance segmentation model pretrained on the 80 COCO classes
model = YOLO("yolo26n-seg.pt")
# Segment every object instance in the image
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Each instance has its own class and mask outline, even when classes repeat
for class_id, polygon in zip(result.boxes.cls.int().tolist(), result.masks.xy):
print(f"{result.names[class_id]}: outline with {len(polygon)} points")
result.save(filename="instance_segmentation.jpg")Ogni persona rilevata viene stampata su una riga separata con il proprio contorno, e nell'immagine salvata la maschera di ogni istanza ha un colore diverso. Per etichettare i tuoi dati e addestrare un modello, consulta come addestrare YOLO26 personalizzato per la segmentazione delle istanze o la lezione di Ultralytics Academy Etichettare e addestrare la segmentazione delle istanze.
Applicazioni nel mondo reale#
Le maschere delle istanze sono importanti ovunque le decisioni dipendano dalla forma esatta o dal conteggio dei singoli oggetti:
- Prelievo robotizzato: un braccio robotico che preleva pezzi da un contenitore affollato ha bisogno del contorno esatto di ogni pezzo per scegliere un punto di presa libero dagli oggetti vicini.
- Biologia cellulare: le pipeline di microscopia segmentano le singole cellule e i nuclei, anche quando si toccano, per contarli e misurarne dimensioni e forma.
- Agricoltura: i robot per la raccolta e i sistemi di stima della resa separano i singoli frutti nelle chiome fitte per contarli e stimarne le dimensioni in base all'area della maschera.
- Tracciamento di oggetti nei video: combinare le maschere delle istanze con un tracker permette di seguire la sagoma esatta di ogni oggetto da un fotogramma all'altro.
- Veicoli autonomi: dataset di guida come Cityscapes forniscono etichette a livello di istanza per otto classi di persone e veicoli, consentendo ai modelli di percezione di distinguere ogni pedone in una folla.










