• Non ci sono risultati.

3.5 KeyPoints e Features 3D

3.5.4 NARF: Normal Align Radial Features

Fino ad ora abbiamo descritto metodi per la ricerca di corner 3D. Nel paper [48] è presentato l’algoritmo NARF, Normal Aligned Radial Features, che si occupa sia della detection che della description di keypoints. Questo è l’unico algoritmo 3D presentato che non utilizza in input una nuvola di punti; funziona infatti con range

image.

Una range image è una comune immagine RGB nella quale l’informazione di distanza di un punto è codificata da un certo colore del pixel corrispondente. Considerando lo spettro della luce visibile, i punti più vicini al sensore saranno viola e i punti più lontani rossi. Siccome si utilizzano principalmente le nuvole di punti, le PCL forniscono delle funzioni in grado di convertire la nuvola di punti in image range.

Il metodo NARF si basa su due principi: i) un keypoints deve trovarsi in una posizione in cui la superficie risulti stabile, per assicurare una stima robusta del- la normale, e siano presenti sufficienti cambiamenti nelle vicinanze, ii) siccome abbiamo una visione parziale della scena è possibile concentrarsi sui bordi di un oggetto. I contorni di una forma in primo piano saranno abbastanza unici quindi possono essere usati per l’estrazione di punti di interesse. Per questo , si presenta ora il metodo per trovare i bordi di un oggetto nella scena.

Estrazione dei bordi

Un importante passo per ricavare features NARF è l’estrazione di bordi. I bordi appaiono come una discontinuità tra un oggetto e lo sfondo. In questo contesto, si possono definire tre tipi di punti interessanti: i bordi dell’oggetto, cioè i punti più esterni che appartengono all’oggetto, i bordi d’ombra, i punti sullo sfondo al confine con le occlusioni, e i punti velo, che sono i punti interpolati tra i bordi dell’oggetto e i punti ombra. I punti velo sono un fenomeno presente nelle acquisizioni 3D ottenuti tramite lidars.

In figura 3.26 vi è un esempio per comprendere i diversi tipi di punti. Consi- deriamo un quadrato piano in una nuvola di punti. La superficie chiaramente non fornisce punti interessanti, ma i quattro angoli ne definiscono la forma. Mentre i punti appartenenti ai bordi d’ombra non sono utili, la rilevazione dei punti velo è necessaria, essi non devono essere incorporati nel processo di estrazione features.

Figura 3.26: Classificazione dei punti vicino ai bordi.

Ci sono diversi indicatori che possono essere utili per la rilevazioni di bordi in una range image, come bruschi cambiamenti della normale o angoli di impatto acuti. In [48] è dimostrato che l’indicatore più importante, che è anche molto robusto al rumore e ai cambiamenti di risoluzione, è il cambiamento della distanza media dei vicini al punto. Per ogni punto allora si prendono in considerazione i suoi vicini locali e:

• si trova la tipica distanza 3D media dei vicini per punti che non sono bordi. • si utilizza questa informazione per calcolare un valore che rappresenti la

possibilità che un certo punto sia parte di un bordo, • si identifica il tipo di punto tra quelli presentati sopra,

• si estrae la posizione esatta del bordo tramite una soppressione dei non massimi.

Estrazione dei keypoints

Dopo aver definito i bordi presenti nella nuvola di punti si utilizza tale informa- zione e le loro normali per rilevare i keypoints. Un keypoint stabile necessita di avere nel suo intorno cambiamenti significativi della superficie per essere rilevato nello stessa posizione anche se osservato in diverse prospettive. Questo significa che esistono direzioni dominanti di cambiamento di superficie in quell’area. Per definire i keypoints si usano questi passaggi:

• prendendo in considerazione i vicini locali di ogni punto si determina un valore che rappresenta di quanto cambia la superficie in quel punto e si calcolano le direzioni dominanti, inoltre si determinano i bordi;

• per ogni punto bordo, si calcola un valore d’interesse v che rappresenta i) quanto le direzioni dominanti si discostano dalle altre, ii) quando cambia la superficie in quel punto;

• si fa uno smoothing su tutta la nuvola di punti dei valori trovati per ridurre il rumore;

• tramite una soppressione dei non massimi, si trovano i keypoints finali. In questa fase il parametro più importante è σ il diametro della sfera attorno al keypoints, che include tutti i punti le cui direzioni principali sono usate per calcolare il valore d’interesse v. Questo è lo stesso parametro che si utilizzerà per calcolare il descrittore.

Il descrittore NARF

Anche se molti descrittori 3D sono invarianti rispetto alla rotazione attorno alla normale, avere disponibile l’informazione di orientazione è utile in vari casi, per esempio quando si hanno per la maggior parte del tempo angoli di rotazione nulli, come nel caso di un robot con ruote. In altri casi, dove invece si utilizza un’unica orientazione, è possibile applicare filtri e supporti per avere un confronto diretto tra features definendo coordinate locali nell’intorno del keypoints. L’idea è simile a quello che accade nel SIFT 2D e nel SURF.

Come sottolinea il nome, il descrittore NARF permette di estrarre un’unica orientazione attorno alla normale. Tramite l’orientazione e la normale del keypoint si definisce una trasformazione a 6 gradi di libertà che lo riporti ad un riferi- mento. Per calcolare il descrittore NARF inizialmente è necessario un sistema di riferimento locale posizionato lungo la normale alla superficie nel punto, con il quale l’osservatore possa vedere un’area circoscritta attorno al punto. Si sovrappo- ne a quest’area un pattern a stella, dove ogni trave corrisponde a un valore nella

descrizione finale che valuta quanto cambiano i pixels lungo di essa. Si estrae poi dal descrittore un’unica orientazione per rendere poi il confronto tra descrittori invariante alla rotazione.

Documenti correlati