Forgot your password?
typodupeerror
Google Math Open Source

Google Releases Key Part of Street View Pipeline 44

Posted by Soulskill
from the now-you-can-map-your-pillow-fort dept.
New submitter drom writes "Google released a key part of their Street View pipeline as open source on Tuesday: Ceres Solver. It's a large-scale nonlinear least squares minimizer. What does that mean? It's a way to fit a model (like expected position of a car) to data (like GPS positions or accelerometers). The library is completely general and works for many problems. It offers state of the art performance for bundle adjustment problems typical in 3D reconstruction, among others."
This discussion has been archived. No new comments can be posted.

Google Releases Key Part of Street View Pipeline

Comments Filter:
  • by Canazza (1428553) on Wednesday May 02, 2012 @06:31AM (#39866105)

    Does it come with built-in Wi-Fi snooping?

  • by bjourne (1034822) on Wednesday May 02, 2012 @07:31AM (#39866271) Homepage Journal
    Can any math pro explain what practical uses solving nonlinear least squares equations have? The Wikipedia page is to high-brow for me. :)
    • Re: (Score:3, Funny)

      by Anonymous Coward

      Least squares is an optimization goal which minimizes a particular metric for a global deviation between an ideal and an achievable solution, that metric being the sum of the squares of individual deviations. A non-linear optimizer performs the optimization for a problem which is formulated in nonlinear equations (i.e. which is not described by a matrix).

    • by Hatta (162192)

      Can any math pro explain what practical uses solving nonlinear least squares equations have?

      Mapping the expected position of a car to GPS data, for example.

    • Re: (Score:3, Informative)

      by Ouilsen (1459391)

      Least squares is also often used in parameter fitting. Suppose you have a simulation with an somehow unknown parameter p. First you use a first guess as a value of p. That you run your simulation and get observed values y_obs.

      Now you compare the computed values y_obs with the measured values y_mes using squares: cost = (y_obs - y_mes)^2.

      By computing d p / d cost you may adapt p and redo the above steps till the squares are minimized... thus a least squares problem.

    • Let's say you have a very weird car with 4 engines, 12 wheels turning in different directions, 8 steering wheels, 5 gearboxes and 20 buttons.
      You have no idea what each control does : some appear not to have any influence, some need to be used together, some have delayed influence, some cancel each other...
      You can probably forget to get a perfect understanding of the car, and will never find the perfect driving strategy.

      You just need a driver assistance system that will minimise the time needed as well as th

  • Yeah... (Score:5, Funny)

    by IamTheRealMike (537420) <mike@plan99.net> on Wednesday May 02, 2012 @08:24AM (#39866531) Homepage

    From the source code:

    // The reason why the Triggs approximation becomes so poor is
    // because the curvature correction that it applies to the gauss
    // newton hessian goes from being a full rank correction to a rank
    // deficient correction making the inversion of the Hessian fraught
    // with all sorts of misery and suffering.

    Yeah, that's pretty much how maths makes me feel as well ...

  • by Anonymous Coward on Wednesday May 02, 2012 @08:40AM (#39866679)

    When you have several measured points, and you want to fit a function to them, least squares is how you measure how closely your function fits. This is useful anytime you want to infer a trend into the future (extrapolation) or infer what values come between the measured values (interpolation).

    If you can speed up least-squares calculation, you can test your theories faster and possibly using less hardware - making that kind of statistical analysis more accessible.

    In Google's case, they are using it to adjust their raw GPS data so that they can get a more accurate idea of where they are.

  • With this code, one could develop an application that can automatically render a 3D model from a series of images or a video. In other words, you could use a camera to "paint" a nearly photorealistic 3D model - no hours/days/weeks of Blender/CAD work to create a model, just scan with cheap camera. They state, "We have a working Android port but it's not ready yet." Envision an Android app that does this - scan your friends or nearby person into a 3D model - get complete geometry (height, calculated weigh
  • The video at the Ceres Solver page reminded me a lot of the RatSLAM project. A project about mapping streets using a single camera as the only mapping sensor.

    Related video here:

    http://www.youtube.com/watch?v=-0XSUi69Yvs [youtube.com]

    RatSLAM paper here:

    http://eprints.qut.edu.au/32812/1/32812_Milford_2011000124.pdf [qut.edu.au]

Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Working...