A New Point Matching Algorithm for Panoramic Reflectance Images Zhizhong Kang*a, Sisi Zlatanovab a Faculty of Aerospace Engineering, Delft University of Technology, Kluyverweg 1, 2629 HS Delft, The Netherlands b OTB Research Institute for Housing, Urban and Mobility Studies, Delft University of Technology Jaffalaan 9, 2628 BX Delft, The Netherlands ABSTRACT Much attention is paid to registration of terrestrial point clouds nowadays. Research is carried out towards improved efficiency and automation of the registration process. The most important part of registration is finding correspondence. The panoramic reflectance images are generated according to the angular coordinates and reflectance value of each 3D point of 360° full scans. Since it is similar to a black and white photo, it is possible to implement image matching on this kind of images. Therefore, this paper reports a new corresponding point matching algorithm for panoramic reflectance images. Firstly SIFT (Scale Invariant Feature Transform) method is employed for extracting distinctive invariant features from panoramic images that can be used to perform reliable matching between different views of an object or scene. The correspondences are identified by finding the nearest neighbors of each keypoint form the first image among those in the second image afterwards. The rigid geometric invariance derived from point cloud is used to prune false correspondences. Finally, an iterative process is employed to include more new matches for transformation parameters computation until the computation accuracy reaches predefined accuracy threshold. The approach is tested with panoramic reflectance images (indoor and outdoor scenes) acquired by the laser scanner FARO LS 880.

1

Keywords: Point matching, panoramic, reflectance image, scale invariant feature transform, Delaunay triangulation, point cloud, registration

1. INTRODUCTION Presently, laser scanning techniques are used in numerous areas, such as object modelling (Hahnel et al., 2003), 3D object recognition (Johnson et al., 1999), 3D map construction (Huber et al., 2003), and simultaneous localization and map building (SLAM) (Surmann et al., 2003). One of the largest problems in processing of laser scans is the registration of different point clouds. Due to limited field of view, usually a number of scans have to be captured from different viewpoints to be able to cover completely the object surface. As well known, single scans obtained from different scanner positions are registered to a local coordinate frame defined by the instrument. Therefore the scans must be transformed into a common coordinate frame for data processing. This process is known as registration. Actually point cloud registration determines the transformation parameters bringing one data set into alignment with the other. The transformation parameters are computed by finding correspondences between different data sets representing the same shape from

* [email protected]; phone 31 15 278-8338; fax 31 15 278-2348

different viewpoints. Since the size of point clouds is usually pretty large, finding the best correspondence is a hard task. Commercial software typically uses separately scanned markers to help the identification corresponding points. Some vendors (e.g. Leica) have implemented algorithms (e.g. ICP (Besl et al, 1992)) allowing registering without markers but still the corresponding points have to be selected manually. Presently, great effort is given to approaches based on segmentation of laser scan points and consequent matching of extracted features (Bae and Lichti, 2004; Mian et al., 2004; Liu and Hirzinger, 2005; Rabbani and van den Heuvel, 2005). Features are derived from the point clouds and matched in a semi-automatic or automatic way. Multiple views are often considered. Normally, this is a two-steps approach: coarse and fine matching. The coarse matching is the more difficult problem to solve because of the pre-alignment of complex-formed surfaces, which can be rather distantly positioned in 3D space. Fine matching can be performed accurately using either the ICP method or the least square surface matching method. In general, feature-based methods might face problems processing large point clouds. When the size of point clouds becomes huge, e.g. scans for outdoor scenes, the computation time for point cloud segmentation increases remarkably, which may require specific hardware. Moreover, point cloud registration based on feature-based methods may fail in cities where many planar patches are extracted. Dold and Brenner, 2006, have illustrated that directions of normal vectors (of planar patches) are mostly two, i.e. perpendicular to the facades (for the buildings) and to the streets. However, a reliable determination of the transformation parameters is possible, only if the normal vectors of three planar patches are perpendicular to each other (Dold and Brenner, 2006). If only two planar patches are considered, the translation parameters are weakly determined, since two planar patches are insufficient to compute the respective angles. The rotation parameters can still be derived because it is not influenced by the lack of a third perpendicular plane. The approach presented in this paper is inspired by new developments in laser scan technology, i.e. a combination of geometric and radiometric sensors. In the last several years, many scanners have been equipped with image sensors. The 3D information captured by the laser scanner instrument is complemented with digital image data. Because of the generally higher resolution, optical images offer new possibilities in the discrete processing of point clouds. Several researchers have reported investigations in this area (Roth, 1999; Wyngaerd and Gool, 2002; Wendt, 2004; Dold and Brenner, 2006). Roth’s and Wyngaerd and Gool’s methods are similar to ours because they also use feature points based on texture. The difference is that Roth uses only the geometry of 3D triangles for matching and Wyngaerd and Gool use color texture information to drive the matching. 360° full scans are practically made to reduce the number of stations for scan and register in a high efficient way. As a result, the panoramic reflectance images are generated according to the angular coordinates and reflectance value of each 3D point of 360° full scans. It is quite difficult to make any assumptions on the set of possible correspondences for a given feature point as panoramic reflectance images are normally acquired from substantially different viewpoints and moreover the panoramic stereo pair doesn’t simply follow the left-and-right fashion. This paper presents a new point matching algorithm for panoramic reflectance images. The approach follows three steps: extracting distinctive invariant features, identifying correspondences, pruning false correspondences by rigid geometric invariance. An iterative corresponding process is used to acquire more new matches can be included for transformation parameters computation to reach predefined accuracy threshold. Next section presents a detail description of the approach. Section 3 presents the tests and discusses the results. Section 4 concludes this paper.

2. METHODOLOGY The proposed method consists of three general steps: extracting distinctive invariant features, identifying correspondences, pruning false correspondences by rigid geometric invariance. The last two steps are iterative by using computed transformation parameters between two point clouds behind the panoramic image pair, so that more new matches can be included for transformation parameters computation to reach predefined accuracy threshold. In this paper, the correspondence between image points (pixels) of two overlapping images is called pixel-to-pixel, the correspondence between image points and 3D points of a laser scan is pixel-to-point, and the correspondence between 3D points in two lasers scans is point-to-point correspondence (Fig. 1).

