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.

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.
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.
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.
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.
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.
In poche parole, YOLO11 offre un'accuratezza all'avanguardia senza compromettere l'efficienza, rendendolo un vero e proprio cambiamento sul campo.
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.
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.
Ecco un'analisi più approfondita delle fasi di messa a punto di YOLO11 per la segmentazione:
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.
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à.
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.
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.
Ecco alcuni dei principali vantaggi che la segmentazione delle istanze può apportare a vari settori:
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:
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!