2012-11-30

SfM - Structure from Motion (prima parte)

Cominciamo, da questa volta, una serie di articoli dedicati alla "Structure from Motion".





Per “Structure from Motion” si intende una tecnica di calcolo che permette di ricostruire la forma di oggetti attraverso la collimazione automatica di punti da un insieme di foto.

Basata su algoritmi di computer vision, la SfM estrae i punti notevoli dalle singole foto, desume i parametri fotografici e incrocia i punti riconoscibili su più foto, trovando le coordinate nello spazio dei punti stessi.

In uscita della prima fase del calcolo, la SfM costruisce una nebulosa di punti, con il colore originario, formando una sorta di modello spaziale di foto “solida” degli oggetti ripresi.


Nella fase successiva, SfM riesce ad “infittire” la nuvola di punti iniziale e riesce altresì a “coprire” i punti con una rete di triangoli per formare una superficie sculturata.

Su questa superficie a triangoli, detta TIN, ovvero “Triangulated Irregular Network”, la SfM riesce infine a sovrapporre una texture fotografica, estratta dalle foto di partenza, creando così un vero e proprio modello tridimensionale degli oggetti.

Una particolare attenzione va posta alla fase di presa delle foto, che sostanzialmente devono “coprire” gli oggetti secondo un modello 3 a 1, cioè tre foto, leggermente slittate tra di loro, per ogni punto di vista.

Infatti, il numero minimo di foto che la SfM riesce a collimare automaticamente è 3. In un certo senso, SfM costituisce una sorta di estensione del modello stereoscopico, ma a differenza di questo, non è necessario conoscere da principio la posizione reciproca dei punti di vista, né sono necessari particolari vincoli di ripresa, come nella stereo-fotografia.

Mentre nel modello stereo le foto devono essere scattate lungo un asse, da due distanze note, utilizzando un solido cavalletto, nella SfM le tre foto vengono riprese senza un supporto fisso, a meno di particolari necessità dovute alla scarsa illuminazione.
La SfM viene esercitata in genere “a mano libera”, scattando foto in maniera quasi casuale, almeno all'apparenza. Il “fotografo SfM” sembrerà essere un comune dilettante, che prende un numero spropositato di foto, girando intorno a un'oggetto architettonico, quasi non fosse in grado di giudicare dal principio quale sia la “migliore inquadratura” da prendere.

In realtà il destinatario di questo “folto numero” di immagini fotografiche non è un committente esigente, ma solo un computer, su cui gireranno i programmi di Structure from Motion.

Proprio per il fatto che non occorre una particolare precisione nella presa reciproca delle foto, queste possono essere addirittura scattate da un mezzo aereo, privo di pilota, che vola al di sopra degli oggetti.

E' quello che viene attualmente sperimentato per il rilevamento speditivo di siti archeologici, tramite elicotteri telecomandati.

Notevole uso della SfM viene fatto per la realizzazione di modelli TIN territoriali e urbani nella nuova cartografia dei vari “mondi 3D” presenti sulla rete.


Alla base della SfM c'è un algoritmo chiamato SIFT, che sta per “Scale -Invariant Feature Transform”.

Si tratta di un metodo che estrae i punti “notevoli” da una immagine, raggruppandoli allo scopo di fornire un “riconoscitore di forme” per la computer vision.

Applicando questo metodo a un gruppo di immagini, vengono prima “riconosciuti” punti sugli spigoli degli oggetti, e poi vengono scartati i punti che non compaiono su tutte le foto.

Nel caso di immagini piuttosto simili di uno stesso oggetto, cioè prese da punti di vista vicini, ma non identici, un metodo “least-squares” ovvero di approssimazione ai “minimi quadrati”, applicato alle forme simili, permette di trovare i punti di vista da cui sono state prese le foto, tenendo conto del valore della focale fotografica, memorizzato all'interno del file immagine JPG. Nel caso in cui il valore della focale non sia presente, esso viene stimato automaticamente in maniera approssimata.


Nei prossimi articoli passeremo in rassegna le varie fasi della lavorazione delle foto tramite una applicazione SfM open source.

Le immagini di questo articolo sono relative alla porta della chiesa dell'Annunziata di Gaeta.


BobMaX


Link utili:

Modello in formato PLY della porta della chiesa

2012-11-04

GEarth 7 - Modellazione automatica "di edifici"

La nuova versione di Google Earth, appena rilasciata, permette la visualizzazione dei modelli degli edifici realizzati tramite tecnica di collimazione automatica da foto.

Questa tecnica, molto promettente, prende il nome di "Structure from Motion", e permette di estrarre la forma del terreno, degli alberi e degli edifici, prima come nuvola di punti 3D e poi come superficie a triangoli.

Il risultato di tale tecnica è al tempo stesso stupefacente e controverso.

Da una parte, infatti, SfM permette di ottenere velocemente un DSM (Data Surface Model) esclusivamente con le foto (e quindi senza uso di Radar o Laser), di forte impatto visivo.

Dall'altra parte, il modello ottenuto non è di tipo architettonico, e non regge il confronto con un modello creato da "umani".

La scelta del team di Google Earth di includere (e progressivamente sostituire) i modelli "umani" con quelli "automatici" ha creato sconcerto (ed anche delusione) in coloro che, come noi, hanno contribuito a creare la "bellezza" delle città di GEarth.

Si tratta senz'altro di un passo obbligato, come avviene sempre quando è disponibile una nuova tecnica.

Però, sia chiaro che non si tratta di una tecnica risolutiva per la descrizione della realtà territoriale e urbana.

Confrontiamo una zona archeologica di Roma, lo stadio di Massenzio, realizzato su Google Earth con le due tecniche, quella "umana" e quella "automatica".




Il modello che vediamo in alto è stato realizzato da Francisco Borge, con molta pazienza e bravura.  E' subito evidente una maggiore "pulizia" dei volumi realizzati a mano, rispetto a quelli "automatici", anche se l'altezza dell'edificio in primo piano a sinistra è esagerata.


Ma è guardando i due modelli nel dettaglio che le due tecniche mostrano le vere differenze.


Nel caso della modellazione "umana", il tempo impiegato per realizzare la torre è apprezzabile per la cura dei particolari (ancora più evidenti se si carica il modello originale SketchUp).

Nel caso della modellazione "automatica", l'oggetto del rilievo è addirittura quasi difficilmente riconoscibile.

Se si fosse trattato di un esame universitario in Architettura,  il computer sarebbe stato bocciato !




Fortunatamente, esisteva un mezzo per tornare ai modelli "umani" in GEarth 7 :   pannello "preferenze" voce "Use 3D Imagery (disable to use legacy 3D buildings)".

Bellissima chance !

Ma il tempo passa, le tecniche si affinano e la risoluzione aumenta,  insieme al tempo di elaborazione.  E così lo stesso modello, dopo un paio di anni, viene aggiornato.  Ecco come appare adesso (fine 2013)



:)

Decisamente, promosso a pieni voti.


Comunque, parleremo prossimamente della innovativa tecnica SfM  e delle sue infinite possibilità.


BobMaX