【发布时间】:2014-07-04 09:45:00
【问题描述】:
用例:
给定一个已知的(模拟的)3D 场景,并且:
- 2个对应2D点的向量V,V',其中V'表示3D点的投影,包括相对变换(使用5点算法提取)。
- 相机内在矩阵‘K’
- 相对相机旋转矩阵“R”
- 相对相机平移“t”(最大比例)
计算三角化 3D 点位置(最大比例) 实施:
- 对于每个相机,使用
提取从相机投射并通过 3D 点的光线 [RayV] = [Vx, Vy, 0] * K.inv()
[RayV'] = [V'x, V'y, 0] * K.inv()
- 为 [RayV'] 添加相对旋转(影响光线方向)
[RayV'] = [RayV'] * [R] - 形成两条射线的 3D 线方程
L = [0, 0, 0] + [RayV](第一条光线与原点 0,0,0 相交)
L'=[t] + [RayV'](添加相对相机平移)
- 根据以下公式找到空间中最小化两条射线之间距离的点:
https://www.youtube.com/watch?v=HC5YikQxwZA
问题:
派生的相机光线在 Z 坐标上偏差很大,而 X、Y 偏差很小,生成的三角点与生成它的场景不对应。
我在做什么这里错了吗?
上面的数学正确吗?
Ray计算和Ray公式推导正确吗?
【问题讨论】:
-
应该在 dsp.stackexchange 上,因为它是关于计算机视觉的
标签: algorithm 3d computer-vision graph-algorithm