g20:如何优化相机的内在(fx,fy,cx,cy)在束调整



一些预定义的边,如EdgeProjectXYZ2UV, EdgeSE3ProjectXYZ,在BA中被广泛使用。但是,他们只能设置不可更改的相机参数。我想知道我是否可以设置可优化的相机参数。

感谢您的提前回复!

我在g2o/types/sba/vertex_intrinsics.h中找到顶点VertexIntrinsics。实现了oplusImpl()函数,可以对其进行优化。

/**
* brief Vertex encoding the intrinsics of the camera fx, fy, cx, xy, baseline;
*/
class G2O_TYPES_SBA_API VertexIntrinsics : public BaseVertex<4, Eigen::Matrix<number_t, 5, 1, Eigen::ColMajor> >
这似乎就是我要找的那个。然而,我找不到一种类型的Ternary-Edge来连接这个顶点、相机姿态顶点和3D世界点顶点。或者任何其他以这种顶点为顶点的边 如果有人能分享一个例子或解释一下这个顶点是如何工作的,那就太好了。或任何其他方法来优化相机内在的g20。

我设法通过定义连接相机固有顶点(VertexIntrinsics),相机姿态顶点(VertexSE3或VertexSE3Expmap)和观察目标(顶点SE3在我的情况下,或VertexPointXYZ)的三元边缘来解决它。图中只有一个VertexIntrinsics

如果你正在寻找一个三元边的例子,检查edge_project_psi2uv.h。

感谢@RainerKuemmerle的出色工作。

相关内容

  • 没有找到相关文章

最新更新