In questa puntata della miniserie di base sulla fotogrammetria turntable, analizzeremo le caratteristiche di base di un progetto Meshroom per la ricostruzione di una geometria a partire dalle fotografie.



Trascrizione del video

Salve a tutti! In questa puntata della miniserie di base sulla fotogrammetria turntable, analizzeremo le caratteristiche di base di un progetto Meshroom per la ricostruzione di una geometria a partire dalle fotografie.

Farò una prima panoramica dell'interfaccia e del flusso di lavoro di Meshroom, dopodiché passerò alla pratica con il caricamento delle immagini.

Dopo aver scaricato e installato Meshroom, avviamolo. Verranno aperte due finestre. Nella finestra di tipo console potremo leggere dati e informazioni sull'esecuzione del programma. Nella finestra principale potremo invece lavorare sui nostri progetti. La chiusura di una sola delle due finestre comporterà la chiusura del programma, quindi dobbiamo mantenerle entrambe aperte.

Meshroom consente, in realtà, di realizzare progetti di tipo diverso, come è possibile constatare cliccando su New Pipeline nel menù File. A noi interessa, ovviamente, un progetto di tipo Photogrammetry.

La prima cosa da fare è salvare il progetto. Vi consiglio di creare una cartella all'interno della quale salvare il file di progetto, perché all'avvio del processo di fotogrammetria verrà creata tutta una struttura di cartelle, che esamineremo a breve.

Il file di progetto avrà estensione MG, che sta per Meshroom Graphs. I termini Pipeline e Graphs sottolineano il fatto che i processi in Meshroom avvengono in ordine, per fasi, come del resto si può intuire dalla visualizzazione dei nodi e delle loro connessioni nella scheda Graph Editor, in basso.

Prima di esaminare questa pipeline, diamo un'occhiata veloce all'interfaccia del programma.

La scheda Image Gallery conterrà le immagini che vorremo utilizzare per la ricostruzione. Inizialmente è vuota e ci dice che possiamo anche trascinare i file da una cartella su disco in quello spazio. Se non ricordo male, questo drag and drop non funziona in ambiente Windows se avviate Meshroom in modalità admin. Ad ogni modo, è possibile importare le immagini anche mediante Import Images nel menù File.

Nella scheda Image Viewer potremo vedere le immagini caricate una per una, così da poter scartare quelle non buone o estrapolarne dati. In questa finestra potremo anche visualizzare alcuni dati creati da Meshroom, come ad esempio la Depth Map, come vedremo.

Nella scheda 3D Viewer potremo vedere la nuvola di punti che rappresenterà la ricostruzione della scena. Qui potremo anche ridefinire il volume da ricostruire, detto bounding box, così da concentrarci solo su alcuni elementi.

La scheda Graph Editor mostra la sequenza di nodi da elaborare e le loro connessioni. Ciascun nodo rappresenta un compito specifico da eseguire di volta in volta, utilizzando i dati in arrivo nelle porte di ingresso e restituendo una o più informazioni nelle porte in uscita.

Un nuovo progetto di tipo Photogrammetry avrà una pipeline di base con dei parametri di default che il più delle volte andranno bene per parecchi progetti. Quando avvieremo il progetto, Meshroom creerà una sottocartella chiamata Cache, all'interno della quale metterà altre sottocartelle, che saranno una per ciascun nodo presente nella pipeline.

La pipeline non deve essere necessariamente questa presente di default, ma può essere modificata inserendo nuovi nodi o modificando le connessioni tra i nodi, come vedremo più avanti in questa stessa puntata.

Ad ogni modo, con un click su un nodo potremo visualizzarne i parametri e le impostazioni nella scheda Node, a destra. Per ogni nodo avremo accesso a più informazioni, indicate dalle schede Attributes, Log, ecc, in basso.

L'ultima scheda dell'interfaccia di default è Task Manager, che all'inizio è vuota. Qui potremo leggere alcune informazioni sull'esecuzione dei vari nodi, come vedremo in seguito.

Nel menù View notiamo che manca all'appello la scheda Live Reconstruction, che però non utilizzerò in questa miniserie introduttiva, per cui possiamo lasciarla disattivata.

La voce di menù Fullscreen consente, ovviamente, di visualizzare la finestra principale del programma a schermo intero.

Prima di passare alla pratica, vi dico due parole introduttive sulla pipeline, ossia il flusso di esecuzione dei nodi.

La pipeline può essere suddivisa in due parti. Nella prima parte, che arriva fino al nodo Structure From Motion, Meshroom carica le immagini ed estrapola delle informazioni specifiche, chiamate Features, che gli consentiranno di individuare dei punti di riferimento nelle varie fotografie.

