Hi,
I have a question regarding the convergence criterion of step size tolerance.
In Madsen's note (2004), one of the termination criteria is:
if ||h_lm|| <= e2(||x|| - e2), as can be found in algorithm 3.16 on page 27.
The corresponding code in ceres I believe is in trust_region_minimizer.cc:
iteration_summary.step_nom = (x - x_plus_delta).norm() and several lines after that.
This makes perfect sense to me when the parameters being optimized lie in euclidean space.
But when using a local parameterization, such as a homogeneous vector that lies on a unit sphere, is this criterion still valid?
What's confusing me is that since the parameter vector is on some manifold, is this simple subtraction of x and x_plus_delta a good representation of step norm?
I wrote myself a simple lm optimizer in python that refines a homography (which is just identity), what I notice is that if I use a local parameterization, it takes more iterations to converge (31 iterations).
But when I optimize this homography without minimum parameterization, it takes much less iterations (5 iterations) and still gives a good estimation.
I'd appreciate if anyone can show me what I'm missing. Thanks.