Fig.1. Correspondence map

The following sections explain in detail the algorithms used in the iterative process. 2.1 Extracting distinctive invariant features Panoramic reflectance images, as we know, are normally acquired from substantially different viewpoints and moreover the panoramic stereo pair doesn’t simply follow the left-and-right fashion. Therefore, it is quite difficult to make assumptions on the set of possible correspondences for a given feature point extracted by normal corner detectors. We use SIFT method (Lowe, 2004) to tackle this problem in this paper. SIFT is a method for extracting distinctive invariant features from images that can be used to perform reliable matching between different views of an object or scene. The features are invariant to image scale and rotation, and are shown to provide robust matching across a substantial range of affine distortion, change in 3D viewpoint, addition of noise, and change in illumination. The features are highly distinctive, in the sense that a single feature can be correctly matched with high probability against a large database of features from many images. Following are the major stages of computation used to generate the set of distinctive invariant features (Lowe, 2004): 2.1.1. Scale-space extrema detection The first stage of computation searches over all scales and image locations. It is implemented efficiently by using a difference-of-Gaussian function to identify potential interest points that are invariant to scale and orientation. 2.1.2. Keypoint localization At each candidate location, a detailed model is fit to determine location and scale. Keypoints are selected based on

measures of their stability. 2.1.3. Orientation assignment One or more orientations are assigned to each keypoint location based on local image gradient directions. All future operations are performed on image data that has been transformed relative to the assigned orientation, scale, and location for each feature, thereby providing invariance to these transformations. 2.1.4. Keypoint descriptor The local image gradients are measured at the selected scale in the region around each keypoint. These are transformed into a representation that allows for significant levels of local shape distortion and change in illumination. 2.2 Identifying correspondence The invariant descriptor vector for the keypoint is given as a list of 128 integers in range [0,255]. Keypoints from a new image can be matched to those from previous images by simply looking for the descriptor vector with closest Euclidean distance among all vectors from previous images. In this paper, the strategy presented in (Lowe, 2004) is employed to identify matches by finding the 2 nearest neighbors of each keypoint from the first image among those in the second image, and only accepting a match if the distance to the closest neighbor is less than 0.8 of that to the second closest neighbor. The threshold of 0.8 can be adjusted up to select more matches or down to select only the most reliable. Please reference (Lowe, 2004) for the justification behind the determination of threshold of 0.8. However, this strategy will identify false matches from panoramic reflectance images covering buildings, as building facades are likely to have repetitive patterns. For tackling this problem, the rigid geometric invariance derived from point cloud is used to prune false correspondences. 2.3 Pruning false correspondences by rigid geometric invariance After the identification of matches, according to the 2D feature points in images, 3D corresponding points are taken from the laser scans on the basis of the known pixel-to-point correspondence. In the local coordinate systems of different point clouds, Euclidean distance between each two corresponding point pairs is clearly invariant (Fig. 2). Namely, if point A and A’, B and B’, C and C’ are corresponding points respectively, the distances between the points should equal (e.g. SAB = SA’B’ ).

Fig.2. Distance invariance

It is theoretically possible to verify every two point pairs for distance invariance; however, this process may increase the computation time. To avoid this, we construct Delaunay Triangulated Irregular Network (TIN) and use the relations between the points in the triangles to decide on the distances. The TIN model is selected because of its simplicity and

economy. It is also quite efficient alternative to the regular raster of the GRID model. Delaunay triangulation is a proximal method that satisfies the requirement that a circle drawn through the three nodes of a triangle contain no other node (Weisstein, 1999). As constructed for 3D corresponding points, the TIN model is only necessary to be constructed in one scan. Consequently, only those point pairs connected in TIN model will be verified for distance invariance. The distance invariance error is estimated by error propagation law (e.g. Yu et al., 1989) according to the location error of each two corresponding point pairs. The difference between two distances is computed according to Eq. (1).

YDI =

( X A − X B )2 + (Y A − YB )2 + (Z A − Z B )2

−

( X A′ − X B′ )2 + (Y A′ − YB′ )2 + (Z A′ − Z B′ )2

(1)

X i , Yi , Z i are the 3D coordinates of a point, where i, i designates A , B, A’ and B’ respectively;

The location error of point i is determined by the laser scanner accuracy. As Boehler (Boehler et al., 2003) has pointed out, the laser scanner accuracy depends on many factors angular accuracy, range accuracy, resolution, edge effects and so on. Among all, angular and range accuracy are mostly used for a laser-scanning instrument. Here we also use them to estimate the location error. If the coordinates of a point i are computed by a range value Ri , horizontal angle ϕ i and vertical angle θ i , the location accuracy is then determined by angular σ θ and σ ϕ and range accuracies σ R , as derived from the

following equation: X i = Ri cos θ i cos ϕi Yi = Ri cos θ i sin ϕ i Z i = Ri sin θ i

(2)

In general, σ R , σ θ and σ ϕ can be considered as constant per a laser scanner. Laser scanners for distances up to 100 m show about the same range accuracy for any instrument (Boehler et al., 2003). As a result, range accuracy can be considered as an invariant for the whole point cloud because scanned targets of terrestrial laser scanner are usually within 100m. Three times of error of distance invariance is chosen as threshold to determine the correct correspondence in our approach, i.e.: YDI < 3σ DI

(3)

Where, σ DI is the distance variance error which is computed by Eq. (1) with respect to the error propagation. σ DI is related to each of the two corresponding pairs, therefore the threshold chosen here is self-adaptive instead of a

constant. If the above condition is satisfied, those two point pairs are considered as corresponding. 2.4 Iterative corresponding process As mentioned earlier, it is likely to identify false matches from panoramic reflectance images covering buildings using only invariant descriptor vector for the keypoint. Those false matches are pruned in previous section by rigid geometric invariance. In this section, we discuss how to find more correct matches by iterative corresponding process. After pruning false correspondences, only correct matches are kept. A least-square adjustment, based on correct matches, computes the six transformation parameters (defining rotation and translation) between two point clouds behind the panoramic reflectance image pair. Using the transformation parameters computed in a previous iteration, the

