为什么重建模型是使用SfM(运动结构)的缩放版本?

时间:2014-01-22 02:22:18

标签: opencv 3d computer-vision 3d-reconstruction

 I am learning structure from motion by myself and have read many materials.

即使我有摄像机的内部参数,也可以获得度量重建 并生成一个缩放模型。从一个材料度量三维重建意味着 两次捕获之间的距离未知。为什么我不能使用距离 点对应和内在参数?我可以用物理模型获得模型 测量我是否使用两个以上的图像?

提前致谢。

此致 慢跑

2 个答案:

答案 0 :(得分:2)

如果相机和场景都相应地缩放,则在捕获的图像中将无法辨别变化。这就是SfM中未知比例因子的原因。为了获得它,通常需要对场景或相机运动进行一些物理测量。

如果你不相信,只需做数学运算:

(P1 p1)(P2 p2)为两个相机1和2的3x4投影矩阵(P1是3x3矩阵,p1是列矢量),{{1场景中的一个点,以及Mm1相机1和2中m2的相应投影。我们(M表示“与...成比例”,因为透视划分):

~=

介绍相机中心m1 ~= P1 M + p1 m2 ~= P2 M + p2 C1 = -P1^-1 p1和相机之间的翻译C2 = -P2^-1 p2,可以写成:

T = C2 - C1

现在将整个场景缩放m1 ~= P1 (M - C1) m2 ~= P2 (M - C2) = P2 (M - (C1 + T)) 因子,并将其原点翻译为so。引入两个相机1'和2',它们是具有反比例因子的版本1和2,即M' = s M + oP1' = 1/s P1。缩放并抵消其中心P2' = 1/s P2C1' = s C1 + o。现在,两台摄像机之间的相对平移为:C2' = s (C1 + T) + o。 {1}和1'中C2' - C1' = s T的投影是:

M'

所以最后,你会得到一个具有不同比例和原点以及相应缩放和翻译相机的场景的相同投影(你在SfM问题中的输入)。这可以推广到两个以上的摄像头。

答案 1 :(得分:2)

如果您只有图像,而没有关于场景中物体的物理尺寸的其他信息,则无法仅从图像中恢复这些尺寸 - 最多只能重建场景,直到未知的比例因子。这意味着,例如,您可以知道两条线彼此垂直。您也可以计算矩形瓷砖的宽高比,但无法分辨高度和宽度的各个值。

您可以通过注意到,例如,如果您将场景中的所有对象缩小因子S,然后将其移近摄像机,则可以说服自己这是事实上的情况。相同数量。这是允许在使用微型模型(如these)的电影中做一些老派特效的原因,无论相机是固定的还是相对于场景移动它都适用 - 即它适用于多个图像案件也是如此。