• Non ci sono risultati.

3.2 Iterative Closest Point

3.2.1 Selection

In base alla applicazione ed al sensore utilizzato, le nuvole di punti possono contenere molti punti. Calcolare le corrispondenze per ogni punto, valutarne la correttezza e ricavare da esse una trasformazione ottima può diventare un calcolo computazionalmente oneroso. Inoltre le informazioni sono spesso ridondanti o non necessarie per la registrazione. Per questo, registrare solamente un sottoin- sieme di punti delle nuvole originali può raggiungere risultati simili con un carico computazionale minore. In questa sezione saranno presentati alcuni metodi per estrarre un sottoinsieme limitato di punti rappresentativi della scena.

Filtraggio ROI (Region Of Interest)

Non sempre tutti i punti acquisiti da una scena sono utili per una registrazione. Se per esempio la scena acquisita risulta essere un’intera stanza ma ciò che interessa è la ricostruzione di un particolare oggetto, può risultare utile ridurre la nuvola in modo da avere in essa unicamente i punti che lo identificano. L’utente può eliminare una serie di punti non interessanti che risultano essere all’esterno di un volume di interesse, definito da tre intervalli, uno per ogni asse x, y e z di un sistema di riferimento, i cui estremi possono essere impostati.

É importante notare che, per una nuvola di punti proiettabile, risulta possibile applicare lo stesso ragionamento, utilizzando una regione di interesse bidimensio- nale, sui pixel della camera definiti dalla coppia (u, v), presentata nella sezione 1.3.1.

Filtraggio Outliers

Gli outliers sono punti nel cui intorno non sono presenti altri punti. È possibile che, nella nuvola acquisita dal Kinect V2, anche se con una minor probabili- tà rispetto ad una scansione laser, siano presenti punti che non rappresentano l’ambiente reale poiché sono creati da errori di misura. Questi, detti appunto ou- tliers, sporcano le caratteristiche locali dei punti, come le normali di superficie o i cambi di curvatura, e causano insuccessi nella registrazione. Molte di queste ir- regolarità possono essere risolte tramite un’analisi statica dell’intorno di un punto, scegliendo, tramite diversi criteri, l’esclusione del punto stesso.

Il filtro Statistical Outlier Removal [24], in figura 3.3, è basato sul calcolo della distribuzione delle distanze tra il punto e i suoi vicini. Per ogni punto pi, l’algo-

ritmo calcola la distanza tra il punto stesso e i suoi k punti vicini. Assumendo che il risultato sia una distribuzione Gaussiana con una media e una deviazione standard, tutti i punti la cui distanza media non risulta compresa in un intervallo definito da una distanza globale media e una deviazione standard soglia, possono essere considerati outliers e cancellati quindi dalla nuvola di punti. Il valore di distanza globale media è calcolato sommando le distanze medie di ogni punto tra esso e i suoi vicini, e dividendo per il numero di punti della nuvola. Il parametro impostabile dall’utente, che risulta essere decisivo per la definizione degli outliers, è il valore della deviazione standard soglia. (→ StatisticalOutlierRemoval)

Figura 3.3: Metodo Statistical Outlier Removal.

Un altro filtro spesso usato è il filtro Radius Outlier Removal [25]. L’utente specifica un numero di vicini che ogni punto deve avere entro un certo raggio per rimanere nella nuvola di punti. L’immagine 3.4 aiuta a visualizzare come agisce il filtro e come cambi il risultato al variare dei parametri. Se per esempio è richiesto un solo vicino per far rimanere il punto nella nuvola, allora solo il punto giallo verrà rimosso. Se i vicini richiesti sono 2, sia il giallo che il verde saranno rimossi. (→ RadiusOutlierRemoval)

Nelle figure 3.5 è possibile visualizzare le immagine filtrate con questi algoritmi tramite il software scritto durante la tesi. È chiaro come i parametri inseriti modifichino drasticamente il risultato, si è quindi lasciata la possibilità di cambiare questi parametri nel programma. All’utente rimane la difficoltà di stimare tali valori.

Figura 3.4: Metodo Radius Outlier Removal.

(a) Nuvola di punti.

(b) Nuvola filtrata con Statistical OutlierRemoval. (c) Nuvola filtrata con Radius Outlier Removal.

