g 2 o: A General Framework for Graph Optimization

Size: px
Start display at page:

Download "g 2 o: A General Framework for Graph Optimization"

Transcription

1 g 2 o: A General Framework for Graph Optimization Rainer Kümmerle Giorgio Grisetti Hauke Strasdat Kurt Konolige Wolfram Burgard Abstract Many popular problems in robotics and computer vision including various types of simultaneous localization and mapping (SLAM) or bundle adjustment (BA) can be phrased as least squares optimization of an error function that can be represented by a graph This paper describes the general structure of such problems and presents g 2 o, an open-source C++ framework for optimizing graph-based nonlinear error functions Our system has been designed to be easily extensible to a wide range of problems and a new problem typically can be specified in a few lines of code The current implementation provides solutions to several variants of SLAM and BA We provide evaluations on a wide range of real-world and simulated datasets The results demonstrate that while being general g 2 o offers a performance comparable to implementations of stateof-the-art approaches for the specific problems Trajectory Landmarks (a) Trajectory Landmarks I INTRODUCTION A wide range of problems in robotics as well as in computer-vision involve the minimization of a nonlinear error function that can be represented as a graph Typical instances are simultaneous localization and mapping (SLAM) [19], [5], [22], [10], [16], [26] or bundle adjustment (BA) [27], [15], [18] The overall goal in these problems is to find the configuration of parameters or state variables that maximally explain a set of measurements affected by Gaussian noise For instance, in graph-based SLAM the state variables can be either the positions of the robot in the environment or the location of the landmarks in the map that can be observed with the robot s sensors Thereby, a measurement depends only on the relative location of two state variables, eg, an odometry measurement between two consecutive poses depends only on the connected poses Similarly, in BA or landmark-based SLAM a measurement of a 3D point or landmark depends only on the location of the observed point in the world and the position of the sensor All these problems can be represented as a graph Whereas each node of the graph represents a state variable to optimize, each edge between two variables represents a pairwise observation of the two nodes it connects In the literature, many approaches have been proposed to address this class of problems A naive implementation using standard methods like Gauss-Newton, Levenberg-Marquardt (LM), Gauss- Seidel relaxation, or variants of gradient descent typically This work has partly been supported by the European Commission under FP EUROPA, FP RADHAR, and the European Research Council Starting Grant R Kümmerle, G Grisetti, and W Burgard are with the University of Freiburg G Grisetti is also with Sapienza, University of Rome H Strasdat is with the Department of Computing, Imperial College London K Konolige is with Willow Garage and a Consulting Professor at Stanford University (b) Fig 1 Real-world datasets processed with our system: The first row of (a) shows the Victoria Park dataset which consists of 2D odometry and 2D landmark measurements The second row of (a) depicts a 3D pose graph of a multi-level parking garage While the left images shows the initial states, the right column depicts the respective result of the optimization process Full and zoomed view of the Venice bundle adjustment dataset after being optimized by our system (b) The dataset consists of 871 camera poses and 2,838,740 projections provides acceptable results for most applications However, to achieve the maximum performance substantial efforts and domain knowledge are required In this paper, we describe a general framework for performing the optimization of nonlinear least squares problems that can be represented as a graph We call this framework g 2 o (for general graph optimization ) Figure 1 gives an overview of the variety of problems that can be solved by using g 2 o as an optimization back-end The proposed system achieves a performance that is comparable with implementations of state-of-the-art algorithms, while being able to accept general forms of nonlinear measurements We achieve efficiency by utilizing algorithms that exploit the sparse connectivity of the graph, take advantage of the special structures of the graph that often occur in the problems mentioned above, use advanced methods to solve sparse linear systems, and utilize the features of modern processors like SIMD instructions and optimize the cache usage Despite its efficiency, g 2 o is highly general and extensible:

2 a 2D SLAM algorithm can be implemented in less than 30 lines of C++ code The user only has to specify the error function and its parameters In this paper, we apply g 2 o to different classes of least squares optimization problems and compare its performance with different implementations of problem-specific algorithms We present evaluations carried out on a large set of real-world and simulated data-sets; in all experiments g 2 o offered a performance comparable with the state-of-the-art approaches and in several cases even outperformed them The remainder of this paper is organized as follows We first discuss the related work with a particular emphasis on solutions to the problems of SLAM and bundle adjustment Subsequently, in Section III we characterize the graphembeddable optimization problems that are addressed by our system and discuss nonlinear least-squares via Gauss- Newton or LM In Section IV we then discuss the features provided by our implementation Finally, in Section V, we present an extensive experimental evaluation of g 2 o and compare it to other state-of-the-art, problem-specific methods II RELATED WORK In the past, the graph optimization problems have been studied intensively in the area of robotics and computer vision One seminal work is that of Lu and Milios [19] where the relative motion between two scans was measured by scan-matching and the resulting graph was optimized by iterative linearization While at that time, optimization of the graph was regarded as too time-consuming for realtime performance, recent advancements in the development of direct linear solvers (eg, [4]), graph-based SLAM has regained popularity and a huge variety of different approaches to solve SLAM by graph optimization have been proposed For example, Howard et al [12] apply relaxation to build a map Duckett et al [6] propose the usage of Gauss-Seidel relaxation to minimize the error in the network of constraints Frese et al [8] introduced multi-level relaxation (MLR), a variant of Gauss-Seidel relaxation that applies the relaxation at different levels of resolution Recently, Olson et al [22] suggested a gradient descent approach to optimize pose graphs Later, Grisetti et al [10] extended this approach by applying a tree-based parameterization that increases the convergence speed Both approaches are robust to the initial guess and rather easy to implement However, they assume that the covariance is roughly spherical and thus have difficulties in optimizing pose-graphs where some constraints have covariances with null spaces or substantial differences in the eigenvalues Graph optimization can be viewed as a nonlinear leastsquares problem, which typically is solved by forming a linear system around the current state, solving, and iterating One promising technique for solving the linear system is preconditioned conjugate gradient (PCG), which was used by Konolige [17] as well as Montemerlo and Thrun [20] as an efficient solver for large sparse pose constraint systems Because of its high efficiency on certain problems, g 2 o x 4 x 1 e x F(x) = e 12 Ω 12 e e 23 Ω 23 e 23 e 12 e 23 +e 31 Ω 31 e 31 +e 24 Ω 24 e 24 e 31 x 3 + Fig 2 This example illustrates how to represent an objective function by a graph includes an implementation of a sparse PCG solver which applies a block-jacobi pre-conditioner [13] More recently, Dellaert and colleagues suggested a system called SAM [5] which they implement using sparse direct linear solvers [4] Kaess et al [14] introduced a variant of this called isam that is able to update the linear matrix associated with the nonlinear least-squares problem Konolige et al [16] showed how to construct the linear matrix efficiently by exploiting the typical sparse structure of the linear system However, the latter approach is restricted to 2D pose graphs In g 2 o we share similar ideas with these systems Our system can be applied to both SLAM and BA optimization problems in all their variants, eg, 2D SLAM with landmarks, BA using a monocular camera, or BA using stereo vision However,g 2 o showed a substantially improved performance compared these systems on all the data we used for evaluation purposes In computer vision, Sparse Bundle Adjustment [27] is a nonlinear least-squares method that takes advantage of the sparsity of the Jacobian pattern between points and camera poses Very recently, there have been several systems [15], [13] that advance similar concepts of sparse linear solvers and efficient calculation of the Schur reduction (see Section III-D) for large systems ( 100M sparse matrix elements) There are also new systems based on nonlinear conjugate gradient that never form the linear system explicitly [1], [2]; these converge more slowly, but can work with extremely large datasets ( 1000M matrix elements) In this paper we compare g 2 o to the SSBA system of [15], which is the bestperforming publicly available system to date III NONLINEAR GRAPH OPTIMIZATION USING LEAST-SQUARES Many problems in robotics or in computer vision can be solved by finding the minimum of a function of this form: F(x) = e(x i,x j,z ij ) Ω ij e(x i,x j,z ij ) (1) F ij x = argminf(x) (2) x Here, x = (x 1,,x n) is a vector of parameters, where each x i represents a generic parameter block, z ij and Ω ij represent respectively the mean and the information matrix of a constraint relating the parameters x j and x i, and e(x i,x j,z ij ) is a vector error function that measures how well the parameter blocks x i and x j satisfy the constraint z ij It is 0 when x i and x j perfectly match the constraint

3 For simplicity of notation, in the rest of this paper we will encode the measurement in the indices of the error function: e(x i,x j,z ij ) def = e ij (x i,x j ) def = e ij (x) (3) Note that each error function, each parameter block, and each error function can span a different space A problem in this form can be effectively represented by a directed graph A node i of the graph represents the parameter block x i and an edge between the nodes i and j represents an ordered constraint between the two parameter blocks x i and x j Figure 2 shows an example of mapping between a graph and an objective function A Least Squares Optimization If a good initial guess x of the parameters is known, a numerical solution of Eq (2) can be obtained by using the popular Gauss-Newton or LM algorithms [23, 155] The idea is to approximate the error function by its first order Taylor expansion around the current initial guess x e ij ( x i + x i, x j + x j ) = e ij ( x+ x) (4) e ij +J ij x (5) Here, J ij is the Jacobian of e ij (x) computed in x and e ij def = e ij ( x) Substituting Eq (5) in the error terms F ij of Eq (1), we obtain F ij( x+ x) (6) = e ij( x+ x) Ω ije ij( x+ x) (7) (e ij +J ij x) Ω ij (e ij +J ij x) (8) = e ijω ije ij +2e c ij ijω ijj ij b ij x+ x J ijω ijj ij x (9) H ij = c ij +2b ij x+ x H ij x (10) With this local approximation, we can rewrite the function F(x) given in Eq (1) as F( x+ x) = F ij( x+ x) (11) c ij +2b ij x+ x H ij x (12) = c+2b x+ x H x (13) The quadratic form in Eq (13) is obtained from Eq (12) by setting c = c ij, b = b ij and H = H ij It can be minimized in x by solving the linear system H x = b (14) Here,His the information matrix of the system The solution is obtained by adding the increments x to the initial guess x = x+ x (15) The popular Gauss-Newton algorithm iterates the linearization in Eq (13), the solution in Eq (14), and the update step in Eq (15) In every iteration, the previous solution is used as the linearization point and the initial guess until a given termination criterion is met The LM algorithm introduces a damping factor and backup actions to Gauss-Newton to control the convergence Instead of solving Eq 14, LM solves a damped version (H+λI) x = b (16) Here λ is a damping factor: the higher λ is the smaller the x are This is useful to control the step size in case of non-linear surfaces The idea behind the LM algorithm is to dynamically control the damping factor At each iteration the error of the new configuration is monitored If the new error is lower than the previous one, λ is decreased for the next iteration Otherwise, the solution is reverted and lambda is increased For a more detailed explanation of the LM algorithm implemented in our framework we refer to [18] B Alternative Parameterizations The procedures described above are general approaches to multivariate function minimization They assume that the space of parameters x is Euclidean, which is not valid for several problems like SLAM or bundle adjustment To deal with state variables that span over non-euclidean space, a common approach is to express the increments x i in a space different from the one of the parameters x i For example, in the context of SLAM problem, each parameter block x i consists of a translation vector t i and a rotational component α i The translation t i clearly forms a Euclidean space In contrast to that, the rotational components α i span over the non-euclidean 2D or 3D rotation group SO(2) or SO(3) To avoid singularities, these spaces are usually described in an over-parameterized way, eg, by rotation matrices or quaternions Directly applying Eq (15) to these over-parameterized representations breaks the constraints induced by the over-parameterization To overcome this problem, one can use a minimal representation for the rotation (like Euler angles in 3D) This, however, is then subject to singularities An alternative idea is to compute a new error function where the x i are perturbations around the current variable x i x i uses a minimal representation for the rotations, while x i utilizes an over-parameterized one Since the x i are usually small, they are far from the singularities The new value of a variable x i after the optimization can be obtained by applying the increment through a nonlinear operator : Dom(x i ) Dom( x i ) Dom(x i ) as follows: x i = x i x i (17) For instance, in case of 3D SLAM one can represent the increments x i by the translation vector and the axis of a normalized quaternion The poses x i are represented as a translation vector and a full quaternion The operator applies the increment x i to x i by using the standard motion composition operator (see [25]) after converting the increment to the same representation as the state variable: x i x i def = x i x i (18)

4 With this operator, a new error function can be defined as Error function e ij e ij ( x i, x j ) def = e ij ( x i x i, x j x j ) (19) = e ij ( x x) e ij +J ij x, (20) where x spans over the original over-parameterized space The Jacobian J ij becomes J ij = e ij( x x) x (21) x=0 Since the increments x are computed in the local Euclidean surroundings of the initial guess x, they need to be re-mapped into the original redundant space by the operator Our framework allows for the easy definition of different spaces for the increments and the state variables and thus transparently supports arbitrary parameterizations within the same problem Regardless the choice of the parameterization, the structure of the Hessian H is in general preserved C Structure of the Linearized System According to Eq (13), the matrix H and the vector b are obtained by summing up a set of matrices and vectors, one for every constraint If we set b ij = J ij Ω ije ij and H ij = J ij Ω ijj ij we can rewrite b and H as b = H = H ij (22) b ij Every constraint will contribute to the system with an addend term The structure of this addend depends on the Jacobian of the error function Since the error function of a constraint depends only on the values of two nodes, the Jacobian in Eq (5) has the following form: J ij = 0 0 A ij 0 0 B ij 0 0 (23) }{{} }{{} i j Here A ij and B ij are the derivatives of the error function with respect to x i and x j From Eq (9) we obtain the following structure for the block matrix H ij : A ijω ija ij A ijω ijb ij H ij = b ij = B ijω ija ij B ijω ijb ij A ijω ije ij B ijω ije ij For simplicity of notation we omitted the zero blocks The reader might notice that the block structure of the matrix H is the adjacency matrix of the graph Thus, it has a number of non-zero blocks proportional to number of edges in the graph This typically results in sparse H matrices In g 2 o we take advantage of this characteristic of H by utilizing stateof-the-art approaches to solve the linear system of Eq (14) Jacobian J ij (H + λi) x = b Linear Solver CSparse CHOLMOD Linear Structure Plain PCG Apply increments Schur Fig 3 Overview of our framework For addressing a new optimization problem, only the boxes in gray need to specified Furthermore, the framework allows to add different linear solvers D Systems Having Special Structure Certain problems (for instance, BA) result in an H matrix that has an even more characteristic structure Our system can take advantage of these special structures to improve the performance In BA there are in general two types of variables, namely the poses p of the camera and the poses l of the landmarks observed by the camera By reordering the variables in Eq (14) so that the camera poses have the lower indices we obtain the system ( ) ( Hpp H pl x ) ( ) p bp H pl H ll x = (24) l b l It can be shown that an equivalent reduced system is formed by taking the Schur complement of the H matrix [7] ( Hpp H pl H 1 ll H ) pl x p = b p +H pl H 1 ll b l (25) Note that calculating H 1 ll is easy, since H ll is a blockdiagonal matrix Solving Eq (25) yields the increments x p for the cameras and using this we can solve H ll x l = b l H pl x p, (26) which results in x l for adjusting the observed world features Typically the world features outnumber the camera poses, therefore Eq (25) can be solved faster than Eq (14) despite the additional time spent to calculate the left-hand side matrix in Eq (25) IV IMPLEMENTATION Our C++ implementation aims to be as fast as possible while remaining general We achieve this goal by implementing abstract base classes for vertices and edges in our graph Both base classes provide a set of virtual functions for easy user subclassing, while most of the internal operations are implemented using template arguments for efficiency We use the Eigen linear algebra package [11] which applies SSE instructions among other optimization techniques, such lazy evaluation and loop unrolling to achieve high performance Figure 3 depicts the design of our system Only the boxes in gray need to be defined to address a new optimization problem Using the provided base class, deriving a new type of node only requires defining the operator for applying the increments An edge connecting two nodes x i

5 Fig 4 3D pose-graph datasets used for evaluating g 2 o: the left image shows a simulated sphere, the right image depicts a partial view of a realworld dataset of a multi-level parking garage andx j requires the definition of the error functione ij ( ) The JacobianJ ij is then evaluated numerically, or, for higher efficiency, the user can specify J ij explicitly by overwriting the virtual base-class function Thus, implementing new types for addressing a new optimization problem or comparing different parameterizations is a matter of writing a few lines of code The computation of H in the general case uses matrices of a variable size If the dimension of the variables, ie, the dimension of x i, is known in advance, our framework allows fixed-size matrix computations Exploiting the a-priori known dimensions enables compile-time optimizations such as loop unrolling to carry out matrix multiplications Special care has been taken in implementing matrix multiplications required for the Schur reduction in Eq (25) The sparse structure of the underlying graph is exploited to only multiply non-zero entries required to form the extra entries of H pp Additionally, we operate on the block structures of the underlying matrix (see [15]), which results in a cache efficient matrix multiplication compared to a scalar matrix multiplication Our framework is agnostic with respect to the embedded linear solver, so we can apply appropriate ones for different problems We have used two solvers for experiments Since H is positive semi-definite and symmetric, sparse Cholesky decomposition results in a an efficient solver [4], [3] Note that the non-zero pattern during the least-squares iterations is constant We therefore are able to reuse a symbolic decomposition computed within the first iteration, which results in a reduced fill-in and reduces the overall computation time in subsequent iterations Note that this Cholesky decomposition does not take advantage of the block structure of the parameters The second method is Preconditioned Conjugate Gradient (PCG) with a block Jacobi pre-conditioner [13], which takes advantage of block matrix operations throughout As PCG itself is an iterative method, solving a linear system requiresniterations for an n matrix Since carrying out n iterations of PCG is typically slower than Cholesky decomposition, we limit the number of iterations based on the relative decrease in the squared residual of PCG By this we are able to quantify the loss in the accuracy of the solution introduced by terminating PCG early In the experiments we will compare the different solvers V EXPERIMENTS In this section, we present experiments in which we compare g 2 o with other state-of-the-art optimization approaches Fig 5 The BA real world datasets and the scale-drift dataset used for evaluating g 2 o: the left image shows the Venice dataset, whereas the middle image depicts the New College dataset [24] The pair of images on the right shows the Keble college dataset which was processed by monocular SLAM Here, scale drift occurs (top) which can be corrected when closing the loop using 7 DoF similarity transformations (bottom) TABLE I OVERVIEW OF THE TEST DATASETS Dataset # poses # landmarks # constraints Intel MIT Manhattan Victoria Grid Sphere Garage Venice New College Scale Drift using both real-world and synthetic datasets Figure 4 depicts the 3D pose-graph data sets, in Figure 5 the BA datasets and the pose-graph of the Keble college, which is used to perform scale drift-aware SLAM using 7 DoF similarity constraints [26], are visualized, and Figure 6 shows the 2D datasets The number of variables and constraints is given in Table I for each of the datasets All experiments are executed on one core of an Intel Core i7-930 running at 28 Ghz We compare g 2 o with other state-of-the-art implementations: SAM [5] using the open-source implementation by M Kaess, SPA [16], ssba [15], and RobotVision [26] Note that these approaches are only targeting a subset of optimization problems while g 2 o is able to solve all of them, and also extends easily to new problems A Runtime Comparison In the following, we report the time needed by each approach to carry out one iteration We provided each approach with the full optimization problem and carried out 10 iterations, and measured the average time spent per iteration In this set of experiments g 2 o applies Cholesky decomposition to solve the linear system using CHOLMOD, which is also used by the approaches we compare to Therefore, the time required to solve the linear system is similar for all approaches and the difference reflects the Time per Iteration [s] SAM g 2 o SPA Fig 7 grid5k Victoria (bearing) Victoria Manhattan Killian Intel Time per Iteration [s] SAM g 2 o SPA / ssba RobotVision New College Venice Scale Drift Garage Sphere Time per iteration for each approach on each dataset

6 Trajectory Landmarks Fig 6 2D Datasets used for evaluating g 2 o From left to right: 2D pose-graph of the Intel Research Lab; 2D pose-graph of the Killian Court; Manhattan3500, a simulated pose-graph; 2D dataset with landmarks of the Victoria Park; and Grid5000, a simulated landmark dataset Cumulative Time [s] g 2 o (Cholesky) every node g 2 o (PCG) every node isam every node HOG-Man every node Number of nodes Cumulative Time [s] g 2 o (Cholesky) every 10 nodes isam every 10 nodes HOG-Man every 10 nodes Number of nodes Fig 8 Online processing of the Manhattan3500 dataset The left image shows the runtime for optimizing after inserting a single node whereas the right image show the runtime for optimizing after inserting 10 nodes efficiency in constructing the linear system The results are summarized in Figure 7 Our system g 2 o is faster than the implementation of SAM on all the 2D and 3D datasets we tested While in principle they implement the same algorithm, g 2 o takes advantage of an efficient front end to generate the linearized problem On the 2D pose graph datasets the runtime of our framework is comparable to the highly optimized SPA implementation On the BA datasets g 2 o achieves a similar performance to ssba, which is slightly faster than our general framework Compared to RobotVision, g 2 o is on average two times faster Note that while g 2 o focuses on batch optimization, it can be used to process the data incrementally by optimizing after adding nodes to the graph The efficiency of g 2 o yields performance similar to approaches that are designed for incremental use, such as isam [14] or HOG-Man [9] As visualized in Figure 8, by optimizing every 10 nodes or by relaxing the termination criterion of PCG for optimizing after inserting a single nodeg 2 o can achieve acceptable run-times Furthermore, it can be used as an efficient building block of more complex online systems [21], [9] As mentioned, g 2 o can compute the Jacobian J ij numerically, which allows rapid prototyping of a new optimization problem or a new error function However, by specifying the Jacobians analytically one can achieve a substantial speed-up For instance, the time required by one iteration of g 2 o on the Garage dataset drops from 80 ms to 40 ms when specifying the analytic Jacobian Despite the reduced efficiency we did not observe a decrease in the accuracy when using the numeric Jacobian B Testing different Parameterizations Since our framework only requires to implement the error function and the update step, we are able to easily compare different parameterizations To this end, we implemented two different parameterizations for representing poses in BA In the first parametrization, the increment x i is represented by a translation vector and the axis of a unit quaternion Whereas in the second one, the increments x i F(x) LIE ALGEBRA SE(3) UNIT QUATERNION Iteration F(x) LIE ALGEBRA SE(3) UNIT QUATERNION Iteration Fig 9 Evolution of F(x) using unit quaternions versus the Lie algebra se(3) on the New College dataset (left) and Venice (right) dataset TABLE II COMPARISON OF DIFFERENT LINEAR SOLVERS (TIME IN SECONDS) Dataset CHOLMOD CSparse PCG Intel ± MIT ± 0364 Manhattan ± Victoria ± 0683 Grid ± 1185 Sphere ± 0019 Garage ± 0016 New College ± 0201 Venice ± 0135 Scale Drift ± 001 are represented by members of the Lie algebra se(3) [26] We applied the different parameterizations to the New College and Venice datasets The evolution of the error is depicted in Figure 9 Both parameterizations converge to the same solution, but convergence occurs faster using se(3) C Comparison of Linear Solvers Our system allows different linear solvers to solve either Eq (14) or Eq (25) We currently have implemented two solvers based on Cholesky decomposition, namely CHOLMOD and CSparse [4] Additionally, we implemented PCG as an iterative method using a block-jacobi preconditioner Table II summarizes the time required for solving the linear system on several datasets PCG performs very well on the New College and Venice datasets, where it is around 7 times faster than CHOLMOD The PCG convergence depends on how close the initial guess is to the optimum We terminate PCG if the relative residual is below a given threshold (10 8 in the experiments) Therefore, PCG requires more time to converge, for example, on the MIT or Victoria datasets CHOLMOD is faster by up to a factor of 30 than CSparse on the larger datasets But surprisingly CSparse is the fastest solver on the smaller instances like the MIT dataset where it outperforms both CHOLMOD and PCG D Utilizing the Knowledge about the Structure As discussed in Section III-D, certain problems have a characteristic structure Using this structure may result in substantial improvements in the solution of the linear

7 TABLE III COMPARISON OF DIFFERENT LINEAR SOLVERS WE MEASURED THE AVERAGE TIME PER ITERATION OF g 2 o (IN SECONDS) Dataset direct solution Schur decomposition solve build / solve / total Victoria / 0121 / 0150 Grid / 016 / 028 New College / 707 / 1044 Venice / 178 / 1303 system Landmark-based SLAM and BA have the same linear structure: the landmarks/points can be only connected with the robot poses/cameras, resulting in a block diagonal structure for the landmark part of the Hessian H ll In this experiment we evaluate the advantages of using this specific decomposition for landmark based-slam and BA Table III shows the timing for the different datasets where we enabled and disabled the decomposition From the table it is evident that preforming the decomposition results in a substantial speedup when the landmarks outnumber the poses, which is the typically the case in BA However, when the number of poses becomes dominant, performing the Schur marginalization leads to a highly connected system that is only slightly reduced in size, and requires more effort to be solved VI CONCLUSIONS In this paper we presented g 2 o, an extensible and efficient open-source framework for batch optimization of functions that can be embedded in a graph Relevant problems falling into this class are graph-based SLAM and bundle adjustment, two fundamental and highly related problems in robotics and computer vision To utilize g 2 o one simply has to define the error function and a procedure for applying a perturbation to the current solution Furthermore, one can easily embed in the system new linear solvers and thus verify the characteristics of the specific solver for a wide range of problems sharing this graph structure We showed the applicability of g 2 o to various variants of SLAM (2D, 3D, pose-only, and with landmarks) and to bundle adjustment Practical experiments carried out on extensive datasets demonstrate that g 2 o achieves performance comparable to implementations of problem-specific algorithms and often even outperforms them An open-source implementation of the entire system is freely available as part of ROS and on OpenSLAMorg ACKNOWLEDGMENTS We thank E Olson for the Manhattan3500 dataset, E Nebot and H Durrant-Whyte for the Victoria Park dataset, N Snavely for the Venice dataset, and M Kaess for providing a highly efficient implementation of isam REFERENCES [1] S Agarwal, N Snavely, S M Seitz, and R Szeliski, Bundle adjustment in the large, in Proc of the European Conf on Computer Vision (ECCV), 2010 [2] M Byrod and K Astroem, Conjgate gradient bundle adjustment, in Proc of the European Conf on Computer Vision (ECCV), 2010 [3] Y Chen, T A Davis, W W Hager, and S Rajamanickam, Algorithm 887: Cholmod, supernodal sparse cholesky factorization and update/downdate, ACM Trans Math Softw, vol 35, no 3, pp 1 14, 2008 [4] T A Davis, Direct Methods for Sparse Linear Systems SIAM, 2006, part of the SIAM Book Series on the Fundamentals of Algorithms [5] F Dellaert and M Kaess, Square Root SAM: Simultaneous localization and mapping via square root information smoothing, Int Journal of Robotics Research, vol 25, no 12, pp , Dec 2006 [6] T Duckett, S Marsland, and J Shapiro, Fast, on-line learning of globally consistent maps, Autonomous Robots, vol 12, no 3, pp , 2002 [7] U Frese, A proof for the approximate sparsity of SLAM information matrices, in Proc of the IEEE Int Conf on Robotics & Automation (ICRA), 2005 [8] U Frese, P Larsson, and T Duckett, A multilevel relaxation algorithm for simultaneous localisation and mapping, IEEE Transactions on Robotics, vol 21, no 2, pp 1 12, 2005 [9] G Grisetti, R Kümmerle, C Stachniss, U Frese, and C Hertzberg, Hierarchical optimization on manifolds for online 2d and 3d mapping, in Proc of the IEEE Int Conf on Robotics & Automation (ICRA), 2010 [10] G Grisetti, C Stachniss, and W Burgard, Non-linear constraint network optimization for efficient map learning, IEEE Trans on Intelligent Transportation Systems, 2009 [11] G Guennebaud, B Jacob, et al, Eigen v3, [12] A Howard, M Matarić, and G Sukhatme, Relaxation on a mesh: a formalism for generalized localization, in Proc of the IEEE/RSJ Int Conf on Intelligent Robots and Systems (IROS), 2001 [13] Y Jeong, D Nister, D Steedly, R Szeliski, and I Kweon, Pushing the envelope of modern methods for bundle adjustment, in Proc of the IEEE Conf on Comp Vision and Pattern Recognition (CVPR), 2010 [14] M Kaess, A Ranganathan, and F Dellaert, isam: Incremental smoothing and mapping, IEEE Trans on Robotics, vol 24, no 6, pp , Dec 2008 [15] K Konolige, Sparse sparse bundle adjustment, in Proc of the British Machine Vision Conference (BMVC), 2010 [16] K Konolige, G Grisetti, R Kümmerle, W Burgard, B Limketkai, and R Vincent, Sparse pose adjustment for 2d mapping, in Proc of the IEEE/RSJ Int Conf on Intelligent Robots and Systems (IROS), 2010 [17] K Konolige, Large-scale map-making, in Proc of the National Conference on Artificial Intelligence (AAAI), 2004 [18] M A Lourakis and A Argyros, SBA: A Software Package for Generic Sparse Bundle Adjustment, ACM Trans Math Software, vol 36, no 1, pp 1 30, 2009 [19] F Lu and E Milios, Globally consistent range scan alignment for environment mapping, Autonomous Robots, vol 4, pp , 1997 [20] M Montemerlo and S Thrun, Large-scale robotic 3-d mapping of urban structures, in Proc of the Int Symposium on Experimental Robotics (ISER), 2004 [21] K Ni and F Dellaert, Multi-level submap based SLAM using nested dissection, in Proc of the IEEE/RSJ Int Conf on Intelligent Robots and Systems (IROS), 2010 [22] E Olson, J Leonard, and S Teller, Fast iterative optimization of pose graphs with poor initial estimates, in Proc of the IEEE Int Conf on Robotics & Automation (ICRA), 2006, pp [23] W Press, S Teukolsky, W Vetterling, and B Flannery, Numerical Recipes, 2nd Edition Cambridge Univ Press, 1992 [24] M Smith, I Baldwin, W Churchill, R Paul, and P Newman, The new college vision and laser data set, Int Journal of Robotics Research, vol 28, no 5, pp , May 2009 [25] R Smith, M Self, and P Cheeseman, Estimating uncertain spatial realtionships in robotics, in Autonomous Robot Vehicles, I Cox and G Wilfong, Eds Springer Verlag, 1990, pp [26] H Strasdat, J M M Montiel, and A Davison, Scale drift-aware large scale monocular SLAM, in Proc of Robotics: Science and Systems (RSS), 2010 [27] B Triggs, P F McLauchlan, R I Hartley, and A W Fitzibbon, Bundle adjustment - a modern synthesis, in Vision Algorithms: Theory and Practice, ser LNCS Springer Verlag, 2000, pp

Robust Optimization of Factor Graphs by using Condensed Measurements

Robust Optimization of Factor Graphs by using Condensed Measurements Robust Optimization of Factor Graphs by using Condensed Measurements Giorgio Grisetti Rainer Kümmerle Kai Ni Abstract Popular problems in robotics and computer vision like simultaneous localization and

More information

Online Constraint Network Optimization for Efficient Maximum Likelihood Map Learning

Online Constraint Network Optimization for Efficient Maximum Likelihood Map Learning Online Constraint Network Optimization for Efficient Maximum Likelihood Map Learning Giorgio Grisetti Dario Lodi Rizzini Cyrill Stachniss Edwin Olson Wolfram Burgard Abstract In this paper, we address

More information

MAP ESTIMATION WITH LASER SCANS BASED ON INCREMENTAL TREE NETWORK OPTIMIZER

MAP ESTIMATION WITH LASER SCANS BASED ON INCREMENTAL TREE NETWORK OPTIMIZER MAP ESTIMATION WITH LASER SCANS BASED ON INCREMENTAL TREE NETWORK OPTIMIZER Dario Lodi Rizzini 1, Stefano Caselli 1 1 Università degli Studi di Parma Dipartimento di Ingegneria dell Informazione viale

More information

Great-Ideas in Computer Science. Sparse Least Squares on Manifolds. Giorgio Grisetti

Great-Ideas in Computer Science. Sparse Least Squares on Manifolds. Giorgio Grisetti Great-Ideas in Computer Science Sparse Least Squares on Manifolds Giorgio Grisetti Special thanks to: Rainer Kuemmerle, Hauke Strasdat, Kurt Konolige, Cyrill Stachniss, Wolfram Burgard, Outline Least Squares

More information

An Approach to Solving Large-Scale SLAM Problems with a Small Memory Footprint

An Approach to Solving Large-Scale SLAM Problems with a Small Memory Footprint An Approach to Solving Large-Scale SLAM Problems with a Small Memory Footprint Benjamin Suger Gian Diego Tipaldi Luciano Spinello Wolfram Burgard Abstract In the past, highly effective solutions to the

More information

Online Environment Mapping

Online Environment Mapping Online Environment Mapping Jongwoo Lim Honda Research Institute USA, inc. Mountain View, CA, USA jlim@honda-ri.com Jan-Michael Frahm Department of Computer Science University of North Carolina Chapel Hill,

More information

Bundle adjustment gone public

Bundle adjustment gone public GoBack Bundle adjustment gone public Manolis I.A. Lourakis lourakis@ics.forth.gr http://www.ics.forth.gr/~lourakis/ Institute of Computer Science Foundation for Research and Technology - Hellas Vassilika

More information

Towards Linear-time Incremental Structure from Motion

Towards Linear-time Incremental Structure from Motion Towards Linear-time Incremental Structure from Motion Changchang Wu University of Washington Abstract The time complexity of incremental structure from motion (SfM) is often known as O(n 4 ) with respect

More information

Vision-based Mapping with Backward Correction

Vision-based Mapping with Backward Correction Proceedings of the 2002 IEEE/RSJ Intl. Conference on Intelligent Robots and Systems EPFL, Lausanne, Switzerland October 2002 Vision-based Mapping with Backward Correction Stephen Se David Lowe, Jim Little

More information

DATA ANALYSIS II. Matrix Algorithms

DATA ANALYSIS II. Matrix Algorithms DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where

More information

Yousef Saad University of Minnesota Computer Science and Engineering. CRM Montreal - April 30, 2008

Yousef Saad University of Minnesota Computer Science and Engineering. CRM Montreal - April 30, 2008 A tutorial on: Iterative methods for Sparse Matrix Problems Yousef Saad University of Minnesota Computer Science and Engineering CRM Montreal - April 30, 2008 Outline Part 1 Sparse matrices and sparsity

More information

A Direct Numerical Method for Observability Analysis

A Direct Numerical Method for Observability Analysis IEEE TRANSACTIONS ON POWER SYSTEMS, VOL 15, NO 2, MAY 2000 625 A Direct Numerical Method for Observability Analysis Bei Gou and Ali Abur, Senior Member, IEEE Abstract This paper presents an algebraic method

More information

Image Estimation Algorithm for Out of Focus and Blur Images to Retrieve the Barcode Value

Image Estimation Algorithm for Out of Focus and Blur Images to Retrieve the Barcode Value IJSTE - International Journal of Science Technology & Engineering Volume 1 Issue 10 April 2015 ISSN (online): 2349-784X Image Estimation Algorithm for Out of Focus and Blur Images to Retrieve the Barcode

More information

Metrics on SO(3) and Inverse Kinematics

Metrics on SO(3) and Inverse Kinematics Mathematical Foundations of Computer Graphics and Vision Metrics on SO(3) and Inverse Kinematics Luca Ballan Institute of Visual Computing Optimization on Manifolds Descent approach d is a ascent direction

More information

P164 Tomographic Velocity Model Building Using Iterative Eigendecomposition

P164 Tomographic Velocity Model Building Using Iterative Eigendecomposition P164 Tomographic Velocity Model Building Using Iterative Eigendecomposition K. Osypov* (WesternGeco), D. Nichols (WesternGeco), M. Woodward (WesternGeco) & C.E. Yarman (WesternGeco) SUMMARY Tomographic

More information

TESLA Report 2003-03

TESLA Report 2003-03 TESLA Report 23-3 A multigrid based 3D space-charge routine in the tracking code GPT Gisela Pöplau, Ursula van Rienen, Marieke de Loos and Bas van der Geer Institute of General Electrical Engineering,

More information

Flow Separation for Fast and Robust Stereo Odometry

Flow Separation for Fast and Robust Stereo Odometry Flow Separation for Fast and Robust Stereo Odometry Michael Kaess, Kai Ni and Frank Dellaert Abstract Separating sparse flow provides fast and robust stereo visual odometry that deals with nearly degenerate

More information

Towards Using Sparse Bundle Adjustment for Robust Stereo Odometry in Outdoor Terrain

Towards Using Sparse Bundle Adjustment for Robust Stereo Odometry in Outdoor Terrain Sünderhauf, N. & Protzel, P. (2006). Towards Using Sparse Bundle Adjustment for Robust Stereo Odometry in Outdoor Terrain. In Proc. of Towards Autonomous Robotic Systems TAROS06, Guildford, UK, pp. 206

More information

(Quasi-)Newton methods

(Quasi-)Newton methods (Quasi-)Newton methods 1 Introduction 1.1 Newton method Newton method is a method to find the zeros of a differentiable non-linear function g, x such that g(x) = 0, where g : R n R n. Given a starting

More information

Numerical Methods I Solving Linear Systems: Sparse Matrices, Iterative Methods and Non-Square Systems

Numerical Methods I Solving Linear Systems: Sparse Matrices, Iterative Methods and Non-Square Systems Numerical Methods I Solving Linear Systems: Sparse Matrices, Iterative Methods and Non-Square Systems Aleksandar Donev Courant Institute, NYU 1 donev@courant.nyu.edu 1 Course G63.2010.001 / G22.2420-001,

More information

A Learning Based Method for Super-Resolution of Low Resolution Images

A Learning Based Method for Super-Resolution of Low Resolution Images A Learning Based Method for Super-Resolution of Low Resolution Images Emre Ugur June 1, 2004 emre.ugur@ceng.metu.edu.tr Abstract The main objective of this project is the study of a learning based method

More information

Static Environment Recognition Using Omni-camera from a Moving Vehicle

Static Environment Recognition Using Omni-camera from a Moving Vehicle Static Environment Recognition Using Omni-camera from a Moving Vehicle Teruko Yata, Chuck Thorpe Frank Dellaert The Robotics Institute Carnegie Mellon University Pittsburgh, PA 15213 USA College of Computing

More information

Face Model Fitting on Low Resolution Images

Face Model Fitting on Low Resolution Images Face Model Fitting on Low Resolution Images Xiaoming Liu Peter H. Tu Frederick W. Wheeler Visualization and Computer Vision Lab General Electric Global Research Center Niskayuna, NY, 1239, USA {liux,tu,wheeler}@research.ge.com

More information

Manifold Learning Examples PCA, LLE and ISOMAP

Manifold Learning Examples PCA, LLE and ISOMAP Manifold Learning Examples PCA, LLE and ISOMAP Dan Ventura October 14, 28 Abstract We try to give a helpful concrete example that demonstrates how to use PCA, LLE and Isomap, attempts to provide some intuition

More information

EM Clustering Approach for Multi-Dimensional Analysis of Big Data Set

EM Clustering Approach for Multi-Dimensional Analysis of Big Data Set EM Clustering Approach for Multi-Dimensional Analysis of Big Data Set Amhmed A. Bhih School of Electrical and Electronic Engineering Princy Johnson School of Electrical and Electronic Engineering Martin

More information

[2010] IEEE. Reprinted, with permission, from [Minjie Liu, Shoudong Huang and Sarath Kodagoda, Towards a consistent SLAM algorithm using B-Splines to

[2010] IEEE. Reprinted, with permission, from [Minjie Liu, Shoudong Huang and Sarath Kodagoda, Towards a consistent SLAM algorithm using B-Splines to [2] IEEE. Reprinted, with permission, from [Minjie Liu, Shoudong Huang and Sarath Kodagoda, Towards a consistent SLAM algorithm using B-Splines to represent environments, Intelligent Robots and Systems

More information

Inference on networks of mixtures for robust robot mapping

Inference on networks of mixtures for robust robot mapping Inference on networks of mixtures for robust robot mapping Edwin Olson Computer Science and Engineering, University of Michigan, 226 Hayward Street, Ann Arbor, Michigan Email: ebolson@umich.edu Pratik

More information

AN INTRODUCTION TO NUMERICAL METHODS AND ANALYSIS

AN INTRODUCTION TO NUMERICAL METHODS AND ANALYSIS AN INTRODUCTION TO NUMERICAL METHODS AND ANALYSIS Revised Edition James Epperson Mathematical Reviews BICENTENNIAL 0, 1 8 0 7 z ewiley wu 2007 r71 BICENTENNIAL WILEY-INTERSCIENCE A John Wiley & Sons, Inc.,

More information

Removing Moving Objects from Point Cloud Scenes

Removing Moving Objects from Point Cloud Scenes 1 Removing Moving Objects from Point Cloud Scenes Krystof Litomisky klitomis@cs.ucr.edu Abstract. Three-dimensional simultaneous localization and mapping is a topic of significant interest in the research

More information

Wii Remote Calibration Using the Sensor Bar

Wii Remote Calibration Using the Sensor Bar Wii Remote Calibration Using the Sensor Bar Alparslan Yildiz Abdullah Akay Yusuf Sinan Akgul GIT Vision Lab - http://vision.gyte.edu.tr Gebze Institute of Technology Kocaeli, Turkey {yildiz, akay, akgul}@bilmuh.gyte.edu.tr

More information

Nonlinear Iterative Partial Least Squares Method

Nonlinear Iterative Partial Least Squares Method Numerical Methods for Determining Principal Component Analysis Abstract Factors Béchu, S., Richard-Plouet, M., Fernandez, V., Walton, J., and Fairley, N. (2016) Developments in numerical treatments for

More information

Machine Learning and Data Mining. Regression Problem. (adapted from) Prof. Alexander Ihler

Machine Learning and Data Mining. Regression Problem. (adapted from) Prof. Alexander Ihler Machine Learning and Data Mining Regression Problem (adapted from) Prof. Alexander Ihler Overview Regression Problem Definition and define parameters ϴ. Prediction using ϴ as parameters Measure the error

More information

15.062 Data Mining: Algorithms and Applications Matrix Math Review

15.062 Data Mining: Algorithms and Applications Matrix Math Review .6 Data Mining: Algorithms and Applications Matrix Math Review The purpose of this document is to give a brief review of selected linear algebra concepts that will be useful for the course and to develop

More information

Accurate and robust image superresolution by neural processing of local image representations

Accurate and robust image superresolution by neural processing of local image representations Accurate and robust image superresolution by neural processing of local image representations Carlos Miravet 1,2 and Francisco B. Rodríguez 1 1 Grupo de Neurocomputación Biológica (GNB), Escuela Politécnica

More information

Performance of 6D LuM and FFS SLAM An Example for Comparison using Grid and Pose Based Evaluation Methods

Performance of 6D LuM and FFS SLAM An Example for Comparison using Grid and Pose Based Evaluation Methods Performance of 6D LuM and FFS SLAM An Example for Comparison using Grid and Pose Based Evaluation Methods Rolf Lakaemper, Andreas Nüchter, Nagesh Adluru, and Longin Jan Latecki The focus of this paper

More information

Mean-Shift Tracking with Random Sampling

Mean-Shift Tracking with Random Sampling 1 Mean-Shift Tracking with Random Sampling Alex Po Leung, Shaogang Gong Department of Computer Science Queen Mary, University of London, London, E1 4NS Abstract In this work, boosting the efficiency of

More information

Mean value theorem, Taylors Theorem, Maxima and Minima.

Mean value theorem, Taylors Theorem, Maxima and Minima. MA 001 Preparatory Mathematics I. Complex numbers as ordered pairs. Argand s diagram. Triangle inequality. De Moivre s Theorem. Algebra: Quadratic equations and express-ions. Permutations and Combinations.

More information

The Trimmed Iterative Closest Point Algorithm

The Trimmed Iterative Closest Point Algorithm Image and Pattern Analysis (IPAN) Group Computer and Automation Research Institute, HAS Budapest, Hungary The Trimmed Iterative Closest Point Algorithm Dmitry Chetverikov and Dmitry Stepanov http://visual.ipan.sztaki.hu

More information

Fast Multipole Method for particle interactions: an open source parallel library component

Fast Multipole Method for particle interactions: an open source parallel library component Fast Multipole Method for particle interactions: an open source parallel library component F. A. Cruz 1,M.G.Knepley 2,andL.A.Barba 1 1 Department of Mathematics, University of Bristol, University Walk,

More information

SPECIAL PERTURBATIONS UNCORRELATED TRACK PROCESSING

SPECIAL PERTURBATIONS UNCORRELATED TRACK PROCESSING AAS 07-228 SPECIAL PERTURBATIONS UNCORRELATED TRACK PROCESSING INTRODUCTION James G. Miller * Two historical uncorrelated track (UCT) processing approaches have been employed using general perturbations

More information

Covariance Recovery from a Square Root Information Matrix for Data Association

Covariance Recovery from a Square Root Information Matrix for Data Association Covariance Recovery from a Square Root Information Matrix for Data Association Michael Kaess CSAIL, Massachusetts Institute of Technology, 32 Vassar St., Cambridge, MA 0239 Frank Dellaert College of Computing,

More information

Computational Optical Imaging - Optique Numerique. -- Deconvolution --

Computational Optical Imaging - Optique Numerique. -- Deconvolution -- Computational Optical Imaging - Optique Numerique -- Deconvolution -- Winter 2014 Ivo Ihrke Deconvolution Ivo Ihrke Outline Deconvolution Theory example 1D deconvolution Fourier method Algebraic method

More information

Analecta Vol. 8, No. 2 ISSN 2064-7964

Analecta Vol. 8, No. 2 ISSN 2064-7964 EXPERIMENTAL APPLICATIONS OF ARTIFICIAL NEURAL NETWORKS IN ENGINEERING PROCESSING SYSTEM S. Dadvandipour Institute of Information Engineering, University of Miskolc, Egyetemváros, 3515, Miskolc, Hungary,

More information

Subspace Analysis and Optimization for AAM Based Face Alignment

Subspace Analysis and Optimization for AAM Based Face Alignment Subspace Analysis and Optimization for AAM Based Face Alignment Ming Zhao Chun Chen College of Computer Science Zhejiang University Hangzhou, 310027, P.R.China zhaoming1999@zju.edu.cn Stan Z. Li Microsoft

More information

Classifying Manipulation Primitives from Visual Data

Classifying Manipulation Primitives from Visual Data Classifying Manipulation Primitives from Visual Data Sandy Huang and Dylan Hadfield-Menell Abstract One approach to learning from demonstrations in robotics is to make use of a classifier to predict if

More information

Class-specific Sparse Coding for Learning of Object Representations

Class-specific Sparse Coding for Learning of Object Representations Class-specific Sparse Coding for Learning of Object Representations Stephan Hasler, Heiko Wersing, and Edgar Körner Honda Research Institute Europe GmbH Carl-Legien-Str. 30, 63073 Offenbach am Main, Germany

More information

Least-Squares Intersection of Lines

Least-Squares Intersection of Lines Least-Squares Intersection of Lines Johannes Traa - UIUC 2013 This write-up derives the least-squares solution for the intersection of lines. In the general case, a set of lines will not intersect at a

More information

Fully Distributed Scalable Smoothing and Mapping with Robust Multi-robot Data Association

Fully Distributed Scalable Smoothing and Mapping with Robust Multi-robot Data Association Fully Distributed Scalable Smoothing and Mapping with Robust Multi-robot Data ssociation lexander Cunningham, Kai M. Wurm, Wolfram urgard, and Frank Dellaert bstract In this paper we focus on the multi-robot

More information

6. Cholesky factorization

6. Cholesky factorization 6. Cholesky factorization EE103 (Fall 2011-12) triangular matrices forward and backward substitution the Cholesky factorization solving Ax = b with A positive definite inverse of a positive definite matrix

More information

Active Exploration Planning for SLAM using Extended Information Filters

Active Exploration Planning for SLAM using Extended Information Filters Active Exploration Planning for SLAM using Extended Information Filters Robert Sim Department of Computer Science University of British Columbia 2366 Main Mall Vancouver, BC V6T 1Z4 simra@cs.ubc.ca Nicholas

More information

Fast Optimal Three View Triangulation

Fast Optimal Three View Triangulation Fast Optimal Three View Triangulation Martin Byröd, Klas Josephson and Kalle Åström {byrod, klasj, kalle}@maths.lth.se Center for Mathematical Sciences, Lund University, Lund, Sweden Abstract. We consider

More information

CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS

CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS E. Batzies 1, M. Kreutzer 1, D. Leucht 2, V. Welker 2, O. Zirn 1 1 Mechatronics Research

More information

A Genetic Algorithm-Evolved 3D Point Cloud Descriptor

A Genetic Algorithm-Evolved 3D Point Cloud Descriptor A Genetic Algorithm-Evolved 3D Point Cloud Descriptor Dominik Wȩgrzyn and Luís A. Alexandre IT - Instituto de Telecomunicações Dept. of Computer Science, Univ. Beira Interior, 6200-001 Covilhã, Portugal

More information

Solution of Linear Systems

Solution of Linear Systems Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start

More information

Computing a Nearest Correlation Matrix with Factor Structure

Computing a Nearest Correlation Matrix with Factor Structure Computing a Nearest Correlation Matrix with Factor Structure Nick Higham School of Mathematics The University of Manchester higham@ma.man.ac.uk http://www.ma.man.ac.uk/~higham/ Joint work with Rüdiger

More information

Methodology for Emulating Self Organizing Maps for Visualization of Large Datasets

Methodology for Emulating Self Organizing Maps for Visualization of Large Datasets Methodology for Emulating Self Organizing Maps for Visualization of Large Datasets Macario O. Cordel II and Arnulfo P. Azcarraga College of Computer Studies *Corresponding Author: macario.cordel@dlsu.edu.ph

More information

Overview of Math Standards

Overview of Math Standards Algebra 2 Welcome to math curriculum design maps for Manhattan- Ogden USD 383, striving to produce learners who are: Effective Communicators who clearly express ideas and effectively communicate with diverse

More information

Linear Threshold Units

Linear Threshold Units Linear Threshold Units w x hx (... w n x n w We assume that each feature x j and each weight w j is a real number (we will relax this later) We will study three different algorithms for learning linear

More information

A PAIR OF MEASURES OF ROTATIONAL ERROR FOR AXISYMMETRIC ROBOT END-EFFECTORS

A PAIR OF MEASURES OF ROTATIONAL ERROR FOR AXISYMMETRIC ROBOT END-EFFECTORS A PAIR OF MEASURES OF ROTATIONAL ERROR FOR AXISYMMETRIC ROBOT END-EFFECTORS Sébastien Briot, Ilian A. Bonev Department of Automated Manufacturing Engineering École de technologie supérieure (ÉTS), Montreal,

More information

Partial Least Squares (PLS) Regression.

Partial Least Squares (PLS) Regression. Partial Least Squares (PLS) Regression. Hervé Abdi 1 The University of Texas at Dallas Introduction Pls regression is a recent technique that generalizes and combines features from principal component

More information

Solving polynomial least squares problems via semidefinite programming relaxations

Solving polynomial least squares problems via semidefinite programming relaxations Solving polynomial least squares problems via semidefinite programming relaxations Sunyoung Kim and Masakazu Kojima August 2007, revised in November, 2007 Abstract. A polynomial optimization problem whose

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

Introduction to Matrix Algebra

Introduction to Matrix Algebra Psychology 7291: Multivariate Statistics (Carey) 8/27/98 Matrix Algebra - 1 Introduction to Matrix Algebra Definitions: A matrix is a collection of numbers ordered by rows and columns. It is customary

More information

IMPROVED NETWORK PARAMETER ERROR IDENTIFICATION USING MULTIPLE MEASUREMENT SCANS

IMPROVED NETWORK PARAMETER ERROR IDENTIFICATION USING MULTIPLE MEASUREMENT SCANS IMPROVED NETWORK PARAMETER ERROR IDENTIFICATION USING MULTIPLE MEASUREMENT SCANS Liuxi Zhang and Ali Abur Department of Electrical and Computer Engineering Northeastern University Boston, MA, USA lzhang@ece.neu.edu

More information

10.2 ITERATIVE METHODS FOR SOLVING LINEAR SYSTEMS. The Jacobi Method

10.2 ITERATIVE METHODS FOR SOLVING LINEAR SYSTEMS. The Jacobi Method 578 CHAPTER 1 NUMERICAL METHODS 1. ITERATIVE METHODS FOR SOLVING LINEAR SYSTEMS As a numerical technique, Gaussian elimination is rather unusual because it is direct. That is, a solution is obtained after

More information

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation

More information

Geometric Constraints

Geometric Constraints Simulation in Computer Graphics Geometric Constraints Matthias Teschner Computer Science Department University of Freiburg Outline introduction penalty method Lagrange multipliers local constraints University

More information

13 MATH FACTS 101. 2 a = 1. 7. The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

13 MATH FACTS 101. 2 a = 1. 7. The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions. 3 MATH FACTS 0 3 MATH FACTS 3. Vectors 3.. Definition We use the overhead arrow to denote a column vector, i.e., a linear segment with a direction. For example, in three-space, we write a vector in terms

More information

Soft Clustering with Projections: PCA, ICA, and Laplacian

Soft Clustering with Projections: PCA, ICA, and Laplacian 1 Soft Clustering with Projections: PCA, ICA, and Laplacian David Gleich and Leonid Zhukov Abstract In this paper we present a comparison of three projection methods that use the eigenvectors of a matrix

More information

Analysis of an Artificial Hormone System (Extended abstract)

Analysis of an Artificial Hormone System (Extended abstract) c 2013. This is the author s version of the work. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purpose or for creating

More information

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING Ms.PALLAVI CHOUDEKAR Ajay Kumar Garg Engineering College, Department of electrical and electronics Ms.SAYANTI BANERJEE Ajay Kumar Garg Engineering

More information

Edge tracking for motion segmentation and depth ordering

Edge tracking for motion segmentation and depth ordering Edge tracking for motion segmentation and depth ordering P. Smith, T. Drummond and R. Cipolla Department of Engineering University of Cambridge Cambridge CB2 1PZ,UK {pas1001 twd20 cipolla}@eng.cam.ac.uk

More information

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow , pp.233-237 http://dx.doi.org/10.14257/astl.2014.51.53 A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow Giwoo Kim 1, Hye-Youn Lim 1 and Dae-Seong Kang 1, 1 Department of electronices

More information

Solving Nonlinear Equations Using Recurrent Neural Networks

Solving Nonlinear Equations Using Recurrent Neural Networks Solving Nonlinear Equations Using Recurrent Neural Networks Karl Mathia and Richard Saeks, Ph.D. Accurate Automation Corporation 71 Shallowford Road Chattanooga, Tennessee 37421 Abstract A class of recurrent

More information

How High a Degree is High Enough for High Order Finite Elements?

How High a Degree is High Enough for High Order Finite Elements? This space is reserved for the Procedia header, do not use it How High a Degree is High Enough for High Order Finite Elements? William F. National Institute of Standards and Technology, Gaithersburg, Maryland,

More information

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist MHER GRIGORIAN, TAREK SOBH Department of Computer Science and Engineering, U. of Bridgeport, USA ABSTRACT Robot

More information

INTRODUCTION TO NEURAL NETWORKS

INTRODUCTION TO NEURAL NETWORKS INTRODUCTION TO NEURAL NETWORKS Pictures are taken from http://www.cs.cmu.edu/~tom/mlbook-chapter-slides.html http://research.microsoft.com/~cmbishop/prml/index.htm By Nobel Khandaker Neural Networks An

More information

The Characteristic Polynomial

The Characteristic Polynomial Physics 116A Winter 2011 The Characteristic Polynomial 1 Coefficients of the characteristic polynomial Consider the eigenvalue problem for an n n matrix A, A v = λ v, v 0 (1) The solution to this problem

More information

General Framework for an Iterative Solution of Ax b. Jacobi s Method

General Framework for an Iterative Solution of Ax b. Jacobi s Method 2.6 Iterative Solutions of Linear Systems 143 2.6 Iterative Solutions of Linear Systems Consistent linear systems in real life are solved in one of two ways: by direct calculation (using a matrix factorization,

More information

Visualization by Linear Projections as Information Retrieval

Visualization by Linear Projections as Information Retrieval Visualization by Linear Projections as Information Retrieval Jaakko Peltonen Helsinki University of Technology, Department of Information and Computer Science, P. O. Box 5400, FI-0015 TKK, Finland jaakko.peltonen@tkk.fi

More information

Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication

Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication Thomas Reilly Data Physics Corporation 1741 Technology Drive, Suite 260 San Jose, CA 95110 (408) 216-8440 This paper

More information

Tracking Moving Objects In Video Sequences Yiwei Wang, Robert E. Van Dyck, and John F. Doherty Department of Electrical Engineering The Pennsylvania State University University Park, PA16802 Abstract{Object

More information

Depth from a single camera

Depth from a single camera Depth from a single camera Fundamental Matrix Essential Matrix Active Sensing Methods School of Computer Science & Statistics Trinity College Dublin Dublin 2 Ireland www.scss.tcd.ie 1 1 Geometry of two

More information

COMPUTATION OF THREE-DIMENSIONAL ELECTRIC FIELD PROBLEMS BY A BOUNDARY INTEGRAL METHOD AND ITS APPLICATION TO INSULATION DESIGN

COMPUTATION OF THREE-DIMENSIONAL ELECTRIC FIELD PROBLEMS BY A BOUNDARY INTEGRAL METHOD AND ITS APPLICATION TO INSULATION DESIGN PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 38, NO. ~, PP. 381-393 (199~) COMPUTATION OF THREE-DIMENSIONAL ELECTRIC FIELD PROBLEMS BY A BOUNDARY INTEGRAL METHOD AND ITS APPLICATION TO INSULATION DESIGN H.

More information

Solving Very Large Financial Planning Problems on Blue Gene

Solving Very Large Financial Planning Problems on Blue Gene U N I V E R S School of Mathematics T H E O I T Y H F G E D I N U R Solving Very Large Financial Planning Problems on lue Gene ndreas Grothey, University of Edinburgh joint work with Jacek Gondzio, Marco

More information

Simultaneous Gamma Correction and Registration in the Frequency Domain

Simultaneous Gamma Correction and Registration in the Frequency Domain Simultaneous Gamma Correction and Registration in the Frequency Domain Alexander Wong a28wong@uwaterloo.ca William Bishop wdbishop@uwaterloo.ca Department of Electrical and Computer Engineering University

More information

Component Ordering in Independent Component Analysis Based on Data Power

Component Ordering in Independent Component Analysis Based on Data Power Component Ordering in Independent Component Analysis Based on Data Power Anne Hendrikse Raymond Veldhuis University of Twente University of Twente Fac. EEMCS, Signals and Systems Group Fac. EEMCS, Signals

More information

High-accuracy ultrasound target localization for hand-eye calibration between optical tracking systems and three-dimensional ultrasound

High-accuracy ultrasound target localization for hand-eye calibration between optical tracking systems and three-dimensional ultrasound High-accuracy ultrasound target localization for hand-eye calibration between optical tracking systems and three-dimensional ultrasound Ralf Bruder 1, Florian Griese 2, Floris Ernst 1, Achim Schweikard

More information

Object Recognition and Template Matching

Object Recognition and Template Matching Object Recognition and Template Matching Template Matching A template is a small image (sub-image) The goal is to find occurrences of this template in a larger image That is, you want to find matches of

More information

SYMMETRIC EIGENFACES MILI I. SHAH

SYMMETRIC EIGENFACES MILI I. SHAH SYMMETRIC EIGENFACES MILI I. SHAH Abstract. Over the years, mathematicians and computer scientists have produced an extensive body of work in the area of facial analysis. Several facial analysis algorithms

More information

CHAPTER 8 FACTOR EXTRACTION BY MATRIX FACTORING TECHNIQUES. From Exploratory Factor Analysis Ledyard R Tucker and Robert C.

CHAPTER 8 FACTOR EXTRACTION BY MATRIX FACTORING TECHNIQUES. From Exploratory Factor Analysis Ledyard R Tucker and Robert C. CHAPTER 8 FACTOR EXTRACTION BY MATRIX FACTORING TECHNIQUES From Exploratory Factor Analysis Ledyard R Tucker and Robert C MacCallum 1997 180 CHAPTER 8 FACTOR EXTRACTION BY MATRIX FACTORING TECHNIQUES In

More information

Automatic Labeling of Lane Markings for Autonomous Vehicles

Automatic Labeling of Lane Markings for Autonomous Vehicles Automatic Labeling of Lane Markings for Autonomous Vehicles Jeffrey Kiske Stanford University 450 Serra Mall, Stanford, CA 94305 jkiske@stanford.edu 1. Introduction As autonomous vehicles become more popular,

More information

DYNAMIC RANGE IMPROVEMENT THROUGH MULTIPLE EXPOSURES. Mark A. Robertson, Sean Borman, and Robert L. Stevenson

DYNAMIC RANGE IMPROVEMENT THROUGH MULTIPLE EXPOSURES. Mark A. Robertson, Sean Borman, and Robert L. Stevenson c 1999 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or

More information

Visualization of large data sets using MDS combined with LVQ.

Visualization of large data sets using MDS combined with LVQ. Visualization of large data sets using MDS combined with LVQ. Antoine Naud and Włodzisław Duch Department of Informatics, Nicholas Copernicus University, Grudziądzka 5, 87-100 Toruń, Poland. www.phys.uni.torun.pl/kmk

More information

Principle Component Analysis and Partial Least Squares: Two Dimension Reduction Techniques for Regression

Principle Component Analysis and Partial Least Squares: Two Dimension Reduction Techniques for Regression Principle Component Analysis and Partial Least Squares: Two Dimension Reduction Techniques for Regression Saikat Maitra and Jun Yan Abstract: Dimension reduction is one of the major tasks for multivariate

More information

Solving Systems of Linear Equations

Solving Systems of Linear Equations LECTURE 5 Solving Systems of Linear Equations Recall that we introduced the notion of matrices as a way of standardizing the expression of systems of linear equations In today s lecture I shall show how

More information

On evaluating performance of exploration strategies for an autonomous mobile robot

On evaluating performance of exploration strategies for an autonomous mobile robot On evaluating performance of exploration strategies for an autonomous mobile robot Nicola Basilico and Francesco Amigoni Abstract The performance of an autonomous mobile robot in mapping an unknown environment

More information

CS 4620 Practicum Programming Assignment 6 Animation

CS 4620 Practicum Programming Assignment 6 Animation CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key

More information

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks Welcome to Thinkwell s Homeschool Precalculus! We re thrilled that you ve decided to make us part of your homeschool curriculum. This lesson

More information

Content. Chapter 4 Functions 61 4.1 Basic concepts on real functions 62. Credits 11

Content. Chapter 4 Functions 61 4.1 Basic concepts on real functions 62. Credits 11 Content Credits 11 Chapter 1 Arithmetic Refresher 13 1.1 Algebra 14 Real Numbers 14 Real Polynomials 19 1.2 Equations in one variable 21 Linear Equations 21 Quadratic Equations 22 1.3 Exercises 28 Chapter

More information