Queste Features verranno utilizzate per ricostruire la geometria della scena, ma questa fase avverrà dopo il nodo Structure From Motion. In particolare, nella seconda fase Meshroom ricaverà i dati di profondità delle varie Features, creando una nuvola di punti in 3D, dopodiché ricostruirà la geometria, che è detta Mesh perché è fatta di vertici connessi da spigoli, che a loro volta definiscono delle facce triangolari.

Per finire, le fotografie originali verranno composte in un'immagine, detta Texture, che rappresenterà i colori delle varie parti dell'oggetto originale, tridimensionale, ma disposti in un'immagine, bidimensionale.

Dalle Features individuate nelle fotografie abbiamo quindi dei punti nello spazio, inizialmente scollegati tra loro, che vengono poi collegati fino a formare una geometria, fatta di superfici, alla quale verrà infine applicata una Texture immagine che fornirà il colore dell'oggetto originale alla geometria.

Ci sono molte altre cose da dire sulla pipeline, sui nodi e sull'esecuzione in generale, ma le dirò man mano che andremo avanti con il progetto.

Passiamo adesso alla pratica. Per prima cosa, trascino le fotografie originali nella scheda Image Gallery.

Nella scheda Image Gallery possiamo leggere il numero di fotografie inserite e quante macchine fotografiche sono state riconosciute da Meshroom in base ai dati intrinseci ricavati dalle foto. Quest'ultimo valore è indicato accanto al simbolo dell'otturatore, in basso nella scheda.

Per ciascuna fotografia, possiamo esaminare questi dati, se presenti, posizionando il mouse sul simbolo dell'otturatore, nell'anteprima di ciascuna fotografia. In questo caso i dati sono presenti, per cui il simbolo dell'otturatore è verde. Nel caso non dovessero essere presenti, il simbolo sarà rosso e Meshroom procederà al meglio delle sue possibilità nella ricostruzione senza quei dati.

In un progetto di tipo turntable, è consigliabile selezionare il nodo Feature Matching e impostare 2 come valore per il parametro Minimal 2D Motion. Effettuata questa operazione, salvo il progetto.

In un progetto in cui è stato utilizzato uno sfondo verde nelle foto, come in questo caso, è possibile provare a far escludere lo sfondo verde a Meshroom prima di estrapolare le Features. Ciò può essere fatto inserendo un nodo di tipo Image Masking nel Graph Editor, mediante click destro in un'area vuota della scheda e inserimento del nodo.

All'ingresso Structure From Motion Data del nodo dovremo collegare l'omonima uscita del nodo Camera Init, mediante click e trascinamento su una delle due porte.

L'output del nuovo nodo andrà poi collegato agli ingressi Mask Folder dei nodi Feature Extraction e Prepare Dense Scene.

A questo punto, selezionando il nodo Image Masking potremo definire la tonalità da escludere e i valori di tolleranza per tonalità, saturazione e intensità nella scheda Node. Tuttavia, questa soluzione per escludere lo sfondo verde è poco pratica, perché non ci dà un buon feedback sul risultato e non ci consente di specificare parametri personalizzati per ciascuna foto. Quest'ultimo aspetto potrebbe essere utile nel nostro caso, visto che l'illuminazione del telo di sfondo non è uniforme.

Per questi motivi, sto rimuovendo il nodo Image Masking, con click destro e Remove Node. Per la cronaca, un collegamento tra nodi può essere rimosso con click destro e Remove sul collegamento.

Sto rimuovendo anche tutte le fotografie, perché nella prossima puntata vi mostrerò un piccolo setup in Blender che ci consentirà non solo di rimuovere lo sfondo verde con più facilità, ma anche di rimuovere il green spill, ovvero la tonalità di verde che influenza gli oggetti fotografati su sfondo verde.

L'unica impostazione personalizzata che sto mantenendo è quindi il valore 2 per il campo Minimal 2D Motion nel nodo Feature Matching.

Salvo quindi il progetto con queste impostazioni, chiudo Meshroom e vi do appuntamento alla prossima puntata!

Cerca nei Tutorial

Cerca inserendo una frase o più parole chiave, separate da virgole.

Questo è un sito personale e non costituisce un canale di vendita. Le pagine dedicate ai modelli 3D documentano una selezione dei miei lavori e non contengono offerte, prezzi, procedure di acquisto o collegamenti commerciali. Attualmente non accetto richieste di lavori personalizzati, consulenze o altre collaborazioni professionali.


INFORMATIVA ESTESA SULL'UTILIZZO DEI COOKIES