
FeatUp, sviluppato dai ricercatori del MIT CSAIL, aumenta la risoluzione di qualsiasi rete profonda o base visiva per i sistemi di visione artificiale.

FeatUp è un algoritmo che aggiorna la risoluzione delle reti profonde per migliorare le prestazioni nelle attività di visione artificiale come il riconoscimento di oggetti, l’analisi delle scene e la misurazione della profondità.
Crediti:Immagine: Mark Hamilton e Alex Shipps/MIT CSAIL, immagine in alto tramite Unsplash.
Immagine di contemplare brevemente una strada affollata e poi tentare di riprodurre a memoria la scena osservata. La maggior parte potrebbe disegnare in modo approssimativo le posizioni dei principali elementi come auto, persone e strisce pedonali, ma raramente con una precisione pixel per pixel. Questo riflesso si rispecchia anche negli algoritmi moderni di visione artificiale: eccellono nel catturare gli aspetti salienti di una scena, ma perdono i dettagli più sottili durante l’elaborazione delle informazioni.
Recentemente, ricercatori del MIT hanno sviluppato un sistema denominato “FeatUp” che consente agli algoritmi di catturare contemporaneamente sia i dettagli di alto che basso livello di una scena, quasi come un intervento LASIK per la visione artificiale.
Quando i computer apprendono a “vedere” attraverso immagini e video, creano concetti di ciò che è presente in una scena tramite delle “caratteristiche”. Per ottenere queste caratteristiche, le reti neurali profonde e i modelli visivi di base scompongono le immagini in una griglia di piccoli quadrati e processano questi quadrati collettivamente per comprendere cosa sta accadendo nell’immagine. Tuttavia, poiché ogni quadrato è generalmente composto da soli 16-32 pixel, la risoluzione di questi algoritmi è notevolmente inferiore rispetto alle immagini originali. Questa riduzione della risoluzione porta a una perdita di dettagli significativa mentre gli algoritmi cercano di riassumere e comprendere le immagini.
FeatUp risolve questo problema, impedendo la perdita di informazioni e migliorando la risoluzione di qualsiasi rete neurale profonda senza compromettere velocità o qualità. Ciò consente ai ricercatori di migliorare rapidamente e facilmente la risoluzione di nuovi o esistenti algoritmi. Ad esempio, immagina di esaminare le previsioni di un algoritmo di rilevamento del cancro ai polmoni per individuare il tumore. Applicare FeatUp prima di interpretare l’algoritmo con metodi come le mappe di attivazione delle classi (CAM) può produrre una visione notevolmente più dettagliata (16-32 volte) della posizione prevista del tumore.
FeatUp non solo aiuta i professionisti a comprendere meglio i propri modelli, ma può anche migliorare una varietà di attività, come il rilevamento di oggetti, la segmentazione semantica (assegnazione di etichette ai pixel in un’immagine) e la stima della profondità. Lo fa fornendo caratteristiche più precise e ad alta risoluzione, fondamentali per la creazione di applicazioni di visione artificiale, che vanno dalla guida autonoma all’imaging medico.
Mark Hamilton, uno studente di dottorato in ingegneria elettrica e informatica presso il MIT Computer Science e affiliato del Laboratorio di Intelligenza Artificiale (CSAIL), co-autore principale del progetto, spiega: “L’essenza della visione artificiale risiede in queste caratteristiche profonde e intelligenti che emergono dalle profondità delle architetture di deep learning. La grande sfida degli algoritmi moderni è quella di ridurre le immagini di grandi dimensioni a griglie molto piccole di caratteristiche ‘intelligenti’, ottenendo informazioni intelligenti ma perdendo i dettagli più fini.”
FeatUp affronta questa sfida sfruttando movimenti e tremori nelle immagini. Applicando piccole modifiche, come lo spostamento dell’immagine di alcuni pixel a sinistra o a destra, osserva come l’algoritmo reagisce a tali movimenti minimi. Questo processo produce centinaia di mappe di caratteristiche leggermente diverse, che possono essere combinate in un insieme unico e dettagliato di caratteristiche ad alta risoluzione. Hamilton spiega: “Immaginiamo che esistano alcune caratteristiche ad alta risoluzione e quando le spostiamo e le offuschiamo, corrisponderanno a tutte le caratteristiche originali a bassa risoluzione delle immagini mosse. Il nostro obiettivo è imparare come perfezionare le funzionalità a bassa risoluzione in funzionalità ad alta risoluzione utilizzando questo ‘gioco’ che ci consente di sapere quanto stiamo andando bene”.
Il team ha sviluppato un nuovo tipo di livello di rete neurale personalizzato, denominato operazione di sovracampionamento bilaterale congiunto, che è risultato oltre 100 volte più efficiente di un’implementazione ingenua in PyTorch. Questo livello ha dimostrato di migliorare una vasta gamma di algoritmi, inclusi quelli per la segmentazione semantica e la previsione della profondità, consentendo loro di elaborare e comprendere meglio i dettagli ad alta risoluzione.
Stephanie Fu, un’altra co-autrice principale del progetto, aggiunge: “Un’altra applicazione è il recupero di piccoli oggetti, dove il nostro algoritmo consente una localizzazione precisa. Anche nelle scene stradali affollate, gli algoritmi arricchiti con FeatUp possono individuare oggetti come coni stradali, catarifrangenti e buche, dove quelli a bassa risoluzione falliscono”.
Guardando al futuro, il team spera che FeatUp diventi uno strumento ampiamente utilizzato nella comunità di ricerca e oltre, simile alle pratiche di aumento dei dati. Noah Snavely, professore di informatica presso la Cornell University, osserva che FeatUp è un passo avanti nel rendere le rappresentazioni visive più utili, producendo mappe di caratteristiche ad alta risoluzione. William T. Freeman, professore presso il MIT, sottolinea l’importanza di rendere le rappresentazioni visive più dettagliate e afferma che FeatUp può contribuire significativamente a questo obiettivo.
Gli autori principali, insieme ad altri membri del team, presenteranno il loro lavoro alla Conferenza Internazionale sulle Rappresentazioni dell’Apprendimento a maggio.