computer-vision - 如何在 ceres 解算器中组合变换?

标签 computer-vision least-squares ceres-solver

我有两个参数转换作为我的 Ceres 成本函数的输入。它们都是需要组合的变换,以便重新投影我的观点。两种变换均以罗德里格斯旋转向量和平移向量的形式给出。

我的问题是,如何在成本函数(使用 Ceres API)中组合这两种变换,以便重新投影点?

最佳答案

看一下 ceres/rotation.h 头文件中的函数:http://ceres-solver.org/nnls_modeling.html#rotation-h

例如,您可以将 Rodrigues 向量转换为旋转矩阵:

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

这样,您就可以为每个结合旋转和平移的变换构建自己的 3x4 变换矩阵(您可以使用 http://eigen.tuxfamily.org/index.php?title=Main_Page 中的 Eigen 来实现)。然后矩阵乘法产生最终的变换(注意顺序)。

关于computer-vision - 如何在 ceres 解算器中组合变换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32856704/

相关文章:

matlab - 如何计算矩阵中1和0的个数?

python - 将文本搜索添加到基于内容的图像检索(卷积网络)

algorithm - 需要精确的最小二乘拟合算法

android - 使用 Android 和 Eclipse 编译 Ceres Solver

c++ - Ceres-Solver:剩余仿函数使用的可变变量是好的做法吗?还有什么其他选择?

c# - emguCV-快速计算二进制图像中带孔的对象的面积

python - 为 skimage 中的 regionprops 添加额外的属性

java - Python scipy.optimize.leastsq 到 Java org.apache.commons.math3.fitting.leastsquares

python - scipy最小二乘法中的正交回归拟合

c++ - Eigen 矩阵 ros/cols 不正确