Capturing Time-of-Flight Data with Confidence
OverviewTime-of-Flight cameras provide high-frame-rate depth measurements within a limited range of distance. These readings can be extremely noisy and display errors not present with other scanning technologies, for instance, where scenes contain depth discontinuities or materials with low infrared reflectivity. Previous works have treated the amplitude of each Time-of-Flight sample as a measure of confidence. In this paper, we demonstrate the shortcomings of this common lone heuristic, and propose an improved per-pixel confidence measure using a Random Forest regressor trained with real-world data. Using an industrial laser scanner for ground truth acquisition, we evaluate our technique on data from two different Time-of-Flight cameras. We argue that an improved confidence measure leads to superior reconstructions in subsequent steps of traditional scan processing pipelines. At the same time, data with confidence reduces the need for point cloud smoothing and median filtering.
Data and CodeIf you find the following useful, please cite our CVPR paper.
ToF + Laser Scan data version 1.1
This dataset contains various ToF scenes, some of which have Laser scans to allow ground truth depth to be computed. This training data was used to generate the results in the paper.
[ToF + Laser Data]
Matlab Random Forest bindings
In the paper we used the OpenCV implementation of Random Forests for all our experiments. Matlab bindings for the OpenCV Random Forests are available at Github. Please pay attention to the Readme!
Feature Extraction & Confidence computation code
This code takes as input as frame from a Camcube and produces a per-point confidence measure. Requires matlab, opencv, and training data - see the readme.txt for full details.
[Confidence computation code]
This is a sample training set for those who do not wish to capture their own or perform their own calibration on the above data. [Camcube Training Set]
Contact: M.Reynolds (@) cs.ucl.ac.uk