• Non ci sono risultati.

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

N/A
N/A
Protected

Academic year: 2021

Condividi "5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE"

Copied!
16
0
0

Testo completo

(1)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

5.Esecuzione della campagna sperimentale

Nella campagna sperimentale effettuata, per esigenze pratiche, le acquisizioni delle immagini (sia quelle di calibrazione sia quelle necessarie per le triangolazioni) sono state fatte tutte all’inizio, mentre il processamento ed elaborazione hanno avuto luogo solo in un secondo momento; per una trattazione più lineare però considereremo il procedimento di ricostruzione tridimensionale diviso in una fase di calibrazione del sistema e in una di ricostruzione degli oggetti, entrambe costituite da una prima parte di acquisizione delle immagini e da una successiva di processamento: esporremo quindi queste due fasi come se avvenissero per intero in modo separato.

5.1 La procedura di calibrazione

Per eseguire la calibrazione dei sistemi di ricostruzione si è utilizzata una toolbox di Matlab già esistente [34], che è stata però corredata di una sezione apposita per la calibrazione del proiettore.

Nella pratica il processo con cui si ottiene la calibrazione consiste di alcune fasi fondamentali:

- disposizione relativa del sistema di acquisizione e del provino di calibrazione e regolazione dell’ottica del sistema

- variazione della posizione del pannello di calibrazione e acquisizione delle immagini

- processamento delle immagini ed estrazione dei punti di interesse - calcolo dei parametri di calibrazione

- analisi degli errori ed eventuali correzioni

Come detto in precedenza, le calibrazioni dei tre sistemi di ricostruzione analizzati sono state integrate in un’unica procedura, cosa che ha consentito di diminuire i tempi e di limitare possibili effetti di variazioni di fattori non volute.

(2)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

Dato che i tre sistemi di ricostruzione vengono calibrati insieme e dato che il cilindro e il piano vengono ricostruiti con lo stesso posizionamento del sistema (quindi richiedono un’unica calibrazione) si ha che per ottenere le ricostruzioni dei 72 layout in realtà bastano 12 procedure di calibrazione.

La disposizione di tutti le parti del sistema, in base alle posizioni scelte in fase di pianificazione, deve essere tale da far sì che variando l’inclinazione del pannello (così come richiede la stessa procedura di calibrazione) le immagini acquisite dalla telecamera contengano una porzione rettangolare fissata sia della scacchiera stampata sul pannello di calibrazione che di quella proiettata su di esso, o se possibile le scacchiere per intero: per assicurarsi di ciò si controlla costantemente il campo visualizzato dalla telecamera nel monitor del computer collegato al sistema.

Dato che ottenere una buona calibrazione è di fondamentale importanza per raggiungere risultati soddisfacenti nella ricostruzione tridimensionale, si capisce quanto sia importante la qualità del provino di calibrazione: il pannello da noi utilizzato è un piano di vetro (che garantisce deformazioni trascurabili) realizzato con grande precisione sulla planarità, su cui è stata incollata una pellicola adesiva a bassa riflessione riportante una scacchiera con quadratini bianchi e grigi, realizzata mediante una stampa di alta precisione (figura 5.1).

(3)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

Trovata la giusta orientazione relativa tra le varie parti del sistema di acquisizione si procede al fissaggio delle stesse bloccando le varie guide di scorrimento dell’attrezzatura modulare di sostegno: questa posizione rimarrà fissa per tutta la campagna di acquisizione relativa al layout geometrico-ottico.

La messa a fuoco del proiettore e della camera deve essere tale che il provino risulti a fuoco nel modo migliore possibile anche nelle posizione estreme assunte da esso in tutta procedura di calibrazione; ma tutto deve essere perfettamente a fuoco anche per l’oggetto da ricostruire.

Dato che è il cilindro l’oggetto più ingombrante nel senso della profondità, e quindi quello più problematico da spostare, come prima cosa si posiziona il cilindro alla distanza voluta e si proietta un’immagine con alcune scritte sul cilindro stesso, regolando la messa a fuoco in modo da visualizzare le scritte nel modo più nitido possibile in tutta la superficie del cilindro investita dalla luce del proiettore.

Di seguito si regola l’apertura del diaframma delle telecamere in modo da avere il diaframma più aperto possibile senza però avere saturazione nelle immagini; si procede quindi alla messa a fuoco manuale delle telecamere controllando le immagini sul monitor.

A questo punto si leva il cilindro e si posiziona il pannello di calibrazione grosso modo alla stessa distanza in cui si era posto il cilindro ricontrollando mediante la proiezione di scritte che la messa a fuoco sia ancora ottimale e che non si sia ancora manifestata la saturazione.

