SVD-based estimation vs Levenberg Marquardt-based

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

SVD-based estimation vs Levenberg Marquardt-based

dave_mm0
Hello,
What are the differences between the SVD-based and the Levenberg Marquardt-based estimations of a rigid transform?

I wikipedia'd both, and they seem to be two different numerical methods of solving equations. I'm guessing that both have similar precision, but is one more stable than the other (converges faster?)
What are the advantages of each? Are there any other differences?

Thanks!
Dave
Reply | Threaded
Open this post in threaded view
|

Re: SVD-based estimation vs Levenberg Marquardt-based

Sergey
Administrator
Hi Dave,

I assume you are referring to the absolute orientation problem, i.e. the problem of determining the rigid transform between two sets of points with known correspondences. This problem could be solved in an iterative manner by the standard Levenberg-Marquardt least-squares algorithm, however as you mentioned, a closed-form solution based on the singular value decomposition of a covariance matrix of the data exists. Unlike the iterative approach, it provides the best possible solution in a single step and does not require initial guess.

So normally you would just use the SVD method. It is available in PCL (pcl::registration::TransformationEstimationSVD).

P.S. The reason why LM transformation estimation as also implemented in PCL is because it is needed in the ICP algorithm, where a control over the optimization function is required. (This is just my guess though.)

Regards,
Sergey
Reply | Threaded
Open this post in threaded view
|

Re: SVD-based estimation vs Levenberg Marquardt-based

Nicola Fioraio
Hi Dave,

as already stated by Sergey, SVD gives a closed-form solution, while LM is an iterative
method, like Gauss-Newton. Another big difference is that the SVD technique makes more
assumption on the problem, eg, your points must belong to only two different sets
(ie only two camera poses) and the only variable you can have in your problem is
the unknown relative transformation between those two sets. Instead, LM not only can handle more
general non-linear least squares problems, but it can also be used when the cost function
changes at each iteration, as in Generalized ICP.

Hope this helps! :)
cheers
--Nicola

On Sat, Jul 14, 2012 at 1:24 AM, taketwo <[hidden email]> wrote:
Hi Dave,

I assume you are referring to the absolute orientation problem, i.e. the
problem of determining the rigid transform between two sets of points with
known correspondences. This problem could be solved in an iterative manner
by the standard Levenberg-Marquardt least-squares algorithm, however as you
mentioned, a closed-form solution based on the singular value decomposition
of a covariance matrix of the data exists. Unlike the iterative approach, it
provides the best possible solution in a single step and does not require
initial guess.

So normally you would just use the SVD method. It is available in PCL
(pcl::registration::TransformationEstimationSVD).

P.S. The reason why LM transformation estimation as also implemented in PCL
is because it is needed in the ICP algorithm, where a control over the
optimization function is required. (This is just my guess though.)

Regards,
Sergey

--
View this message in context: http://www.pcl-users.org/SVD-based-estimation-vs-Levenberg-Marquardt-based-tp4020253p4020258.html
Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users