• Non ci sono risultati.

Capitolo 3 Registrazione a coppie di nuvole

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 3 Registrazione a coppie di nuvole"

Copied!
30
0
0

Testo completo

(1)

Capitolo 3

Registrazione a coppie di nuvole

Seppure la tavola rotante costituisca un valido apporto per la registrazione delle nuvole, essa non è sufficiente per fornire risultati soddisfacenti, infatti agli errori che si possono commettere nella rilevazione dell’asse, si somma la tolleranza sulla precisione di rotazione. Essa tuttavia determina una buona registrazione iniziale delle singole acquisizioni evitando il problema di imbattersi nelle posizioni di minimo locale (figura 1), possibilità che può verificarsi nei casi in cui il

disallineamento è notevole o in presenza di acquisizioni con forme caratteristiche ripetute.

Figura 1 – Posizione di minimo locale assunta nel caso di registrazione con configurazione iniziale particolarmente disallineata

Si è quindi sentito l’esigenza di implementare un algoritmo che incrementasse la precisione di riallineamento, partendo da una configurazione già parzialmente allineata.

Il metodo è del tutto generale e non strettamente vincolato all’utilizzo di una tavola rotante durante la procedura di acquisizione, è necessario però, come detto, che le due nuvole da registrare si trovino in una posizione iniziale di allineamento grossolano che definiremo in dettaglio più tardi. La stragrande maggioranza dei metodi proposti per la registrazione si basano su algoritmi di tipo ICP (Iterative Closest Point) [1], [2]. L’algoritmo di tipo ICP è un metodo iterativo che fa fare rototraslazioni rigide ad una delle nuvole rispetto all’altra al fine di ottenere la migliore sovrapposizione possibile tra le due superfici discretizzate.

(2)

Avendo già a disposizione un software commerciale che esegue le più importanti operazioni di post-processing per acquisizioni singole e multiple (Geomagic®), abbiamo cercato di ottenere un algoritmo di registrazione con risultati che potessero essere considerati paragonabili in termini di qualità (anche se non in termini di tempi di esecuzione) al software esistente. Abbiamo cercato di introdurre inoltre una possibilità di regolazione di alcuni parametri che di solito vengono considerati “impliciti” quali la qualità di registrazione (attraverso il numero di iterazioni usate per arrivare alla convergenza del processo) ed il numero di punti coinvolti nel riallineamento.

3.1

Stato dell’arte della registrazione a coppie di nuvole

I principali metodi presenti in letteratura per la registrazione a coppie di nuvole, possono essere generalmente suddivisi in due categorie: il metodo punto-punto ed il metodo punto-piano.

In entrambi i metodi adottati, la registrazione avviene tramite la ricerca del minimo di una funzione obiettivo. Nel primo metodo (metodo punto-punto) [2] questa funzione è della somma dei quadrati delle distanze dei punti corrispondenti delle nuvole. I punti corrispondenti si definiscono come la coppia formata da un punto di una nuvola e quello più vicino appartenente alla nuvola opposta. Nel secondo metodo [3] (punto-piano, quello che abbiamo privilegiato in questo lavoro) pur rimanendo la stessa struttura della funzione obiettivo, sono da minimizzare però le distanze tra i punti di una nuvola ed i piani di “best-fit” passanti per i punti dell’altra.

Dobbiamo specificare che in questo tipo di procedure una nuvola rimane fissa mentre quella che subisce il movimento per la registrazione viene considerata mobile.

Metodo “punto-punto”

Nella registrazione con metodo punto-punto, si inizia organizzando una nuvola di punti in una struttura di tipo kd-tree (che verrà affrontata in seguito), che faciliterà la ricerca dei punti corrispondenti tramite una particolare metodologia di esplorazione delle nuvole.

L’algoritmo procede in questo modo: una volta organizzata la nuvola fissa nel kd-tree, per ogni punto della nuvola mobile vengono ricercati, all’interno del kd-tree, quindi tra i punti dell’altra nuvola, quelli contenuti all’interno di una sfera di un certo raggio (multiplo di un parametro introdotto dall’utente) e di questi viene tenuto il più vicino, quest’ultimo sarà considerato il punto corrispondente. Fatto questo per tutti i punti della nuvola mobile e sommati i quadrati delle distanze

