Tutorial #A01 : gestione dei punti di controllo e delle distanze in 3DF Zephyr

Utilizzo di punti di controllo e distanze

 

Benvenuti alla serie di tutorial dedicati a 3DF Zephyr.
Con questa ricetta, imparerai ad utilizzare i punti di controllo e le distanze di controllo di 3DF Zephyr.
Questo tutorial non può essere completato con la versione evaluation di 3DF Zephyr.
Questo tutorial non è dedicato alla ricostruzione: chi non è interessato alle misurazioni o ad ambiti di rilevazione/geografia può probabilmente saltare questo tutorial.

 

  • Passo 1 – Introduzione

I punti di controllo permettono di definire una specifica coordinata. Tale coordinata può essere successivamente utilizzata per calcolare delle distanze di controllo tra altri punti o camere, così come restrizioni per l’allineamento del mondo.
Tieni a mente che ogni ricostruzione è soggetta ad un fattore arbitrario per scala, traslazione e rotazione. In questa sezione verrà spiegato come definire un fattore globale di scala per rilevare delle distanze e orientare la posizione del mondo, scalarlo e ruotarlo utilizzando dei punti di controllo definiti.
Per completare questo tutorial, potete utilizzare un vostro dataset, creare la ricostruzione utilizzata in questo tutorial partendo dal nostro dataset oppure scaricare direttamente il progetto .zep utilizzato in questo tutorial.
Si ringrazia airmap per aver condiviso con noi questo  dataset!

download datasetDownload Dataset – University of Udine Zip (77.3MB)
downloadDownload Dataset – University of Udine .ZEP (487MB)

Per imparare ad utilizzare i control points, utilizzate la vostra ricostruzione o utilizzate pure questo .zep a bassa risoluzione, più che sufficiente per imparare a gestire i punti di controllo.
 

  • Passo 2 – Aggiunta di punti di controlli tramite selezione

Il modo più semplice (bensì il meno accurato) per inserire un nuovo punto di controllo è di selezionarlo direttamente dalla ricostruzione 3D (tramite nuvola di punti o mesh, ma non da mesh con texture).

Dal pannello “GCP” (Ground Control Point) (1) clicca il bottone “Scegli” (2). Il cursore del mouse presenterà l’icona di un mirino: porta il cursore sulla scena (3) ed esegui click sinistro sulla posizione desiderata. Un nuovo punto di controllo sarà inserito nella Lista dei punti di controllo (4).

Tutto qua! Non serve altro per prendere direttamente un punto di controllo!

 

  • Passo 3 – Aggiunta di punti di controllo tramite selezione da foto

Un modo molto più accurato di definire dei punti di controllo è di selezionarli direttamente dalle fotografie. E’ necessario selezionare la stessa coordinata da almeno due immagini in modo da poter triangolare e calcolare il punto di controllo.

Cancelliamo il punto di controllo creato precendemente cliccando con il tasto destro sulla Lista dei punti di controllo (4) e successivamente cliccando su “Rimuovi Tutto”. Clicca “Si” per confermare.


Dal pannello “GCP” (1) clicca “Aggiungi punto di controllo (da immagini)” (5): comparirà la “finestra di selezione di punto di controllo” (6). Dalla “lista delle camere” (7) clicca su una delle immagini per vederla nel “Selettore del punto di controllo” (8). Fai click sinistro dove desidrei il punto di controllo e comparirà un punto rosso (9). Il “bottone Ok” (10) non sarà ancora selezionabile: ricorda, abbiamo bisogno di definire il punto di controllo in almeno due immagini.

Clicca su un’altra immagine nella “lista delle camere” (7): questa volta vedrai anche una linea epipolare (11) che ti aiuterà nella selezione della seconda coordinata (12) che potrai eseguire sempre con il click sinistro. Il “Bottone Ok” (10) sarà ora selezionabile – inserisci quante coordinate desideri (più coordinate inserisci, maggiore sarà l’accuratezza del punto di controllo) e clicca OK per completare l’aggiunta del punto di controllo.
 

  • Passo 4 – Importazione di punti di controllo da file di testo

Elimina i punti di controllo precedentemente inseriti come nel passo precedente.

Importare punti di controllo da file di testo di permette di inserire automaticamente i punti di controllo da altre applicazioni: fai click destro su questo link e seleziona “Salva com” per salvare questo file di testo chiamato 3DF_Zephyr_Tutorial_02_2D_coords.txt

Per importare i punti di controllo da un file di testo, clicca sul bottone “Importa punti di controllo” (13), dalla finestra che si è aperta clicca su “Sfoglia” (14) e poi seleziona il file di testo di esempio “3DF_Zephyr_Tutorial_02_2D_coords.txt” (15), infine clicca su “Apri” (16). Infine conferma premendo il pulsante “Importa coordinate 2D” (17).

Una finestra dovrebbe comparire per informarti che la fase di importazione è andata a buon fine. Clicca OK.

