The emergence of new optical indoor positioning technologies facilitates a variety of new applications in the guidance of individuals, machines or tools in every indoor environment. Once an individual or object is equipped with a mobile camera, its position can be determined instantaneously with accuracies up to the millimetre range. However, most optical indoor positioning systems are at a development stage. The aim of this work is the development of an automatic, inexpensive and mobile Camera and Laser-Based Indoor Positioning System (CLIPS), which is capable of providing continuous positions and orientations of a mobile camera with respect to a stationary laser projector for each indoor environment. Additionally, high precision mechanics, sophisticated set-ups and additional infrastructure like coded targets on the wall are avoided to simplify its application and to decrease the set-up time to 10 minutes or less.
The CLIPS system consists of a laser projector and a mobile camera. With CLIPS, the projector is designed to project a reference field of 16 red and 36 green laser spots on any surface in an indoor environment. If the camera captures the reference field, the camera’s position and orientation can be estimated with respect to the projector by means of stereo image processing and resection. Because of the radial arrangement of the red laser pointers, no metric information is provided to estimate the absolute camera orientation. Therefore, the metric scale has to be introduced separately. The introduction of a metric scale is realized by additional eccentric arranged green laser pointers with a known offset of about 25 cm to the projector origin.
To estimate accurately the camera pose with respect to the projector, both devices must be calibrated. Here, the camera calibration with the interior orientation and lens distortion is automatically estimated according to Brown’s model (Brown, 1968). The major challenge lies in the projector calibration. For the reconstruction of the laser bundle, the projector has a static set-up in front of a surface where the laser beams are projected on. The surface is then subsequently shifted. At each location, three-dimensional coordinates of the laser spots are determined by a theodolite measurement system such as Leica Axys or photogrammetric measurements. For each laser pointer, a line with an initial point and a direction vector can be derived via a principle component analysis. Additionally, the apparent intersection point is estimated. Finally, the laser beam directions are described by spherical coordinates and a small offset vector to the apparent intersection point.
Before a camera pose can be estimated, the recognition of each laser spot and its assignment to the corresponding laser beam becomes necessary to generate corresponding point pairs for the camera pose estimation. Firstly, regions of interest are determined via a simple colour channel combination. Disturbing sources like lamps or illumination by daylight are excluded and purely red or green areas remain. Having determined these regions of interest (ROI’s) for the red and green laser spots, a template matching is applied to evaluate the region’s shape and intensity distribution. If a region is labelled as a laser spot, the centroids are derived by weighted centroid estimation. The identification is solved via a colour-coded approach by exploiting the pattern of the red and green laser spots.
The pose estimation is a two-staged approach. Due to the abundance of approximate values for the first camera location, a simple initialization in a previously defined octant of the projector coordinate system becomes necessary. In this octant, a set of approximate values is generated and refined by a least squares adjustment and finally, the correct pose is selected. Since the relative orientation can be estimated only up to scale, the metric scale is determined by the additional eccentric arranged green laser spots. Afterwards, 3d spot coordinates are calculated via intersection. For consecutive camera locations, approximate values for the camera pose are predicted via Kalman filtering. These approximate values are refined by a least squares resection, to obtain the camera pose. Although, the metric scale is incorporated by a resection, the metric scale is separately determined for each camera pose to refine the 3d laser spot coordinates.
Currently, CLIPS is able to provide camera positions and orientations with an update rate of 10 Hz. With the current instrumental realization, the camera pose can be estimated with accuracies in the cm-range. To increase the positioning accuracy to the mm-range, alternative approaches must be considered like the application of laser distance meters or the measurement of a scale bar. Further, the reproducibility of a camera position is already in the sub-mm range.