Si procede dunque all’acquisizione delle immagini del provino: per ognuna delle 16 posizioni assunte si acquisiscono due immagini per la telecamera destra (una con la scacchiera proiettata e una senza, vedi figure 5.2 e 5.3) e una per quella sinistra; dato che tra le due immagini della telecamera destra non deve assolutamente variare la posizione del provino (pena una calibrazione errata) è necessario appoggiarlo in modo stabile.

(4)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

figura 5.2 le 16 immagini del pannello di calibrazione sottoposto a luce bianca

(5)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

Dopo aver eseguito le acquisizioni delle immagini si passa alla parte interativa della procedura: la prima cosa che si fa è la calibrazione delle telecamere; per fare questo si lancia in Matlab il comando calib che permette di accedere a tutte le funzioni della toolbox (vedi figura 5.4).

figura 5.4 pannello di controllo della toolbox di calibrazione

Dopo aver stabilito quali immagini vadano considerate nella procedura di calibrazione (e quindi quale telecamera si intende calibrare) il programma di calibrazione richiede all’utente di immettere il valore della lunghezza dei lati delle caselle della scacchiera (per avere un riferimento sulle dimensioni) e di selezionare in senso orario (figura 5.5) mediante puntatore, per ogni immagine acquisita, i 4 vertici di un rettangolo costituito da un certo numero di caselle.

(6)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

E’ bene scegliere un’area più grande possibile (ma contenuta interamente nello schermo), stando attenti però che la stessa area sia contenuta interamente anche nella corrispondente immagine dell’altra telecamera, dato che la calibrazione del sistema stereo funziona solo se sono stati selezionati gli stessi rettangoli per le immagini corrispondenti.

Avendo come riferimento questi 4 vertici, il programma riesce a contare il numero di quadrati contenuti nel rettangolo selezionato e calcola le posizioni che avrebbero tutti i vertici dei quadrati della scacchiera se non ci fosse la distorsione della lente e visualizza nello schermo delle crocette (che indicano queste posizioni teoriche) sovrapponendole alle immagini reali (figura 5.6).

figura 5.6 posizioni teoriche dei vertici delle caselle calcolate dal programma (senza distorsione)

Se tali punti fossero in qualche immagine non abbastanza vicini a quelli reali, che vengono estratti automaticamente dal programma mediante una routine grafica (si può vedere un ingrandimento di questa estrazione in figura 5.7), l’utente può immettere un valore iniziale della distorsione radiale e ripetere

(7)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

per tali immagini la procedura appena descritta: tale valore può essere corretto finché non si ottiene una soddisfacente corrispondenza.

figura 5.7 estrazione per via grafica dei vertici delle caselle della scacchiera

Eseguita questa operazione per tutte le immagini il programma esegue una prima provvisoria calibrazione senza considerare la distorsione: i risultati ottenuti in questa fase preliminare verranno utilizzati nella fase successiva che permette di ricavare tutti i parametri estrinseci ed intrinseci della telecamera grazie ad una ottimizzazione non lineare che consiste nel minimizzare iterativamente gli errori di riproiezione (ovvero la distanza tra i punti predetti in base ai parametri disponibili e quelli estratti graficamente).

La toolbox propone quindi come risultato i valori calcolati della distanza focale, la posizione del punto principale e i parametri della distorsione; inoltre consente di visualizzare in un grafico gli errori di riproiezione (vedi figura 5.8) consentendo così di capire quali sono le immagini per cui ci possono essere

(8)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

ancora problemi: per queste è quindi possibile andare a riestrarre i punti e rieseguire l’ottimizzazione; nel caso rimanessero dei problemi è anche possibile escludere dal calcolo dei parametri le immagini in cui persistono errori rilevanti.

Per ogni calibrazione eseguita sono stati fatte sempre tutte le operazioni possibili fino ad ottenere i minori errori di riproiezione ottenibili dalle immagini a disposizione.

figura 5.8 grafico con gli errori di riproiezione delle immagini di calibrazione

Una volta ottenuti dei risultati soddisfacenti si può considerare conclusa la procedura di calibrazione della telecamera, i cui risultati vengono memorizzati in un file che sarà utilizzato per la calibrazione dei 3 sistemi di ricostruzione analizzati.

La toolbox di Matlab utilizzata consente anche di visualizzare (vedi figura 5.9) le varie posizioni relative assunte dal provino rispetto alla telecamera nella procedura di calibrazione (sia dal punto di vista della telecamera sia da quella del provino stesso); anche la distorsione della telecamera è visualizzabile in un grafico (vedi figura 5.10) e volendo è possibile separare il contributo della distorsione tangenziale da quella radiale.

(9)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

