Cos'è la segmentazione delle istanze? Una guida rapida

Abirami Vina

6 minuti di lettura

6 marzo 2025

Scoprite insieme a noi che cos'è la segmentazione delle istanze, come funziona, come si usa in varie applicazioni di computer vision e quale impatto può avere.

Le applicazioni di computer vision stanno diventando sempre più comuni nella nostra vita quotidiana, dalle telecamere per il traffico che monitorano le condizioni stradali ai sistemi di self-checkout nei negozi. Consentendo alle macchine di comprendere i dati visivi in modo simile agli esseri umani, la Vision AI sta avendo un impatto in diversi settori.

Molte di queste applicazioni si basano sul rilevamento degli oggetti, un'attività di visione computerizzata che posiziona dei riquadri di delimitazione intorno agli oggetti chiave nelle immagini. Sebbene questo approccio funzioni spesso bene, alcune soluzioni di analisi delle immagini richiedono una precisione ancora maggiore.

Per esempio, la diagnostica per immagini in campo medico non si limita a rilevare un tumore, ma è fondamentale delinearne la forma esatta. Allo stesso modo, nella robotica, le macchine devono riconoscere i contorni esatti di un oggetto per afferrarlo correttamente. Per affrontare queste sfide, la segmentazione delle istanze offre una soluzione più precisa.

La segmentazione delle istanze è un'attività di computer vision progettata per supportare i casi d'uso in cui l'individuazione degli oggetti non è sufficiente, ma fornisce una precisione a livello di pixel. I modelli di computer vision come Ultralytics YOLO11 possono essere utilizzati per applicare facilmente la segmentazione delle istanze a immagini e video. 

__wf_reserved_inherit
Figura 1. Esempio di utilizzo di YOLO11 per la segmentazione delle istanze.

In questa guida spiegheremo come funziona la segmentazione delle istanze, le sue applicazioni e come Ultralytics YOLO11 può essere addestrato su misura per compiti di segmentazione specifici.

Che cos'è la segmentazione delle istanze?

Supponiamo che ci sia una foto di gruppo di persone vicine. Il rilevamento degli oggetti può aiutare a disegnare dei riquadri intorno a ciascuna persona, ma non ci dice la loro forma esatta. 

La segmentazione delle istanze, invece, è simile a un'attenta tracciatura intorno a ogni persona, in modo da poterne vedere l'intera sagoma, anche se si sovrappone. Invece di segnare semplicemente il punto in cui si trova un oggetto con un riquadro, identifica la forma esatta di ogni oggetto a livello di pixel, rendendo più facile la comprensione di immagini complesse.

Il risultato è una maschera dettagliata che riempie la forma di un oggetto, individuando esattamente i pixel che ne fanno parte. Questo livello di precisione è utile in molte applicazioni reali in cui è importante capire la forma esatta e i confini degli oggetti.

__wf_reserved_inherit
Figura 2. Mostra il supporto di YOLO11 per la segmentazione delle istanze.

Segmentazione delle istanze e segmentazione semantica

Esplorando la segmentazione delle istanze, ci si può imbattere nel concetto di segmentazione semantica.

Entrambe le tecniche aiutano i computer a comprendere le immagini a livello di pixel, ma hanno scopi diversi. La segmentazione semantica etichetta ogni pixel in base alla sua categoria, raggruppando tutti gli oggetti dello stesso tipo. Ad esempio, in un'immagine con più automobili, la segmentazione semantica le contrassegnerebbe tutte come "auto", senza distinguere tra i singoli veicoli.

La segmentazione delle istanze, invece, fa un passo avanti identificando ogni oggetto separatamente. Assegna etichette uniche alle singole istanze e crea maschere precise intorno alle loro forme. Quindi, nella stessa immagine, la segmentazione delle istanze non si limiterebbe a etichettare tutto come "auto", ma riconoscerebbe e delineerebbe ogni auto singolarmente.

La differenza principale tra i due è che la segmentazione semantica raggruppa gli oggetti per categoria, mentre la segmentazione di istanza distingue ogni oggetto come un'entità unica con confini chiari. La scelta dell'attività da utilizzare dipende dall'applicazione specifica: se è sufficiente sapere cosa c'è in un'immagine o se è importante differenziare i singoli oggetti.

__wf_reserved_inherit
Figura 3. Segmentazione delle istanze e segmentazione semantica (rispettivamente a destra e a sinistra).

Modelli di segmentazione delle istanze più diffusi

Oggi la comunità di Vision AI dispone di diversi modelli di segmentazione delle istanze. Alcuni sono più veloci, altri più precisi e altri ancora più facili da usare. 

Queste opzioni, pur essendo utili, possono portare alla domanda: qual è quella giusta da usare per un compito specifico? Tra le opzioni, i modelli YOLO di Ultralytics sono piuttosto popolari perché si concentrano su velocità e precisione. 

Inoltre, questi modelli si sono evoluti in modo significativo nel corso degli anni. Ad esempio, Ultralytics YOLOv5 ha semplificato l'implementazione utilizzando framework come PyTorch, rendendo l'IA di visione avanzata accessibile a un pubblico più ampio senza richiedere una profonda competenza tecnica.

