上下文:在2d到3d的多个点对上执行三角剖分。我得到的方程是:
Mv = 0 with M = [P1 -x1 0] (6x6 matrix) v = [X, lambda1, lambda2]^T (6x1)
[P2 0 -x2]
式中P1、P2为3x4投影矩阵,x1、x2为三维点X的二维投影,λ只是表示线平面相交的参数(不重要)。所有这些都是在齐次坐标下完成的,所以M是6x6。
问题:通过对M进行SVD,我可以得到两个2D点x1和x2的最小二乘三角剖分,从而得到一个3D点。如果我在所有的点对上重复这个,我可以得到一个点云。然而,在for循环中多次重复计算SVD是非常低效的;主要是,我必须先通过插入点来构建每个矩阵,然后做SVD。有没有一种方法可以将点对列表上的SVD计算矢量化?
任何建议都将非常感谢!
现在在计算机视觉系统工具箱中有一个三角函数。