venerdì 4 aprile 2008

Scusi, mi rimpicciolisce quella pagoda?

La notizia ha già qualche mese sulle spalle, ma merita una ripetizione perchè rischia di rivoluzionare radicalmente il nostro modo di lavorare con il materiale raster. Ariel Shamir e Shai Avidan, durante lo scorso SIGGRAPH di San Diego (Agosto 2007), hanno presentato un nuovo modello per il ridimensionamento delle immagini che hanno chiamato retargeting o, in modo più completo content-aware resizing (ovvero, e vi avviso che in italiano suona di merda, "ridimensionamento attento ai contenuti").
Ma partiamo da una immagine per cercare di spiegare nel dettaglio:

Gli algoritmi usati finora per ingrandire o rimpicciolire le immagini, hanno sempre aggiunto o eliminato pixel senza considerare il tipo di pixel che modificavano. Se proviamo a "tirare" un'immagine lungo il suo asse orizzontale, otteniamo di fatto una deformazione di tutti gli oggetti presenti: l'algoritmo aggiunge pixel sia al fondo (il lago, gli alberi, il cielo) che alla pagoda, al sasso in primo piano e a tutti gli altri elementi. Se avessimo bisogno di un taglio panoramico a partire da una foto rettangolare come questa, dovremmo necessariamente lavorare di livelli, timbri e maschere; accontentarci di un taglio fotografico che elimini dall'inquadratura alcuni elementi; o gustarci una scandalosa deformazione:

Il content-aware resizing di quei due testoni di Shamir e Avidan, invece, lavora sull'energia delle diverse aree dell'immagine, per definire l'importanza di alcuni pixel rispetto ad altri. In questo modo, si preserva la struttura originale dell'immagine, aggiungendo o rimuovendo i pixel a bassa energia (e quindi, bassa importanza) e mantenendo quelli ad elevata energia. Nel nostro caso, alla pagoda, all'albero al centro e al sasso sulla sinistra vengono assegnati livelli alti di energia, e allo sfondo un livello più basso. Il risultato è sorprendente:

Lo stesso algoritmo può essere applicato con facilità anche in caso di rimozione di un soggetto da una foto (il classico scatto di matrimonio con gli zii insopportabili): basterà assegnare un livello alto di energia ai soggetti da conservare, e basso a quelli da eliminare.
L'enormità di questa genialata è dimostrata in questo video, in una demo flash e nel completissimo e supertecnico pdf (in lingua inglese) che ne spiega nel dettaglio i contenuti. Prova ulteriore: il giorno dopo la pubblicazione del video, Shai Avidan è stato assunto in pianta stabile da Adobe. E chissà che nel prossimo Photoshop CS4...

2 commenti:

Anonimo ha detto...

E mettiti a lavorareeeeeeeeeeeee!
C.

Sand-p ha detto...

Assolutamente interessante. Resintesi per le immagini, una cosa per la quale esistono degli effetti nel mondo audio. Per certi versi mi ricorda le funzionalità di Motion Portrait (www.motionportrait.com) ma molto più applicabile.