The first thing we need is to calculate the world coordinates of each point using the distance information delivered by the camera. For this purpose we just need a few geometric considerations.
The camera is placed in front of a wall. We get a set of points distributed around an ideal plane (the wall).
Each point has distance di to the ideal plane.
The ideal plane is calculated by using a least squares algorithm. This ideal plane minimize the sum of the squares of the di (for the implementation see ls.cc and ls.h). This ideal plane is defined by a point P0(x0,y0,z0) (mean of the points from the measure set) and a normal vector (a,b,c). The standard deviation is then calculated as the square root of the mean of the squares of the di.
To check the relevance of the standard deviation we made a sequence of measures with the same configuration. As we can see in the next picture the standard deviation has a very low variance and can be considered as a pertinent way to evaluate the relative precision of the PMD Camera.
Due to technical limitations we limited our measures to a range [900mm,2200mm].
To compare we can see in the next picture a few results from [reulke] with the PMD[vision]® 19k. We can notice that for equivalent distances the standard deviation of the PMD[vision]® 19k seems to be lower than the one of the PMD[vision]® 3k-S.
Increasing the integration time should increase the accuracy of the data, since it increases the SNR (Signal to Noise Ratio). The statistical uncertainty of the measure in inversely proportional to the SNR:
But the results we obtain are very unexpected. First of all the PMD 3k-S works with a much lower integration time than the PMD 19k. This is due to the SBI (Suppression of Background Illumination) of the 3k-S which allow to increase considerably the SNR at low integration times. We observe around 5000µs an unexplained increase of the standard deviation.
Our idea was to take for each pixel the mean over a set of several measures. It is a way to increase "virtually" the integration time and to avoid saturation effects in the sensor. The results show that this algorithm does not reduce the standard deviation. Some physical limitations may be responsible. The next figure show the standard deviation in function of the number of measures used to calculate the mean.
Changing properties in the object texture may influence the accuracy of the data. If for some pixels the amplitude of the reflected signal is too low, the evaluated value of the distance may be very inaccurate. We can see this effect in the next two pictures. A chess game is hanging on the wall. The first picture show that the distance of the black squares is not the same than the one of the white ones! On the second picture you can see the amplitude received by the PMD camera for each pixel.
Antoine Mischler, 28-02-2007
Scanning real world objects without worries, TU-Berlin