(3)

relative, si ottiene il valore che sarà poi quello da minimizzare muovendo con delle rototraslazioni rigide la nuvola che si è scelta mobile.

Si nota come in una procedura di ricerca così fatta, vengano escluse automaticamente tutte le coppie di punti corrispondenti che risultano avere una distanza superiore al valore del raggio della sfera da noi definita. Questo valore deriva da un parametro inserito dall’operatore, dal quale dipenderà anche l’esito della registrazione. Tale parametro in letteratura è convenzionalmente stimato come il doppio della distanza media dei punti di una nuvola, tuttavia in caso di forti disallineamenti dovrà essere convenientemente aumentato.

Il movimento di rototraslazione rigida che minimizza la funzione obiettivo ai minimi quadrati (che varia a seconda degli autori) è calcolato attraverso un procedimento matematico che è stato studiato ad hoc, generalmente utilizzando dual quaternions e ricerca di autovalori e autovettori [2].

Naturalmente dopo un primo tentativo di minimizzazione delle distanze dei punti corrispondenti, sarà molto improbabile che la registrazione sia andata a buon fine, infatti molte coppie di punti che si sono formate, risulteranno essere solo “fittizie” e non porteranno verso un vero allineamento, come si nota in figura 2.

Figura 2 – Nella zona di contatto tra le due nuvole si sono create delle coppie di punti corrispondenti che non possono guidare il processo ad una registrazione soddisfacente

Saranno necessarie quindi più iterazioni, all’interno delle quali ripetere le operazioni di ricerca dei punti corrispondenti e di minimizzazione delle distanze. La convergenza dell’intero processo si avrà quando la variazione della matrice di rototraslazione tra due iterazioni successive è minore di una certa percentuale (generalmente quando la differenza delle ultime due traslazioni e rotazioni è contemporaneamente minore dell’1%).

(4)

se indichiamo quindi con P e Q le due nuvole e con pi = {1…Np} e qj = {1…Nq} i rispettivi punti,

l’assegnazione delle coppie corrispondenti avviene verificando che:

(

)

(

)

t.c. min , i j i j p P q Q dist p q σ ∀ ∈ ∃ ∈ <

Con σ valore di soglia pari a un multiplo del parametro introdotto.

Figura 3 – Metodo punto-punto

Le coppie di punti corrispondenti che si sono formate saranno quelle all’interno della zona di

sovrapposizione, in questo modo sono automaticamente esclusi tutti quei punti delle nuvole che non devono prendere parte al processo (punti di rumore o più generalmente fuori dalla zona di

sovrapposizione).

Dopo aver creato le coppie si procede alla minimizzazione della funzione:

(

)

2 1 R T N i i e=

qp +

Con N numero di coppie corrispondenti che si sono formate, e R,T matrici di rotazione e traslazione.

Dopo aver trovato il minimo si ricomincia con un’altra iterazione calcolando i punti vicini. A questo punto però, viene ridotto di una certa percentuale il raggio σ della sfera con la quale si esegue la ricerca (il criterio di questa riduzione varia a seconda degli autori).

In diversi metodi presenti in letteratura [2], viene anche suggerito di misurare la massima differenza delle direzioni delle normali uscenti dai punti, all’interno delle coppie corrispondenti. Se le normali differiscono di un valore maggiore a quello massimo consentito (in genere 45÷60°) la coppia viene

(5)

Possiamo quindi schematizzare il processo di registrazione in questi passaggi, che verranno ripetuti ad ogni iterazione:

• Input delle nuvole e del parametro scelto dall’utente • Ricerca e selezione delle coppie di punti corrispondenti

• Minimizzazione delle distanze con calcolo della matrice di rototraslazione • Riduzione del parametro di soglia per la ricerca dei punti più vicini

• Controllo della percentuale di variazione della matrice di rototraslazione

Come abbiamo detto il processo arriverà a convergenza quando la variazione in percentuale, tra due iterazioni successive, delle matrici di rotazione e traslazione sarà minore di un valore stabilito (generalmente l’1%).

