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

3 commenti:

cogitas3d ha detto...

Thank you for sharing your knowledge!

Antonello Buccella ha detto...

Molto interessante . . .

Antonello Buccella ha detto...
Questo commento è stato eliminato dall'autore.