Viewpoint estimation in three-dimensional images taken with perspective range sensors

With the introduction of long range, wide angle, laser-based range sensors, three-dimensional images are becoming more and more available to the scientific community and to the general public. On the Internet one can already find collections of three-dimensional models made of polygons, or raw three-dimensional images consisting of a matrix of 3D points. Sometimes these images merely consist of a point cloud arranged as a matrix, so that neighbour relations exist, but there is no information available about the sensor: field of view, angular resolution, viewpoint, etc. This latter information, the viewpoint, is probably the most important one since, as we assume the 3D coordinates of the point cloud and neighbourhood relationships between points in the 3D image are known, knowing the viewpoint allows us to infer other information, such as the aperture of the field of view, sensor orientation or angular resolution. It also allows deduction of occlusion relationships, rejection of outliers, etc. 3D images, like intensity images, are noisy \cite{Hebert92}. For example the 3D coordinates of the points may be computed by reading in information from the line scanning device (which deflects the laser beam horizontally by rotating a mirror), or from the tilt head (which modifies the azimuth angle of the rotation mirror). If the readings from the motor encoders are mistaken, it may result in a big angular drift of the points being scanned. The depth may be correct, but the point location in space is not. If we know the viewpoint, we can predict the pan (tilt) angle of each column (row) and discard or correct outliers, that is, put drifted points back in place. In this work we assume the 3D image has been taken with a central-projection, that is, all rays starting from the centre of the mirror.