Metodo punto-piano

Nel metodo di registrazione con minimizzazione delle distanze con metodo punto-piano, ad ogni punto della nuvola mobile viene associato un certo numero di punti dell’altra nuvola ottenuti scegliendoli tra quelli più vicini alla normale uscente dal punto della nuvola mobile.

Questi punti vengono utilizzati per fare un“best-fit”, ossia trovare un piano che li approssima (col metodo dei minimi quadrati). Ogni punto della nuvola mobile si troverà così associato ad un piano (indicato con π) sulla nuvola fissa, la funzione obiettivo stavolta sarà minimizzare la somma dei quadrati delle distanze punto-piano di tutti i punti della nuvola mobile (figura 4) ossia trovare il minimo di: 2 1 (R T, ) N i i e=

dist p + π

A parte il diverso modo di intendere la funzione obiettivo, la struttura dell’algoritmo rimane essenzialmente la stessa di quella del metodo punto-punto.

Questo metodo permette una convergenza con un numero di iterazioni di un ordine di grandezza minore, grazie al fatto che possiamo muoverci su un piano (quindi su due dimensioni) per trovare il minimo della funzione.

(6)

Sebbene il processo di best-fit dei piani risulti piuttosto oneroso dal punto di vista computazionale, il metodo piano (nel nostro caso particolare) resta più veloce e più preciso di quello punto-punto.

Figura 4 – Ricerca dei piani da associare ai punti nel metodo punto piano

Confronti

Per allineare due sole acquisizioni alla volta, è spesso di gran lunga preferibile utilizzare il metodo punto-piano [8]. Come detto infatti, presenta quello di convergere più velocemente di un ordine di grandezza. Nella registrazione, una volta che le superfici si sono avvicinate abbastanza, la maggior parte dei punti presenti nella zona di sovrapposizione può trovare i propri corrispondenti, ma per avere un accurato allineamento si richiederebbe anche di far scorrere una superficie sull’altra fino ad ottenere un perfetto “incastro”.

Nel metodo punto-punto questo corretto scorrimento è limitato dal fatto che basta un piccolo disallineamento per far minimizzare all’algoritmo non solo le distanze dei veri punti corrispondenti (che porterebbero ad una rapida convergenza), ma anche di quelli falsi. Questi ultimi oltre a fornire un contributo fuorviante per il buon fine della registrazione, fanno sì che le rototraslazioni rigide siano di entità più piccola del necessario, rallentando così il processo.

Diversamente, nel metodo punto-piano i falsi accoppiamenti corrispondenti non inficiano troppo sulla velocità di calcolo nella minimizzazione, infatti ogni punto può scorrere lungo il piano tangente dei suoi “pseudo-corrispondenti”. Inoltre anche se ci fossero false corrispondenze tra i punti, non sarebbe poi così diverso scorrere lungo la tangente ad un punto o su quella ad essi vicini. Un altro modo di intendere la differenza tra i due tipi di approccio, è quella di considerare che con il primo metodo ogni punto è associato ad una approssimazione di tipo discreto dell’altra superficie,

(7)

mentre con il metodo punto-piano si ha un’approssimazione di tipo continuo della superficie alla quale sovrapporsi.

Non possiamo tuttavia sempre affermare a pieno titolo che il metodo punto-piano sia sempre

migliore di quello punto-punto. In casi dove una corretta registrazione è intrinsecamente difficoltosa a causa della zona di sovrapposizione quasi piatta o di una curvatura quasi uniforme (ad esempio scannerizzando una superficie sferica, cilindrica o toroidale), il metodo punto-piano risulta precario facendo scorrere esageratamente la superficie anche in presenza di lievi disallineamenti.

3.2 Algoritmo

sviluppato

Dopo aver codificato entrambi i metodi presentati precedentemente in ambiente MATLAB®, abbiamo scelto una metodologia di registrazione a coppie che possiamo dire essere di tipo punto-piano, seppure apportando alcune variazioni.

