I sensori di profondità sono dispositivi comuni sui robot moderni. Essi forniscono al robot informazioni sulla distanza e sulla forma degli oggetti nel loro campo di visione, permettendogli di agire di conseguenza. In particolare, l’arrivo negli ultimi anni di sensori RGB-D di consumo come Microsoft Kinect, ha favorito lo sviluppo di algoritmi per la robotica basati su dati di profondità. Di fatto, questi sensori sono in grado di generare una grande quantità di dati ad un prezzo relativamente basso. In questa tesi vengono affrontati tre diversi problemi riguardanti la calibrazione di sensori di profondità. Il primo contributo originale allo stato dell’arte è un algoritmo per stimare l’asse di rotazione di un laser range finder (LRF) 2D montato su un supporto rotante. La differenza chiave con gli altri approcci è l’utilizzo di vincoli punto-piano derivanti dalla cinematica per stimare la posizione del LRF rispetto ad una videocamera fissa, e l’uso di una screw decomposition per stimare l’asse di rotazione. La corretta ricostruzione di una stanza dopo la calibrazione valida l’algoritmo proposto. Il secondo e più importante contributo originale di questa tesi è un algoritmo completamente automatico per la calibrazione di sensori di profondità a luce strut- turata (ad esempio Kinect). La chiave di questo lavoro è la separazione dell’errore di profondità in due componenti, entrambe corrette pixel a pixel. Questa separa- zione, validata da osservazioni sperimentali, permette di ridurre sensibilmente il numero di parametri nell’ottimizzazione finale e, di conseguenza, il tempo neces- sario affinché la soluzione converga al minimo globale. Il confronto tra le immagini di profondità di un test set, corrette con i parametri di calibrazione ottenuti, e quelle attese, dimostra che la differenza tra le due è solamente di una quantità ca- suale. Un’analisi qualitativa della fusione tra dati di profondità e RGB conferma ulteriormente l’efficacia dell’approccio. Inoltre, un pacchetto ROS per calibrare e correggere i dati generati da Kinect è disponibile open source. Il terzo contributo riportato nella tesi è un nuovo algoritmo distribuito per la calibrazione di reti composte da videocamere e sensori di profondità già calibrati. Un pacchetto ROS che implementa l’algoritmo proposto è stato rilasciato come parte di un grande progetto open source per il tracking di persone: OpenPTrack. Il pacchetto sviluppato è in grado di calibrare reti composte da una decina di sensori in tempo reale (non è necessario processare i dati in un secondo tempo), sfruttando vincoli piano-piano e un’ottimizzazione non lineare.

A non-parametric Calibration Algorithm for Depth Sensors Exploiting RGB Cameras

BASSO, FILIPPO
2015

Abstract

I sensori di profondità sono dispositivi comuni sui robot moderni. Essi forniscono al robot informazioni sulla distanza e sulla forma degli oggetti nel loro campo di visione, permettendogli di agire di conseguenza. In particolare, l’arrivo negli ultimi anni di sensori RGB-D di consumo come Microsoft Kinect, ha favorito lo sviluppo di algoritmi per la robotica basati su dati di profondità. Di fatto, questi sensori sono in grado di generare una grande quantità di dati ad un prezzo relativamente basso. In questa tesi vengono affrontati tre diversi problemi riguardanti la calibrazione di sensori di profondità. Il primo contributo originale allo stato dell’arte è un algoritmo per stimare l’asse di rotazione di un laser range finder (LRF) 2D montato su un supporto rotante. La differenza chiave con gli altri approcci è l’utilizzo di vincoli punto-piano derivanti dalla cinematica per stimare la posizione del LRF rispetto ad una videocamera fissa, e l’uso di una screw decomposition per stimare l’asse di rotazione. La corretta ricostruzione di una stanza dopo la calibrazione valida l’algoritmo proposto. Il secondo e più importante contributo originale di questa tesi è un algoritmo completamente automatico per la calibrazione di sensori di profondità a luce strut- turata (ad esempio Kinect). La chiave di questo lavoro è la separazione dell’errore di profondità in due componenti, entrambe corrette pixel a pixel. Questa separa- zione, validata da osservazioni sperimentali, permette di ridurre sensibilmente il numero di parametri nell’ottimizzazione finale e, di conseguenza, il tempo neces- sario affinché la soluzione converga al minimo globale. Il confronto tra le immagini di profondità di un test set, corrette con i parametri di calibrazione ottenuti, e quelle attese, dimostra che la differenza tra le due è solamente di una quantità ca- suale. Un’analisi qualitativa della fusione tra dati di profondità e RGB conferma ulteriormente l’efficacia dell’approccio. Inoltre, un pacchetto ROS per calibrare e correggere i dati generati da Kinect è disponibile open source. Il terzo contributo riportato nella tesi è un nuovo algoritmo distribuito per la calibrazione di reti composte da videocamere e sensori di profondità già calibrati. Un pacchetto ROS che implementa l’algoritmo proposto è stato rilasciato come parte di un grande progetto open source per il tracking di persone: OpenPTrack. Il pacchetto sviluppato è in grado di calibrare reti composte da una decina di sensori in tempo reale (non è necessario processare i dati in un secondo tempo), sfruttando vincoli piano-piano e un’ottimizzazione non lineare.
30-lug-2015
Inglese
Calibrazione/Calibration, Kinect, Depth Sensor, Camera, Intrinsic Parameters, Laser Range Finder, RGB-D
Università degli studi di Padova
140
File in questo prodotto:
File Dimensione Formato  
thesis.pdf

accesso aperto

Dimensione 23.21 MB
Formato Adobe PDF
23.21 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/118232
Il codice NBN di questa tesi è URN:NBN:IT:UNIPD-118232