Controllo verde
Link copiato negli appunti

Cos'è la Maschera R-CNN e come funziona?

Scopri come Mask R-CNN può essere utilizzato per segmentare con precisione gli oggetti nelle immagini e nei video per varie applicazioni in diversi settori.

Innovazioni come i robot nei magazzini, le auto a guida autonoma che si muovono in sicurezza nelle strade trafficate, i droni che controllano le coltivazioni e i sistemi di intelligenza artificiale che ispezionano i prodotti nelle fabbriche stanno diventando sempre più comuni con l'aumento dell'adozione dell'IA. Una tecnologia chiave che guida queste innovazioni è la computer vision, una branca dell'IA che consente alle macchine di comprendere e interpretare i dati visivi.

Ad esempio, il rilevamento degli oggetti è un'attività di computer vision che aiuta a identificare e localizzare gli oggetti nelle immagini utilizzando i riquadri di delimitazione. Sebbene i riquadri di delimitazione offrano informazioni utili, forniscono solo una stima approssimativa della posizione di un oggetto e non sono in grado di catturarne la forma esatta o i confini. Questo li rende meno efficaci nelle applicazioni che richiedono un'identificazione precisa.

Per risolvere questo problema, i ricercatori hanno sviluppato modelli di segmentazione che catturano i contorni esatti degli oggetti, fornendo dettagli a livello di pixel per un rilevamento e un'analisi più accurati.

Mask R-CNN è uno di questi modelli. Introdotto nel 2017 da Facebook AI Research (FAIR), si basa su modelli precedenti come R-CNN, Fast R-CNN e Faster R-CNN. Come importante pietra miliare nella storia della computer vision, Mask R-CNN ha aperto la strada a modelli più avanzati, come ad esempio Ultralytics YOLO11.

In questo articolo esploreremo cos'è la Mask R-CNN, come funziona, le sue applicazioni e quali miglioramenti sono arrivati dopo di lei, fino a YOLO11.

Una panoramica della Mask R-CNN

La Mask R-CNN, acronimo di Mask Region-based Convolutional Neural Network, è un modello di apprendimento profondo progettato per compiti di computer vision come il rilevamento di oggetti e la segmentazione di istanze. 

La segmentazione delle istanze va oltre il tradizionale rilevamento degli oggetti, non solo identificando gli oggetti in un'immagine ma anche delineando con precisione ciascuno di essi. Assegna un'etichetta unica a ogni oggetto rilevato e ne cattura la forma esatta a livello di pixel. Questo approccio dettagliato permette di distinguere chiaramente gli oggetti che si sovrappongono e di gestire con precisione le forme complesse.

Mask R-CNN si basa su Faster R-CNN, che individua ed etichetta gli oggetti ma non ne definisce la forma esatta. Mask R-CNN migliora questo aspetto identificando i pixel esatti che compongono ogni oggetto, consentendo un'analisi dell'immagine molto più dettagliata e accurata.

Figura 1. Confronto tra il rilevamento degli oggetti e la segmentazione delle istanze.

Uno sguardo all'architettura di Mask R-CNN e al suo funzionamento

Mask R-CNN adotta un approccio graduale per rilevare e segmentare accuratamente gli oggetti. Inizia estraendo le caratteristiche chiave con una rete neurale profonda (un modello multistrato che impara dai dati), poi identifica le aree potenziali dell'oggetto con una rete di proposta di regioni (un componente che suggerisce le regioni probabili dell'oggetto) e infine perfeziona queste aree creando maschere di segmentazione dettagliate (contorni precisi degli oggetti) che catturano la forma esatta di ogni oggetto.

Di seguito illustreremo ogni fase per avere un'idea più precisa di come funziona la Maschera R-CNN.

Figura 2. Panoramica dell'architettura della Mask R-CNN.

Iniziare con l'estrazione delle caratteristiche

Il primo passo dell'architettura di Mask R-CNN è quello di scomporre l'immagine nelle sue parti principali in modo che il modello possa capire cosa contiene. Pensa a questo come quando guardi una foto e noti naturalmente i dettagli come le forme, i colori e i bordi. Il modello fa qualcosa di simile utilizzando una rete neurale profonda chiamata "backbone" (spesso ResNet-50 o ResNet-101), che agisce come i suoi occhi per scansionare l'immagine e cogliere i dettagli chiave.