In figura 5 è mostrato un esempio di come lavora l’algoritmo implementato. Se indichiamo quindi con P e Q le due nuvole di punti e con pi (con i = {1…Np}) e qj (con j = {1…Nq}) i rispettivi punti,

per ogni punto pi appartenente a P si trovano i punti qj appartenenti a Q contenuti all’interno di una

sfera di raggio pari ad un multiplo del parametro introdotto dall’utente.

Se i punti di Q all’interno della sfera sono almeno tre, si computa il piano di best fit (indicato come

π) e si associa al punto pi. A questo punto dobbiamo far compiere la rototlaslazione rigida (con la matrice T) che minimizza la somma al quadrato di tutte le distanze dei punti associati ai piani, cioè

2 1 ( * , ) N i i min dist T p π ⎞

Con N numero dei punti associati ai piani e T ad indicare che il punto p è spostato dalla matrice di rototralsazione.

Una volta che l’algoritmo di minimizzazione arriva a convergenza (ottenuta superando una soglia di variazione minima delle variabili della matrice T o della funzione obiettivo), si procede con ulteriori iterazioni. Ogni volta però ricalcolando i punti vicini, e quindi i piani di best-fit, dopo aver

opportunamente ridotto il raggio della sfera. La condizione di convergenza finale sarà tale da avere una distanza tra punti di nuvole diverse, dello stesso ordine alla distanza media dei punti di una stessa nuvola ed avere una variazione in percentuale della matrice di rototraslazione tra due iterazioni inferiore all’1% (anche se con le prove sperimentali abbiamo notato che per ottenere

(8)

risultati soddisfacenti, sono sufficienti un massimo di 5 iterazioni). Una procedura così fatta tenderà quindi ad avvicinare le due nuvole il più possibile.

π

Figura 5 – Ricerca dei punti per i piani di best-fit nell’algoritmo sviluppato

La funzione di minimizzazione ai minimi quadrati è data da MATLAB® e usa l’algoritmo di Levenberg-Marquardt o Gauss-Newton (a seconda del valore della funzione obiettivo, il metodo di Gauss-Newton lavora meglio quando i residui sono bassi, quindi con una qualità di registrazione già buona), e ci permette di trovare velocemente la convergenza, ossia la posizione di minimo della nuvola.

Anche nella ricerca dei punti corrispondenti MATLAB® fornisce soluzioni già implementate, queste però si sono rivelate troppo lente per i nostri scopi, abbiamo quindi preferito sviluppare separatamente una routine di ricerca che sfruttasse le strutture kd-tree (particolari strutture ad albero utilizzate per l’organizzazione e la ricerca di dati) al fine di incrementare la velocità.

In generale la nostra soluzione è stata infatti, quella di prendere da diversi procedimenti le parti che ci sono sembrate più interessanti o facilmente implementabili, e riportarle all’interno di un nuovo algoritmo che risulta così un ibrido di quelli da cui abbiamo preso spunto.

Andiamo a schematizzare i principali passi del modo di procedere, all’interno di una singola iterazione, del nostro algoritmo

• Input delle nuvole e del parametro scelto dall’utente • Organizzazione della nuvola fissa in una struttura kd-tree

• Ricerca, selezione e associazione dei punti della nuvola mobile con i piani della nuvola fissa • Minimizzazione delle distanze con calcolo della matrice di rototraslazione

• Riduzione di un terzo del parametro di soglia (σ) per la ricerca dei punti più vicini • Controllo della percentuale di variazione della matrice di rototraslazione

(9)

Differenze rispetto ai precedenti metodi

Sebbene la versione originale dell’algoritmo ICP sia dovuta a Besl e McKay [1], per

l’implementazione del metodo di registrazione punto-punto si è fatto più che altro riferimento ad un lavoro indipendente e quasi contemporaneo sviluppato da Z. Zhang [2]. Questa seconda versione infatti, risulta più chiara ed esplicativa soprattutto per quanto concerne le varie tecniche di

raffinamento dell’algoritmo. Per ulteriori miglioramenti inoltre, viene usato il metodo punto-piano in luogo del punto-punto sviluppato da Chen-Medioni [3].