Nota: per ogni control point importato, sono necessarie almeno due coordinate 2D nelle immagini. Per esempio, per importare un punto di controllo chiamato “Punto1” visto dalla camaera generata dalla foto “FotoA.JPG” alle coordinate (x,y) 100,600 e da una seconda camera, generata dalla foto “FotoB.JPG” alle coordinate (200,660) il tuo file dovrà essere formattato nella maniera seguente
Punto1 FotoA.JPG 100 600
Punto1 FotoB.JPG 200 660
 

  • Passo 5 – Allineare il mondo ai punti di controllo

Dato che la ricostruzione è soggetta arbitrariamente a scala, rotazione e traslazione, è possibile impostare dei valori di restrizione al mondo. Questo può essere eseguito semplicemente cliccando il bottone “Allinea mondo ai punti di controllo”.

· utilizzare 1 punto di controllo traslerà il mondo

· utilizzare 2 punti di controllo trasleranno il mondo e imposteranno la scala globale

· utilizzare 3 o più punti di controllo imposteranno una trasformazione completa che scalerà, traslerà e ruoterà il mondo.

Poi impostare le restrizioni da file tramite il bottone “Importa vincoli da file” (18) oppure manualmente. Da notare come ogni punto possa essere impostato come Punto di Controllo, Vincolo, o entrambi, selezionando l’opportuna checkbox nel selettore (19).

E’ ottima prassi includere punti di controllo che non siano vincoli.

Eventualmente è possibile effettuare un’operazione di bundle adjustment selezionando la checkbox “Esegui Bundle Adjustment” (20).

Clicca su OK per procedere.

Puoi sperimentare con le impostazioni mnuali, oppure effettuare click destro su questo link e salvare  3DF_Zephyr_Tutorial_02_3D_coords.txt –  analogamente al passo precedente, clicca il bottone “Importa vincoli da file” (18), sfoglia e seleziona il file 3DF_Zephyr_Tutorial_02_3D_coords.txt e successivamente clicca “Apri”

Nota: analogamente al formato di importazione dei control point, il file dei vincoli dovrà essere formattato semplicemente come nome x y z. Se guardi attentamente al file scaricato, noterai un asterisco dinanzi ad alcuni nomi di punti di controllo. Se provi ad importare questo file, vedrai che quei punti saranno ignorati, questo perchè i il nome del punto di controllo deve essere identico a quello definito nel workspace di Zephyr. Inoltre, è possibile selezionare fotocamere come vincoli facendo click destro sulla lista dei punti di controllo e selezionando l’opzione “Aggiungi vincolo su fotocamera”.
 

  • Passo 6 – Aggiunta di distanze di controllo

Una distanza di controllo può essere definita come la distanza tra due punti di controllo, la distanza tra un punto di controllo ed una fotocamera, o la distanza tra due fotocamere. Con 3DF Zephyr puoi definire distanze di controllo in maniera molto semplice oltre a poter scalare il mondo con distanze di controllo.

Clicca sul bottone “Distanze” (21). Comparirà la finestra di “selezione dei punti di controllo” (22). Da questa finestra, seleziona i due punti di controlli desiderati dal menu di selezione Punto di controllo #1 (23) e dal menu di selezione Punto di controllo #2 (24). In questo esempio sono stati utilizzati due punti di controllo, ma sarebbe stato possibile selezionare tranquillamente delle fotocamere. Una volta cliccato “OK” (25) , la distanza sarà disegnata come una linea verde (26) e renderizzata a video (in questo caso, 30.3164).

I punti di controllo utilizzati e la distanza appariranno inoltre nella lista dei punti di controllo (27).

E’ possibile scalare il mondo utilizzando le distanze di controllo; per fare ciò, basta cliccare sul bottone “Scala mondo con Distanze di Controllo” (28): nella finestra che comparirà, imposta il valore della distanza desiderata. Clicca OK per completare l’operazione!

Se nel workspace è presente una mesh, sarà inoltre possibile misurarne il volume o l’area utilizzando il bottone “Misura volume mesh” (29) ed il bottone “Misura area mesh” (30).

Infine, uno strumento addizionale disponibile è la misura di angoli tra control point, disponibile nel menu “Strumenti > Distanze e punti di Controllo > Calcola l’angolo fra tre punti di controllo”.

 

  • Note finali

I punti di controllo e le distanze di controllo so uno strumento molto potente e molto facile da usare che ti permetteranno di risparmiare un sacco di tempo. Investire pochi minuti del tuo tempo per imparare ad importare i punti di controllo ed i vincoli da file migliorerà decisamente la velocità del vostro flusso di lavoro.
 

Il prossimo tutorial tratterà la generazione di ortofoto. Se non siete interessati alle analisi geografiche o ad ambiti di utilizzo simili, potete saltare direttamente al tutorial #4. Altrimenti, cliccate qui per proseguire al tutorial #3.