Campionamento

Il campionamento è un metodo per selezionare un campione rappresentativo di punti della nuvola. Nella letteratura esistono vari metodi per campionare i punti che dovranno essere studiati nelle fasi successive dell’ICP. É necessario che il metodo utilizzato sia appropriato per la particolare condizione in esame, come il tipo di oggetto, presenza di occlusioni e presenza di rumore.

La ragione dell’impiego di questo metodo è ridurre il numero di punti aumen- tando le prestazioni dell’ICP, in termini di velocità. Riducendo il numero di punti, infatti, viene ridotto il numero di corrispondenze possibili usate per registrare le nuvole. Il trade-off tra campionamento e numero di iterazioni può migliorare di molto i risultati. Le tipologie di campionamento sono diverse:

Utilizzo di tutti i punti[3]: questo metodo tiene conto di tutti i punti in qualsiasi

condizione. In situazioni dove esistono complesse variazioni di superfici è utile trattenere tutti punti, in modo da rilevare ogni singolo cambiamento di forma. In questo caso, però, la ricerca dei punti vicini, e quindi delle corrispondenze, può rivelarsi troppo ampia e computazionalmente costosa. Molti punti, come quelli appartenenti ad un piano, potrebbero introdurre informazioni che possono risultare ridondanti e dunque non necessarie per un corretto allineamento.

Campionamento Uniforme [26]: Tramite questo campionamento viene creata

una griglia di piccoli parallelepipedi, chiamati anche voxel, in modo che in es- sa sia immersa la nuvola di punti considerata. Poi, in ogni voxel, tutti i punti presenti vengono approssimati con il centroide del parallelepipedo. Anche se questo approccio risulta essere poco più lento, viene utilizzato il centroide, e non il centro del voxel, poiché rappresenta la superficie in maniera più accurata. (→ V oxelGrid)

Campionamento Random [27]: il metodo consiste, come dice il nome, nell’ap-

plicare un campionamento random tra i punti della nuvola. Come dimostrato in [28], i campionamenti uniforme e random hanno le stesse prestazioni. L’unico vantaggio teorico di quest’ultimo è forzare il metodo correspondence estimation a scegliere coppie diverse per ogni iterazione, il che riduce la probabilità di sceglie- re la stessa incorretta corrispondenza, evitando di portare la convergenza ad un minimo locale. (→ RandomSample)

Normal Space Sampling [28]: Rusinkiewicz utilizza un criterio di selezione

dei punti che predilige le aree della nuvola con dettagli chiamato normal space sampling. Le aree della nuvola 3D che hanno maggior dettagli contengono anche normali con direzioni differenti; perciò queste possono essere usate come una guida per controllare il numero di campionamenti per una certa area. Se dunque le normali dei punti in tale area risultano essere simili, come in un piano, il

campionamento sarà meno fitto. Al contrario se le direzioni delle normali risultano essere differenti, il campionamento sarà più fitto, poiché nell’area saranno presenti forme geometriche particolari. Nuvole con pochi elementi descrittivi possono essere comunque registrate se questi non vengono persi durante il campionamento. (→ N ormalSpaceSampling)

Covariance sampling : il metodo seleziona i punti in base a quanto la nuvo-

la risultante possa essere stabile per la registrazione tramite ICP con una copia di se stessa. Come dimostrato in [29] è possibile infatti determinare la stabili- tà di una forma, e quindi di regioni di nuvole, analizzando gli autovalori e gli autovettori della matrice di covarianza derivata dai punti appartenenti ad essa. (→ CovarianceSampling)

Nella figura 3.6 è possibile visualizzare le immagini filtrate con questi algoritmi tramite il software implementato durante la tesi. Per poter confrontare al meglio i metodi di campionamento, le nuvole di punti filtrate presentano un numero di punti uguale tra loro e circa dimezzato rispetto alla nuvola in ingresso.

Pur avendo un numero di punti uguali le nuvole sono notevolmente differenti. Si può notare come nel campionamento uniforme ci sia una certo ordine nella disposizione dei punti, cosa che invece non avviene nel campionamento random. I punti sul piano verticale del Normal Space Sampling sono molto più radi, poiché le direzioni delle normali dei punti appartenenti ad esso sono simili.

Documenti correlati