Tutorial #07 : come convertire filmati in modelli 3D con 3DF Zephyr

Utilizzare filmati come input

 

Benvenuti alla serie di tutorial dedicati a 3DF Zephyr.
Con questa ricetta, imparerai ad utilizzare filmati al posto di fotografie come input di 3DF Zephyr.

 

  • Passo 1 – Preparazione

Dalla versione 1.040 è possibile utilizzare file video come input per 3DF Zephyr Pro. Fornendo un filmato, Zephyr estrarrà un certo numero di frame al secondo che verranno salvati sul vostro hard disk (questo è necessario per poter salvare il workspace senza dover ri-estrarre i frame dal filmato ogniqualvolta il dataset viene caricato). Ovviamente data la natura dei filmati, un flusso video ad alta risoluzione il meno sfocato possibile è fondamentale per poter fornire a Zephyr dei dati significativi.
Per questo tutorial è possibile utilizzare un vostro filmato o scaricare ed utilizzare il campione sottostante, un video di un pannello in pietra scolpita (Christoph Angermair – Golgotha, 1631). Migliore la qualità video, migliori i risultati – è anche possibile fornire a Zephyr dei filmati registrati con dispositivi mobili, fintantochè la risoluzione e la messa a fuoco del filmato siano decenti.

download datasetDownload Dataset – Angermair video (74.9MB)
Download Dataset – Angermair .Zep (283MB)

 

  • Passo 2 – Aggiunta di un filmato al workspace

Come di consueto, create un nuovo progetto dal menu Workflow.

Dalla versione 1.040 il bottone “Importa immagini da filmato” (1) comparirà nella finestra di nuovo progetto.

Clicca tale bottone e comparirà la finestra “Estrai frame da file video”

Clicca sul bottone “…” per sfogliare e selezionare il tuo file di input e per selezionare la directory di output (altrimenti per default i frame verranno salvati nella stessa directory dove risiede il filmato).

  • non utilizzare filmati con watermark

  • non utilizzare filmati dove oggetti ostruiscono costantemente la visione del soggetto

  • non utilizzare filmati sfocati o a bassa risoluzione

Una volta pronti è possibile cliccare il bottone “Estri frame ed importa in workspace” (2) per iniziare la computazione del video: le impostazioni di default dovrebbero andar bene per la maggior parte dei filmati registrati correttamente. Successivamente è possibile procedere con la pipeline di Zephyr normalmente, aggiungendo e/o rimuovendo foto (o frame da altri filmati).
Data la natura di questo dataset – acquisito con un dispositivo mobile – e’ necessario modificare la bounding box dopo la prima fase: i dispositivi mobili spesso richiedono di stare ad una certa distanza dal soggetto per mantenere il fuoco, di conseguenza e’ necessario rimpicciolire la bounding box come da figura per poter ottenere una nuvola di punti densa concentrata sul nostro soggetto e non sull’ambiente circostante.
 

  • Passo 3 (opzionale) – Migliorare i parametri

Prima di discutere i parametri, è necessario fare una breve descrizione del processo di estrazione dei frame: Zephyr dividerà il filmato in certe “finestre, dove ogni finestra sarà composta da un certo numero di frame consecutivi nel video, a seconda del numero di frame estratti richiesti. Ad esempio, se desiderate estrarre un frame al secondo da un filmato registrato a 25 frame al secondo, la prima finestra sarà composta da 25 frame, dal quale il frame meno sfocato verrà selezionato (questo avverrà solo se l’opzione di filtraggio automatico di sfocatura è abilitato, altrimenti verrà scelto arbitrariamente il primo frame disponibile) ed eventualmente scartato se troppo simile al frame estratto in precedenza (a seconda del valore della soglia di similarità per scarto automatico).
FPS da estrarre: frame al secondo che verranno estratti. Può essere anche un valore decimale, ad esempio “0.5 fps” estrarrà un frame ogni due secondi.
Filtraggio automatico sfocatura: se abilitato verrà selezionato il frame meno sfocato tra quelli disponibili, computando una texture di magnitudine di 256×256 pixel (veloce)  o di 512×512 pixel (normale). Un valore maggiore porterà a maggiore precisione, ma causa maggiori tempi di computazione.

Soglia di similarità per scarto automatico: computa un punteggio per il frame corrente ed il precedente – se la differenza è minore della soglia, i frame sono considerati troppo simili ed il frame corrente viene eliminato.
 

  • Note finali

Se state utilizzando filmati da dispositivi mobili molto probabilmente dovrete utilizzare dei preset deep/alti dettagli per le fasi SfM e MVS, mentre per filmati ad alta risoluzione/alta qualità i preset fast potrebber essere sufficienti.
Inoltre se state utilizzando filmati da dispositivi mobile, assicuratevi di controllare bene la dimensione della bounding box: spesso i dispositivi mobile richiedono di stare ad una distanza abbastanza elevata per ottenere un filmato a fuoco, di conseguenza per ottenere una migliore nuvola di punti densa potrebbe essere una buona idea impostare a mano la bounding box.
 

Vai al tutorial successivo,dedicato all”unwrapping della texture generata.