Poiché gli oggetti nelle immagini possono essere molto piccoli o molto grandi, Mask R-CNN utilizza una rete a piramide di caratteristiche. È come avere diverse lenti d'ingrandimento che permettono al modello di vedere sia i dettagli fini che l'immagine più grande, assicurando che vengano notati oggetti di tutte le dimensioni.

Una volta estratte queste importanti caratteristiche, il modello passa a localizzare i potenziali oggetti nell'immagine, ponendo le basi per un'ulteriore analisi.

Suggerimento di aree potenziali dell'immagine con oggetti

Dopo che l'immagine è stata elaborata per individuare le caratteristiche principali, subentra la Rete di proposta regionale. Questa parte del modello esamina l'immagine e suggerisce le aree che probabilmente contengono oggetti.

Lo fa generando più posizioni possibili per gli oggetti, chiamate ancore. La rete valuta poi questi ancoraggi e seleziona quelli più promettenti per un'ulteriore analisi. In questo modo, il modello si concentra solo sulle aree che hanno maggiori probabilità di essere interessanti, invece di controllare ogni singolo punto dell'immagine.

Figura 3. Un esempio di rete di proposta regionale.

Miglioramento delle caratteristiche estratte 

Una volta identificate le aree chiave, il passo successivo consiste nel perfezionare i dettagli estratti da queste regioni. I modelli precedenti utilizzavano un metodo chiamato ROI Pooling (Region of Interest Pooling) per estrarre le caratteristiche da ogni area, ma questa tecnica a volte portava a leggeri disallineamenti durante il ridimensionamento delle regioni, rendendola meno efficace, soprattutto per gli oggetti più piccoli o sovrapposti.

Mask R-CNN migliora questo aspetto utilizzando una tecnica chiamata ROI Align (Region of Interest Align). Invece di arrotondare le coordinate come fa il ROI Pooling, ROI Align utilizza l'interpolazione bilineare per stimare i valori dei pixel in modo più preciso. L'interpolazione bilineare è un metodo che calcola il valore di un nuovo pixel calcolando la media dei valori dei suoi quattro vicini più prossimi, creando così transizioni più uniformi. In questo modo le caratteristiche rimangono correttamente allineate con l'immagine originale, ottenendo un rilevamento e una segmentazione degli oggetti più accurati.

Ad esempio, in una partita di calcio, due giocatori vicini potrebbero essere scambiati l'uno con l'altro perché i loro rettangoli di gioco si sovrappongono. ROI Align aiuta a separarli mantenendo le loro forme distinte. 

Figura 4. Maschera R-CNN utilizza ROI Align.

Classificare gli oggetti e prevedere le loro maschere

Una volta che ROI Align elabora l'immagine, il passo successivo è quello di classificare gli oggetti e perfezionare la loro posizione. Il modello esamina ogni regione estratta e decide quale oggetto contiene. Assegna un punteggio di probabilità alle diverse categorie e sceglie la migliore corrispondenza.

Allo stesso tempo, regola i riquadri di delimitazione per adattarli meglio agli oggetti. I riquadri iniziali potrebbero non essere posizionati in modo ideale, quindi questo aiuta a migliorare l'accuratezza assicurandosi che ogni riquadro circondi strettamente l'oggetto rilevato.

Infine, Mask R-CNN fa un passo in più: genera in parallelo una maschera di segmentazione dettagliata per ogni oggetto.

Mask R-CNN e le sue applicazioni in tempo reale

Quando questo modello è uscito, è stato accolto con grande entusiasmo dalla comunità dell'intelligenza artificiale ed è stato presto utilizzato in diverse applicazioni. La sua capacità di rilevare e segmentare gli oggetti in tempo reale l'ha reso un'innovazione in diversi settori.

Ad esempio, rintracciare gli animali in via di estinzione in natura è un compito difficile. Molte specie si muovono in foreste fitte, rendendo difficile per i conservazionisti tenerne traccia. I metodi tradizionali utilizzano trappole con telecamera, droni e immagini satellitari, ma la selezione manuale di tutti questi dati richiede molto tempo. Identificazioni errate e avvistamenti mancati possono rallentare gli sforzi di conservazione.

