Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Cos'è la segmentazione delle istanze? Una guida rapida

Abirami Vina

6 minuti di lettura

6 marzo 2025

Unisciti a noi mentre esaminiamo più da vicino cosa è la segmentazione di istanza, come funziona, il suo utilizzo in varie applicazioni di computer vision e l'impatto che può avere.

Le applicazioni di computer vision stanno diventando sempre più comuni nella nostra vita quotidiana, dalle telecamere del 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 una vasta gamma di settori.

Molte di queste applicazioni si basano sull'object detection, un compito di computer vision che posiziona bounding box attorno agli oggetti chiave nelle immagini. Sebbene questo approccio spesso funzioni bene, alcune soluzioni di analisi delle immagini necessitano di una precisione ancora maggiore.

Ad esempio, l'imaging medicale richiede più della semplice rilevazione di un tumore: è 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. Modelli di visione artificiale 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.

Cos'è la segmentazione di istanza?

Immagina una foto di gruppo di persone in piedi vicine. Il rilevamento di oggetti può aiutare a disegnare riquadri attorno a ogni persona, ma questo non ti dice la loro forma esatta. 

La segmentazione di istanza, d'altra parte, è simile a tracciare attentamente il contorno di ogni persona in modo da poterne vedere l'intera sagoma, anche se si sovrappongono. Invece di limitarsi a contrassegnare la posizione di qualcosa con una casella, identifica la forma esatta di ciascun 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 quali pixel gli appartengono. Questo livello di precisione è utile in molte applicazioni reali in cui è importante comprendere la forma esatta e i confini degli oggetti.

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

Instance segmentation vs semantic segmentation

Durante l'esplorazione della segmentazione delle istanze, potresti imbatterti nel concetto di segmentazione semantica.

Entrambe le tecniche aiutano i computer a comprendere le immagini a livello di pixel, ma servono a 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ù auto, la segmentazione semantica le contrassegnerebbe tutte come "auto" senza distinguere tra i singoli veicoli.

L'instance segmentation, d'altra parte, fa un ulteriore passo avanti identificando ogni oggetto separatamente. Assegna etichette univoche alle singole istanze e crea maschere precise attorno alle loro forme. Quindi, nella stessa immagine, l'instance segmentation non si limiterebbe a etichettare tutto come "auto", ma riconoscerebbe e delineerebbe ogni auto individualmente.

La principale differenza tra i due è che la segmentazione semantica raggruppa gli oggetti per categoria, mentre la segmentazione delle istanze 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
Fig 3. Instance segmentation vs semantic segmentation (rispettivamente a destra e a sinistra).

Modelli di instance segmentation più diffusi

Oggigiorno, la comunità di Vision AI ha a disposizione diversi modelli di segmentazione di istanza. Alcuni sono più veloci, altri più accurati 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 modelliYOLO 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 competenze tecniche approfondite.

Sulla base di questo successo, Ultralytics YOLOv8 ha introdotto un supporto avanzato per le attività di visione artificiale, 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 superioremAP) 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.

Comprendere come funziona la segmentazione delle istanze

Successivamente, esploriamo come funziona tipicamente la segmentazione delle istanze. I modelli di computer vision più datati utilizzano un approccio in due fasi. 

Innanzitutto, detect 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 datiCOCO, 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 l'addestramento personalizzato o la messa a punto di un modello? L'addestramento personalizzato sfrutta il transfer learning basandosi sulle conoscenze già incorporate nei modelli pre-addestrati. Anziché partire da zero, adatta un modello esistente a nuove attività utilizzando dataset più piccoli e meno risorse di calcolo, il tutto mantenendo un'elevata accuratezza.

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.
  • Addestramento del modello: Regola le impostazioni di addestramento vitali come la dimensione del batch (immagini elaborate per iterazione), la dimensione dell'immagine (risoluzione di input target) e le epoche (cicli di addestramento totali) e addestra 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

L'instance segmentation può essere utilizzata per risolvere sfide del mondo reale, aiutando le macchine a vedere e comprendere gli oggetti in modo più accurato. Dal miglioramento dell'automazione alla protezione dell'ambiente, svolge un ruolo chiave in molti settori. Esaminiamo alcuni esempi del suo impatto.

Sicurezza e monitoraggio del cantiere con YOLO11

L'instance segmentation può essere fondamentale per garantire la sicurezza e l'efficienza nei cantieri edili. Ad esempio, può essere utilizzata per monitorare i macchinari pesanti. 

YOLO11 può essere messo a punto per segment e identificare con precisione diversi tipi di attrezzature, come gru, escavatori e bulldozer, e track 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 tali soluzioni con sistemi di allerta in tempo reale consente di intraprendere rapidamente azioni correttive. Oltre a ciò, 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 degli animali aiuta ricercatori, agricoltori e ambientalisti a prendersi cura degli animali in diversi ambienti. La segmentazione delle istanze svolge un ruolo utile in questi sistemi identificando e segmentando i singoli animali in aziende agricole, zoo e habitat naturali. A differenza del tradizionale rilevamento di oggetti che utilizza bounding box, la segmentazione delle istanze fornisce una delineazione a livello di pixel di ciascun animale, il che è particolarmente utile quando gli animali sono in stretta prossimità.

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

__wf_reserved_inherit
Fig 6. Monitoraggio del bestiame tramite segmentazione delle istanze.

YOLO11 nell'analisi sportiva e nel monitoraggio 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 segment 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 detect 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 di istanza

Ecco alcuni dei principali vantaggi che la segmentazione di istanza può apportare a vari settori:

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

Sebbene questi vantaggi evidenzino come la instance segmentation influisca su diversi casi d'uso, è anche essenziale considerare le sfide coinvolte nella sua implementazione. 

Ecco alcune delle principali limitazioni della segmentazione di istanza:

  • Difficoltà con la trasparenza: La segmentazione di oggetti trasparenti o riflettenti come vetro e acqua è difficile, il che porta a confini inaccurati.
  • Costi di manutenzione: Per mantenere i modelli accurati e pertinenti, sono necessari aggiornamenti continui e fine-tuning man mano che le condizioni ambientali e i set di dati cambiano.
  • Elevato sforzo di annotazione: L'addestramento di modelli di instance segmentation richiede annotazioni dettagliate a livello di pixel, il che aumenta significativamente i tempi e i costi necessari per la preparazione dei dati.

Punti chiave

L'instance segmentation rende possibile distinguere singoli oggetti con precisione, anche quando si sovrappongono. Acquisendo i confini degli oggetti a livello di pixel, fornisce una comprensione più approfondita dei dati visivi rispetto alle tradizionali attività di computer vision come l'object detection.

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.

Siete curiosi di scoprire di più sull'IA? Visitate il nostro repository GitHub e connettetevi con la nostra community per continuare a esplorare. Scoprite le innovazioni come l'IA nelle auto a guida autonoma e la Vision AI in agricoltura nelle nostre pagine dedicate alle soluzioni. Date un'occhiata alle nostre opzioni di licenza e iniziate un progetto di computer vision!

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis