Caputo's blog

Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy

Ricostrure un ambiente 3d dalle foto

Marzo 2nd, 2009 by Giovanni Caputo

Per ricostruire un luogo in 3D, occorre scattare più foto dello stesso luogo da punti di vista diversi. A mettere insieme le foto e ricostruire l’ambiente fotografato in 3D ci pensa il programma gratuito Photosynth.

La tecnologia Photosynth lavora in due fasi. Il primo passo prevede l’analisi di più fotografie scattate nella stessa zona. Ogni fotografia è processata utilizzando la rilevazione di un punto di interesse e confrontata, utilizzando l’algoritmo sviluppato da Microsoft Research, con le fotografie simili rispetto alla componente di trasformazione invariante rispetto alla scala di UBC (University of British Columbia). Questo processo individua caratteristiche specifiche, ad esempio l’angolo di una finestra o la maniglia di una porta. Le caratteristiche di una fotografia sono quindi confrontate con le stesse caratteristiche delle altre fotografie. Le foto che condividono particolari vengono collegate tra di loro in una sorta di ragnatela 3D. Così le fotografie delle stesse zone vengono individuate. Analizzando la posizione delle corrispondenti caratteristiche all’interno di ogni fotografia, il programma è in grado di identificare quali fotografie deve affiancare, e da che parte, alle altre. La posizione 3D dei vari particolari, vene calcolata in maniera simile a quanto accade nella percezione della profondità dell’occhio umano; il sistema è in grado di estrarre le posizioni della macchina fotografica e le direzioni di scatto, e in funzione di questi valori genera una struttura multidimensionale. In definitiva, si tratta di un’illusione ottica che sfrutta il rapporto fisso fra i punti spaziali di uno stesso oggetto e il senso di prospettiva. Analizzando le sottili differenze nelle relazioni tra le caratteristiche (angolo, distanza, ecc), il programma individua la posizione 3D di ciascun elemento, così come la posizione e l’angolo dal quale ogni fotografia è stata scattata. Questo processo è noto scientificamente come Bundle adjustment ed è comunemente utilizzato nel campo della fotogrammetria, con prodotti analoghi come Imodeller, D-Sculptor, e Rhinoceros. Questo primo passo è, a livello computazionale, estremamente intensivo, ma deve essere effettuato una sola volta per ogni serie di fotografie.

La seconda fase prevede la visualizzazione intelligente e la navigazione attraverso la pointcloud 3D di caratteristiche individuate nella prima fase. Questo viene fatto con il visualizzatore Photosynth. L’utente accede attraverso un computer client e mantiene una connessione a un server che memorizza le fotografie originali. Esso consente a un utente, tra le altre cose, di vedere una qualsiasi delle fotografie dal loro punto di vista originale ed incorpora la tecnologia di Microsoft ottenuta attraverso l’acquisizione di Seadragon nel gennaio 2006. La tecnologia Seadragon consente uno zoom di alta qualità in fotografie ad alta risoluzione senza doverle scaricare sulla macchina dell’utente.

