2

I have two parameters transformations as input to my Ceres cost function. They are both transforms that are to be combined, in order to reproject my points. Both transforms are given in the form of a Rodrigues rotation vector, and a translation vector.

My question is, how do I combine these two transforms within the cost function (using Ceres API's), in order to reproject the points?

jpo38
  • 20,821
  • 10
  • 70
  • 151
MM.
  • 4,224
  • 5
  • 37
  • 74

1 Answers1

2

Have a look at the functions in the ceres/rotation.h header file: http://ceres-solver.org/nnls_modeling.html#rotation-h

For example you can convert the Rodrigues vector to a rotation matrix:

void AngleAxisToRotationMatrix<T>(T const *angle_axis, T *R)

With that you can build your own 3x4 transformation matrix for every transformation combining the rotation and translation (you can use Eigen from http://eigen.tuxfamily.org/index.php?title=Main_Page for that). Matrix multiplication then yields the final transform (mind the order).

RevJohn
  • 1,054
  • 9
  • 15