correspondences in the image pair can be better predicted which results in increased number matched points. The new matches are included in the computation of new transformation parameters. The iterative process continues until the transformation parameters reach predefined accuracy threshold. 2.4.1 Computation of transformation parameters As well know, single scans from different scan positions are registered in a local coordinate frame defined by the instrument. Using corresponding points detected at previous step, it is possible to compute transformation parameters between deferent coordinate frames and thus register the two point clouds. The computation procedure is quite trivial. Eq. (4) (e.g. Wang, 1990) is employed to calculate the needed six transformation parameters separated in rotation and translation. X ′ X T X ′ Y = R Y + TY Z ′ Z TZ

Where,

X Y Z

and

X ′ ′ Y Z ′

:

Coordinates

of

corresponding

(4)

points

in

left

and

right

images

respectively; a1 R = b1 c1

a2 b2 c2

a3 b3 : Rotation matrix computed by rotation parameters Φ, Ω, Κ ; c3

T X TY : Translation parameters. TZ

The least-square parameter adjustment for absolute orientation in photogrammetry (e.g. Wang, 1990; Mikhail et al., 2001) is used based on Eq. (4) to solve least-square optimized values of transformation parameters. Iterative process is implemented to acquire higher accuracy because error equations have been linearised. It should be noticed that after the outlier detection, the wrong matched points are removed and the transformation parameters are computed only with the correct ones. However, the outlier detection may remove many points and the transformation parameters will be determined from very few points. Therefore, these parameters cannot be considered final. To be able to improve the transformation parameters, more points appropriate for matching have to be found. The candidate points are searched amongst the keypoints already extracted in section 2.1. Therefore an iterative process is implemented. 2.4.2 Corresponding point prediction Using the initial transformation parameters, the position of corresponding points in one image (The right one in this paper) can be predicted based on the extracted feature points in the other (The left one in this paper). As mentioned above, all the points on the left image, extracted by the feature point extraction algorithm are used in the iterative process. As presented earlier, based on image coordinate (x, y) of feature point in the left image, we can acquire the coordinate (X, Y, Z) of corresponding 3D point of left scan. Using the initial transformation parameters, the coordinate (X’, Y’, Z’) in right scan

can be calculated from (X, Y, Z). The image coordinates (x’, y’) corresponding to (X’, Y’, Z’) are certainly the expected position of corresponding point in right image. Thereafter, a certain region centered at (x’, y’) is determined for searching exact corresponding point. Each iteration accordingly consists of four steps, i.e. corresponding point prediction using transformation parameters computed from previous iteration, identifying correspondences, pruning false matches and transformation parameters computation. This iterative process ensures matching of larger number of points and reasonable distribution of corresponding point, which leads to improved values of the transformation parameters. The iterative process continues until the RMS error of transformation parameters computation satisfies a given threshold. This threshold is in the range of millimeter and is determined with respect to the range accuracy of the scanner.

3. RESULTS The approach is tested with several panoramic reflectance image pairs generated from point clouds (indoor and outdoor scenes) acquired by FARO LS 880 (Fig. 3). The angular resolution selected for FARO LS 880 is 0.036° in both of horizontal and vertical directions which is a quarter of full resolution the instrument claims. Dataset 1 is acquired for the office environment and Dataset 2 is scanned for outside buildings. The proposed method was implemented in C++. All the tests are performed on a PC with CPU Intel Pentium IV 3 GHZ and 1 GB RAM.

a. Indoor

b. Outdoor

Fig.3. Tested point clouds.

The information about the tested point clouds is listed in Table 1. Table 1. The information about tested point clouds

Point cloud Dataset 1~2

Angular resolution Horizontal Vertical 0.036° 0.036°

Angular accuracy

Range accuracy

Image Angular resolution

18µm+3µm/m

±3mm

0.036°

In the paper, for accuracy comparison the distances between corresponding points were measured. As mentioned previously, the panoramic reflectance images are generated with respect to the angular coordinates and reflectance value of every 3D point of point cloud. Usually the reflectance image is used to get a photo-realistic impression of the scanned area. Since it is similar to a black and white photo and therefore does not require much experience to interpret, some applications of image matching and texture mapping, based on this kind of images, are carried out in traffic construction analysis (Kretschmer et al., 2004) and tree species recognition (Haala, 2004).

3.1 Indoor data set In the reflectance images of FARO LS 880 (Fig. 4), the pixel-to-point correspondence is straightforward and corresponding 3D points are readily available in the data file.

Fig.4 Corresponding points identified by nearest neighbor searching

As presented in Section 2, SIFT method was used to extract distinctive invariant features from panoramic images and matches were identified from keypoints by looking for the descriptor vector with closest Euclidean distance. 655 corresponding point pairs were identified (Fig.4), however many are false accepted. The rigid geometric invariance derived from point cloud was accordingly used to prune false correspondences. Strict threshold was employed to ensure only correct matches can be remained. As a result, only 99 correct corresponding points (Fig.5) were kept against 655 shown in Fig.4. Trying to include more new matches, as presented in Section 2.4, we used an iterative corresponding process to ensure matching of larger number of points and reasonable distribution of corresponding point. As Fig.6, 676 corresponding point pairs were acquired after iterative process and 99% of them are correct. The registration of Dataset 1 was implemented with those correct corresponding points. The registration accuracy is 1.1mm after 2 iterations and average distance between corresponding points is 2.7mm as shown in Table 2. Both are the order of millimeter. The whole process of our method cost 5 minutes. Table 2 Result of proposed method on indoor datasets

n1 RMS Max Min AVG Time i n2 (m) (m) (m) (m) (min) 11987424 Data set 1 2 0.0011 0.0351 0.0002 0.0027 5 11974976 Please note, all the notations in the tables are the same, i.e. ni is the total number of points of Dataset 1. i is the number of Proposed method

total iterations. RMS is the accuracy of registration computed from the least-square parameter adjustment based on Eq. (4). Max, Min and AVG are respectively the maximum, minimum and average distance between 3D corresponding point pairs after registered in a common coordinate frame.

