首先,我想声明我是这个领域的新手,如果这个问题有点过于重复,我很抱歉。我四处找了找,但一无所获。我正在读Hartley和Zisserman的书,但是花了我一些时间。
我的问题是,我有一个区域的3个视频源,我需要在视频的每一帧找到相机的位置。我没有任何关于拍摄视频的相机的信息(即没有intrinsic)。
寻找解决方案,我遇到了SfM,并尝试了现有的软件,即Bundler &Vsfm和他们似乎都工作得很好。但是我有几个问题。
1)我的情况真的需要SfM吗?由于SfM是进行稀疏重建的,并且图像之间的共同点也是一个输出,那么完全有必要吗?还是有更合适的方法可以做到这一点,因为位置是我真正需要的?或者我可以使用不那么复杂的方法?
2)根据我所读到的,我需要校准相机并找到它的内在和外在。我怎么能在不知道的情况下做到这一点呢?我看过5-pt问题和其他问题,但大多数问题都需要你知道相机的内在属性,而我没有,我不能使用棋盘等模式来校准它们,因为它们来自我控制之外的来源。
谢谢你的时间!
根据我的经验,简短的回答是:
1) 你不能独立于场景的3D来可靠地估计相机的3D姿态。此外,由于你的相机是独立移动的,我认为SfM是解决你的问题的正确方法。
2) 你需要估计相机的内在,以估计有用的(即欧几里得)姿势和场景重建。如果你不能使用标准校准程序,如棋盘和co,你可以看看自动校准技术(参见Hartley's &Zisserman的书)。这个校准过程是为每个相机独立完成的,只需要在不同位置的几个图像样本,这在你的情况下似乎是合适的。
实际上你可以在一个庞大的bundle相邻过程中完成你的任务,直到一个缩放参数。但这是一件非常复杂的事情,即使你不是新手。你不需要三维重建,只需要一个基本的矩阵,可以从二维投影中得到,并将i分解为旋转和平移,但这确实需要i的内在Paramus。要得到它们,你必须至少有三帧。最后,放下齐默尔曼的书,它会让你发疯的。请阅读西蒙•普林斯的《计算机视觉》。