Tutorial #A09 : Shape from silhouette

Shape from Silhouette

 

Benvenuti alla serie di tutorial dedicati a 3DF Zephyr.
In questo tutorial imparerai ad utilizzare il workflow dispoibile in 3DF Zephyr pro per generare una nuvola di punti densa con la funzionalità shape from silhouette.
Questa funzionalità è disponibile solo in 3DF Zephyr Pro e 3DF Zephyr Aerial.

 

  • Introduzione

E’ possibile scaricare il dataset (JPGs e maschere) dal link seguente, così come il file ZEP  (richiede 3DF Zephyr 3.0 o successivi per essere aperto):

download dataset Download dataset & zep : Bottle (119MB)

 

  • Passo 1 – Capire quando lo shape from silhouette può essere d’aiuto

L’algoritmo shape from silhouette (forma dalla sagoma) può aiutare molto quando si devono trattare superfici molto riflettenti o addirittura anche trasparenti o traslucide. Ovviamente la nuvola di punti/mesh non potrà mantenere la propria trasparenza (dovrà essere impostato un materiale apposito in altri software come blender) e la texture potrebbe avere alcuni artefatti, tuttavia è un ottimo modo per ricostruire la geometria del soggetto
Lo svantaggio di questo metodo è che l’algoritmo di shape from silhouette funziona scavando voxel nello spazio 3D: questo significa che il risultato avrà moltissimi spigoli vivi (maggiore il numero di immagini mascherate, maggiore sarà la levigatura della superfice) e oggetti concavi con geometria complessa potrebbero avere della parti non desiderate in eccesso.
Lo shape from silhouette richiede la mascheratura con vista completa: la fase di structure from motion può anche essere completata senza alcuna maschera (non sarà il caso del seguente esempio, in quanto viene utilizzato un sistema simile al classico piatto rotante) pertanto ricordatevi di caricare manualmente le maschere dal menu “spazio di lavoro” se esse non sono presenti.
Le viste parziali saranno automaticamente scartate.
Per vista completa si intende la tipica mascheratura di un oggetto che è visibile nella sua interezza nella fotografia, come l’esempio seguente:

 

  • Passo 2 – Computazione

Protip per la generazione di maschere: siate conservativi! Le parti mancanti di maschere creeranno buchi nella nuvola di punti, mentre maschere “espanse” possono andare bene in quanto verranno scavate per sottrazione dalle altre maschere.
Dopo la generazione delle maschere richieste, durante la fase di generazione di nuvola di punti densa, assicuratevi di selezionare la “Modalità avanzata” dei parametri (1).

Lo “Shape from silhouette” (2) può essere impostato come:

  • off – eseguirà la computazione con il classico sistema Multi View Stereo.
  • on – esguirà la computazione utliizzando l’approccio shape from silhouette.
  • use for stereo initialization – inizializzerà la nuvola di puntio tramite lo shape from silhouette e successivamente verrà eseguito l’algoritmo multi view stereo

Assicurati di impostare il livello di discretizzazione a seconda della nuvola di punti desiderata. Generalmente, una discretizzazione media o alta funzionano abbastanza bene per questo genere di dataset. Livelli di discretizzazione più alti potrebbero impiegare molto tempo.
 

  • Output e note finali

Di seguito, l’output di questo tutorial. Notare come il tappo non abbia mantenuto un’ottima geometria, a causa di maschere non proprio perfette e di poche immagini presenti nell’orbita superiore.

Shape from silhouette example
by 3dflow
on Sketchfab