Skip to content
This repository has been archived by the owner on Oct 26, 2018. It is now read-only.

Commit

Permalink
Refactor the landing page to be a bit more compact.
Browse files Browse the repository at this point in the history
Also minor changes to the introduction.

Change-Id: Iaa71f576b95c869f075d6837dbb60ba4bb608ee7
  • Loading branch information
sandwichmaker committed Apr 7, 2014
1 parent 406ac78 commit 7d489fd
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 41 deletions.
51 changes: 21 additions & 30 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,36 +23,28 @@ Ceres Solver
bibliography
license

Solving `nonlinear least squares`_ problems comes up in a broad range of areas
across science and engineering - from `fitting curves`_ in statistics, to
constructing `3D models from photographs`_ in computer vision.
Ceres Solver is an industrial-grade C++ library for modeling and
solving `nonlinear least squares`_ problems. These problems comes up
in a broad range of areas across science and engineering - from
`fitting curves`_ in statistics, to constructing `3D models from
photographs`_ in computer vision.

Ceres Solver features an integrated modeling layer with automatic
differentiation (you can also use numeric and/or analytic
derivatives), well optimized code with extensive tests and state of
the art performance on a variety of problems.

Ceres Solver is used in Google `Street View`_, Google `PhotoTours`_,
Google `PhotoSphere`_, `Project Tango`_, `Blender`_, and more.

.. _nonlinear least squares: http://en.wikipedia.org/wiki/Non-linear_least_squares
.. _fitting curves: http://en.wikipedia.org/wiki/Nonlinear_regression
.. _3D models from photographs: http://en.wikipedia.org/wiki/Structure_from_motion

What is Ceres Solver?
---------------------
Ceres is an industrial-grade C++ library for modeling and solving large and
small nonlinear least squares problems of the form

.. math:: \frac{1}{2}\sum_{i} \rho_i\left(\left\|f_i\left(x_{i_1}, ... ,x_{i_k}\right)\right\|^2\right).

For a brief introduction to nonlinear solving in general, see the
:ref:`chapter-tutorial`.

Who uses Ceres Solver?
----------------------
There are many users of Ceres, including Google Street View, Google Maps,
several SLAM pipelines, Blender, and more. See the :ref:`chapter-introduction`
for more users.

Why use Ceres Solver?
---------------------
Ceres is a world-class least squares solver for a variety of reasons, including
an integrated modelling layer, automatic differentiation, optimized code,
extensive tests, and more. See the :ref:`chapter-introduction` for a detailed
list.
.. _Street View: http://youtu.be/z00ORu4bU-A
.. _PhotoTours: http://google-latlong.blogspot.com/2012/04/visit-global-landmarks-with-photo-tours.html
.. _PhotoSphere: http://www.google.com/maps/about/contribute/photosphere/
.. _Project Tango: https://www.google.com/atap/projecttango/
.. _Blender: http://mango.blender.org/development/planar-tracking-preview/

Getting started
---------------
Expand All @@ -67,18 +59,17 @@ Getting started
git clone https://ceres-solver.googlesource.com/ceres-solver
* Read the :ref:`chapter-tutorial`
* Browse the :ref:`chapter-modeling` and :ref:`chapter-solving`.
* Read the :ref:`chapter-tutorial`, browse :ref:`chapter-modeling` and :ref:`chapter-solving`.
* Join the `mailing list
<https://groups.google.com/forum/?fromgroups#!forum/ceres-solver>`_
and ask questions.
* File bugs, feature requests in the `issue tracker
<https://code.google.com/p/ceres-solver/issues/list>`_.
* Improve Ceres by :ref:`chapter-contributing`


Cite Us
-------
If you use Ceres Solver for a publication, you must cite it as::
If you use Ceres Solver for a publication, please cite it as::

@misc{ceres-solver,
author = "Sameer Agarwal and Keir Mierle and Others",
Expand Down
22 changes: 11 additions & 11 deletions docs/source/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,29 +43,29 @@ Why use Ceres Solver?
---------------------
* Ceres has an **integrated modelling layer**, making it easy and intutive to
model large, complex cost functions with interacting terms, such as a moving
vehicle with multiple sensors and tricky dynamics
vehicle with multiple sensors and tricky dynamics.
* Ceres has **integrated automatic differentiation**, avoiding the error-prone
task of manually computing derivatives
task of manually computing derivatives.
* Ceres can model a **wide variety of problems**, beyond simple nonlinear least
squares, thanks to robust loss functions and local parameterizations (e.g.
for quaternions)
for quaternions).
* Ceres is **very fast**, thanks to threaded cost function evaluators, threaded linear
solvers, and generous amounts of engineering time spent optimizing
solvers, and generous amounts of engineering time spent optimizing.
* Ceres has **multiple nonlinear solvers** including trust region (fast, uses
more memory) and line search (slower, uses less memory)
more memory) and line search (slower, uses less memory).
* Ceres has **multiple linear solvers** for both sparse and dense systems,
leveraging Eigen or MKL for dense solving, CHOLMOD or CXSparse for sparse
solving, and specialized linear solvers bundle adjustment
solving, and specialized linear solvers for bundle adjustment.
* Ceres has **thorough automated tests** ensuring it is high-quality
* Ceres is **industrial grade** thanks to **many compute-years** spent
running its code, analyzing the results, and improving it
running its code, analyzing the results, and improving it.
* Ceres has **world-class solution quality**, with the best known results of
any least squares solver on the `NIST least squares precision benchmark`_
any least squares solver on the `NIST least squares precision benchmark`_.
* Ceres has an **active community** encouraging contributions and mentoring
those starting out
those starting out.
* Ceres runs on **many platforms** including Linux, Windows, Mac OS X, Android, and
iOS (sort of)
iOS (sort of).
* Ceres is **liberally licensed (BSD)** so that you can use it freely in
commercial applications without releasing your code
commercial applications without releasing your code.

.. _NIST least squares precision benchmark: https://groups.google.com/forum/#!topic/ceres-solver/UcicgMPgbXw

0 comments on commit 7d489fd

Please sign in to comment.