Gran parte dei suggerimenti proposti nei vari articoli sono stai accolti ed implementati, alcuni presenti anche in diverse pubblicazioni posteriori a quelli di riferimento, mentre in alcuni casi si è preferito semplificare le procedure di programmazione.

Nel secondo metodo ICP, vengono proposte le strutture di dati kd-tree per accelerare la gestione delle nuvole di punti, la ricerca dei punti corrispondenti è infatti, l’operazione più onerosa di tutto il procedimento di registrazione. Viene introdotta anche una distanza di soglia che inizialmente deve essere fornita dall’utente (si adotta un valore che è dello stesso ordine di grandezza del doppio della distanza media tra i punti della stessa nuvola) e che cambia durante le successive iterazioni oltre la quale non considerare valido l’accoppiamento tra punti corrispondenti.

Questo permette all’algoritmo di non farsi influenzare troppo dal rumore che potrebbe collocare punti delle nuvole in zone molto distanti rispetto alla superficie originale.

Nel metodo che si contraddistingue dai due precedenti per perseguire la minimizzazione delle distanze punto-piano anziché punto-punto, si suggerisce anche di prendere in considerazione solo alcuni “punti di controllo” in luogo di tutti i punti delle nuvole considerate. In questo modo si potrebbe risparmiare sul tempo. Nel nostro caso però, siccome consideriamo nuvole con già una buona registrazione iniziale, per avere la massima precisione è necessario includere tutti i punti nel calcolo della rototraslazione ottimale funzionale ad una perfetta sovrapposizione, solo dopo

verranno incluse metodologie di riduzione delle nuvole.

Oltre alla distanza euclidea, come discriminante per decidere se una coppia di punti corrispondenti è attendibile o meno, e nel qual caso scartarla, si suggerisce anche di prendere in considerazione la differenza di orientamento delle normali alle superfici uscenti dai punti. Questa soluzione però, non è stata adottata in quanto la ricerca delle normali uscenti di una superficie risulta abbastanza

onerosa in fatto di calcoli, ed i risultati ottenuti senza tenerne conto sono ugualmente più che accettabili.

Altre differenze riguardano il modo di calcolare la matrice di rototraslazione per minimizzare la funzione obiettivo. Nel primo si fa uso delle “quaternions”, nel secondo delle “dual-quaternions”,

(10)

mentre nel metodo punto-piano si suggerisce genericamente di minimizzare la funzione obiettivo con un metodo ai minimi quadrati. Questa parte tuttavia non ha per noi grande importanza dal momento che abbiamo deciso di utilizzare le funzioni della Optimization Toolbox di MATLAB® che sfruttano gli algoritmi di Gauss-Newton o di Levenberg-Marquardt [4].

Utilizzo del sampling

Sullo stimolo di alcuni autori [5] abbiamo anche provato ad includere nella nostra implementazione un processo preventivo di riduzione uniforme ed in curvatura (o “sampling” uniforme ed in

curvatura delle nuvole) sviluppato in un precedente lavoro [6]. Il sampling in curvatura, dividendo in fasce di curvatura i punti della nuvola, esegue una riduzione di questi nelle zone più lisce della superficie, secondo percentuali stabilite dall’utente. Quello uniforme, riduce in maniera diffusa il numero di punti della nuvola iniziale secondo una percentuale indicata. Entrambi permettono un notevole risparmio di tempo, anche se il sampling uniforme ha tempi di calcolo più brevi.

Il sampling in curvatura tende a dare maggior peso, durante la procedura di registrazione, alle zone con curvatura più alta, facilitando l’incastro delle nuvole aventi spigoli pronunciati (è utile per migliorare la qualità nel caso di superfici lisce e con poche sporgenze). Anche se il processo di riduzione in curvatura richiede tempo per essere elaborato, successivamente andremo a registrare con un numero minore di punti, guadagneremo quindi in termini di tempo senza perdere precisione di registrazione. Dobbiamo tenere presente però che con il sampling in curvatura non possiamo ottenenere percentuali finali di punti troppo basse.

Parametro introdotto dall’utente

