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.

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.
L'instance segmentation è un'attività di computer vision progettata per supportare casi d'uso in cui il rilevamento di oggetti non è sufficiente: fornisce accuratezza a livello di pixel. Modelli di computer vision come Ultralytics YOLO11 possono essere utilizzati per applicare facilmente l'instance segmentation a immagini e video.
In questa guida, analizzeremo come funziona la segmentazione delle istanze, le sue applicazioni e come Ultralytics YOLO11 può essere addestrato personalizzato per attività di segmentazione specifiche.
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.
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.
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, sebbene utili, possono portare alla domanda: qual è quella giusta da utilizzare per un'attività specifica? Tra le opzioni, i modelli Ultralytics YOLO 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 avanzata di Vision accessibile a un pubblico più ampio senza richiedere una profonda competenza tecnica.
Sulla scia di questo successo, Ultralytics YOLOv8 ha introdotto un supporto migliorato per 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 media (mAP) più elevata sul dataset COCO con il 22% in meno di parametri rispetto a YOLOv8m, il che significa che può riconoscere gli oggetti in modo più preciso utilizzando meno risorse.
In parole semplici, YOLO11 offre una precisione all'avanguardia senza compromettere l'efficienza, rendendolo un punto di svolta nel settore.
Successivamente, esploriamo come funziona tipicamente la segmentazione delle istanze. I modelli di computer vision più datati utilizzano un approccio in due fasi.
Innanzitutto, rilevano gli oggetti disegnando dei bounding box attorno ad essi. 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 object detection aggiungendo una fase di previsione della maschera. Sebbene questo metodo sia efficace, può essere lento perché elabora l'immagine in più fasi, rendendo più impegnative le applicazioni in tempo reale.
Nel frattempo, modelli come YOLO11 elaborano le immagini in un'unica passata, prevedendo simultaneamente 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 sia la velocità che la precisione sono fondamentali.
YOLO11 viene fornito preconfigurato come modello pre-addestrato. È stato addestrato sul dataset COCO-Seg, che copre oggetti di uso quotidiano per la segmentazione delle istanze. Tuttavia, il pacchetto Python di Ultralytics supporta l'addestramento personalizzato, essenziale per applicazioni specializzate in cui è necessario segmentare 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.
Ecco uno sguardo più da vicino ai passaggi necessari per il fine-tuning di YOLO11 per la segmentazione delle istanze:
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.
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 segmentare e identificare accuratamente diversi tipi di attrezzature, come gru, escavatori e bulldozer, e tracciare le loro posizioni in tempo reale. Ciò consente ai responsabili del sito di assicurarsi che i macchinari funzionino rigorosamente all'interno delle aree designate e non invadano zone in cui sono presenti lavoratori o esistono 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à.
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.
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 interazioni dettagliate. La computer vision può essere utilizzata per segmentare i dettagli come 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 dal gioco separando chiaramente ogni giocatore e oggetto. Questo monitoraggio granulare, reso possibile da modelli come YOLO11, offre agli analisti informazioni più chiare per studiare i modelli di movimento, il posizionamento spaziale e le interazioni con elevata precisione. Un vantaggio fondamentale di queste informazioni è che aiutano le squadre a perfezionare le proprie strategie e a migliorare le prestazioni complessive.
Ecco alcuni dei principali vantaggi che la segmentazione di istanza può apportare a vari settori:
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:
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 a 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!