Sulla base di questo successo, Ultralytics YOLOv8 ha introdotto un supporto migliorato per le attività di computer vision, come la segmentazione delle istanze, la stima della posa e la classificazione delle immagini. 

Ora YOLO11 porta le prestazioni a un nuovo livello. Raggiunge una precisione media superiore (mAP) sul set di dati COCO con il 22% di parametri in meno rispetto a YOLOv8m, il che significa che è in grado di riconoscere gli oggetti in modo più preciso utilizzando meno risorse.

__wf_reserved_inherit
Figura 4. Benchmarking di YOLO11.

In poche parole, YOLO11 offre un'accuratezza all'avanguardia senza compromettere l'efficienza, rendendolo un vero e proprio cambiamento sul campo.

Capire come funziona la segmentazione delle istanze

Analizziamo quindi come funziona di solito la segmentazione delle istanze. I modelli di computer vision più vecchi utilizzano un approccio a due fasi. 

Innanzitutto, rilevano gli oggetti disegnando intorno ad essi dei riquadri di delimitazione. Quindi, generano una maschera a livello di pixel per delineare la forma esatta di ciascun oggetto. Un esempio ben noto è Mask R-CNN, che si basa sui modelli di rilevamento degli oggetti aggiungendo una fase di predizione della maschera. Pur essendo efficace, questo metodo può essere lento perché elabora l'immagine in più fasi, rendendo più difficili le applicazioni in tempo reale.

Nel frattempo, modelli come YOLO11 elaborano le immagini in una sola volta, prevedendo contemporaneamente i riquadri di delimitazione degli oggetti e le maschere di segmentazione delle istanze. Questo approccio semplificato lo rende molto più veloce, pur mantenendo un'elevata precisione. Di conseguenza, è particolarmente utile per applicazioni in tempo reale come la guida autonoma, l'analisi video e la robotica, dove velocità e precisione sono fondamentali.

Formazione personalizzata YOLO11 per la segmentazione delle istanze

YOLO11 viene fornito come modello pre-addestrato. È stato addestrato sul set di dati COCO-Seg, che comprende oggetti di uso quotidiano per la segmentazione. Tuttavia, il pacchetto Ultralytics Python supporta l'addestramento personalizzato, essenziale per le applicazioni specializzate che richiedono la segmentazione di oggetti unici.

Perché è importante la formazione personalizzata o la messa a punto di un modello? L 'addestramento personalizzato sfrutta l'apprendimento per trasferimento basandosi sulle conoscenze già incorporate nei modelli pre-addestrati. Invece di partire da zero, adatta un modello esistente a nuovi compiti utilizzando set di dati più piccoli e meno risorse di calcolo, mantenendo un'elevata precisione.

Come allenare in modo personalizzato YOLO11

Ecco un'analisi più approfondita delle fasi di messa a punto di YOLO11 per la segmentazione: 

  • Preparazione dei dati: Raccogliere e annotare le immagini in base alla propria applicazione specifica. Ultralytics supporta diversi set di dati di immagini, ma è anche possibile addestrarsi utilizzando il proprio set di dati preparando le immagini e le annotazioni nel formato YOLO richiesto.
  • Utilizzo di un modello pre-addestrato: Invece di partire da zero, utilizzate un modello Ultralytics YOLO11 pre-addestrato.
  • Formazione del modello: Regolare le impostazioni vitali per l'addestramento, come la dimensione del batch (immagini elaborate per iterazione), la dimensione dell'immagine (risoluzione di ingresso target) e le epoche (cicli di addestramento totali) e addestrare il modello.
  • Valutazione delle prestazioni: Una volta completato l'addestramento del modello, è possibile verificarne l'accuratezza utilizzando metriche di performance come mAP. Il pacchetto Ultralytics Python fornisce anche funzioni integrate per la valutazione del modello.

Applicazioni di segmentazione delle istanze abilitate da YOLO11

La segmentazione delle istanze può essere utilizzata per risolvere le sfide del mondo reale, aiutando le macchine a vedere e comprendere gli oggetti con maggiore precisione. Dal miglioramento dell'automazione alla protezione dell'ambiente, svolge un ruolo fondamentale in molti campi. Vediamo alcuni esempi di come questa tecnologia sta avendo un impatto.

Sicurezza e monitoraggio del cantiere con YOLO11

La segmentazione delle istanze può essere un elemento critico per garantire la sicurezza e l'efficienza nei cantieri. Ad esempio, può essere utilizzata per monitorare i macchinari pesanti. 

YOLO11 può essere messo a punto per segmentare e identificare con precisione diversi tipi di attrezzature, come gru, escavatori e bulldozer, e tracciarne le posizioni in tempo reale. In questo modo i responsabili del cantiere possono assicurarsi che i macchinari operino rigorosamente all'interno delle aree designate e non invadano zone in cui sono presenti lavoratori o pericoli. 

