• Non ci sono risultati.

In questo capitolo sono stati analizzati e confrontati gli algoritmi principali utiliz- zati per la registrazione di nuvole di punti. I risultati di questa sperimentazione permettono di definire le migliori pipeline di algoritmi da utilizzare durante la registrazione di scene. Le linee guida ricavate sono quelle sotto riportate.

In presenza di un ambiente colorato si prediligono keypoint detectors 2D poi- ché risultano essere computazionalmente molto più rapidi e con una maggior ripetitività, non essendo affetti da riflessioni multiple, rispetto a quelli 3D. In par- ticolare si è scelto di utilizzare l’algoritmo BRISK, poiché risulta essere, a differenza dell’AGAST, invariante alla scala. Quando però la scena non risulta essere suffi- cientemente illuminata, o con poche variazioni di colore, è necessario utilizzare un keypoint detector 3D. Si predilige l’algoritmo SIFT 3D perché risulta essere quello più ripetibile.

Per quanto riguarda i descrittori, SHOT e C-SHOT risultano essere algoritmi molto più rapidi degli altri keypoint descriptors 3D. Dopo diverse prove qualitative di registrazione si sono rivelati anche robusti. Per questo motivo verrà utilizzato l’algoritmo C-SHOT se i keypoints sono stati estratti tenendo in considerazione la variazione di colore, l’algoritmo SHOT viceversa.

Se dopo questa fase di registrazione basata su features, le nuvole risulteranno esser poco allineate, cioè sarà visibile un errore di allineamento, verrà effettuata una fase di rifinitura dell’allineamento utilizzando un ICP con il metodo Transfor-

mationEstimationPointToPlainLSS, poiché dalle prove risulta essere estremamente

Capitolo 5

Test Applicativi

Il capitolo descrive i vantaggi ed i limiti dei software per la ricostruzione di scene, mettendo in evidenza i motivi che hanno portato alla implementazione di una nuova soluzione. La soluzione sviluppata nel lavoro di tesi si basa su due moduli. Il primo gestisce l’acquisizione tramite Kinect V2 ed il secondo la ricostruzione delle scene. Da ultimo vengono poi presentati i due casi applicativi in cui i software e il sensore Kinect V2 sono messi a confronto con sistemi già utilizzati in campo professionale: la ricostruzione di un sito archeologico e di una scena del crimine.

5.1

Programmi esistenti

Prima di passare alla descrizione dei programmi implementati si presentano i vantaggi e i limiti dei software per la ricostruzione di scene presenti in lettera- tura, mettendo in risalto i motivi per cui è stato necessario l’implementazione di moduli specifici per le finalità di questa tesi. Saranno trattati solo i software di ricostruzione che utilizzano come strumento di acquisizione preferibilmente il Kinect V2.

5.1.1 Kinect Fusion

Un software robusto che Windows mette a disposizione per la ricostruzioni di scene indoor è Kinect Fusion, implementato in una versione open source in KinFu [57]. In questo programma le nuvole acquisite dal sensore vengono fuse in un unico modello, che rappresenta la scena globale, formato non da nuvole di punti ma da superfici. L’output quindi non è una nuvola di punti, bensì una mesh. Le mesh 3D sono delle griglie 3D composte da una serie di vertici, edge, e triangoli/poligoni.

Questo programma permette di ricostruire in tempo reale una scena relativa- mente piccola. La ricostruzione, infatti, è limitata ad un cubo di tre metri per lato per motivi di saturazione della memoria dell’elaboratore. In questo caso non è possibile modificare il codice e la limitazione sul campo di acquisizione non permette una facile ricostruzione di un intera scena a 360o. Tale ricostruzione

viene infatti eseguita registrando i cubi acquisiti dapprima a mano e poi rifinendo l’allineamento tramite un ICP.

Il KinFu Large Scale è un software che funziona esattamente come il prece- dente, ma non è limitato nel volume di scansione. In pratica crea ed allinea una successione di cubi 3 × 3 × 3 m. Richiede però una GPU ad elevate prestazioni per l’esecuzione della registrazione delle nuvole.

5.1.2 RTAB-Map

Il programma che risulta essere più promettente nella ricostruzione di scene è RTAB-Map (Real-Time Appearance-Based Mapping). Questo software la cui imple- mentazione è durata circa 4 anni (e che tuttora continua), è il vincitore del primo premio all’ IROS 2014 Microsoft Kinect Challenge, per la sua capacità di ricostruire ambienti indoor in applicazioni real time.

Con questo programma è possibile utilizzare i più diffusi sensori RGB-D sul mercato, tra cui il Kinect e il Kinect V2.

La pipeline che utilizza per la registrazione di nuvole di punti si basa su key- point detectors e descriptors 2D per trovare corrispondenze tra immagini. Tramite la matrice di proiezione della telecamera, descritta nella sezione 1.3.1, è possibi- le ricavare da un qualsiasi pixel dell’immagine il rispettivo punto 3D. Per ogni corrispondenza trovata tra due punti dell’immagine, vengono ricavati tramite la matrice di proiezione i rispettivi punti in 3D e tra di essi viene impostata una corrispondenza.

La ricerca delle corrispondenze di punti su immagini risulta essere molto più rapida, per questo il software riesce ad allineare le nuvole in tempo reale.

Un problema che sussiste nella elaborazioni di nuvole in larga scala è che il tempo di processo richiesto per la nuova osservazione dipende dalla grandezza della mappa interna ricostruita, questo può influenzare la natura real time del processo. Il software utilizza una complessa gestione della memoria, descritta in [58] e in [59] , che permette di mantenere il tempo computazionale sotto un certo limite fissato e di determinare i loop closure.

RTAB-Map risulta molto efficace per i problemi di tipo SLAM, ma utilizza solamente algoritmi 2D per l’estrazione e la descrizione di keypoints. Il programma implementato invece ricostruisce la scena utilizzando algoritmi che si basano su informazioni 3D, come distanza euclidea, normali e curvatura. In particolare si

ha la possibilità di utilizzare keypoint detector 2D o 3D e unicamente descriptor 3D. In figura 5.1 è possibile vedere le pipeline di processo utilizzate. Le linee verdi identificano il momento nel processo in cui avviene la proiezione necessaria per passare da pixel a punti 3D. É chiaro come rilevare i keypoints in 3D e descriverli in 2D non risulta avere molto senso.

Figura 5.1: Schema di funzionamento per i programmi che utilizzano registrazioni features based.

Il carico computazionale del software implementato sarà, per l’utilizzo di algo- ritmi 3D, necessariamente più elevato e quindi l’intero processo più lento. D’altra parte però, utilizzare le informazioni di forma può migliorare l’accuratezza della ricostruzione di una scena come sopra spiegato.

Documenti correlati