RELAZIONE METODI OTTICI i gruppo (Goddi-Peddis)

UNIVERSITA’ DEGLI STUDI DI CAGLIARI
FACOLTA’ DI INGEGNERIA E ARCHITETTURA
Dipartimento di Ingegneria Meccanica, Chimica e dei Materiali
Corso di Laurea Magistrale in Ingegneria Meccanica
A.A. 2013-2014
ESERCITAZIONE 3
Metodi Ottici
A cura di:
Goddi Veronica 46621
Cadau Nora 46891
Monni Giovanni 46619
Garau Giacomo 46713
Curreli Raimondo 46627
Cera Danilo 46856
Peddis Mario 47147
Melis Giuseppe 45583
Perra Fabio
Porru Fabio 46611
Orrù Giuseppe
0
Indice
1. Introduzione ....................................................................................... 2
2. Analisi del metodo .............................................................................. 3
3. Esperienza in laboratorio .................................................................... 6
4. Impiego del software matlab ............................................................... 9
5. Script matlab .................................................................................... 11
1
1. Introduzione
Il rilievo di forma è l’obiettivo base dell’esercitazione che verrà di
seguito descritta e costituisce, senza dubbio, uno degli argomenti di
maggior interesse nel campo dell’ingegneria industriale. Ciò accade
perché esistono numerose applicazioni nel campo della Reverse
Engineering, quella branca dell’ingegneria che analizza in maniera
dettagliata l’oggetto al fine di costruirne uno nuovo che abbia
caratteristiche simili al precedente ma, per esempio, maggiore
efficienza. Le forme vengono restituite in formato digitale.
Tale tecnica è utilizzata anche in ambiti differenti da quello
ingngeristico, ad esempio per la creazione di modelli da inserire in
ambienti realizzati attraverso la realtà virtuale o per la
ricostruzione e il restauro di opere appartenenti al campo dei beni
culturali.
In campo ingegneristico la tecnica trova il più frequente impiego
per il rilievo di forme in 3D e, nella meccanica sperimentale, per il
rilievo delle deformazioni. Il metodo è meglio noto come proiezione
di frange con phase shifting (o scorrimento a variazione di fase).
2
2. Analisi del metodo
Il metodo proiezione di frange rientra in quella categoria di
procedure 3D che si avvalgono della tecnica di scorrimento a
variazione di fase comunemente denominata phase shifting.
Come anticipato il metodo consente la ricostruzione della forma di
un oggetto; per far ciò è necessario acquisire l’informazione da
elaborare attraverso una serie di passi descritti di seguito.
1) Proiezione di k pattern a frange del tipo mostrato in
Figura 1.
Le frange non sono altro che bande verticali, di colore
alternativamente nero e bianco, tutte di egual periodo; queste
vengono però “shiftate” di un periodo pari a 2π/k ad ogni
proiezione k-esima, variando l’angolo di fase in modo che si
abbia l’illusione di un loro scorrimento sulla superficie sulla
quale avviene la proiezione. Tipicamente lo shift utilizzato è
pari a un quarto del periodo totale 2π (cioè π/2) e quindi i
pattern sono quattro. Il profilo d’intensità delle frange
utilizzate è di tipo rettangolare.
Nella figura esemplificativa si riportano frange con periodo
molto
ampio
per
chiarezza
di
rappresentazione.
Per
l’esercitazione, al contrario, è stato utilizzato un periodo
spaziale inferiore.
3
Figura 1. Esempio di proiezione dei quattro pattern
2) Acquisizione delle immagini con la fotocamera.
Ciascuno dei quattro pattern viene proiettato in sequenza
dapprima sullo schermo e in seguito, con la medesima sequenza,
sull’oggeto. Si acquisiscono quindi con una fotocamera le k
immagini prospettate.
Il profilo d’intensità utilizzato è di tipo rettangolare. La
fotocamera raccoglie in corrispondenza di ciascuno shift (k= 0, 1,
2, 3) un pattern di intensità Ik. Tale pattern non è altro che
un’immagine che, nella fase di acquisizione mediante il software,
si presenta come una matrice della quale ciascun elemento
rappresenta un determinato pixel.
Proiezione
pattern
Acquisizione
con
fotocamera
Visualizza
zione su
schermo
4
3) Elaborazione dei pattern.
I pattern di intensità Ik vengono elaborati per mezzo della
seguente relazione:
๐›ท = ๐‘Ž๐‘Ÿ๐‘๐‘ก๐‘”
๐ผ4 − ๐ผ2
๐ผ1 − ๐ผ3
Il termine Φ rappresenta la mappa di fase. Tale fase, tuttavia,
risulta essere una fase frazionaria; questo inconveniente è
dovuto alla discontinuità della funzione arcotangente.
Si passa quindi dalla fase frazionaria alla fase totale, mediante
il
procedimento
denominato
unwrapping
(identificazione),
basato sull’eliminazione delle discontinuità di cui sopra, proprie
della fase frazionaria.
5
3. Esperienza in laboratorio
L’esperienza condotta in laboratorio si prefissava come obiettivo la
ricostruzione della forma di una scatola. Tale ricostruzione può
anche intendersi come la rilevazione di una deformazione avente la
morfologia dell’oggetto in esame.
Per la realizzazione dell’esperimento sono stati utilizzati una
fotocamera per l’acquisizione delle immagini, un PC ed un
proiettore interconnessi per la proiezione delle frange sull’oggetto e
sul piano di riferimento.
Per
poter
ottenere
un’immagine
dell’oggetto
con
frange
sovrapposte, è stato necessario proiettare i fasci piani e paralleli di
luce rispetto ad una certa direzione, differente da quella di
acquisizione mediante fotocamera. Per meglio dire i due angoli di
proiezione
e
acquisizione,
rispetto
al
piano
assunto
come
riferimento, risultano differenti.
Se l’oggetto è piano le frange continuano ad essere rettilinee ed
equidistanti; in caso contrario risultano distorte e il loro
scostamento dalla linearità dipende dalla forma dell’oggetto. Una
misura di tale scostamento rispetto andamento rettilineo delle
frange (che è quello che si visualizza nella fase di proiezione dei
pattern sul piano) fornisce, quindi, una misura della forma
dell’oggetto in esame. Infatti, il periodo delle frange sull’oggetto è
modificato rispetto al periodo delle frange sul piano.
Sono state acquisite in totale otto immagini, quattro per il piano e
quattro per l’oggetto in esame; ognuna delle quattro immagini
6
riporta la proiezione dei quattro pattern, sfasati progressivamente
di 90° come descritto precedentemente.
Figura 4. Immagini del piano
Figura 5. Immagini dell’oggetto
Terminata l’acquisizione e noti i parametri geometrici della
proiezione e dell’osservazione, è possibile dedurre l’altezza relativa
7
di ogni punto sulla superficie di misura che, nel caso specifico, è
costituita dal piano di riferimento. La superficie della forma si
ricava dal modello di frange osservate, dove l’incremento di altezza
โˆ†h è espresso da:
โˆ†๐œ™
โˆ†โ„Ž = ๐‘ก๐‘Ž๐‘› ๐›ผ
Dove โˆ†๐œ™ è la differenza tra fase delle frange sul piano di riferimento
e fase delle frange proiettate sull’oggetto, e α è l’angolo compreso
tra la direzione della fotocamera e la direzione di propagazione
fascio luminoso (o direzione di proiezione).
La disposizione degli strumenti seguiva una configurazione a
triangolo rettangolo nella quale l’angolo retto risultava essere
quello dello spigolo coincidente con la fotocamera. Si riporta una
schematizzazione in Figura 3.
Figura 3. Layout operativo
8
4. Impiego del software Matlab
Una volta terminate la fase di proiezione dei pattern a frange e
l’acquisizione dei fotogrammi relativi alle diverse configurazioni, si
procede all’acquisizione di questi ultimi mediante un programma di
calcolo. Questo passaggio è necessario per determinare la fase delle
frange sul piano di riferimento e quella delle frange proiettate
sull’oggetto mediante la funzione atan2 (presente nella libreria
Matlab) e ricavare la mappa di fase. Nel caso specifico il tutto è
stato implementato in ambiente Matlab.
Il primo passo per poter trattare le immagini col software consta di
due fasi:
1. la conversione di tutte le immagini (quattro relative allo
sfondo e altrettante relative alla scatola oggetto di misura)
acquisite a colori in immagini monocromatiche. Questa è una
fase indispensabile perché l’acquisizione delle immagini a
colori su Matlab si tradurrebbe in una matrice di dimensioni
note M ed N su 3 dimensioni anziché una che risulta difficile
da gestire;
2. il taglio di tutte le immagini in maniera che queste continuino
ad essere sovrapponibili, ovvero assicurandosi che in ciascuna
foto vengano rimosse le stesse righe e colonne di pixel.
A tal punto si è passati dalle immagini di dimensioni MxN a colori
alle analoghe monocromatiche ma di dimensioni ridotte. Si è quindi
andati a leggere il file contenente l’immagine con Matlab per mezzo
del comando:
9
>> I = imread('nomedelfile’);
Gli elementi della matrice ottenuta sono numeri interi (tipo uint8),
cioè assumono valori da 0 a 255.
Note le matrici associate sarebbe sufficiente utilizzare la funzione
atan2 e ricavare la mappa di fase per lo sfondo e per la scatola per
mezzo del comando:
>>phi_sfondo = atan2(matrice4-matrice2,matrice1-matrice3);
tuttavia tale funzione non lavora con numeri interi (tipo uint8) ma
ha bisogno di numeri in virgola mobile (tipo float), perciò è
necessario convertire ciascuna matrice di interi in matrice di float
per mezzo del comando:
>>f1 = im2double(nomematrice);
10
5. Script Matlab
%-----------------------------------------------------------------------%------ESERCITAZIONE 3- PROIEZIONE DI FRANGE CON PHASE SHIFT
-----%-----------------------------------------------------------------------%-----------------------------------------------------------------------% Script Matlab per il calcolo di phi (angolo del PhaseShift)
% Autori: Nora Cadau, Veronica Goddi, Giovanni Monni, Mario Peddis, Fabio
% Porru, Giuseppe Melis
% Anno accademico: 2013/2014
%-----------------------------------------------------------------------clearall% cancella tutte le variabili del Workspace
closeall% chiude tutte le finestre di plot
clc% pulisce la commadwindow
%-----------------------------------------------------------------------%---------DETERMINAZIONE DELLA FASE FRAZIONARIA phi
-----------% Foto dello sfondo
Sf_1 = imread('Im1BW.png'); % lettura della prima foto dello sfondo
Sf_2 = imread('Im2BW.png'); % lettura della seconda foto dello sfondo
Sf_3 = imread('Im3BW.png'); % lettura della terza foto dello sfondo
Sf_4 = imread('Im4BW.png'); % lettura della quarta foto dello sfondo
% Foto della scatola
Sc_1 = imread('Scatola1BW.png');
Sc_2 = imread('Scatola2BW.png');
scatola
Sc_3 = imread('Scatola3BW.png');
Sc_4 = imread('Scatola4BW.png');
scatola
% lettura della prima foto della scatola
% lettura della seconda foto della
% lettura della terza foto della scatola
% lettura della quarta foto della
% Sfondo - Passaggio a numeri in virgola mobile per poter calcolare phi
% con "atan2"
f1 = im2double(Sf_1);
f2 = im2double(Sf_2);
f3 = im2double(Sf_3);
f4 = im2double(Sf_4);
% Scatola - Passaggio a numeri in virgola mobile per poter calcolare phi
% con "atan2"
f1_1 = im2double(Sc_1);
f2_2 = im2double(Sc_2);
f3_3 = im2double(Sc_3);
f4_4 = im2double(Sc_4);
% Calcolo di phi per lo sfondo
phi_sfondo = atan2(f4-f2,f1-f3);
% Calcolo di phi per la scatola
phi_scatola = atan2(f4_4-f2_2,f1_1-f3_3);
% Plottaggio di phi dello sfondo
plot (phi_sfondo);
% Plottaggio di phi della scatola
plot (phi_scatola);
% Salvataggio di phi dello sfondo nella cartella PippoBaldi
11
save('C:\Users\Admin\Desktop\PippoBaldi\phisfondoOK.dat','phi_sfondo','ascii','-tabs');
% Salvataggio di phi della scatola nella cartella PippoBaldi
save('C:\Users\Admin\Desktop\PippoBaldi\phiscatolaOK.dat','phi_sfondo','ascii','-tabs');
12
6. Conclusioni
Giunti a questo punto del lavoro è necessario ottenere la fase
cumulativa
(unwrapping).
tramite
Questo
il
processo
procedimento
detto
di
identificazione
prevede
un’elaborazione
mediante dei software disponibili sul sistema operativo Linux, ma
la complessità dei calcoli non ha permesso il raggiungimento dei
risultati previsti.
13