Ricostruire mesh 3D da Google Map

by Riccardo

Se abbiamo necessità di ricostruire un ambiente urbano o un edificio mappato in Google Map, può essere utile estrapolare in qualche modo le geometrie che lo compongono tramite una procedura che proverò a descrivere qui sotto.

E’ ovvio che se ci interessa solo il modello del terreno, ci sono sistemi più precisi e automatici che ci permettono la generazione di DEM o DTM da SIT o Heighmap ufficiali.
Questa è invece una procedura euristica che sfrutta le metodologie di SfM, IBM e fotogrammetria per la generazione di mesh 3D, utilizzando al posto di immagini (o video) registrati dall’utente tramite camere, delle semplici immagini (screen-captures) ricavati dal nostro desktop.
Vi anticipo che la qualità del risultato, sia dal punto di vista percettivo che topologico 3D, è fortemente limitato e condizionato dalla quantità e qualità delle immagini utilizzate. E comunque importante ricordare la vocazione ottica degli algoritmi di fotogrammetria che trovano dei limiti nell’utilizzo ricorsivo su geometrie già generate digitalmente e catturate senza alcuna calibrazione ottica.
Ad ogni modo, può essere comunque d’aiuto per alcuni progettisti che hanno tali necessità.

Fasi di lavoro:

  • Scaricare i software necessari
  • Andare su Googlemap e registrare una visualizzazione della zona interessata (eventualmente convertire il video in fotogrammi)
  • Elaborare la mesh con textures
  • Eventuale ottimizzazione

1 fase: Download dei programmi

Abbiamo bisogno sostanzialmente di 2 programmi principali: il primo deve darci la possibilità di trasformare un file video in singoli fotogrammi; il secondo invece servirà per elaborare questi fotogrammi e trasformarli in mesh.

  • Software di capture in tempo reale (se si ha Win10 è già integrato all’interno del sistema operativo)
  • Software per la conversione di video in fotogrammi: uno dei più facili (e gratuito) è
  • Meshroom (in alternativa anche VisualSFM o altre alternative a pagamento come Pix4D, Photoscan, ecc.)

2 fase: Preparazione Google Map

Apriamo il browser e digitiamo l’indirizzo: mymaps.google.com ed inseriamo l’indirizzo o le coordinate della zona di nostro interesse.
Attiviamo la vista SATELLITARE in modo da avere la visualizzazione “fotografica” della zona.

Nella parte sinistra, clicchiamo sul menù contraddistinto dalle 3 linee e disabilitiamo la visualizzazione delle etichette

Tenendo premuto il tasto MAIUSCOLO cliccare con il pulsante SX del mouse sulla mappa e trascinare, in modo da inclinare la vista e renderla tridimensionale.

Iniziare a ruotare attorno la zona attendendo di volta in volta che tutti i dettagli vengano caricati (in questo modo si crea una cache locale che velocizzerà il caricamento successivo).

3 fase: Registrazione immagini

A questo punto abbiamo due alternative.
Se possediamo un software di editing video possiamo avviare su Windows 10 la console di registrazione integrata (WinButton+G) e registrare la scena nelle modalità sotto indicate. Successivamente sarà necessario aprire il video registrare ed eliminare le aree relative alle finestre di sistema incluse nel video.
In alternativa, possiamo eseguire dei singoli salvataggi di fotogrammi nelle posizioni sotto indicate.

Indipendentemente dalla modalità scelta, è importante inquadrare l’oggetto (o la zona) desiderata, effettuando una completa rotazione a 360° in modo convergente, lasciando il punto di interesse possibilmente al centro della scena, come nell’esempio qui sotto riportato:

Se si è registrato un video è possibile utilizzare un software di estrapolazione di fotogrammi (come ad esempio: https://www.dvdvideosoft.com/it/products/dvd/Free-Video-to-JPG-Converter.htm ).

Salvati i fotogrammi in una cartella, procediamo con la fase di analisi successiva.

4 fase: Analisi SfM e generazione Mesh

Per questa importante fase di elaborazione, possiamo usare svariati programmi. In questo tutorial useremo un software fotogrammetrico opensource chiamato Meshroom, disponibile sia per Windows che per Linux basato su un algoritmo openMVG (“Multiple View Geometry”) sviluppato con varie partnership accademiche e commerciali.
Per questa fase è possibile usare anche alternative (sia commerciali che open) disponibili su internet (vedi Google)

Carichiamo i fotogrammi che abbiamo generato nella fase precedente, salviamo il progetto ed avviamo l’elaborazione con il tasto START.
Inizia così il workflow di estrapolazione delle cosiddette features, l’elaborazione della SfM e la generazione della mesh.

Al termine dell’elaborazione, cliccando sul pulsante LOAD MODEL, vedremo comparire nella parte destra della finestra il modello elaborato e texturizzato, salvato nella posizione riportata nelle proprietà del nodo TEXTURING in basso. Ovviamente la qualità (così come il tempo di elaborazione) sono fortemente legati dalla risoluzione delle immagini e dal numero di immagini. Inoltre, come già detto all’inizio, proprio a causa della “forzatura” di utilizzo di questi algoritmi di calcolo (nati per essere utilizzati nell’ambito fotogrammetrico, con importanti procedure di calibrazione ottica e impostazioni fotografiche) saranno inevitabili delle imprecisioni topologiche nella creazione della MESH.

5 fase: Ottimizzazione poligonale

Importando la mesh elaborata all’interno di un qualsiasi software di grafica 3D, in questo caso MAXON Cinema 4D, è possibile procedere con l’ottimizzazione, la pulizia ed eventualmente la decimazione delle geometrie create.

Related Posts

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More