figura 5.9 posizioni assunte dal pannello di calibrazione rispetto alla telecamera sinistra

figura 5.10 visualizzazione della distorsione della telecamera

Ottenuta la calibrazione di una telecamera, con un procedimento del tutto analogo (cambiando ovviamente le immagini utilizzate nella procedura) si calibra anche l’altra.

(10)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

Calibrate le due telecamere si passa alla calibrazione del sistema da noi denominato “stereo” mediante il comando matlab stereo_gui: basta caricare in memoria i file ottenuti dalle calibrazioni delle telecamere e selezionare il comando run stereo calibration.

Anche in questo caso, ottenuta la calibrazione, è possibile ottenere una visualizzazione del sistema stereo con le posizioni assunte dal pannello nella procedura di calibrazione (vedi figura 5.11).

figura 5.11 posizioni assunte dal pannello di calibrazione rispetto al sistema stereo

La calibrazione del proiettore avviene in modo simile a quella della camera; è necessario comunque avere già calibrato la telecamera destra (quella utilizzata per acquisire le immagini del pannello investito dalla scacchiera proiettata).

Questa volta le immagini utilizzate sono quelle con la scacchiera proiettata i cui vertici devono essere selezionati dall’utente con un procedimento del tutto analogo a quello precedente (vedi figura 5.12), ma facendo attenzione a

selezionare per tutte le immagini sempre lo stesso rettangolo (cosa necessaria per il funzionamento stesso della routine): il fatto che i quadrati della scacchiera

(11)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

stampata siano di un grigio non troppo scuro consente alla routine di estrazione dei punti di svolgere il suo compito senza effettuare valutazioni errate.

figura 5.12 posizioni teoriche dei vertici delle caselle della scacchiera proiettata

Il programma di calibrazione del proiettore esegue il calcolo dei parametri come quello della telecamera, ma oltre ai risultati finali vengono salvati in un file anche quelli ottenuti nella fase preliminare di calibrazione (che non comprende il modello di distorsione del proiettore): in tal modo otteniamo la calibrazione di entrambi i sistemi di ricostruzione che abbiamo denominato “mono”; anche per il proiettore è possibile visualizzare il grafico relativo alla distorsione radiale, tangenziale e totale.

A questo punto abbiamo concluso la procedura di calibrazione dei tre sistemi, e possiamo quindi iniziare la fase di ricostruzione degli oggetti considerati.

(12)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

5.2 La procedura di ricostruzione

La procedura che consente di ottenere la ricostruzione di un oggetto, che necessita dei parametri di calibrazione del sistema ottenuti precedentemente, consiste di alcune fasi fondamentali:

- disposizione relativa del sistema di acquisizione e dell’oggetto da ricostruire

- proiezione della sequenza di pattern sull’oggetto e acquisizione delle immagini dello stesso

- processamento delle immagini, calcolo delle corrispondenze, triangolazione e ottenimento delle nuvole di punti

- processamento delle nuvole di punti e ottenimento del file di report degli errori (e del valore del parametro raggio per le nuvole cilindriche) - elaborazione del file di report mediante Matlab e ottenimento dei

parametri scostamento massimo e deviazione standard - annotazione ordinata dei parametri ottenuti

Terminata la procedura di calibrazione si procede al posizionamento opportuno degli oggetti da ricostruire: il piano di calibrazione è già in posizione, per cui si procede alla acquisizione delle immagini lanciando l’apposito programma per 7 volte (poiché si è stabilito di fare 7 ripetizioni), provvedendo ad un piccolo spostamento dell’oggetto tra una ripetizione e l’altra, dopo di che si toglie il piano e si posiziona il cilindro eseguendo altre 7 acquisizioni.

Il programma di acquisizione delle immagini necessarie alla ricostruzione gestisce sia la proiezione della sequenza di pattern del proiettore sia l’acquisizione delle immagini: per ogni pattern della sequenza proiettata vengono acquisite due immagini, una per ogni telecamera, e memorizzate in un’apposita cartella.

Finita la fase di acquisizione si può passare a quella di creazione delle nuvole di punti: anche in questo caso è stata creata un’unica routine che

(13)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

consente di elaborare in un unico passaggio le immagini ottenendo le tre nuvole di punti relative ai tre sistemi di ricostruzione utilizzati; per far questo bisogna posizionare i file con i risultati delle calibrazioni dei tre sistemi nella cartella dove sono presenti le immagini.

L’unica interazione richiesta in questa fase all’utente è quella della definizione delle due maschere (una per ogni telecamera) che limitano la zona di interesse per la ricostruzione (vedi figura 5.13); come già accennato precedentemente la selezione delle maschere avviene una volta sola per i tre sistemi che quindi processeranno esattamente gli stessi pixel delle due immagini, riducendo così i tempi e i pericoli di variazioni non volute dei fattori.