Fig.5 Corresponding points kept after pruning from Dataset 1

Fig.6 Corresponding points acquired after iterative corresponding process

3.2 Outdoor data set Dataset 2 consists of two point clouds of outside building. As Fig.7, the building facade has repetitive pattern, therefore, few corresponding points on the facade were kept after pruning false matches. By iterative matching process, plenty of correct corresponding point pairs on the facade were identified and the distribution of matches becomes even in the

panoramic images (Fig.8). The registration result is listed in Table 3. The RMS is 4.4mm and average distance between corresponding points is 4.8 mm. The whole process completed in 6 minutes after only 2 iterations. Table 3 Result of proposed method on outdoor dataset

Proposed method Dataset 2

n1 n2 16726500 16713375

i

RMS (m)

Max (m)

Min (m)

AVG (m)

Time (min)

2

0.0044

0.0430

0.0008

0.0048

6.0

Fig.7. Corresponding points kept after pruning from Dataset 2

Fig.8 Evenly distributed corresponding points on building façade after iterative corresponding process

4. CONCLUSIONS In this paper, a new point matching algorithm for panoramic reflectance images is presented and tested with several data sets. The approach follows three general steps: extracting distinctive invariant features, identifying correspondences, pruning false correspondences by rigid geometric invariance. An iterative corresponding process is used to acquire more

new matches can be included for transformation parameters computation to reach predefined accuracy threshold. The point cloud registration implemented by corresponding points matched from panoramic reflectance images is able to acquire the accuracy of millimetre order. It is proven by the experiments that our algorithm is able to work without assuming any prior knowledge of the transformation between these images. To use the presented point matching algorithm there should be sufficient, i.e. at least 20% to 30%, overlap between image pairs. This degree of overlap is not difficult to ensure when collecting panoramic reflectance images.