Inoltre, l'integrazione di queste soluzioni con sistemi di allarme in tempo reale consente di intraprendere rapidamente azioni correttive. Inoltre, le informazioni raccolte possono aiutare a ottimizzare il layout del sito e il flusso di lavoro, riducendo ulteriormente i rischi e aumentando la produttività.

__wf_reserved_inherit
Figura 5. Monitoraggio di macchinari pesanti con YOLO11.

Monitoraggio degli animali con segmentazione e YOLO11

Il monitoraggio del comportamento animale aiuta i ricercatori, gli allevatori e gli ambientalisti a prendersi cura degli animali in ambienti diversi. La segmentazione delle istanze svolge un ruolo utile in questi sistemi, identificando e segmentando i singoli animali negli allevamenti, negli zoo e negli habitat naturali. A differenza del rilevamento tradizionale degli oggetti, che utilizza caselle di delimitazione, la segmentazione delle istanze fornisce una delimitazione a livello di pixel di ciascun animale, particolarmente utile quando gli animali sono vicini.

La segmentazione dettagliata facilita il tracciamento più accurato dei movimenti e dei comportamenti. Gli animali sovrapposti o strettamente raggruppati possono essere riconosciuti distintamente e fornire un'analisi più precisa delle interazioni, delle valutazioni della salute e dei modelli di attività. In generale, una conoscenza più approfondita del comportamento degli animali migliora le pratiche di cura e gestione degli stessi.

__wf_reserved_inherit
Figura 6. Monitoraggio dei bovini mediante la segmentazione delle istanze.

YOLO11 in analisi sportiva e tracciamento dei giocatori

Il tracciamento preciso dei giocatori e degli eventi è una parte importante dell'analisi sportiva. I metodi di tracciamento tradizionali si basano sull'etichettatura manuale, che potrebbe non catturare le interazioni dettagliate. La visione computerizzata può essere utilizzata per segmentare i dettagli di ogni giocatore, palla ed evento chiave a livello di pixel per ottenere informazioni dettagliate.

Ad esempio, la segmentazione delle istanze può aiutare a rilevare eventi come falli o incidenti fuori campo, separando chiaramente ogni giocatore e oggetto. Questo monitoraggio granulare consentito da modelli come YOLO11 offre agli analisti informazioni più chiare per studiare i modelli di movimento, il posizionamento spaziale e le interazioni con grande precisione. Un vantaggio fondamentale di queste informazioni è che aiutano le squadre a perfezionare le loro strategie e a migliorare le prestazioni complessive.

Pro e contro della segmentazione delle istanze

Ecco alcuni dei principali vantaggi che la segmentazione delle istanze può apportare a vari settori:

  • Miglioramento dell'automazione: Automatizzando attività come il controllo qualità e il monitoraggio della sicurezza, la segmentazione delle istanze riduce la necessità di interventi manuali e minimizza l'errore umano.
  • Migliore comprensione della scena: Delineando accuratamente ogni oggetto, la segmentazione delle istanze contribuisce a una comprensione più approfondita di scene complesse, supportando un processo decisionale più informato.
  • Post-elaborazione efficiente: L'output a livello di pixel semplifica operazioni come la rimozione dello sfondo, il conteggio degli oggetti e l'analisi spaziale, riducendo la necessità di ulteriori fasi di elaborazione.

Se da un lato questi vantaggi evidenziano l'impatto della segmentazione delle istanze sui diversi casi d'uso, dall'altro è fondamentale considerare le sfide che comporta la sua implementazione. 

Ecco alcuni dei principali limiti della segmentazione delle istanze:

  • Problemi di trasparenza: La segmentazione di oggetti trasparenti o riflettenti come il vetro e l'acqua è difficile e porta a confini imprecisi.
  • Spese di manutenzione: Per mantenere i modelli accurati e pertinenti, sono necessari continui aggiornamenti e perfezionamenti in base al cambiamento delle condizioni ambientali e dei set di dati.
  • Elevato sforzo di annotazione: L'addestramento dei modelli di segmentazione delle istanze richiede annotazioni dettagliate a livello di pixel, il che aumenta significativamente i tempi e i costi di preparazione dei dati.

Punti di forza

La segmentazione delle istanze consente di distinguere con precisione i singoli oggetti, anche quando si sovrappongono. Catturando i confini degli oggetti a livello di pixel, fornisce una comprensione più approfondita dei dati visivi rispetto ai compiti tradizionali di computer vision, come il rilevamento degli oggetti.

I recenti progressi nella computer vision hanno reso la segmentazione delle istanze più veloce e facile da usare. In particolare, i modelli di computer vision come Ultralytics YOLO11 semplificano il processo, consentendo la segmentazione in tempo reale con una configurazione minima, rendendola più accessibile per vari settori e applicazioni.

Sei curioso di conoscere l'intelligenza artificiale? Visitate il nostro repository GitHub e connettetevi con la nostra comunità per continuare a esplorare. Scoprite innovazioni come l'IA nelle auto a guida autonoma e l'IA di visione in agricoltura sulle nostre pagine dedicate alle soluzioni. Scoprite le nostre opzioni di licenza e iniziate a lavorare a un progetto di computer vision!

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti