fbpx
Wikipedia

Bundle adjustment

In photogrammetry and computer stereo vision, bundle adjustment is simultaneous refining of the 3D coordinates describing the scene geometry, the parameters of the relative motion, and the optical characteristics of the camera(s) employed to acquire the images, given a set of images depicting a number of 3D points from different viewpoints. Its name refers to the geometrical bundles of light rays originating from each 3D feature and converging on each camera's optical center, which are adjusted optimally according to an optimality criterion involving the corresponding image projections of all points.

A sparse matrix obtained when solving a modestly sized bundle adjustment problem. This is the arrowhead sparsity pattern of a 992×992 normal-equation (i.e. approximate Hessian) matrix. Black regions correspond to nonzero blocks.

Uses edit

Bundle adjustment is almost always [citation needed] used as the last step of feature-based 3D reconstruction algorithms. It amounts to an optimization problem on the 3D structure and viewing parameters (i.e., camera pose and possibly intrinsic calibration and radial distortion), to obtain a reconstruction which is optimal under certain assumptions regarding the noise pertaining to the observed[1] image features: If the image error is zero-mean Gaussian, then bundle adjustment is the Maximum Likelihood Estimator.[2]: 2  Bundle adjustment was originally conceived in the field of photogrammetry during the 1950s and has increasingly been used by computer vision researchers during recent years.[2]: 2 

General approach edit

Bundle adjustment boils down to minimizing the reprojection error between the image locations of observed and predicted image points, which is expressed as the sum of squares of a large number of nonlinear, real-valued functions. Thus, the minimization is achieved using nonlinear least-squares algorithms. Of these, Levenberg–Marquardt has proven to be one of the most successful due to its ease of implementation and its use of an effective damping strategy that lends it the ability to converge quickly from a wide range of initial guesses. By iteratively linearizing the function to be minimized in the neighborhood of the current estimate, the Levenberg–Marquardt algorithm involves the solution of linear systems termed the normal equations. When solving the minimization problems arising in the framework of bundle adjustment, the normal equations have a sparse block structure owing to the lack of interaction among parameters for different 3D points and cameras. This can be exploited to gain tremendous computational benefits by employing a sparse variant of the Levenberg–Marquardt algorithm which explicitly takes advantage of the normal equations zeros pattern, avoiding storing and operating on zero-elements.[2]: 3 

Mathematical definition edit

Bundle adjustment amounts to jointly refining a set of initial camera and structure parameter estimates for finding the set of parameters that most accurately predict the locations of the observed points in the set of available images. More formally,[3] assume that   3D points are seen in   views and let   be the projection of the  th point on image  . Let   denote the binary variables that equal 1 if point   is visible in image   and 0 otherwise. Assume also that each camera   is parameterized by a vector   and each 3D point   by a vector  . Bundle adjustment minimizes the total reprojection error with respect to all 3D point and camera parameters, specifically

 

where   is the predicted projection of point   on image   and   denotes the Euclidean distance between the image points represented by vectors   and  . Because the minimum is computed over many points and many images, bundle adjustment is by definition tolerant to missing image projections, and if the distance metric is chosen reasonably (e.g., Euclidean distance), bundle adjustment will also minimize a physically meaningful criterion.

See also edit

References edit

  1. ^ B. Triggs; P. McLauchlan; R. Hartley; A. Fitzgibbon (1999). "Bundle Adjustment — A Modern Synthesis" (PDF). ICCV '99: Proceedings of the International Workshop on Vision Algorithms. Springer-Verlag. pp. 298–372. doi:10.1007/3-540-44480-7_21. ISBN 3-540-67973-1.
  2. ^ a b c M.I.A. Lourakis and A.A. Argyros (2009). "SBA: A Software Package for Generic Sparse Bundle Adjustment" (PDF). ACM Transactions on Mathematical Software. 36 (1): 1–30. doi:10.1145/1486525.1486527. S2CID 474253.
  3. ^ R.I. Hartley and A. Zisserman (2004). Multiple View Geometry in computer vision (2nd ed.). Cambridge University Press. ISBN 978-0-521-54051-3.

