Solving non-linear least squares problems comes up in a broad range of areas across science and engineering - from fitting complicated curves in statistics, to constructing 3D models from photographs in computer vision. Today we're happy to announce the release of a solver we use at Google.
Ceres Solver is a portable C++ library that allows for modeling and solving large complex nonlinear least squares problems. The notable features are:
• A simple, expressive API
• Automatic differentiation
• Robust loss functions
• Local parameterizations
• A threaded Jacobian evaluators and linear solvers
• Dense QR factorization (using Eigen) for small problems
• Sparse Cholesky factorization (using SuiteSparse) for large sparse problems
• Specialized solvers for problems in 3D computer vision
• A liberal license (New BSD)
• Scales from servers to cell phones.
We use Ceres Solver at Google to estimate the pose of Street View cars, aircrafts, and satellites; to build 3D models for PhotoTours; to estimate satellite image sensor characteristics, and more. For example, the video below shows three instances of Ceres Solver fusing data from the sensors mounted on a Street View car to estimate its correct position and orientation on the surface of earth.
We hope you will download the code, solve some problems, and share your experiences on the mailing list.
By Sameer Agarwal & Keir Mierle, Geo Software Engineers
Tuesday, 1 May 2012
Introducing Ceres Solver - A Nonlinear Least Squares Solver
Recent Posts
- New Google Tricks: 15+ Cool and Amazing Secret Hidden Google Tricks
- Weekend Tech News: Battlegrounds Mobile India gameplay, WhatsApp policy canceled?, OPPO foldable phone
- PUBG Mobile India release date: Relaunching as Battlegrounds Mobile India officially announced
- Difference B/W Blogs & Websites Things People Haven't Told You
- Watch Live IPL 2021: How to watch today's Live streaming of IPL 2021? All Methods
Related tricks
- Introducing Ceres Solver - A Nonlinear Least Squares Solver
- ReFr: A New Open-Source Framework for Building Reranking Models
- J2ObjC: A Java to iOS Objective-C translator
- Helping the World to Teach
- Wicked Good XPath: a faster JavaScript XPath library
- Leak Finder: a new tool for JavaScript
- Introducing Ceres Solver - A Nonlinear Least Squares Solver
(+)