Riconoscendo caratteristiche uniche come le strisce della tigre, le macchie della giraffa o la forma delle orecchie di un elefante, Mask R-CNN è in grado di rilevare e segmentare gli animali nelle immagini e nei video con maggiore precisione. Anche quando gli animali sono parzialmente nascosti dagli alberi o si trovano vicini, il modello è in grado di separarli e identificarli singolarmente, rendendo il monitoraggio della fauna selvatica più veloce e affidabile.

Figura 5. Rilevamento e segmentazione degli animali con la maschera R-CNN.

Limiti della maschera R-CNN

Nonostante la sua importanza storica nel rilevamento e nella segmentazione degli oggetti, la Mask R-CNN presenta anche alcuni svantaggi. Ecco alcune sfide legate alla Mask R-CNN:

  • Alta richiesta di calcolo: Si basa su potenti GPU, il che può renderne costosa l'esecuzione e lenta l'elaborazione di grandi quantità di dati.

  • Velocità di elaborazione inferiore: il suo processo a più fasi lo rende più lento rispetto a modelli più veloci e in tempo reale come YOLO, il che potrebbe non essere l'ideale per attività sensibili al fattore tempo.

  • Dipendenza da dati di alta qualità: Il modello funziona meglio con immagini chiare e ben etichettate. Immagini sfocate o poco illuminate possono ridurre significativamente la sua precisione.
  • Implementazione complessa: L'architettura a più fasi può essere impegnativa da configurare e ottimizzare, soprattutto quando si ha a che fare con dataset di grandi dimensioni o risorse limitate.

Da Mask R-CNN a Ultralytics YOLO11

La maschera R-CNN era ottima per le attività di segmentazione, ma molte industrie stavano cercando di adottare la computer vision dando priorità alla velocità e alle prestazioni in tempo reale. Questo requisito ha portato i ricercatori a sviluppare modelli a un solo stadio che rilevano gli oggetti in un solo passaggio, migliorando notevolmente l'efficienza.

A differenza del processo a più fasi di Mask R-CNN, i modelli di computer vision a una fase come YOLO (You Only Look Once) si concentrano sulle attività di computer vision in tempo reale. Invece di gestire separatamente il rilevamento e la segmentazione, i modelli YOLO possono analizzare un'immagine in una sola volta. Ciò li rende ideali per applicazioni come la guida autonoma, la sanità, l'industria manifatturiera e la robotica, dove la rapidità delle decisioni è fondamentale.

In particolare, YOLO11 compie un ulteriore passo avanti, essendo allo stesso tempo veloce e preciso. Utilizza il 22% di parametri in meno rispetto a YOLOv8m ma raggiunge comunque una precisione media superiore (mAP) sul set di dati COCO, il che significa che rileva gli oggetti in modo più preciso. La sua maggiore velocità di elaborazione lo rende una buona scelta per le applicazioni in tempo reale in cui ogni millisecondo è importante.

Figura 6. Prestazioni di YOLO11rispetto ad altri modelli.

Punti di forza

Guardando alla storia della computer vision, la Mask R-CNN è riconosciuta come un'importante svolta nel rilevamento e nella segmentazione degli oggetti. Offre risultati molto precisi anche in contesti complessi, grazie al suo dettagliato processo in più fasi. 

Tuttavia, questo stesso processo lo rende più lento rispetto ai modelli in tempo reale come YOLO. Con l'aumentare della necessità di velocità ed efficienza, molte applicazioni utilizzano ora modelli a uno stadio come Ultralytics YOLO11, che offrono un rilevamento degli oggetti rapido e preciso. Sebbene Mask R-CNN sia importante per comprendere l'evoluzione della computer vision, la tendenza verso soluzioni in tempo reale evidenzia la crescente domanda di soluzioni di computer vision più rapide ed efficienti.

Unisciti alla nostra comunità in crescita! Esplora il nostro repository GitHub per saperne di più sull'intelligenza artificiale. Sei pronto ad avviare i tuoi progetti di computer vision? Scopri le nostre opzioni di licenza. Scopri l'IA nell'agricoltura e l'IA di visione nella sanità visitando le nostre pagine dedicate alle soluzioni! 

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico