From: Eduardo Lourenco Apolinario <mailing.eduardo@gm...>  20070726 14:38:37

Hi everyone, i'm trying to use vxl to solve a minimization problem using vxl. However I found myself a bit lost when I started to model the f function needed to pass to LevenbergMarquardt. Let me explain it in a bette way, what I'm trying to do is to minimize the reprojection error of 3D points once I established a 2D3D correspondence, I mean: r_t =3D sum  m_i  R(P, M_i) ^2 where the m_i are 2D points and the function R is a function that project= s the M_i points using the matrix P. What I would like to do is to improve my estimation of matrix P once I know m_i and M_i. How can I do that using VXL= ? I'm assuming everything I need to do to use VXL Levenbergmarquardt implementation is to define a structure that provides an overloading of the f function. My first approach for my problem was to fill the y vector with the result of the application of the function i'm trying to minimize, I mean: void f(vnl_vector<double> const& x, vnl_vector<double>& y){ // I construct a matrix P using the vector x for(int i =3D 0; i < m_i.size(); i++){ y[2*i] =3D (m_i  R(P, M_i))[0]; y[2*i + 1] =3D (m_i  R(P, M_i))[1]; } } As you can see, what I'm trying to minimize here is the values of my matri= x P, but I'm not pretty sure my approach is correct. I would really appreciat= e if you can give me a hand on it, some book or paper, anything would be fine= . Thank you.  Eduardo Louren=E7o Apolin=E1rio Federal University of Pernambuco, Brazil Multimedia and Virtual Reality Research Group 