Photosynth installa sul tuo computer due programmi: un uploader per caricare le tue foto sui server Microsoft e dei plugin per poterle visualizzare sul browser (Internet Explorer e Firefox). È molto facile da usare: per accedere al programma occorre un Windows Live ID o .NET Passport (quello utilizzato per Windows Live Messenger) e creare il profilo. Dopodiché è subito possibile caricare le proprie foto. PhotoSynth è in grado di farci navigare nelle immagini in 3D, dando cioè la sensazione di muoverci nello spazio, partendo da una collezione di foto che ritraggono lo stesso soggetto. E’ possibile ad esempio, guardando l’immagine di un’auto, ruotarci intorno e visualizzare quindi tutti i suoi lati oltre a potere zoomare senza perdere la risoluzione e quindi il dettaglio di ogni particolare. E’ possibile anche ad esempio guardare l’immagine di una piazza e potere “camminare” virtualmente guardandosi intorno come se ci si trovasse proprio lì. L’algoritmo alla base del software è in grado di estrapolare gli elementi caratteristici grafici da qualunque foto, qualunque sia l’origine, qualunque sia il tipo di fotocamera utilizzata. Sarà quindi possibile visualizzare anche le nostre fotografie in 3D perché potranno essere integrate con le foto di centinaia di altre persone disponibili sul web! E’ facile immaginare la disponibilità di tante fotografie e quindi un livello di dettaglio incredibile per i luoghi pubblici e turistici visitati e fotografati da una enorme quantità di persone. Per fare tutto questo il software ha bisogno di una collezione di immagini che ritraggono il soggetto da più angolazioni diverse. Tante più sono le fotografie, tanto più sarà elevato il dettaglio dello spostamento e della visualizzazione. Ciascuna immagine viene poi elaborata e da ognuna vengono estrapolati centinaia di elementi caratteristici grafici che sono in grado di creare dei punti di “sovrapposizione”. Tramite questi punti, le immagini di angolazioni diverse possono essere parzialmente sovrapposte generando così una sorta di collage che offre di conseguenza la sensazione di muoversi nello spazio “attorno” all’oggetto. Le gallerie che vengono “sintetizzate” meglio sono quelle che comprendono foto panoramiche e dettagli di paesaggi presi da diverse angolazioni, con scatti multipli. La presentazione viene visualizzata con un template elegante che ti permette anche di esplorare manualmente l’immagine, di zoomare o di vedere la galleria di thumbnail. Con Photosynth si può vedere le foto a schermo intero, ma non si ha nessuna opzione di personalizzazione. Photosynth decide tutto da solo, bisogna solo caricare le foto. Il software, come spiega FotoUp, combina le immagini scattate come la creazione di una “sintesi” mentale attraverso il mix di fotografie scattate anche in tempi diversi e con risoluzione diversa. Il risultato è un synth, un insieme delle diverse immagini riorganizzate dal software in modo coerente. Visto che un’immagine vale più di qualsiasi spiegazione Blogosfere High Tech pubblica delle immagini che mostrano le possibilità di Microsoft Photosynth. L’utilizzo di Photosynth, è semplice. Sul sito c’è anche un video istruttivo da scaricare. Per ciascun utente è previsto uno spazio gratuito di 20 GB per caricare le foto. Tutti i “synth” 3D creati dagli utenti sono, per il momento, pubblici e perciò visibili potenzialmente da tutti i navigatori Internet. In sintesi, le principali funzionalità offerte da Photosynth, sono:

  • “Passeggiata” o “volo” attraverso una scena per vedere le foto da qualsiasi angolo
  • Zoom di elevata qualità di una foto
  • Visione delle immagini considerate in relazione l’una con l’altra
  • Cambio agevole dell’angolo di visualizzazione tra foto vicine
  • Reperimento foto simili a quella correntemente visualizzata
  • Invio foto

Ulteriori informazioni sono disponibili sul blog ufficiale del progetto raggiungibile a (EN) questo indirizzo.

photosynth hero

Questo post è stato postato lunedì, Marzo 2nd, 2009 at 20:18 nella categoria programmi, Siti Web, tutorial. Tags:, , .
Puoi seguire tutti i commenti di questo articolo attraverso RSS 2.0 feed. Puoi lasciare un commento, o trackback dal nostro sito.

2 responses about “Ricostrure un ambiente 3d dalle foto”

  1. Ricostrure un ambiente 3d dalle foto - Caputo’s blog - Informatica … said:

    […] Articolo Originale:  Ricostrure un ambiente 3d dalle foto – Caputo’s blog – Informatica … Articoli correlati: Come e cosa usare per apportare modifiche alle foto digitali […]

  2. Lorenzo Magni said:

    Wow!!!!!!!!!! Incredibile!!!!!! E’ da tantissimo tempo che sognavo di trovare un programma come qello descritto da “Caputo” e non vedo l’ora di comprare un portatile tutto per me per poterlo tranquillamente scaricare e utilizzare!!!!!!!!!!!!!!!!!!!
    GRAZIE INFINITE CAPUTOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!

Lascia un commento

You must be loggati to post a comment.