figura 5.13 applicazione della maschera all’immagine sinistra

A questo punto il programma esegue il calcolo delle corrispondenze e la triangolazione, proponendo il risultato finale nella forma di tre nuvole di punti memorizzate come file ASCII e nominate opportunamente, ciascuna relativa al sistema di ricostruzione utilizzato.

A questo punto si passa all’elaborazione delle nuvole di punti: ogni file ASCII viene aperto mediante il software Imageware (vedi figura 5.14); si controlla subito la presenza e si procede alla rimozione di eventuali punti outlier, ovvero di punti che si trovano al di fuori della zona di dispersione della nuvola in modo evidente (è un’operazione comune per le tecniche di ricostruzione, e nel nostro caso ci permette di fare un’analisi sullo scostamento massimo che abbia una certa significatività).

(14)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

Puntualizziamo comunque che sono stati tolti solo i punti nettamente al di fuori dalla nuvola (dovuti a singoli errori di ricostruzione grossolani), e che si tratta di pochi punti isolati o più spesso nessuno in nuvole che contano decine di migliaia di punti.

figura 5.14 nuvola cilindrica visualizzata mediante il software Imageware

(15)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

A questo punto si crea la superficie cilindrica o piana (a seconda dell’entità ricostruita) di best-fit (vedi figura 5.16): nel caso del cilindro possiamo annotare il valore del raggio riportato nella finestra di Imageware nella tabella dei risultati.

figura 5.16 cilindro di best-fit creato dalla nuvola di punti

Si procede quindi con la creazione del report degli errori, un file dove sono memorizzati tutte le distanze con segno tra i punti della nuvola e la superficie di best-fit; Imageware comunque consente di avere subito un’idea dell’andamento di questi errori mediante una visualizzazione grafica (vedi figura 5.17).

(16)

5.ESECUZIONE DELLA CAMPAGNA SPERIMENTALE

Si elabora quindi il file di report mediante una semplice routine che fornisce i valori dello scostamento massimo (la massima distanza tra i punti della nuvola e la superficie di best-fit in valore assoluto) e della deviazione standard (di tutti gli errori tra nuvola e superficie di best-fit) che vengono annotati nella tabella dei risultati.

Ogni ripetizione dei vari layout presenta dunque, nella tabella con tutti i risultati, 2 o 3 parametri (a seconda che si tratti del piano o del cilindro) con il riferimento del livello di ogni fattore relativo a quella ripetizione: a partire da questa tabella si eseguono le analisi statistiche effettuate in ambiente Matlab ed Excel di cui riporteremo una spiegazione dettagliata nel capitolo 6; per ogni layout si calcolano le medie dei parametri (medie campionarie sulle 7 ripetizioni) che vengono assunte come i valori dei parametri relativi al layout stesso.

Figura

figura 5.1 il pannello di calibrazione utilizzato
figura 5.3 le 16 immagini del pannello di calibrazione con la scacchiera proiettata
figura 5.5 ordine di selezione richiesto per i vertici del rettangolo considerato
figura 5.6 posizioni teoriche dei vertici delle caselle calcolate dal programma (senza distorsione)
+7

Riferimenti

Documenti correlati

L’ingrandimento utilizzato nella fase iniziale del lavoro di tesi (2,33 μm/pixel), relativamente basso, è tale da visualizzare in un’unica immagine il campo di interesse (circa

Le trasformazioni di Möbius normalizzate for- mano un sottogruppo (perchè?) e il gruppo di matrici corrispondente è un sottogruppo di GL(2, C), di solito

FKH YHUUDQQR FRPSOHWDWH ULVSHWWLYDPHQWH GDO UHVSRQVDELOH GHJOL 8IILFL JLXGL]LDUL R GHOOD VWUXWWXUD

L’associazione ha chiesto inoltre a tutti gli artisti, a tutte le maestranze e al pubblico delle città di organizzare, ovunque possibile, in tutta Italia – rispettando, come

 Constrained nonlinear optimization, including goal attainment problems, minimax problems, and semi- infinite minimization problems..  Quadratic and

I risultati mediocri, costituiti dagli esiti di piede torto congenito, si sono verificati solo in 6 casi (7,2%), in particolare 4 piedi torti di grado III, trattati 1

3 della nostra Costituzione, occorre guidare gli allievi a rendersi conto che "tutti i cit- tadini hanno pari dignità sociale e sono uguali davanti alla legge, senza

The readers face a dichotomy between Bret Easton Ellis (the author of Lunar Park) and Bret (a character in a horror novel), who is doubled in the opposition between his “real” life