【问题标题】:Structure From Motion: Implementing Triangulation运动结构:实施三角测量
【发布时间】:2014-07-04 09:45:00
【问题描述】:

用例:


给定一个已知的(模拟的)3D 场景,并且:

  1. 2个对应2D点的向量V,V',其中V'表示3D点的投影,包括相对变换(使用5点算法提取)。
  2. 相机内在矩阵‘K’
  3. 相对相机旋转矩阵“R”
  4. 相对相机平移“t”(最大比例)

计算三角化 3D 点位置(最大比例) 实施:

  1. 对于每个相机,使用
    提取从相机投射并通过 3D 点的光线 [RayV] = [Vx, Vy, 0] * K.inv()
    [RayV'] = [V'x, V'y, 0] * K.inv()
  2. 为 [RayV'] 添加相对旋转(影响光线方向)
    [RayV'] = [RayV'] * [R]
  3. 形成两条射线的 3D 线方程
    L = [0, 0, 0] + [RayV](第一条光线与原点 0,0,0 相交)
    L'=[t] + [RayV'](添加相对相机平移)
  4. 根据以下公式找到空间中最小化两条射线之间距离的点: https://www.youtube.com/watch?v=HC5YikQxwZA


问题:


派生的相机光线在 Z 坐标上偏差很大,而 X、Y 偏差很小,生成的三角点与生成它的场景不对应。

我在做什么这里错了吗?
上面的数学正确吗?
Ray计算和Ray公式推导正确吗?

【问题讨论】:

  • 应该在 dsp.stackexchange 上,因为它是关于计算机视觉的

标签: algorithm 3d computer-vision graph-algorithm


【解决方案1】:

要从 2D 点创建齐次坐标,您必须将射线计算中的 0 替换为 1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2023-03-07
    • 2016-02-17
    • 2016-12-27
    • 2011-03-09
    相关资源
    最近更新 更多