Further reading edit

  • A. Zisserman. Bundle adjustment. CV Online.

External links edit

Software edit

  • [1]: Apero/MicMac, a free open source photogrammetric software. Cecill-B licence.
  • sba: A Generic Sparse Bundle Adjustment C/C++ Package Based on the Levenberg–Marquardt Algorithm (C, MATLAB). GPL.
  • cvsba 2013-10-24 at the Wayback Machine: An OpenCV wrapper for sba library (C++). GPL.
  • ssba: Simple Sparse Bundle Adjustment package based on the Levenberg–Marquardt Algorithm (C++). LGPL.
  • OpenCV: Computer Vision library in the Images stitching module. BSD license.
  • mcba: Multi-Core Bundle Adjustment (CPU/GPU). GPL3.
  • libdogleg: General-purpose sparse non-linear least squares solver, based on Powell's dogleg method. LGPL.
  • ceres-solver: A Nonlinear Least Squares Minimizer. BSD license.
  • g2o: General Graph Optimization (C++) - framework with solvers for sparse graph-based non-linear error functions. LGPL.
  • DGAP: The program DGAP implement the photogrammetric method of bundle adjustment invented by Helmut Schmid and Duane Brown. GPL.
  • Bundler: A structure-from-motion (SfM) system for unordered image collections (for instance, images from the Internet) by Noah Snavely. GPL.
  • COLMAP: A general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. BSD license.
  • Theia: A computer vision library aimed at providing efficient and reliable algorithms for Structure from Motion (SfM). New BSD license.
  • Ames Stereo Pipeline has a tool for bundle adjustment (Apache II licence).

