Controllo verde
Link copiato negli appunti

Che cos'è R-CNN? Una rapida panoramica

Scopri l'RCNN e il suo impatto sul rilevamento degli oggetti. Verranno illustrati i suoi componenti chiave, le sue applicazioni e il suo ruolo nell'avanzamento di tecniche come Fast RCNN e YOLO.

Il rilevamento degli oggetti è un'attività di computer vision in grado di riconoscere e localizzare gli oggetti nelle immagini o nei video per applicazioni come la guida autonoma, la sorveglianza e l'imaging medico. I metodi di rilevamento degli oggetti precedenti, come il rilevatore Viola-Jones e l'istogramma dei gradienti orientati (HOG) con le macchine vettoriali di supporto (SVM), si basavano su caratteristiche create a mano e finestre scorrevoli. Questi metodi spesso faticavano a rilevare con precisione gli oggetti in scene complesse con più oggetti di varie forme e dimensioni.

Le reti neurali convoluzionali basate sulle regioni (R-CNN) hanno cambiato il modo in cui affrontiamo il rilevamento degli oggetti. Si tratta di un'importante pietra miliare nella storia della computer vision. Per capire come sono nati modelli come YOLOv8 è nata, dobbiamo prima capire i modelli come R-CNN. 

Creata da Ross Girshick e dal suo team, l'architettura del modello R-CNN genera proposte di regioni, estrae caratteristiche con una rete neurale convoluzionale (CNN) pre-addestrata, classifica gli oggetti e perfeziona i riquadri di delimitazione. Sebbene tutto ciò possa sembrare scoraggiante, alla fine di questo articolo capirai chiaramente come funziona la R-CNN e perché è così importante. Diamo un'occhiata!

Come funziona R-CNN?

Il processo di rilevamento degli oggetti del modello R-CNN prevede tre fasi principali: la generazione di proposte di regioni, l'estrazione di caratteristiche e la classificazione degli oggetti con l'affinamento dei loro riquadri di delimitazione. Vediamo di seguito ogni fase.

Figura 1. Come funziona la R-CNN.

Proposte regionali: La spina dorsale dell'RCNN

Nella prima fase, il modello R-CNN analizza l'immagine per creare numerose proposte di regioni. Le proposte di regione sono aree potenziali che potrebbero contenere oggetti. Metodi come la Ricerca Selettiva vengono utilizzati per esaminare vari aspetti dell'immagine, come il colore, la struttura e la forma, suddividendola in diverse parti. La Ricerca Selettiva inizia dividendo l'immagine in parti più piccole, quindi unendo quelle simili per formare aree di interesse più grandi. Questo processo continua fino a quando non vengono generate circa 2.000 proposte di regioni.

Figura 2. Come funziona la ricerca selettiva.

Queste proposte di regioni aiutano a identificare tutti i possibili punti in cui potrebbe essere presente un oggetto. Nelle fasi successive, il modello può elaborare in modo efficiente le aree più rilevanti concentrandosi su queste aree specifiche piuttosto che sull'intera immagine. L'utilizzo di proposte di regioni bilancia l'accuratezza con l'efficienza computazionale.

Estrazione delle caratteristiche dell'immagine: Catturare i dettagli

La fase successiva del processo di rilevamento degli oggetti del modello R-CNN consiste nell'estrarre le caratteristiche dalle proposte di regione. Ogni proposta di regione viene ridimensionata in base alle dimensioni previste dalla CNN (ad esempio, 224x224 pixel). Il ridimensionamento aiuta la CNN a elaborare in modo efficiente ogni proposta. Prima del warping, le dimensioni di ogni proposta di regione vengono leggermente ampliate per includere 16 pixel di contesto aggiuntivo intorno alla regione, in modo da fornire più informazioni circostanti per una migliore estrazione delle caratteristiche.

Una volta ridimensionate, queste proposte di regioni vengono inserite in una CNN come AlexNet, che di solito viene pre-addestrata su un grande set di dati come ImageNet. La CNN elabora ogni regione per estrarre vettori di caratteristiche ad alta dimensione che catturano dettagli importanti come bordi, texture e modelli. Questi vettori di caratteristiche condensano le informazioni essenziali delle regioni. Trasformano i dati grezzi dell'immagine in un formato che il modello può utilizzare per ulteriori analisi. La classificazione accurata e la localizzazione degli oggetti nelle fasi successive dipendono da questa conversione cruciale delle informazioni visive in dati significativi.

