透视n点,PnP(p3p)三维重建

时间:2014-05-05 15:30:05

标签: matlab 3d

我目前正在进行3D重建项目,但我遇到了困难。我使用matlab-code Kneip建议并提供和理论来自:

http://publications.asl.ethz.ch/files/kneip11novel.pdf

enter image description here

我无法弄清楚特征向量应该是什么。 从理论上讲,它似乎是指向摄像机矩阵C的3D点的矢量(见图)。但是Pnp(p3p)应该找到C,那么如何在没有C的情况下得到特征向量?

任何人都可以帮我弄清楚如何获取特征向量。

最好的问候 本都

1 个答案:

答案 0 :(得分:2)

有关特征向量及其优点的讨论,请参阅第二部分A部分下的Kneips最近的论文:

升。 Kneip,P。Furgale,“OpenGV:实时校准几何视觉的统一和通用方法”,Proc。 IEEE国际机器人与自动化大会(ICRA),中国香港。 2014年5月。

让我引用相关段落:“通过将每个图像测量值表示为3D轴承矢量,从界面[注释:解算器]中隐藏特定相机模型的细节:源自相机中心的单位矢量和指向地标。“

在本文中,特征向量称为方位向量,3D世界点称为地标。正如他所写,特征向量(f1,f2,... fn)是指向从摄像机(C)的透视中心看到的3D世界点(P1,P2,...,Pn)方向的向量。它们也标准化为长度为1。

他进一步写道:“每个方位矢量只有两个自由度,即相机参考系内的方位角和仰角.3D轴承矢量 - 接近标准化图像坐标 - 计算机视觉中的标准选择。” / p>

Kneip的P3P算法假设已经校准过的摄像机(即内部参数已知的摄像机)。因此,您事先知道焦距(即摄像机视角中心与图像平面之间的距离),主要点的位置等。

在这些中你可以计算相机参考系({C})中的3D特征向量,由于这些限制,实际上只有2个自由度:

  1. 特征向量(f)的原点是摄像机视角中心(C)和
  2. 长度约束1,即特征向量(f)的尖端位于该中心(C)周围的单位球上。
  3. 您可以选择拍摄的相机图像的不同描述:

    1. 您提供图像平面坐标,例如相机的像素坐标,或
    2. 你采用更通用的方法并使用方位/特征向量。
    3. 两种描述都有两个自由度并包含相同数量的信息,但后者对于为P3P求解器提供通用接口特别有用,如第一次引用中所述。