.. _chapter-users:

=====
Users
=====

* At `Google <http://www.google.com>`_, Ceres is used to:

  * Estimate the pose of `Street View`_ cars, aircrafts, and satellites.
  * Build 3D models for `PhotoTours`_.
  * Estimate satellite image sensor characteristics.
  * Stitch `panoramas`_ on Android and iOS.
  * Apply `Lens Blur`_ on Android.
  * Solve `bundle adjustment`_ and `SLAM`_ problems in `ARCore`_.

* `Willow Garage`_ uses Ceres to solve `SLAM`_ problems.
* `Southwest Research Institute <http://www.swri.org/>`_ uses Ceres for
  `calibrating robot-camera systems`_.
* `Blender <http://www.blender.org>`_ uses Ceres for `planar
  tracking`_ and `bundle adjustment`_.
* `OpenMVG <http://imagine.enpc.fr/~moulonp/openMVG/>`_ an open source
  multi-view geometry library uses Ceres for `bundle adjustment`_.
* `Microsoft Research <http://research.microsoft.com/en-us/>`_ uses
  Ceres for nonlinear optimization of objectives involving subdivision
  surfaces under `skinned control meshes`_.
* `Matterport <http://www.matterport.com>`_, uses Ceres for global
  alignment of 3D point clouds and for pose graph optimization.
* `Obvious Engineering <http://obviousengine.com/>`_ uses Ceres for
  bundle adjustment for their 3D photography app `Seene
  <http://seene.co/>`_.
* The `Autonomous Systems Lab <http://www.asl.ethz.ch/>`_ at ETH
  Zurich uses Ceres for

  * Camera and Camera/IMU Calibration.
  * Large scale optimization of visual, inertial, gps and
    wheel-odometry data for long term autonomy.

* `OpenPTrack <http://openptrack.org/>`_ uses Ceres for camera
  calibration.
* The `Intelligent Autonomous System Lab <http://robotics.dei.unipd.it/>`_
  at University of Padova, Italy, uses Ceres for

  * Camera/depth sensors network calibration.
  * Depth sensor distortion map estimation.

* `Theia <http://cs.ucsb.edu/~cmsweeney/theia>`_ is an open source
  Structure from Motion library that uses Ceres for `bundle adjustment`_
  and camera pose estimation.

* The `Applied Research Laboratory <https://www.arl.psu.edu/>`_ at
  Pennsylvania State University uses in their synthetic aperture Sonar
  beamforming engine, called ASASIN , for estimating platform
  kinematics.

* `Colmap <https://github.com/colmap/colmap>`_ is an open source
  structure from motion library that makes heavy use of Ceres for
  bundle adjustment with support for many camera models and for other
  non-linear least-squares problems (relative, absolute pose
  refinement, etc.).



.. _bundle adjustment: http://en.wikipedia.org/wiki/Structure_from_motion
.. _Street View: http://youtu.be/z00ORu4bU-A
.. _PhotoTours: http://google-latlong.blogspot.com/2012/04/visit-global-landmarks-with-photo-tours.html
.. _panoramas: http://www.google.com/maps/about/contribute/photosphere/
.. _ARCore: https://developers.google.com/ar
.. _planar tracking: http://mango.blender.org/development/planar-tracking-preview/
.. _Willow Garage: https://www.willowgarage.com/blog/2013/08/09/enabling-robots-see-better-through-improved-camera-calibration
.. _Lens Blur: http://googleresearch.blogspot.com/2014/04/lens-blur-in-new-google-camera-app.html
.. _SLAM: http://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping
.. _calibrating robot-camera systems:
   http://rosindustrial.org/news/2014/9/24/industrial-calibration-library-update-and-presentation
.. _skinned control meshes: http://research.microsoft.com/en-us/projects/handmodelingfrommonoculardepth/
