Immagina di dare uno sguardo veloce a una strada trafficata per qualche istante, per poi cercare di disegnare la scena che hai visto a memoria. La maggior parte delle persone potrebbe tracciare le posizioni approssimative degli oggetti principali come auto, persone e attraversamenti pedonali, ma quasi nessuno può disegnare ogni dettaglio con precisione pixel-per-pixel. Lo stesso vale per la maggior parte degli algoritmi moderni di visione artificiale: sono fantastici nel catturare dettagli di alto livello di una scena, ma perdono dettagli fini mentre elaborano le informazioni.
Ora, i ricercatori del MIT hanno creato un sistema chiamato “FeatUp” che consente agli algoritmi di catturare contemporaneamente tutti i dettagli di alto e basso livello di una scena, quasi come la chirurgia laser per la visione artificiale.
Quando i computer imparano a “vedere” guardando immagini e video, costruiscono “idee” di ciò che c’è in una scena attraverso qualcosa chiamato “caratteristiche”. Per creare queste caratteristiche, le reti neurali profonde e i modelli di base visivi suddividono le immagini in una griglia di piccoli quadrati e elaborano questi quadrati come un gruppo per determinare cosa sta succedendo in una foto. Ogni piccolo quadrato è generalmente composto da 16 a 32 pixel, quindi la risoluzione di questi algoritmi è drasticamente più piccola rispetto alle immagini con cui lavorano. Nel tentativo di riassumere e comprendere le foto, gli algoritmi perdono un sacco di chiarezza dei pixel.
L’algoritmo FeatUp può fermare questa perdita di informazioni e aumentare la risoluzione di qualsiasi rete neurale profonda senza compromettere velocità o qualità. Ciò consente ai ricercatori di migliorare rapidamente e facilmente la risoluzione di qualsiasi algoritmo nuovo o esistente. Ad esempio, immagina di cercare di interpretare le previsioni di un algoritmo di rilevamento del cancro ai polmoni con l’obiettivo di localizzare il tumore. Applicare FeatUp prima di interpretare l’algoritmo usando un metodo come le mappe di attivazione di classe (CAM) può fornire una vista drammaticamente più dettagliata (16-32x) di dove potrebbe essere localizzato il tumore secondo il modello.
FeatUp non solo aiuta i praticanti a comprendere i loro modelli, ma può anche migliorare una serie di diverse attività come il rilevamento degli oggetti, la segmentazione semantica (assegnazione di etichette ai pixel in un’immagine con etichette degli oggetti) e la stima della profondità. Ciò si ottiene fornendo caratteristiche ad alta risoluzione più accurate, che sono cruciali per la costruzione di applicazioni di visione che vanno dalla guida autonoma all’imaging medico.
“L’essenza di tutta la visione artificiale risiede in queste caratteristiche profonde e intelligenti che emergono dalle profondità delle architetture di deep learning. La grande sfida degli algoritmi moderni è che riducono grandi immagini a griglie molto piccole di ‘caratteristiche intelligenti’, acquisendo intuizioni intelligenti ma perdendo i dettagli più fini”, dice Mark Hamilton, studente di dottorato al MIT in ingegneria elettrica e informatica, affiliato al MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) e co-autore principale di un articolo sul progetto. “FeatUp aiuta a consentire il meglio di entrambi i mondi: rappresentazioni altamente intelligenti con la risoluzione dell’immagine originale. Queste caratteristiche ad alta risoluzione migliorano significativamente le prestazioni in una gamma di compiti di visione artificiale, dall’aumento del rilevamento degli oggetti al miglioramento della previsione della profondità fino alla fornitura di una comprensione più approfondita del processo decisionale della tua rete attraverso un’analisi ad alta risoluzione.”
Rinascimento della risoluzione
Con l’aumentare della diffusione di questi grandi modelli di intelligenza artificiale, c’è una crescente necessità di spiegare cosa stanno facendo, cosa stanno guardando e cosa stanno pensando.
Ma come esattamente FeatUp può scoprire questi dettagli fini? Curiosamente, il segreto risiede nel muovere e far oscillare le immagini.
In particolare, FeatUp applica piccoli aggiustamenti (come spostare l’immagine di qualche pixel a sinistra o a destra) e osserva come un algoritmo risponde a questi lievi movimenti dell’immagine. Ciò porta a centinaia di mappe di caratteristiche profonde che sono tutte leggermente diverse, che possono essere combinate in un’unica mappa di caratteristiche nitida e ad alta risoluzione. “Immaginiamo che alcune caratteristiche ad alta risoluzione esistano, e che quando le muoviamo e le sfociano, combacino con tutte le caratteristiche originali a bassa risoluzione delle immagini mosse. Il nostro obiettivo è imparare a perfezionare le caratteristiche a bassa risoluzione in caratteristiche ad alta risoluzione utilizzando questo ‘gioco’ che ci permette di sapere quanto bene stiamo facendo”, dice Hamilton. Questa metodologia è analoga a come gli algoritmi possono creare un modello 3D da più immagini 2D assicurandosi che l’oggetto 3D previsto corrisponda a tutte le foto 2D utilizzate per crearlo. Nel caso di FeatUp, prevengono una mappa di caratteristiche ad alta risoluzione che sia coerente con tutte le mappe di caratteristiche a bassa risoluzione formate muovendo l’immagine originale.
Il team osserva che gli strumenti standard disponibili in PyTorch non erano sufficienti per le loro esigenze e hanno introdotto un nuovo tipo di strato di rete neurale profonda nella loro ricerca di una soluzione veloce ed efficiente. Il loro strato personalizzato, una particolare operazione di upsampling bilaterale congiunta, era oltre 100 volte più efficiente rispetto a un’implementazione ingenua in PyTorch. Il team
ha anche dimostrato che questo nuovo strato poteva migliorare una vasta varietà di algoritmi diversi, inclusa la segmentazione semantica e la previsione della profondità. Questo strato ha migliorato la capacità della rete di elaborare e comprendere dettagli ad alta risoluzione, fornendo a qualsiasi algoritmo che lo utilizzasse un notevole aumento delle prestazioni.
“Un’altra applicazione è qualcosa chiamato recupero di oggetti piccoli, dove il nostro algoritmo consente la localizzazione precisa degli oggetti. Ad esempio, anche in scene stradali affollate gli algoritmi arricchiti con FeatUp possono vedere oggetti minuscoli come coni stradali, riflettori, luci e buche dove i loro cugini a bassa risoluzione falliscono. Questo dimostra la sua capacità di migliorare le caratteristiche grossolane in segnali dettagliati”, dice Stephanie Fu ’22, MNG ’23, studentessa di dottorato presso l’Università della California a Berkeley e un’altra co-autrice principale del nuovo articolo su FeatUp. “Questo è particolarmente critico per compiti sensibili al tempo, come individuare un cartello stradale su un’autostrada affollata in un’auto senza conducente. Questo non solo può migliorare l’accuratezza di tali compiti trasformando congetture ampie in localizzazioni esatte, ma potrebbe anche rendere questi sistemi più affidabili, interpretabili e affidabili.”
Cosa succederà dopo?
Per quanto riguarda le aspirazioni future, il team sottolinea il potenziale di adozione diffusa di FeatUp nella comunità della ricerca e oltre, simile alle pratiche di aumento dei dati. “L’obiettivo è rendere questo metodo uno strumento fondamentale nell’apprendimento profondo, arricchendo i modelli per percepire il mondo in maggior dettaglio senza l’inefficienza computazionale dell’elaborazione ad alta risoluzione tradizionale”, dice Fu.
“FeatUp rappresenta un meraviglioso passo avanti verso rendere le rappresentazioni visive davvero utili, producendole a risoluzioni di immagine complete”, dice Noah Snavely, professore di informatica presso la Cornell University, che non ha partecipato alla ricerca. “Le rappresentazioni visive apprese sono diventate davvero buone negli ultimi anni, ma vengono quasi sempre prodotte a risoluzione molto bassa: potresti inserire una bella foto a piena risoluzione e ottenere indietro una griglia di caratteristiche delle dimensioni di un francobollo. Questo è un problema se vuoi utilizzare quelle caratteristiche in applicazioni che producono output a piena risoluzione. FeatUp risolve questo problema in modo creativo combinando idee classiche di sovra-risoluzione con approcci moderni di apprendimento, portando a belle mappe di caratteristiche ad alta risoluzione.”
“Speriamo che questa semplice idea possa avere ampia applicazione. Fornisce versioni ad alta risoluzione delle analisi delle immagini che pensavamo potessero essere solo a bassa risoluzione”, dice l’autore senior William T. Freeman, professore al MIT di ingegneria elettrica e informatica e membro di CSAIL.
Gli autori principali Fu e Hamilton sono accompagnati dagli studenti di dottorato al MIT Laura Brandt SM ’21 e Axel Feldmann SM ’21, nonché da Zhoutong Zhang SM ’21, PhD ’22, tutti attuali o ex affiliati di MIT CSAIL. La loro ricerca è sostenuta, in parte, da una borsa di studio di ricerca post-laurea della National Science Foundation, dalla National Science Foundation e dall’Office of the Director of National Intelligence, dal U.S. Air Force Research Laboratory e dall’U.S. Air Force Artificial Intelligence Accelerator. Il gruppo presenterà il loro lavoro a maggio alla International Conference on Learning Representations.