Come detto, tra gli input dell’algoritmo, oltre alle nuvole di punti, deve essere fornita anche una grandezza che da’ indicazioni sul “passo” dei punti di una nuvola o più precisamente, la risoluzione delle singole acquisizioni.

Nella presente implementazione è stato adottato una misura di questo parametro che è pari a circa 1,5 volte la distanza media dei punti di una stessa nuvola. Si tenga presente infatti che non tutte le zone dell’acquisizione sono allo stesso modo “dense” di punti (specie quando le superfici formano un angolo considerevole col fascio del proiettore).

(11)

Questo parametro entra in gioco (opportunamente incrementato all’interno del codice) nella ricerca dei punti più vicini sulla nuvola opposta, dovrà quindi essere tanto più aumentato quanto più grande è il disallineamento iniziale delle nuvole (ossia quanto più le nuvole risultano distanti). Occorre dire però, che maggiore sarà il raggio della sfera di ricerca, maggiore sarà il tempo impiegato per le operazioni di ricerca dei punti e calcolo dei piani di best-fit (le operazioni più onerose di tutto il procedimento). Quando si parla di configurazione iniziale già parzialmente allineata si intendono distanze massime tra i punti delle nuvole di un ordine di grandezza superiori al parametro

introdotto.

La scelta del parametro è quindi molto importante e va fatta cercando di ottimizzare precisione e velocità di registrazione.

3.3 Risultati

Per allineare due sole acquisizioni alla volta, dopo aver confrontato i due metodi, si è quindi preferito utilizzare il metodo punto-piano. Come grosso vantaggio infatti, presenta quello di

convergere più velocemente di un ordine di grandezza, facilitato dallo “scorrimento” dei punti della nuvola mobile sui piani di best-fit dell’altra. Esso potrebbe presentare problemi solo in casi di nuvole con curvature molto piccole (superfici sferiche o toroidali) con eccessivi scorrimenti, tuttavia questi sono casi in cui la registrazione è intrinsecamente difficoltosa anche per i software attualmente in commercio.

Per misurare la qualità del nostro procedimento è stato fatto riferimento ai risultati forniti dal

software commerciale, andando a misurare la differenza tra coppie di nuvole registrate, una volta da Geomagic®, l’altra tramite il nostro algoritmo. Le differenze sono state valutate in termini di

standard deviation e distanza media di tutti i punti della nuvola nei due casi. Abbiamo anche ottenuto che le differenze di posizionamento della nuvola con l’algoritmo implementato rispetto a Geomagic®, sono dello stesso ordine di grandezza di quelle ottenute nel caso di due successivi tentativi di registrazione sulla stessa nuvola e a parità di parametri, con il software commerciale. Sono di seguito mostrati alcuni confronti tra i risultati di registrazione di Geomagic® e l’algoritmo implementato in questo lavoro. Si è andati a misurare in termini di standard deviation e distanza media, la differenza delle due nuvole (limitatamente alla zona di sovrapposizione), dopo

l’operazione di registrazione.

La differenza è stata calcolata su un altro software commerciale (EDS® Imageware10®) facendo la differenza delle nuvole limitatamente ad una distanza massima di 0.5mm. I colori indicano le

(12)

distanze sulla zona di sovrapposizione (per facilitare la visuale delle differenze è stata tolta la nuvola che rimaneva fissa durante la registrazione).

Si nota come i valori di standard deviation e average distance siano dello stesso ordine di grandezza. 4 2 1 3

Figura 6 – Particolare di una cornice rappresentante un’edera utilizzato per le nostre prove. La foto a sinistra mostra la zona sottoposta a scansione, mentre il modello in STL a destra indica le suddivisioni alla quale è stata sottoposte la zona di scansione. Le zone utilizzate per le nostre prove sono la 3 e la 4.

(13)

Figura 7 – Standard deviation e distanza media sulla zona di sovrapposizione delle nuvole di uno stampo rappresentante un’edera dopo la registrazione effettuata con Geomagic

Figura 8 – Standard deviation e distanza media sulla zona di sovrapposizione delle nuvole di uno stampo rappresentante un’edera dopo la registrazione con l’algoritmo implementato (tempo di esecuzione 51s)

(14)