Figura 3. Estrazione di caratteristiche da una proposta di regione utilizzando AlexNet.

Classificazione degli oggetti: Identificare gli oggetti rilevati

Il terzo passo consiste nel classificare gli oggetti all'interno di queste regioni. Ciò significa determinare la categoria o la classe di ogni oggetto trovato all'interno delle proposte. I vettori di caratteristiche estratti vengono poi passati attraverso un classificatore di apprendimento automatico.

Nel caso di R-CNN, le Support Vector Machines (SVM) sono comunemente utilizzate a questo scopo. Ogni SVM viene addestrata a riconoscere una specifica classe di oggetti analizzando i vettori di caratteristiche e decidendo se una particolare regione contiene un'istanza di quella classe. In sostanza, per ogni categoria di oggetto, c'è un classificatore dedicato che controlla ogni regione proposta per quell'oggetto specifico.

Durante l'addestramento, ai classificatori vengono forniti dati etichettati con campioni positivi e negativi:

  • Campioni positivi: Regioni che contengono l'oggetto target.
  • Campioni negativi: Regioni prive dell'oggetto.

I classificatori imparano a distinguere tra questi campioni. La regressione dei riquadri di delimitazione affina ulteriormente la posizione e le dimensioni degli oggetti rilevati, regolando i riquadri di delimitazione inizialmente proposti in modo che corrispondano meglio ai confini reali degli oggetti. Il modello R-CNN può identificare e localizzare con precisione gli oggetti combinando la classificazione e la regressione dei riquadri di delimitazione.

Figura 4. Un esempio di regressione di bounding box.

Mettere tutto insieme: Affinare le rilevazioni con l'NMS

Dopo le fasi di classificazione e di regressione dei riquadri di delimitazione, il modello spesso genera più riquadri di delimitazione sovrapposti per lo stesso oggetto. La Non-Maximum Suppression (NMS) viene applicata per affinare questi rilevamenti, mantenendo i riquadri più accurati. Il modello elimina i riquadri ridondanti e sovrapposti applicando la NMS e mantiene solo i rilevamenti più sicuri. 

L'NMS funziona valutando i punteggi di confidenza (che indicano la probabilità che un oggetto rilevato sia effettivamente presente) di tutti i riquadri di delimitazione e sopprimendo quelli che si sovrappongono in modo significativo ai riquadri con punteggi più alti. 

Figura 5. Un esempio di soppressione non massima.

