如何从共享相机视图的两个基本矩阵计算相对比例?
How to calculate the relative scale from two fundamental matrices that share a camera view?
我理解基本矩阵 FAB 表示的两个相机视图 A 和 B 之间的比例仅在 a 内正确比例尺(例如,您不知道您是在近距离观察小树还是在远距离观察大树)。
然而,给定三个点a、b、c和两个基本矩阵FAB和FBC,应该可以关联它们的相对比例。我的第一个想法是只选择所有三个视图中存在的两个特征,并使用 FAB 和 计算它们的距离FBC,将它们相除。也许对所有三个视图中存在的所有功能进行平均?我走在正确的轨道上,还是有更好的方法来做到这一点?
如果您知道相机的内在参数,则可以使用三角测量来估计 3D 点。已知点 a 和 b 之间的距离 d(a, b),然后您可以直接用 s = d(a, b) / d(a', b') 估计比例因子 s,其中 d(a', b ') 是三角点的距离。如果可以接受任意比例,则可以使用与另一对的距离 d(a', b') 作为参考。为了稳健性,使用点计算比例因子,并使用平均值作为最终比例因子。
如果你有足够的点对应,你可以使用bundle adjustment进一步改进参数。
旋转和平移可以从本质矩阵计算,而本质矩阵又可以从相机固有矩阵和基本矩阵计算。
我理解基本矩阵 FAB 表示的两个相机视图 A 和 B 之间的比例仅在 a 内正确比例尺(例如,您不知道您是在近距离观察小树还是在远距离观察大树)。
然而,给定三个点a、b、c和两个基本矩阵FAB和FBC,应该可以关联它们的相对比例。我的第一个想法是只选择所有三个视图中存在的两个特征,并使用 FAB 和 计算它们的距离FBC,将它们相除。也许对所有三个视图中存在的所有功能进行平均?我走在正确的轨道上,还是有更好的方法来做到这一点?
如果您知道相机的内在参数,则可以使用三角测量来估计 3D 点。已知点 a 和 b 之间的距离 d(a, b),然后您可以直接用 s = d(a, b) / d(a', b') 估计比例因子 s,其中 d(a', b ') 是三角点的距离。如果可以接受任意比例,则可以使用与另一对的距离 d(a', b') 作为参考。为了稳健性,使用点计算比例因子,并使用平均值作为最终比例因子。
如果你有足够的点对应,你可以使用bundle adjustment进一步改进参数。 旋转和平移可以从本质矩阵计算,而本质矩阵又可以从相机固有矩阵和基本矩阵计算。