REFERENCE 1. Hahnel, D., Thrun , S., Burgard, W., “An extension of the ICP algorithm for modelling nonrigid objects with mobile robots”. Proceedings of the International Joint Conference on Artificial Intelligence, 915–920 (2003). 2. Johnson, A. and Hebert, M., “Using spin images for efficient object recognition in cluttered 3D scenes”. IEEE Trans. PAMI 21, 433–449 (1999). 3. Huber, D., and Hebert, M., “Fully automatic registration of multiple 3D data sets”. IVC 21, 637–650 (2003). 4. Surmann, H, Nuchter, A. and Hertzberg, J., “An autonomous mobile robot with a 3D laser range finder for 3D exploration and digitalisation of indoor environment”. Rob. Autonomous Syst. 45, 181–198 (2003). 5. Besl, P. J. and McKay, N. D., “A method for registration of 3-D shapes”. IEEE Transactions on Pattern Analysis and Machine Intelligence 14(2), 239–256 (1992). 6. Bae, K.-H. and Lichti, D. D., “Automated registration of unorganised point clouds from terrestrial laser scanners”. In: International Archives of Photogrammetry and Remote Sensing, Vol. XXXV, Part B5, Proceedings of the ISPRS working group V/2, Istanbul, 222–227 (2004). 7. Mian, A. S., Bennamoun, M. and Owens, R., “Matching tensors for automatic correspondence and registration”. In: Lecture Notes in Computer Science, Computer Vision- ECCV 2004, Vol. 3022, 495 – 505 (2004). 8. Liu, R. and Hirzinger, G., “Marker-free automatic matching of range data”. In: R. Reulke and U. Knauer (eds), Panoramic PhotogrammetryWorkshop, Proceedings of the ISPRS working group V/5, Berlin (2005). 9. Rabbani, T, van den Heuvel, F., “Automatic point cloud registration using constrained search for corresponding objects”. Proceedings of 7th Conference on Optical 3-D Measurement Techniques, October 3-5, 2005, Vienna, Austria, Part 1, 177-186 (2005). 10. Dold, C. and Brenner, C., “Registration of terrestrial laser scanning data using planar patches and image data”. In: H.-G. Maas, D. Schneider (Eds.), ISPRS Comm. V Symposium “Iamge Engineering and Vision Metrology”, IAPRS Vol. XXXVI Part. 5, 25-27. September, Dresden, 78-83 (2006). 11. Roth, G., “Registering two overlapping range images”. Proceedings of the Second International Conference on Recent Advances in 3-D Digital Imaging and Modeling (3DIM'99), Ottawa, Ontario, Canada. October 4-8, 1999. 191-200 (1999). 12. Wyngaerd, J. V. and Van Gool, L., “Automatic Crude Patch Registration: Toward Automatic 3D Model Building”. Computer Vision and Image Understanding, vol. 87(1-3):8-26 (2002). 13. Wendt, A., “On the automation of the registration of point clouds using the metropolis algorithm”. In: International Archives of Photogrammetry and Remote Sensing, Vol. XXXV, Part B3, Proceedings of the ISPRS working group III/2, Istanbul, 106–111 (2004).

13. Lowe, D. G., “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, 60, 2, 91-110 (2004). 14. Weisstein, Eric W., 1999. “Delaunay triangulation.” From MathWorld – A wolfram Web Resource. http://mathworld.wolframe.com/DelaunayTriangulation.html. 15. Yu, Z. and Yu Z, Principles of survey adjustment. Publishing House of WTUSM, Wuhan, China, 22-30, 1989. 16. Boehler, W., Vicent, M. Bogas and Marbs, A, “Investigating laser scanner accuracy”. Proceedings of CIPA XIXth International Symposium, 30 Sep. – 4 Oct., Antalya, Turkey, 696-702 (2003). 17. Wang, Z., Principles of Photogrammetry, Surveying and Mapping Press, Beijing, China, 80-82, 1990. 18. Mikhail, Edward M., Bethel, James S., and McGlone, J. Chris, “Introduction to Modern Photogrammetry”, John Wiley & Sons, Inc., New York. ISBN 0-471-30924-09, 121 – 123 (2001). 19. Kretschmer, U, Abmayr, T., Thies, M. and Frohlich, C., “Traffice construction analysis by use of terrestrial laser scanning”. Proceedings of the ISPRS working group VIII/2: “Laser Scanners for Forrest and Landscape Assessment”, Vol. XXXVI, Part 8/W2, 232-236 (2004). 20. Haala, N., Reulke, R., Thies, M. and Aschoff, T., Combination of terrestrial laser scanning with high resolution panoramic images for investigations in forest applications and tree species recognition. In: H.-G. Maas, D. Schneider (Eds.), ISPRS working Group V/1 Symposium “Panoramic Photogrammetry Workshop”, IAPRS Vol. XXXIV Part 5/W16 (2004).

ACKNOWLEDGEMENT This research was supported by the BSIK Project of The Netherlands “Virtual reality for urban planning and safety”.

1

Keywords: Point matching, panoramic, reflectance image, scale invariant feature transform, Delaunay triangulation, point cloud, registration

1. INTRODUCTION Presently, laser scanning techniques are used in numerous areas, such as object modelling (Hahnel et al., 2003), 3D object recognition (Johnson et al., 1999), 3D map construction (Huber et al., 2003), and simultaneous localization and map building (SLAM) (Surmann et al., 2003). One of the largest problems in processing of laser scans is the registration of different point clouds. Due to limited field of view, usually a number of scans have to be captured from different viewpoints to be able to cover completely the object surface. As well known, single scans obtained from different scanner positions are registered to a local coordinate frame defined by the instrument. Therefore the scans must be transformed into a common coordinate frame for data processing. This process is known as registration. Actually point cloud registration determines the transformation parameters bringing one data set into alignment with the other. The transformation parameters are computed by finding correspondences between different data sets representing the same shape from

* [email protected]; phone 31 15 278-8338; fax 31 15 278-2348

different viewpoints. Since the size of point clouds is usually pretty large, finding the best correspondence is a hard task. Commercial software typically uses separately scanned markers to help the identification corresponding points. Some vendors (e.g. Leica) have implemented algorithms (e.g. ICP (Besl et al, 1992)) allowing registering without markers but still the corresponding points have to be selected manually. Presently, great effort is given to approaches based on segmentation of laser scan points and consequent matching of extracted features (Bae and Lichti, 2004; Mian et al., 2004; Liu and Hirzinger, 2005; Rabbani and van den Heuvel, 2005). Features are derived from the point clouds and matched in a semi-automatic or automatic way. Multiple views are often considered. Normally, this is a two-steps approach: coarse and fine matching. The coarse matching is the more difficult problem to solve because of the pre-alignment of complex-formed surfaces, which can be rather distantly positioned in 3D space. Fine matching can be performed accurately using either the ICP method or the least square surface matching method. In general, feature-based methods might face problems processing large point clouds. When the size of point clouds becomes huge, e.g. scans for outdoor scenes, the computation time for point cloud segmentation increases remarkably, which may require specific hardware. Moreover, point cloud registration based on feature-based methods may fail in cities where many planar patches are extracted. Dold and Brenner, 2006, have illustrated that directions of normal vectors (of planar patches) are mostly two, i.e. perpendicular to the facades (for the buildings) and to the streets. However, a reliable determination of the transformation parameters is possible, only if the normal vectors of three planar patches are perpendicular to each other (Dold and Brenner, 2006). If only two planar patches are considered, the translation parameters are weakly determined, since two planar patches are insufficient to compute the respective angles. The rotation parameters can still be derived because it is not influenced by the lack of a third perpendicular plane. The approach presented in this paper is inspired by new developments in laser scan technology, i.e. a combination of geometric and radiometric sensors. In the last several years, many scanners have been equipped with image sensors. The 3D information captured by the laser scanner instrument is complemented with digital image data. Because of the generally higher resolution, optical images offer new possibilities in the discrete processing of point clouds. Several researchers have reported investigations in this area (Roth, 1999; Wyngaerd and Gool, 2002; Wendt, 2004; Dold and Brenner, 2006). Roth’s and Wyngaerd and Gool’s methods are similar to ours because they also use feature points based on texture. The difference is that Roth uses only the geometry of 3D triangles for matching and Wyngaerd and Gool use color texture information to drive the matching. 360° full scans are practically made to reduce the number of stations for scan and register in a high efficient way. As a result, the panoramic reflectance images are generated according to the angular coordinates and reflectance value of each 3D point of 360° full scans. It is quite difficult to make any assumptions on the set of possible correspondences for a given feature point as panoramic reflectance images are normally acquired from substantially different viewpoints and moreover the panoramic stereo pair doesn’t simply follow the left-and-right fashion. This paper presents a new point matching algorithm for panoramic reflectance images. The approach follows three steps: extracting distinctive invariant features, identifying correspondences, pruning false correspondences by rigid geometric invariance. An iterative corresponding process is used to acquire more new matches can be included for transformation parameters computation to reach predefined accuracy threshold. Next section presents a detail description of the approach. Section 3 presents the tests and discusses the results. Section 4 concludes this paper.

2. METHODOLOGY The proposed method consists of three general steps: extracting distinctive invariant features, identifying correspondences, pruning false correspondences by rigid geometric invariance. The last two steps are iterative by using computed transformation parameters between two point clouds behind the panoramic image pair, so that more new matches can be included for transformation parameters computation to reach predefined accuracy threshold. In this paper, the correspondence between image points (pixels) of two overlapping images is called pixel-to-pixel, the correspondence between image points and 3D points of a laser scan is pixel-to-point, and the correspondence between 3D points in two lasers scans is point-to-point correspondence (Fig. 1).

Fig.1. Correspondence map

The following sections explain in detail the algorithms used in the iterative process. 2.1 Extracting distinctive invariant features Panoramic reflectance images, as we know, are normally acquired from substantially different viewpoints and moreover the panoramic stereo pair doesn’t simply follow the left-and-right fashion. Therefore, it is quite difficult to make assumptions on the set of possible correspondences for a given feature point extracted by normal corner detectors. We use SIFT method (Lowe, 2004) to tackle this problem in this paper. SIFT is a method for extracting distinctive invariant features from images that can be used to perform reliable matching between different views of an object or scene. The features are invariant to image scale and rotation, and are shown to provide robust matching across a substantial range of affine distortion, change in 3D viewpoint, addition of noise, and change in illumination. The features are highly distinctive, in the sense that a single feature can be correctly matched with high probability against a large database of features from many images. Following are the major stages of computation used to generate the set of distinctive invariant features (Lowe, 2004): 2.1.1. Scale-space extrema detection The first stage of computation searches over all scales and image locations. It is implemented efficiently by using a difference-of-Gaussian function to identify potential interest points that are invariant to scale and orientation. 2.1.2. Keypoint localization At each candidate location, a detailed model is fit to determine location and scale. Keypoints are selected based on

measures of their stability. 2.1.3. Orientation assignment One or more orientations are assigned to each keypoint location based on local image gradient directions. All future operations are performed on image data that has been transformed relative to the assigned orientation, scale, and location for each feature, thereby providing invariance to these transformations. 2.1.4. Keypoint descriptor The local image gradients are measured at the selected scale in the region around each keypoint. These are transformed into a representation that allows for significant levels of local shape distortion and change in illumination. 2.2 Identifying correspondence The invariant descriptor vector for the keypoint is given as a list of 128 integers in range [0,255]. Keypoints from a new image can be matched to those from previous images by simply looking for the descriptor vector with closest Euclidean distance among all vectors from previous images. In this paper, the strategy presented in (Lowe, 2004) is employed to identify matches by finding the 2 nearest neighbors of each keypoint from the first image among those in the second image, and only accepting a match if the distance to the closest neighbor is less than 0.8 of that to the second closest neighbor. The threshold of 0.8 can be adjusted up to select more matches or down to select only the most reliable. Please reference (Lowe, 2004) for the justification behind the determination of threshold of 0.8. However, this strategy will identify false matches from panoramic reflectance images covering buildings, as building facades are likely to have repetitive patterns. For tackling this problem, the rigid geometric invariance derived from point cloud is used to prune false correspondences. 2.3 Pruning false correspondences by rigid geometric invariance After the identification of matches, according to the 2D feature points in images, 3D corresponding points are taken from the laser scans on the basis of the known pixel-to-point correspondence. In the local coordinate systems of different point clouds, Euclidean distance between each two corresponding point pairs is clearly invariant (Fig. 2). Namely, if point A and A’, B and B’, C and C’ are corresponding points respectively, the distances between the points should equal (e.g. SAB = SA’B’ ).

Fig.2. Distance invariance

It is theoretically possible to verify every two point pairs for distance invariance; however, this process may increase the computation time. To avoid this, we construct Delaunay Triangulated Irregular Network (TIN) and use the relations between the points in the triangles to decide on the distances. The TIN model is selected because of its simplicity and

economy. It is also quite efficient alternative to the regular raster of the GRID model. Delaunay triangulation is a proximal method that satisfies the requirement that a circle drawn through the three nodes of a triangle contain no other node (Weisstein, 1999). As constructed for 3D corresponding points, the TIN model is only necessary to be constructed in one scan. Consequently, only those point pairs connected in TIN model will be verified for distance invariance. The distance invariance error is estimated by error propagation law (e.g. Yu et al., 1989) according to the location error of each two corresponding point pairs. The difference between two distances is computed according to Eq. (1).

YDI =

( X A − X B )2 + (Y A − YB )2 + (Z A − Z B )2

−

( X A′ − X B′ )2 + (Y A′ − YB′ )2 + (Z A′ − Z B′ )2

(1)

X i , Yi , Z i are the 3D coordinates of a point, where i, i designates A , B, A’ and B’ respectively;

The location error of point i is determined by the laser scanner accuracy. As Boehler (Boehler et al., 2003) has pointed out, the laser scanner accuracy depends on many factors angular accuracy, range accuracy, resolution, edge effects and so on. Among all, angular and range accuracy are mostly used for a laser-scanning instrument. Here we also use them to estimate the location error. If the coordinates of a point i are computed by a range value Ri , horizontal angle ϕ i and vertical angle θ i , the location accuracy is then determined by angular σ θ and σ ϕ and range accuracies σ R , as derived from the

following equation: X i = Ri cos θ i cos ϕi Yi = Ri cos θ i sin ϕ i Z i = Ri sin θ i

(2)

In general, σ R , σ θ and σ ϕ can be considered as constant per a laser scanner. Laser scanners for distances up to 100 m show about the same range accuracy for any instrument (Boehler et al., 2003). As a result, range accuracy can be considered as an invariant for the whole point cloud because scanned targets of terrestrial laser scanner are usually within 100m. Three times of error of distance invariance is chosen as threshold to determine the correct correspondence in our approach, i.e.: YDI < 3σ DI

(3)

Where, σ DI is the distance variance error which is computed by Eq. (1) with respect to the error propagation. σ DI is related to each of the two corresponding pairs, therefore the threshold chosen here is self-adaptive instead of a

constant. If the above condition is satisfied, those two point pairs are considered as corresponding. 2.4 Iterative corresponding process As mentioned earlier, it is likely to identify false matches from panoramic reflectance images covering buildings using only invariant descriptor vector for the keypoint. Those false matches are pruned in previous section by rigid geometric invariance. In this section, we discuss how to find more correct matches by iterative corresponding process. After pruning false correspondences, only correct matches are kept. A least-square adjustment, based on correct matches, computes the six transformation parameters (defining rotation and translation) between two point clouds behind the panoramic reflectance image pair. Using the transformation parameters computed in a previous iteration, the

correspondences in the image pair can be better predicted which results in increased number matched points. The new matches are included in the computation of new transformation parameters. The iterative process continues until the transformation parameters reach predefined accuracy threshold. 2.4.1 Computation of transformation parameters As well know, single scans from different scan positions are registered in a local coordinate frame defined by the instrument. Using corresponding points detected at previous step, it is possible to compute transformation parameters between deferent coordinate frames and thus register the two point clouds. The computation procedure is quite trivial. Eq. (4) (e.g. Wang, 1990) is employed to calculate the needed six transformation parameters separated in rotation and translation. X ′ X T X ′ Y = R Y + TY Z ′ Z TZ

Where,

X Y Z

and

X ′ ′ Y Z ′

:

Coordinates

of

corresponding

(4)

points

in

left

and

right

images

respectively; a1 R = b1 c1

a2 b2 c2

a3 b3 : Rotation matrix computed by rotation parameters Φ, Ω, Κ ; c3

T X TY : Translation parameters. TZ

The least-square parameter adjustment for absolute orientation in photogrammetry (e.g. Wang, 1990; Mikhail et al., 2001) is used based on Eq. (4) to solve least-square optimized values of transformation parameters. Iterative process is implemented to acquire higher accuracy because error equations have been linearised. It should be noticed that after the outlier detection, the wrong matched points are removed and the transformation parameters are computed only with the correct ones. However, the outlier detection may remove many points and the transformation parameters will be determined from very few points. Therefore, these parameters cannot be considered final. To be able to improve the transformation parameters, more points appropriate for matching have to be found. The candidate points are searched amongst the keypoints already extracted in section 2.1. Therefore an iterative process is implemented. 2.4.2 Corresponding point prediction Using the initial transformation parameters, the position of corresponding points in one image (The right one in this paper) can be predicted based on the extracted feature points in the other (The left one in this paper). As mentioned above, all the points on the left image, extracted by the feature point extraction algorithm are used in the iterative process. As presented earlier, based on image coordinate (x, y) of feature point in the left image, we can acquire the coordinate (X, Y, Z) of corresponding 3D point of left scan. Using the initial transformation parameters, the coordinate (X’, Y’, Z’) in right scan

can be calculated from (X, Y, Z). The image coordinates (x’, y’) corresponding to (X’, Y’, Z’) are certainly the expected position of corresponding point in right image. Thereafter, a certain region centered at (x’, y’) is determined for searching exact corresponding point. Each iteration accordingly consists of four steps, i.e. corresponding point prediction using transformation parameters computed from previous iteration, identifying correspondences, pruning false matches and transformation parameters computation. This iterative process ensures matching of larger number of points and reasonable distribution of corresponding point, which leads to improved values of the transformation parameters. The iterative process continues until the RMS error of transformation parameters computation satisfies a given threshold. This threshold is in the range of millimeter and is determined with respect to the range accuracy of the scanner.

3. RESULTS The approach is tested with several panoramic reflectance image pairs generated from point clouds (indoor and outdoor scenes) acquired by FARO LS 880 (Fig. 3). The angular resolution selected for FARO LS 880 is 0.036° in both of horizontal and vertical directions which is a quarter of full resolution the instrument claims. Dataset 1 is acquired for the office environment and Dataset 2 is scanned for outside buildings. The proposed method was implemented in C++. All the tests are performed on a PC with CPU Intel Pentium IV 3 GHZ and 1 GB RAM.

a. Indoor

b. Outdoor

Fig.3. Tested point clouds.

The information about the tested point clouds is listed in Table 1. Table 1. The information about tested point clouds

Point cloud Dataset 1~2

Angular resolution Horizontal Vertical 0.036° 0.036°

Angular accuracy

Range accuracy

Image Angular resolution

18µm+3µm/m

±3mm

0.036°

In the paper, for accuracy comparison the distances between corresponding points were measured. As mentioned previously, the panoramic reflectance images are generated with respect to the angular coordinates and reflectance value of every 3D point of point cloud. Usually the reflectance image is used to get a photo-realistic impression of the scanned area. Since it is similar to a black and white photo and therefore does not require much experience to interpret, some applications of image matching and texture mapping, based on this kind of images, are carried out in traffic construction analysis (Kretschmer et al., 2004) and tree species recognition (Haala, 2004).

3.1 Indoor data set In the reflectance images of FARO LS 880 (Fig. 4), the pixel-to-point correspondence is straightforward and corresponding 3D points are readily available in the data file.

Fig.4 Corresponding points identified by nearest neighbor searching

As presented in Section 2, SIFT method was used to extract distinctive invariant features from panoramic images and matches were identified from keypoints by looking for the descriptor vector with closest Euclidean distance. 655 corresponding point pairs were identified (Fig.4), however many are false accepted. The rigid geometric invariance derived from point cloud was accordingly used to prune false correspondences. Strict threshold was employed to ensure only correct matches can be remained. As a result, only 99 correct corresponding points (Fig.5) were kept against 655 shown in Fig.4. Trying to include more new matches, as presented in Section 2.4, we used an iterative corresponding process to ensure matching of larger number of points and reasonable distribution of corresponding point. As Fig.6, 676 corresponding point pairs were acquired after iterative process and 99% of them are correct. The registration of Dataset 1 was implemented with those correct corresponding points. The registration accuracy is 1.1mm after 2 iterations and average distance between corresponding points is 2.7mm as shown in Table 2. Both are the order of millimeter. The whole process of our method cost 5 minutes. Table 2 Result of proposed method on indoor datasets

n1 RMS Max Min AVG Time i n2 (m) (m) (m) (m) (min) 11987424 Data set 1 2 0.0011 0.0351 0.0002 0.0027 5 11974976 Please note, all the notations in the tables are the same, i.e. ni is the total number of points of Dataset 1. i is the number of Proposed method

total iterations. RMS is the accuracy of registration computed from the least-square parameter adjustment based on Eq. (4). Max, Min and AVG are respectively the maximum, minimum and average distance between 3D corresponding point pairs after registered in a common coordinate frame.

Fig.5 Corresponding points kept after pruning from Dataset 1

Fig.6 Corresponding points acquired after iterative corresponding process

3.2 Outdoor data set Dataset 2 consists of two point clouds of outside building. As Fig.7, the building facade has repetitive pattern, therefore, few corresponding points on the facade were kept after pruning false matches. By iterative matching process, plenty of correct corresponding point pairs on the facade were identified and the distribution of matches becomes even in the

panoramic images (Fig.8). The registration result is listed in Table 3. The RMS is 4.4mm and average distance between corresponding points is 4.8 mm. The whole process completed in 6 minutes after only 2 iterations. Table 3 Result of proposed method on outdoor dataset

Proposed method Dataset 2

n1 n2 16726500 16713375

i

RMS (m)

Max (m)

Min (m)

AVG (m)

Time (min)

2

0.0044

0.0430

0.0008

0.0048

6.0

Fig.7. Corresponding points kept after pruning from Dataset 2

Fig.8 Evenly distributed corresponding points on building façade after iterative corresponding process

4. CONCLUSIONS In this paper, a new point matching algorithm for panoramic reflectance images is presented and tested with several data sets. The approach follows three general steps: extracting distinctive invariant features, identifying correspondences, pruning false correspondences by rigid geometric invariance. An iterative corresponding process is used to acquire more

new matches can be included for transformation parameters computation to reach predefined accuracy threshold. The point cloud registration implemented by corresponding points matched from panoramic reflectance images is able to acquire the accuracy of millimetre order. It is proven by the experiments that our algorithm is able to work without assuming any prior knowledge of the transformation between these images. To use the presented point matching algorithm there should be sufficient, i.e. at least 20% to 30%, overlap between image pairs. This degree of overlap is not difficult to ensure when collecting panoramic reflectance images.

REFERENCE 1. Hahnel, D., Thrun , S., Burgard, W., “An extension of the ICP algorithm for modelling nonrigid objects with mobile robots”. Proceedings of the International Joint Conference on Artificial Intelligence, 915–920 (2003). 2. Johnson, A. and Hebert, M., “Using spin images for efficient object recognition in cluttered 3D scenes”. IEEE Trans. PAMI 21, 433–449 (1999). 3. Huber, D., and Hebert, M., “Fully automatic registration of multiple 3D data sets”. IVC 21, 637–650 (2003). 4. Surmann, H, Nuchter, A. and Hertzberg, J., “An autonomous mobile robot with a 3D laser range finder for 3D exploration and digitalisation of indoor environment”. Rob. Autonomous Syst. 45, 181–198 (2003). 5. Besl, P. J. and McKay, N. D., “A method for registration of 3-D shapes”. IEEE Transactions on Pattern Analysis and Machine Intelligence 14(2), 239–256 (1992). 6. Bae, K.-H. and Lichti, D. D., “Automated registration of unorganised point clouds from terrestrial laser scanners”. In: International Archives of Photogrammetry and Remote Sensing, Vol. XXXV, Part B5, Proceedings of the ISPRS working group V/2, Istanbul, 222–227 (2004). 7. Mian, A. S., Bennamoun, M. and Owens, R., “Matching tensors for automatic correspondence and registration”. In: Lecture Notes in Computer Science, Computer Vision- ECCV 2004, Vol. 3022, 495 – 505 (2004). 8. Liu, R. and Hirzinger, G., “Marker-free automatic matching of range data”. In: R. Reulke and U. Knauer (eds), Panoramic PhotogrammetryWorkshop, Proceedings of the ISPRS working group V/5, Berlin (2005). 9. Rabbani, T, van den Heuvel, F., “Automatic point cloud registration using constrained search for corresponding objects”. Proceedings of 7th Conference on Optical 3-D Measurement Techniques, October 3-5, 2005, Vienna, Austria, Part 1, 177-186 (2005). 10. Dold, C. and Brenner, C., “Registration of terrestrial laser scanning data using planar patches and image data”. In: H.-G. Maas, D. Schneider (Eds.), ISPRS Comm. V Symposium “Iamge Engineering and Vision Metrology”, IAPRS Vol. XXXVI Part. 5, 25-27. September, Dresden, 78-83 (2006). 11. Roth, G., “Registering two overlapping range images”. Proceedings of the Second International Conference on Recent Advances in 3-D Digital Imaging and Modeling (3DIM'99), Ottawa, Ontario, Canada. October 4-8, 1999. 191-200 (1999). 12. Wyngaerd, J. V. and Van Gool, L., “Automatic Crude Patch Registration: Toward Automatic 3D Model Building”. Computer Vision and Image Understanding, vol. 87(1-3):8-26 (2002). 13. Wendt, A., “On the automation of the registration of point clouds using the metropolis algorithm”. In: International Archives of Photogrammetry and Remote Sensing, Vol. XXXV, Part B3, Proceedings of the ISPRS working group III/2, Istanbul, 106–111 (2004).

13. Lowe, D. G., “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, 60, 2, 91-110 (2004). 14. Weisstein, Eric W., 1999. “Delaunay triangulation.” From MathWorld – A wolfram Web Resource. http://mathworld.wolframe.com/DelaunayTriangulation.html. 15. Yu, Z. and Yu Z, Principles of survey adjustment. Publishing House of WTUSM, Wuhan, China, 22-30, 1989. 16. Boehler, W., Vicent, M. Bogas and Marbs, A, “Investigating laser scanner accuracy”. Proceedings of CIPA XIXth International Symposium, 30 Sep. – 4 Oct., Antalya, Turkey, 696-702 (2003). 17. Wang, Z., Principles of Photogrammetry, Surveying and Mapping Press, Beijing, China, 80-82, 1990. 18. Mikhail, Edward M., Bethel, James S., and McGlone, J. Chris, “Introduction to Modern Photogrammetry”, John Wiley & Sons, Inc., New York. ISBN 0-471-30924-09, 121 – 123 (2001). 19. Kretschmer, U, Abmayr, T., Thies, M. and Frohlich, C., “Traffice construction analysis by use of terrestrial laser scanning”. Proceedings of the ISPRS working group VIII/2: “Laser Scanners for Forrest and Landscape Assessment”, Vol. XXXVI, Part 8/W2, 232-236 (2004). 20. Haala, N., Reulke, R., Thies, M. and Aschoff, T., Combination of terrestrial laser scanning with high resolution panoramic images for investigations in forest applications and tree species recognition. In: H.-G. Maas, D. Schneider (Eds.), ISPRS working Group V/1 Symposium “Panoramic Photogrammetry Workshop”, IAPRS Vol. XXXIV Part 5/W16 (2004).

ACKNOWLEDGEMENT This research was supported by the BSIK Project of The Netherlands “Virtual reality for urban planning and safety”.