Figura 9 – Le due immagini mostrano un modello in STL delle 2 nuvole (3 e 4) prima e dopo l’operazione di registrazione effettuata con l’algoritmo implementato (i risultati con Geomagic non sono riportati in quanto le

(15)

Figura 10 – Le prossime prove sono state svolte su una maniglia intarsiata (con configurazione iniziale particolarmente disallineata) che è qui rappresentata in formato STL dopo la fase di post-processing

Figura 11 – Standard deviation e distanza media sulla zona di sovrapposizione delle nuvole di particolare di una maniglia dopo la registrazione effettuata con Geomagic

(16)

Figura 12 – Standard deviation e distanza media sulla zona di sovrapposizione delle nuvole di un particolare di una maniglia dopo la registrazione effettuata con l’algoritmo implementato (tempo di 185s)

(17)

Figura 13 – Immagini successive del modello STL delle 2 nuvole della maniglia prima e dopo l’operazione di registrazione

(18)

Figura 15 – Standard deviation e distanza media sulla zona di sovrapposizione delle nuvole di un particolare di un punzone dopo la registrazione effettuata con Geomagic

Figura 16 – Standard deviation e distanza media sulla zona di sovrapposizione delle nuvole di un particolare di un punzone dopo la registrazione effettuata con l’algoritmo implementato

(19)
(20)

Vengono di seguito riportate alcune figure che riportano il diverso posizionamento della stessa nuvola registrata, da parte di Geomagic® e dell’algoritmo qui implementato. Si noterà in questo caso, come le differenza di posizionamento tra due tentativi successivi di registrazione della stessa nuvola da parte di Geomagic®, sia dello stesso ordine di grandezza della differenza che si ha tra la nuvola registrata con l’algoritmo implementato ed il tentativo di registrazione da parte di

Geomagic®.

Figura 18 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante un’edera, tra il primo tentativo di Geomagic e l’algoritmo implementato

(21)

Figura 19 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante un’edera, tra il secondo tentativo di Geomagic e l’algoritmo implementato

Figura 20 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante un’edera, tra il primo ed il secondo tentativo di Geomagic

(22)

Figura 21 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante una maniglia, tra il primo tentativo di Geomagic e l’algoritmo implementato

Figura 22 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante una maniglia, tra il secondo tentativo di Geomagic e l’algoritmo implementato

(23)

Figura 23 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante una maniglia, tra il primo ed il secondo tentativo di Geomagic

Figura 24 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante una stampo, tra il primo tentativo di Geomagic e l’algoritmo implementato

(24)

Figura 25 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante una stampo, tra il secondo tentativo di Geomagic e l’algoritmo implementato

(25)

Figura 26 – Confronto tra posizionamento delle nuvole, di uno stampo rappresentante uno stampo, tra il primo ed il secondo tentativo di Geomagic

Risultati con utilizzo di sampling

Vengono di seguito riportate alcune prove di nuvole registrate con un sampling preventivo dei punti corrispondenti della nuvola mobile (i corrispondenti della nuvola fissa non è stata sottoposta a riduzione per non avere ripercussioni sulla qualità di registrazione). L’esempio preso in

considerazione per queste prove sono le nuvole della maniglia, soggette ad una condizione iniziale particolarmente disallineata. Questa procedura permette di risparmiare notevolmente il tempo di calcolo nella ricerca dei punti, in quanto ne sono coinvolti solo una percentuale stabilita della nuvola (in figura 27 esempi di sampling).

(26)

Figura 27 – A sinistra la nuvola di punti così come appare senza riduzioni, al centro con sampling uniforme e a destra con sampling in curvatura

Figura 28 – Differenze sulla zona di sovrapposizione delle nuvole della maniglia dopo registrazione con sampling uniforme al 20 % della nuvola mobile (54s totali e 15s di sampling uniforme)

(27)

Figura 29– Differenze sulla zona di sovrapposizione delle nuvole della maniglia dopo registrazione con sampling uniforme al 10 % della nuvola mobile (40s totali e 19s di sampling uniforme)

Figura 30 – Differenze sulla zona di sovrapposizione delle nuvole della maniglia dopo registrazione con sampling uniforme all’ 1% della nuvola mobile (20s totali e 16s di sampling uniforme)

(28)

Quando il sampling scende sotto l’1% della nuvola mobile, i risultati tendono a peggiorare, per cui viene meno il nostro obiettivo primario che è quello della precisione di registrazione.

Vengono ora riportati alcuni esempi di registrazione con utilizzo di sampling in curvatura con i seguenti parametri scelti dall’utente: 10 fasce di suddivisione di curvature della nuvola, 10% di punti ritenuti nelle fasce a percentuale più piccola, 100% di punti ritenuti nelle fasce a percentuale più alta, 3 fasce di massima percentuale, 75 punti intorno per calcolare la curvatura, 33% dei punti totali ritenuti. Considerando che il tempo totale della procedura è stato di 40s (ed il tempo di calcolo del sampling 19s) possiamo ritenere, nel caso dell’edera, una soluzione vantaggiosa l’utilizzo del sampling in curvatura anche alla luce della distanza tra le nuvole (nella zona di sovrapposizione) sotto riportata in figura 30.

Figura 31 – Distanza tra due nuvole registrate dopo l’operazione di sampling in curvatura

Rimanendo con gli stessi parametri di sampling in curvatura, notiamo che nel caso della maniglia (nuvole molto disallineate) il tempo di convergenza dell’algoritmo è di 330s, con un tempo di sampling pari a 42s. Con risultati dal punto di vista della registrazione visibili (dal punto di vista delle distanze) in figura 32.

(29)

Figura 32 – Differenze sulla zona di sovrapposizione delle nuvole della maniglia dopo registrazione con sampling in curvatura

Per quanto riguarda le nuvole del punzone, si è ottenuta la registrazione dopo 53s, con 22s di sampling. I risultati sono in figura 33.

(30)

Figura 33 – Differenze sulla zona di sovrapposizione delle nuvole del punzone dopo registrazione con sampling in curvatura

Possiamo quindi affermare che il sampling (uniforme ed in curvatura) è un aiuto molto valido per la registrazione a coppie di nuvole soprattutto per la tempistica computazionale. La qualità è

paragonabile alla procedura senza sampling. La sua utilità però si dimostra particolarmente nel caso di nuvole molto disallineate, in quanto evita che un eccessivo incremento del raggio della sfera di ricerca vada a cercare troppi punti, e quindi che l’operazione più onerosa dell’algoritmo (ossia la ricerca dei punti più vicini) lo diventi ancor di più.

Figura

Figura 1 – Posizione di minimo locale assunta nel caso di registrazione con configurazione iniziale  particolarmente disallineata
Figura 4 – Ricerca dei piani da associare ai punti nel metodo punto piano
Figura 5 – Ricerca dei punti per i piani di best-fit nell’algoritmo sviluppato
Figura 6 – Particolare di una cornice rappresentante un’edera utilizzato per le nostre prove
+7

Riferimenti

Documenti correlati

Recheremo qui qualche prova di più delle nostre asser­ zioni sul conto di questo nostro strano imitatore del Bra­ celli... Tremìlia boni subditi

pylori infection increases the risk of adult-onset asthma: a nationwide cohort study. Eur J

TIO is characterized by hypophosphatemia due to inhibition of renal phosphorus reabsorption associated with a vitamin D synthetic defect that blocks the compensatory rise in

L’ipotesi neo- plastica, apparsa certa all’inizio soprattutto in rapporto alle immagini della TC, è stata esclusa dai numerosi prelievi bioptici eseguiti e soprattutto dal confronto

Receiving a negative verdict from a law journal for a piece that required months of work can be difficult (All EJLS members, young scholars themselves,

Justice of the European Union's (CJEU) Kadi 2 saga, and more recently its Opinion 2/13, 3 as symptoms of the CJEU's unwillingness and the EU's incapacity to reconcile

8 The measures are: Parallel classes for fast acquisition of the Greek language through intensive instruction; in-service training for teachers teaching Greek as

Can the European experience offer some lessons for the organization of free trade at the international level and, especially, for easing the tension between the