scieee AI-readable full text Open interactive document viewer

Vision-based loop closing for delayed state robot mapping

Ila, Viorela Simona,Andrade-Cetto, Juan,Valencia Carreño, Rafael,Sanfeliu Cortés, Alberto

Abstract

This paper shows results on outdoor vision-based loop closing for Simultaneous Localization and Mapping. Our experiments show that for loops of over 50m, the pose estimates maintained with a Delayed-State Extended Information Filter are consistent enough to guarantee assertion of vision-based pose constraints for loop closure, provided no necessary information links are added to the estimator. The technique computes relative pose constraints via a robust least squares minimization of 3D point correspondences, which are in turn obtained from the matching of SIFT features over candidate image pairs. We propose a loop closure test that checks both for closeness of means and for highly informative updates at the same time.

Full text

Vision-based Loop Closing for Delayed State Robot Mapping Viorela Ila, Juan Andrade-Cetto, Rafael Valencia and Alberto Sanfeliu Abstract— This paper shows results on outdoor vision-based loop closing for Simultaneous Localization and Mapping. Our experiments show that for loops of over 50m, the pose estimates maintained with a Delayed-State Extended Information Filter are consistent enough to guarantee assertion of visionbased pose constraints for loop closure, provided no necessary information links are added to the estimator. The technique computes relative pose constraints via a robust least squares minimization of 3D point correspondences, which are in turn obtained from the matching of SIFT features over candidate image pairs. We propose a loop closure test that checks both for closeness of means and for highly informative updates at the same time. I. INTRODUCTION Closing large loops during Simultaneous Localization and Mapping (SLAM) is quite challenging. But, when accomplished, it reduces the accumulated estimation error enormously. A straight forward solution to the loop closing problem is to rely on the pose estimates from the filter of choice (be it a Kalman filter, an Information filter, or a particle filter) and perform data association tests as much and as often as possible. By testing for data association based on the likelihood of estimates, one can avoid some of the problems associated with appearance-based SLAM, such as aliasing for homogeneous or repetitive scenes. But, closing all loops consistent with the likelihood of estimates might add information links that are either unnecessary or unreliable. Unnecessary links are those that contribute with little information to reduce the estimation error. That is the case with repetitive measurements to the same landmarks when little or no motion occurs, or when pose constraints from small steps are used in the case of a delayed state representation. Unreliable links on the other hand, are those that are not consistent with the sensor uncertainties for which the system was trained. This happens for example when distance estimates come from computer vision sensors. Distance errors being inverse to disparity in images are larger for measurements to far away landmarks, and their associated sensor covariances computed from linearized models tend to be optimistic. Thus it is important to close loops sparsely on the one hand, and reliably on the other. In [1] the authors suggest that testing for loop closure in SLAM should be performed independently of the vehicle pose estimates. This is certainly a nice thing to do once the filter has become inconsistent. In this work, we adopt instead the straightforward approach of The authors are with the Institut de Rob` otica i Inform` atica Industrial, CSIC-UPC. Llorens Artigas 4-6, Barcelona, 08028 Spain. [vila,cetto,rvalenci,sanfeliu]@iri.upc.edu. relying on the estimator for the generation of pose constraint hypotheses, but paying special attention no to let the system become overconfident too soon. Since adding information links for all possible matches produces overconfident estimates that in the long term lead to filter inconsistency, we propose instead a two step loop closure test. First, we check whether two poses are candidates for loop closure with respect to their mean estimates. This is achieved by testing for the Mahalanobis distance in the same way data association gating is commonly performed during a SLAM update. But instead of adding all these information links, we limit the candidates to a second test that checks for large values on the second term of the Bhattacharyya distance. The purpose of this part of the test is to allow loop closing only on highly informative situations. That is, when the proposed matching covariances are sufficiently different, and a large amount of information is expected to enter the filter. The reminder of this paper is as follows. In section II we present our strategy for computing pose constraints from two vantage points using computer vision. Section III is devoted to explain our chosen SLAM representation, and the way in which our vision-based pose constraints are used to update the map. Section IV described the proposed loop closure test. Some experimental results in an outdoor scenario are shown in Section V, and concluding remarks are added in Section VI. II. RELATIVE POSE CONSTRAINTS The technique iterates as follows: SIFT image features are extracted and matched from candidate stereo image pairs. Their image point correspondences are then triangulated to obtain a set of 3D feature matches, which are in turn used to compute a least squares best fit pose transformation. Robust feature outlier rejection is obtained via RANSAC during the computation of the best camera pose constraint. These camera pose constraints are used as relative pose measurements in a delayed-state information-form SLAM. A substantial computational complexity advantage of the delayed-state information-form SLAM is that predictions and updates take constant time prior to loop closure given its exact sparseness [2]. Thanks to the features used, the proposed technique is robust enough not only to relate consecutive image pairs during robot motion, but also, to assert loop closure hypotheses. A. Feature Extraction Simple correlation-based features, such as Harris corners [3] or Shi and Tomasi features [4], are of common use in Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems San Diego, CA, USA, Oct 29 - Nov 2, 2007 ThD1.4 1-4244-0912-8/07/$25.00 ©2007 IEEE. 3892 Authorized licensed use limited to: IEEE Xplore. Downloaded on February 10, 2009 at 09:12 from IEEE Xplore. Restrictions apply. vision-based SFM and SLAM; from the early uses of Harris himself to the popular work of Davison [5]. This kind of features can be robustly tracked when camera displacement is small and are tailored to real-time applications. However, given their sensitivity to scale, their matching is prone to fail under larger camera motions; less to say for loopclosing hypotheses testing. Given their scale and local affine invariance properties, we opt to use SIFTs instead [6], [7], as they constitute a better option for matching visual features from varying poses. To deal with scale and affine distortions in SIFTs, keypoint patches are selected from difference-of- Gaussian images at various scales, for which the dominant gradient orientation and scale are stored. In our system, image pairs are acquired from a calibrated stereo rig1. Features are extracted and matched with previous image pairs. The surviving features are then stereo triangulated enforcing epipolar and disparity constraints. The epipolar constraint is enforced by allowing feature matches only within ±1 pixel rows on rectified images. The disparity constraint is set to allow matches within a 1−10 meter range, where camera resolution is best. The result is a set of two clouds of matching 3D points ptfrom the current pose, and pifrom a previous pose, 0 <i<t, both referenced to the coordinate frame of the left camera. B. Pose Estimation The homogeneous transformation relating the two aforementioned clouds of points can be computed by solving a set of equations of the form pt=Rpi+t.(1) A solution for the rotation matrix Ris computed by minimizing the sum of the squared errors between the rotated directional vectors2of feature matches for the two robot poses. The solution to this minimization problem gives an estimate of the orientation of one cloud of points with respect to the other, and can be expressed in quaternion form as ∂ ∂ Rq⊤Aq=0,(2) where Ais given by A= N ∑ k=1 BkB⊤ k,(3) Bk=    0−ck x−ck y−ck z ck x0bk z−bk y ck y−bk z0bk x ck zbk y−bk x0     ,(4) and bk=vk t+vk i,ck=vk t−vk i.(5) The quaternion qthat minimizes the argument of the derivative operator in the differential Equation 2 is the smallest eigenvector of the matrix A. 1Point Gray’s Bumblebee firewire stereo 640 ×480 camera, with a 6mm lens. 2A directional vector vcan be computed as the unit norm direction along p, and indicates the orientation of such point. Fig. 1. SIFT correspondences in two consecutive stereo image pairs after outlier removal using RANSAC. If we denote this smallest eigenvector by the 4-tuple ( α 1, α 2, α 3, α 4)⊤, it follows that the rotational angle θ associated with the rotational transform is given by θ =2cos−1( α 1),(6) and the axis of rotation would be given by ˆ a=( α 2, α 3, α 4)⊤ sin( θ /2).(7) Then, it can be shown that the elements of the rotation submatrix Rare related to the orientation parameters ˆ aand θ by R=  a2 x+(1−a2 x)c θ axayc′ θ −azs θ axazc′ θ +ays θ axayc′ θ +azs θ a2 y+(1−a2 y)c θ ayazc′ θ −axs θ axazc′ θ −ays θ ayazc′ θ +axs θ a2 z+(1−a2 z)c θ  , (8) where s θ =sin θ ,c θ =cos θ , and c′ θ =1−cos θ [8]. Once the rotation matrix Ris computed, we can use again the matched set of points to compute the translation vector t t= N ∑ k=1 pk i−R N ∑ k=1 pk t.(9) It might be the case that SIFT matches occur on areas of the scene that experienced motion during the acquisition of the two image stereo pairs. For example, an interest point might appear at an acute angle of a tree leaf shadow, or on a person walking in front of the robot. The corresponding matched 3D points will not represent good fits to the camera motion model, and might introduce large bias to our least squares pose error minimization. To eliminate such outliers, we resort to the use of RANSAC [9]. The use of such a robust model fitting technique allows us to preserve the largest number of point matches that at the same time minimize the square sum of the residuals kRpt+t−pik, as shown in Figure 1. 3893 Authorized licensed use limited to: IEEE Xplore. Downloaded on February 10, 2009 at 09:12 from IEEE Xplore. Restrictions apply. H=    ∆xcos ψ +∆ysin ψ d −∆xsin ψ +∆ycos ψ d0−∆xcos ψ −∆ysin ψ d ∆xsin ψ −∆ycos ψ ddsin ψ ∆xsin ψ −∆ycos ψ d ∆xcos ψ +∆ysin ψ d0−∆xsin ψ +∆ycos ψ d −∆xcos ψ −∆ysin ψ d−dcos ψ 0 0 1 0 0 −1     (20) III. VISUALLY AUGMENTED ODOMETRY IN INFORMATION FORM A. Exactly Sparse Delayed-State SLAM Compared to the Extended Kalman Filter (EKF) SLAM which has quadratic time complexity in the number of states, the delayed-state information-form SLAM has been shown to produce exactly sparse information matrices [2]. If consecutive robot poses are added to the state, the result is a tri-block diagonal information matrix, linking consecutive measurements. This situation allows constant predictions and updates, with a considerable advantage in terms of computational cost and making it suitable for relative large environments. This three-block diagonal structure is only modified sparsely during loop closure. Thus, to keep the computational complexity low, we would like to only close loops when these are really needed. Our loop closure test is meant to do exactly that. The delayed-state information-form SLAM representation consists on estimating a state vector xwith the history of poses parameterized as an inverse normal distribution. p(x) = N(x; µ ,Σ) = N−1(x; η ,Λ),(10) where Λ=Σ−1and η =Λ µ (11) In a delayed state representation, the map state is simply the history of pose mean estimates µ =   µ t . . . µ 1   . As in most SLAM formulations, white noise wtwith covariance Qis added to the vehicle motion prediction model, and its linearized version is used in the computation of covariance prediction (information prediction in our case). xt+1=f(xt,ut)+wt ≈f( µ t,ut)+F(xt− µ t)+wt.(12) Given the absolute dead-reckoning readings of position xd, yd, and orientation θ , the delayed state can be written as x= [xt,yt, θ t,...x1,y1, θ 1]⊤.(13) The vehicle motion model can be express in terms of the relative travelled distance and relative orientation change xt+1=xt+dcos( θ t+ ψ )(14) yt+1=yt+dsin( θ t+ ψ )(15) θ t+1= θ t+∆ θ .(16) At two consecutive time steps tand t+1, the relative travelled distance and relative orientation change are d=q(xd t+1−xd t)2+(yd t+1−yd t)2(17) ψ =tan−1 yd t+1−yd t xd t+1−xd t!− θ t(18) ∆ θ = θ t+1− θ t.(19) Considering the linearization of the nonlinear motion prediction model from Equation 12 we can calculate the Jacobian Fas F=  1 0 −dsin( θ t+ ψ ) 0 1 dcos( θ t+ ψ ) 0 0 1  .(21) The revision of the entire history of poses, as a result of adding the new information that links the current and predicted poses, can be computed in information form [2] with ¯ η =  Q−1(f( µ t,ut)−F µ t) η t−F⊤Q−1(f( µ t,ut)−F µ t) η t−1:1  ,(22) and the associated information matrix is ¯ Λ=  Q−1−Q−1F 0 −F⊤Q−1Λt,t+F⊤Q−1FΛt,t−1 0Λt−1:1,tΛt−1:1,t−1:1  ,(23) Augmenting the information vector in this form introduces shared information only between the new robot pose xt+1 and the previous one xt. Moreover, the shared information between xt+1and the delayed-states (t−1 to 1) is always zero, resulting in a naturally sparse information matrix with a tridiagonal block structure. Now, in the information-form measurement updates are additive and can be computed in constant-time. The pose constraints linking the predicted pose and any previous nearby poses, as measured by our vision system would have the form zt+1=h(xt+1,i)+vt ≈h(¯ µ t+1,i)+H(xt+1,i−¯ µ t+1,i)+vt+1,(24) with vt+1the zero mean, white measurement noise with covariance Rand the measurement Jacobian H. The nonlinear measurement model is zx=dcos( ψ )(25) zy=dsin( ψ )(26) z θ = θ t+1− θ i.(27) 3894 Authorized licensed use limited to: IEEE Xplore. Downloaded on February 10, 2009 at 09:12 from IEEE Xplore. Restrictions apply. −15 10 105 0 0 2 4 6 8 12 14 -10 -5 -2 Fig. 2. Links coming from Mahalanobis (blue) and Mahalanobis- Bhattacharyya distance (red) tests. where d=q(xt+1−xi)2+(yt+1−yi)2(28) ψ =tan−1yt+1−yi xt+1−xi− θ i(29) and the Jacobian His computed as shown in Equation 20 with ∆x=xt+1−xi(30) ∆y=yt+1−yi.(31) The update to the entries linking poses t+1 and iin the information vector and information matrix become: η t+1,i=¯ η t+1,i+H⊤R−1(zt+1−h(¯ µ t+1,i)+H¯ µ t+1,i)(32) Λt+1,i,t+1,i=¯ Λt+1,i,t+1,i+H⊤R−1H.(33) Rnow represents a covariance term for the sensor uncertainty. It can be computed from the first order Taylor series expansion of the stereo correspondence geometry, computed from the Maximum Likelihood Estimate and the assumed pixel feature noise [10]. A more elaborate derivation might also include the uncertainty of the SIFT feature extractor. In this work however, we have chosen to let Rbe a fixed value, leaving its more elaborate derivation to future research. The reason is that the linearization of the stereo correspondence geometry with respect to the pixel feature noise, required in a the computation of R, will only delay but not prevent the filter from becoming inconsistent. The Jacobian His always sparse [11] and as a consequence only the four blocks relating poses t+1 and iin the information matrix will be updated H= [Ht+1,0,...,0,Hi,0,...,0].(34) For consecutive poses, this produces tridiagonal blocks in Λ, and for larger loop closures, the updates only modify the diagonal t+1 and iterms and introduces sparse blocks at the locations t+1,iand i,t+1. 600 600 800 800 0 0 1000 1000 200 200 400 400 Fig. 3. Sparse information matrix in delayed state SLAM. Loop-closure event adds non-zero off-diagonal elements (see zoomed region). IV. LOOP CLOSURE DETECTION Two phases can be distinguished during the loop-closing process. First, we need to detect the possibility of a loop closure event and then, we must certify the presence of such loop closure from visual data. The likelihood of pose estimates are valuable in detecting possible loop closures. A comparison of the current pose estimate with the history of poses can tell whether the robot is in the vicinity of a previously visited place, in terms of both the global position and the orientation. This is achieved by measuring the Mahalanobis distance from the prior estimate to all previously visited locations, i.e., for all 0 <i<t, d2 M= ( µ t+1− µ i)⊤Σt+1+Σi 2−1 ( µ t+1− µ i)(35) An exact computation of Σt+1and Σirequires the inverse of ¯ Λ, which can be computed in linear time using conjugate gradient techniques [2]. Motivated by [11], these covariances can be efficiently approximated in constant time from their Markov blankets. Note also that Eq. 35 does not take into account the cross correlation between poses in the Mahalanobis metric, but this can be done with no substantial extra effort. The only difference is that instead of computing individual Markov blankets for each pose, the combined Markov blanket is used. The average covariance is used to accommodate for the varying levels of estimation uncertainty both on the pose prior being evaluated, and on the past pose being compared. In case of a normal distribution, the Mahalanobis distance follows the χ 2-square distribution with n-1 degrees of freedom (where n is the number of variables; in our case, 2dof on a 95% confidence bound suffice). Many nearby poses will satisfy this condition, as shown in Figure 2. At the start of a SLAM run, when covariances are small, only links connecting very close poses will satisfy the test. But, as error accumulates, pose covariances grow covering larger and larger areas of matching candidates. For long straight trajectories having corresponding visual 3895 Authorized licensed use limited to: IEEE Xplore. Downloaded on February 10, 2009 at 09:12 from IEEE Xplore. Restrictions apply. 30 25 20 20 15 15 10 10 10 5 5 0 0 0 -5 -10 -10 -15 -20 -20 -30 1 2 3 4 6 7 8 9 11 12 13 14 16 17 k = 392 ( 100 percent ) Fig. 4. Odometry-only (black), vision-only (green), and combined vehicle trajectory (red). features, information links could even be established. Some aid in reducing the effect of large pose constraints, because orientation variance is usually larger than position variance, and pose covariance ellipsoids usually align orthogonal with respect to the direction of motion. Due to linearization effects, adding information links for all possible matches produces overconfident estimates that in the long run lead to filter inconsistency. Thus, our update procedure must pass a second test. The aim of this second test is to allow updating using only links with high informative load. In terms of covariances, this happens when a pose with a large covariance can be linked with a pose with a small uncertainty. dB=1 2ln  Σt+1+Σi 2 p|Σt+1|| Σi|(36) The above expression refers to the second term of the Bhattacharyya distance, and gives a measure of separability in terms of covariance difference [12]. This test is typically used to discern between to distinct classes with close means but varying covariances. We can see however that it also can be used to fuse two observations of the same event with varying covariance estimates. Given that, the value of dBincreases as the two covariances Σt+1and Σiare more different. The Bhattacharyya covariance separability measure is symmetric, and we need to test whether the current pose covariance is larger than the i-th pose it is being compared with. This is done by analyzing the area of uncertainty of each estimate by comparing the determinants of |Σt+1|and |Σi|. The reason is that we only want to update the overall estimate with information links to states that had smaller 30 25 20 20 15 15 10 10 10 5 5 0 0 0 -5 -10 -10 -15 -20 -20 -30 1 2 3 4 6 7 8 9 11 12 13 14 16 17 k = 392 ( 100 percent ) Fig. 5. The information added during the loop closure event enormously reduces the accumulated errors: prediction (red), update (blue). uncertainty than the current state. Figure 2 shows in red the remaining links after the second test. In a second phase we still must certify the presence of a loop closure event to update the entire pose estimate and to reduce overall uncertainty. When an image correspondence can be established, the computed pose constraint is used in a one-step update of the information filter, as shown in Equations 33 and 32. A one-step update in information form changes the entire history of poses adding a linear number of non-zero off-diagonal elements in the information matrix as shown in the Figure 3. The sparsity can be controlled by reducing the confidence on image registration when testing for loop-closure event. V. EXPERIMENTS To test our strategy for vision-based augmented odometry we have performed a series of experiments on urban unstructured environments of small size. In one of our experiments we chose a cyclic path of around 300 sq meters with the purpose to test a loop-closure situation. A snapshot of these tests is shown in Figure 4. The robot was manually driven through a series of predefined points previously marked on the floor. The results of estimating the vehicle motion purely from accumulated raw odometry and purely from concatenating vision pose constraints are shown in the figure as black and green plots, respectively. The delayed-state informationbased revised trajectory resulting from the fusion of the two is shown in red. No motion was accumulated for those cases when not enough SIFT points were obtained during the computation of vision-based pose constraints. The effect of noninformative vision-based poses at some iterations can be efficiently modelled in our approach only by computing 3896 Authorized licensed use limited to: IEEE Xplore. Downloaded on February 10, 2009 at 09:12 from IEEE Xplore. Restrictions apply. motion predictions from odometry without performing map updates. Due to the fact that raw odometry is really poor especially when the vehicle turns and the vision-based pose constraints can fail in translation estimation but provides quite accurate rotation estimation, our SLAM gives more weight to the translation measurements provided by the odometry and to the rotation estimated using SIFT points. Whereas odometry error accumulates monotonically, visionbased pose constraints vary in accuracy from very accurate (about 3,4 cm) to as large as 1 meter in estimation error. Nontheless the fusion of both provides a consistently revised pose estimate. At each step both distances (Mahalanobis and Bhattacharyya) are used to test the presence of loop closure events. When a loop-closing event is announced, visual matching is performed among the corresponding indexed images. If sufficient point matches are found, the homogeneous transformation relating the pose constraint is used to update the history of poses, and their associated information terms. Figure 5 shows in blue the correction of the entire history of poses after a link of about 50 meters is established. Also shown in red, the covariance estimates prior to the update as maintained by the filter in information form. VI. CONCLUSIONS AND FUTURE WORK This paper proposed an efficient approach to vision-based loop closing problem in delayed-state robot mapping based on analyzing the similarity and separability of pose estimates from the mean and covariance difference measures. The mapping process is based on an exactly sparse delayed-state filter that uses SIFT features to compute pose constraints. Another type of features that we seek to explore in the future are Speed Up Robust Features SURFs [13]. These features have similar response properties to SIFTs, replacing Gaussian convolutions with Haar convolutions, and a significant reduction in computational cost. We can conclude saying that, concerning the accuracy of the pose estimation, our approach performs well when comparing the estimated trajectory with ground truth points, and considerably reduces the memory and execution time by using a sparse information matrix to link consecutive measurements each time (time and memory increase linearly compared to the quadratic cost of the traditional EKF). On the other hand, concerning the loop closure process, the method introduced here is a straightforward approach consistent with the likelihood of estimates. Instead of searching for visual correspondences within the whole history of images, we restrict our search by applying conservative tests for loop-closure event detection in terms of mean closeness and covariances separability. The experimental results show that these tests avoid unnecessary and unreliable links, substantially reducing the search time. Moreover, the established links enormously reduce the accumulated errors from the history of poses as shown in Figure 5 by adding only high informative elements to the filter. The experimental results presented here constitute a preliminary study on the use of 6D vision-based pose transforms for outdoor mapping. We are currently working in testing this vision-based technique for mapping of wider areas, in the order of 10000 sq. meters, where robust loop closing methods as the one presented in this paper are necessary to reduce the accumulated errors in the mapping process. Our focus now is on pursuing strategies for intelligent pruning of the number of states in the filter, so as to keep the problem tractable for large areas. ACKNOWLEDGEMENTS This research is supported by the Spanish Ministry of Education and Science under a Juan de la Cierva Postdoctoral Fellowship to V. Ila in project DPI 2004-07358, and a Ram´ on y Cajal Postdoctoral Fellowship to J. Andrade-Cetto, by a scholarship from the Mexican Council of Science and Technology to R. Valencia, the NAVROB Project DPI 2004- 5414, and the EU URUS project FP6-IST-045062. REFERENCES [1] P. Newman and K. Ho, “SLAM loop-closing with visually salient features,” in Proc. IEEE Int. Conf. Robot. Automat., Barcelona, Apr. 2005, pp. 635–642. [2] R. Eustice, H. Singh, and J. Leonard, “Exactly sparse delayed-state filters for view-based SLAM,” IEEE Trans. Robot., vol. 22, no. 6, pp. 1100–1114, Dec. 2006. [3] C. G. Harris and M. Stephens, “A combined corner edge detector,” in Proc. Alvey Vision Conf., Manchester, Aug. 1988, pp. 189–192. [4] J. Shi and C. Tomasi, “Good features to track,” in Proc. 9th IEEE Conf. Comput. Vision Pattern Recog., Seattle, Jun. 1994, pp. 593–600. [5] A. J. Davison, I. Reid, N. Molton, and O. Stasse, “MonoSLAM: Realtime single camera SLAM,” IEEE Trans. Pattern Anal. Machine Intell., 2007, to appear. [6] D. Lowe, “Distinctive image features from scale-invariant keypoints,” Int. J. Comput. Vision, vol. 60, no. 2, pp. 91–110, 2004. [7] K. Mikolajczyk and C. Schmid, “A performance evaluation of local descriptors,” IEEE Trans. Pattern Anal. Machine Intell., vol. 27, no. 10, pp. 1615–1630, 2005. [8] B. K. P. Horn, H. M. Hilden, and S. Negahdaripour, “Closed-form solution of absolute orientation using orthonormal matrices,” J. Opt. Soc. Am. A, vol. 5, no. 7, pp. 1127–1135, 1988. [9] M. Fischler and R. Bolles, “Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography,” Comm. ACM, vol. 24, pp. 381–385, 1981. [10] O. Faugeras, Three-Dimensional Computer Vision. A Geometric Viewpoint. Cambridge: The MIT Press, 1993. [11] S. Thrun, Y. Liu, D. Koller, A. Y. Ng, Z. Ghahramani, and H. Durrant- Whyte, “Simultaneous localization and mapping with sparse extended information filters,” Int. J. Robot. Res., vol. 23, no. 7-8, pp. 693–716, Jul. 2004. [12] K. Fukunaga, Introduction to Statistical Pattern Recognition, 2nd ed. San Diego: Academic Press, 1990. [13] H. Bay, T. Tuytelaars, and L. Van Gool, “SURF: Speeded up robust features,” in Proc. 9th European Conf. Comput. Vision, ser. Lect. Notes Comput. Sci., vol. 3951. Graz: Springer-Verlag, 2006, pp. 404–417. 3897 Authorized licensed use limited to: IEEE Xplore. Downloaded on February 10, 2009 at 09:12 from IEEE Xplore. Restrictions apply.