bundle, adjustment, photogrammetry, computer, stereo, vision, bundle, adjustment, simultaneous, refining, coordinates, describing, scene, geometry, parameters, relative, motion, optical, characteristics, camera, employed, acquire, images, given, images, depict. In photogrammetry and computer stereo vision bundle adjustment is simultaneous refining of the 3D coordinates describing the scene geometry the parameters of the relative motion and the optical characteristics of the camera s employed to acquire the images given a set of images depicting a number of 3D points from different viewpoints Its name refers to the geometrical bundles of light rays originating from each 3D feature and converging on each camera s optical center which are adjusted optimally according to an optimality criterion involving the corresponding image projections of all points A sparse matrix obtained when solving a modestly sized bundle adjustment problem This is the arrowhead sparsity pattern of a 992 992 normal equation i e approximate Hessian matrix Black regions correspond to nonzero blocks Contents 1 Uses 2 General approach 3 Mathematical definition 4 See also 5 References 6 Further reading 7 External links 7 1 SoftwareUses editBundle adjustment is almost always citation needed used as the last step of feature based 3D reconstruction algorithms It amounts to an optimization problem on the 3D structure and viewing parameters i e camera pose and possibly intrinsic calibration and radial distortion to obtain a reconstruction which is optimal under certain assumptions regarding the noise pertaining to the observed 1 image features If the image error is zero mean Gaussian then bundle adjustment is the Maximum Likelihood Estimator 2 2 Bundle adjustment was originally conceived in the field of photogrammetry during the 1950s and has increasingly been used by computer vision researchers during recent years 2 2 General approach editBundle adjustment boils down to minimizing the reprojection error between the image locations of observed and predicted image points which is expressed as the sum of squares of a large number of nonlinear real valued functions Thus the minimization is achieved using nonlinear least squares algorithms Of these Levenberg Marquardt has proven to be one of the most successful due to its ease of implementation and its use of an effective damping strategy that lends it the ability to converge quickly from a wide range of initial guesses By iteratively linearizing the function to be minimized in the neighborhood of the current estimate the Levenberg Marquardt algorithm involves the solution of linear systems termed the normal equations When solving the minimization problems arising in the framework of bundle adjustment the normal equations have a sparse block structure owing to the lack of interaction among parameters for different 3D points and cameras This can be exploited to gain tremendous computational benefits by employing a sparse variant of the Levenberg Marquardt algorithm which explicitly takes advantage of the normal equations zeros pattern avoiding storing and operating on zero elements 2 3 Mathematical definition editBundle adjustment amounts to jointly refining a set of initial camera and structure parameter estimates for finding the set of parameters that most accurately predict the locations of the observed points in the set of available images More formally 3 assume that n displaystyle n nbsp 3D points are seen in m displaystyle m nbsp views and let x i j displaystyle mathbf x ij nbsp be the projection of the i displaystyle i nbsp th point on image j displaystyle j nbsp Let v i j displaystyle displaystyle v ij nbsp denote the binary variables that equal 1 if point i displaystyle i nbsp is visible in image j displaystyle j nbsp and 0 otherwise Assume also that each camera j displaystyle j nbsp is parameterized by a vector a j displaystyle mathbf a j nbsp and each 3D point i displaystyle i nbsp by a vector b i displaystyle mathbf b i nbsp Bundle adjustment minimizes the total reprojection error with respect to all 3D point and camera parameters specifically min a j b i i 1 n j 1 m v i j d Q a j b i x i j 2 displaystyle min mathbf a j mathbf b i displaystyle sum i 1 n displaystyle sum j 1 m v ij d mathbf Q mathbf a j mathbf b i mathbf x ij 2 nbsp where Q a j b i displaystyle mathbf Q mathbf a j mathbf b i nbsp is the predicted projection of point i displaystyle i nbsp on image j displaystyle j nbsp and d x y displaystyle d mathbf x mathbf y nbsp denotes the Euclidean distance between the image points represented by vectors x displaystyle mathbf x nbsp and y displaystyle mathbf y nbsp Because the minimum is computed over many points and many images bundle adjustment is by definition tolerant to missing image projections and if the distance metric is chosen reasonably e g Euclidean distance bundle adjustment will also minimize a physically meaningful criterion See also editAdjustment of observations Stereoscopy Levenberg Marquardt algorithm Sparse matrix Collinearity equation Structure from motion Simultaneous localization and mappingReferences edit B Triggs P McLauchlan R Hartley A Fitzgibbon 1999 Bundle Adjustment A Modern Synthesis PDF ICCV 99 Proceedings of the International Workshop on Vision Algorithms Springer Verlag pp 298 372 doi 10 1007 3 540 44480 7 21 ISBN 3 540 67973 1 a b c M I A Lourakis and A A Argyros 2009 SBA A Software Package for Generic Sparse Bundle Adjustment PDF ACM Transactions on Mathematical Software 36 1 1 30 doi 10 1145 1486525 1486527 S2CID 474253 R I Hartley and A Zisserman 2004 Multiple View Geometry in computer vision 2nd ed Cambridge University Press ISBN 978 0 521 54051 3 Further reading editA Zisserman Bundle adjustment CV Online External links editSoftware edit See also Photogrammetry software and Structure from motion Software 1 Apero MicMac a free open source photogrammetric software Cecill B licence sba A Generic Sparse Bundle Adjustment C C Package Based on the Levenberg Marquardt Algorithm C MATLAB GPL cvsba Archived 2013 10 24 at the Wayback Machine An OpenCV wrapper for sba library C GPL ssba Simple Sparse Bundle Adjustment package based on the Levenberg Marquardt Algorithm C LGPL OpenCV Computer Vision library in the Images stitching module BSD license mcba Multi Core Bundle Adjustment CPU GPU GPL3 libdogleg General purpose sparse non linear least squares solver based on Powell s dogleg method LGPL ceres solver A Nonlinear Least Squares Minimizer BSD license g2o General Graph Optimization C framework with solvers for sparse graph based non linear error functions LGPL DGAP The program DGAP implement the photogrammetric method of bundle adjustment invented by Helmut Schmid and Duane Brown GPL Bundler A structure from motion SfM system for unordered image collections for instance images from the Internet by Noah Snavely GPL COLMAP A general purpose Structure from Motion SfM and Multi View Stereo MVS pipeline with a graphical and command line interface BSD license Theia A computer vision library aimed at providing efficient and reliable algorithms for Structure from Motion SfM New BSD license Ames Stereo Pipeline has a tool for bundle adjustment Apache II licence Retrieved from https en wikipedia org w index php title Bundle adjustment amp oldid 1182923289, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.