刚性运动估计

时间:2012-08-06 15:56:10

标签: computer-vision

现在我所拥有的是3D点集以及相机的投影参数。给定两个通过使用相机和变换相机(通过旋转和平移)从3D点投射的2D点集,应该有一种直观的方式来估计相机运动...我读了一些Zisserman的书“Muliple view Geometry in计算机视觉“,但我仍然没有得到解决方案..

是否有任何提示,在这种情况下如何估计刚性运动?

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在寻找的是PnP问题的解决方案。 OpenCV有一个名为solvePnP的函数。为了清楚起见,为了使其工作,您需要在世界空间中的点位置,相机矩阵以及图像平面上的点投影。然后它将根据您选择的方式告诉您相机或点的旋转和平移。

答案 1 :(得分:1)

除了上一个答案之外,Eigen还实现了Umeyama的方法,用于估计两组3d点之间的刚性变换。您可以使用它来获得初始估计,然后使用优化算法对其进行细化,并考虑将3d点投影到图像上。例如,您可以尝试最小化第一个图像上的2d点之间的重投影误差以及使用先前估计的变换将一个相机的参考帧带到另一个相机的参考帧之后的3d点的投影。您可以使用转换及其逆转两种方式执行此操作,并尝试最小化双向重投影错误。我推荐Andrew Howard的论文“自主地面机器人的立体视觉测距法”,以及一些更好解释的参考文献,特别是如果你在实际运动估计之前考虑异常值去除/内部检测步骤。