Ecco una descrizione dei passaggi dell'NMS:

  • Ordinamento: I riquadri di delimitazione vengono ordinati in base ai loro punteggi di confidenza in ordine decrescente.
  • Selezione: La casella con il punteggio più alto viene selezionata e tutte le caselle che si sovrappongono in modo significativo (in base all'Intersection over Union, IoU) con essa vengono rimosse.
  • Iterazione: Questo processo si ripete per la casella successiva con il punteggio più alto e continua fino a quando tutte le caselle sono state elaborate.

Il modello R-CNN rileva gli oggetti generando proposte di regioni, estraendo caratteristiche con una CNN, classificando gli oggetti e affinando le loro posizioni con la regressione del rettangolo di selezione e utilizzando la soppressione non massima (NMS) per mantenere solo i rilevamenti più accurati.

R-CNN è una pietra miliare nel rilevamento degli oggetti

R-CNN è un modello di riferimento nella storia del rilevamento degli oggetti perché ha introdotto un nuovo approccio che ha migliorato notevolmente la precisione e le prestazioni. Prima di R-CNN, i modelli di rilevamento degli oggetti faticavano a trovare un equilibrio tra velocità e precisione. Il metodo di R-CNN di generare proposte di regioni e di utilizzare le CNN per l'estrazione delle caratteristiche permette di localizzare e identificare con precisione gli oggetti all'interno delle immagini. 

R-CNN ha aperto la strada a modelli come Fast R-CNN, Faster R-CNN e Mask R-CNN, che hanno ulteriormente migliorato l'efficienza e la precisione. Combinando l'apprendimento profondo con l'analisi basata sulle regioni, R-CNN ha stabilito un nuovo standard nel settore e ha aperto la strada a diverse applicazioni reali.

Trasformare l'imaging medico con R-CNN

Un caso d'uso interessante di R-CNN è quello dell'imaging medico. I modelli R-CNN sono stati utilizzati per rilevare e classificare diversi tipi di tumori, come quelli cerebrali, in scansioni mediche come la risonanza magnetica e la TAC. L'uso del modello R-CNN nell'imaging medico migliora l'accuratezza diagnostica e aiuta i radiologi a identificare i tumori maligni in una fase iniziale. La capacità di R-CNN di individuare anche tumori piccoli e in fase iniziale può fare una differenza significativa nel trattamento e nella prognosi di malattie come il cancro.

Figura 6. Rilevamento dei tumori cerebrali con RCNN.

Il modello R-CNN può essere applicato ad altre attività di imaging medico oltre al rilevamento dei tumori. Ad esempio, può identificare le fratture, rilevare le malattie della retina nelle scansioni dell'occhio e analizzare le immagini dei polmoni per individuare condizioni come la polmonite e la COVID-19. Indipendentemente dal problema medico, la diagnosi precoce può portare a risultati migliori per i pazienti. Applicando la precisione di R-CNN nell'identificare e localizzare le anomalie, gli operatori sanitari possono migliorare l'affidabilità e la velocità delle diagnosi mediche. Con il rilevamento degli oggetti che semplifica il processo di diagnosi, i pazienti possono beneficiare di piani di trattamento tempestivi e accurati.

I limiti di R-CNN e i suoi successori

Sebbene sia impressionante, R-CNN presenta alcuni svantaggi, come l'elevata complessità computazionale e i tempi lenti di inferenza. Questi inconvenienti rendono il modello R-CNN inadatto alle applicazioni in tempo reale. Separare le proposte e le classificazioni delle regioni in fasi distinte può portare a prestazioni meno efficienti.

Nel corso degli anni sono nati diversi modelli di rilevamento degli oggetti che hanno affrontato questi problemi. Fast R-CNN combina le proposte di regioni e l'estrazione di caratteristiche CNN in un unico passaggio, velocizzando il processo. Faster R-CNN introduce una Region Proposal Network (RPN) per semplificare la generazione delle proposte, mentre Mask R-CNN aggiunge la segmentazione a livello di pixel per rilevamenti più dettagliati.

Figura 7. Confronto tra R-CNN, R-CNN veloce, R-CNN più veloce e R-CNN maschera.

Più o meno nello stesso periodo di Faster R-CNN, la serie YOLO (You Only Look Once) ha iniziato a progredire nel rilevamento degli oggetti in tempo reale. I modelli YOLO predicono le bounding box e le probabilità di classe in un unico passaggio attraverso la rete. Ad esempio, il modello Ultralytics YOLOv8 offre una maggiore precisione e velocità con funzioni avanzate per molte attività di computer vision.

Punti di forza

RCNN ha cambiato le carte in tavola nella computer vision, dimostrando come l'apprendimento profondo possa cambiare il rilevamento degli oggetti. Il suo successo ha ispirato molte nuove idee nel campo. Anche se modelli più recenti come Faster R-CNN e YOLO hanno risolto i difetti di RCNN, il suo contributo è una pietra miliare importante da ricordare.

Con l'avanzare della ricerca, vedremo modelli di rilevamento degli oggetti sempre migliori e più veloci. Questi progressi non solo miglioreranno il modo in cui le macchine comprendono il mondo, ma porteranno anche a progressi in molti settori. Il futuro del rilevamento degli oggetti si prospetta entusiasmante!

Vuoi continuare a esplorare l'IA? Entra a far parte dellacomunità di Ultralytics ! Esplora il nostro repository GitHub per vedere le nostre ultime innovazioni in materia di intelligenza artificiale. Scopri le nostre soluzioni di intelligenza artificiale che spaziano in vari settori come l'agricoltura e la produzione. Unisciti a noi per imparare e progredire!

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