多个图像的位置估计

时间:2014-03-08 14:04:39

标签: opencv computer-vision pose-estimation

首先,我想声明我对这个领域很新,如果问题有点过于重复,我会道歉。我环顾四周但是徒劳无功。我正在读哈特利和齐瑟曼的书,但这花了我一段时间。

我的问题是我有一个区域的3个视频源,我需要在视频的每一帧找到摄像机位置。我没有关于拍摄视频的摄像机的任何信息(即没有内在函数)。

寻找解决方案我遇到了SfM并尝试了现有的软件,即Bundler& Vsfm和他们似乎都运作得很好。但是我有几个问题。

1)我的情况下是否真的需要SfM?由于SfM进行稀疏重建并且图像之间的公共点也是输出,是否完全有必要?或者是否有更合适的方法可以做到这一点,因为我真的需要的位置?或者我可以使用不那么复杂的方法吗?

2)从我读过的内容来看,我需要校准相机并找到它的内在函数和外在函数。我怎么能不知道呢?我看过5点问题和其他问题,但是大多数都要求你知道我没有的相机的内在属性,我不能使用像棋盘这样的模式来校准它们,因为它们来自于来自我无法控制的来源。

谢谢你的时间!

2 个答案:

答案 0 :(得分:2)

根据我的经验,简短的回答是:

1)你不能独立于场景的3D来可靠地估计摄像机的3D姿势。此外,由于你的摄像机是独立移动的,我认为SfM是解决问题的正确方法

2)您需要估算相机的内在函数,以便估算有用(即欧几里德)姿势和场景重建。如果您不能使用标准校准程序,使用棋盘和co,您可以查看autocalibration techniques(另请参阅Hartley& Zisserman的书中的第19章)。这个校准程序是针对每个摄像机独立完成的,只需要在不同位置的几个图像样本,这在您的情况下似乎是合适的。

答案 1 :(得分:0)

您实际上可以在一个大规模的捆绑相邻过程中完成您的任务,直到缩放参数。但即使你不是新手也是一件非常复杂的事情。你不需要三维重建,只需要一个基本的矩阵,可以从2d投影中获得并分解为旋转和平移,但这确实需要Iintrinsic Paramus。要获得它们,你必须至少有三个帧。 最后,Drop Zimmerman预定它会让你发疯。请阅读Simon Princes的“计算机视觉”。