【发布时间】:2013-02-02 01:44:09
【问题描述】:
我开始学习相机矩阵及其求解方法。我在其中的许多方法中看到了使用矩阵的奇异值分解的一些方法,但我不明白使用它的目的是什么,有人可以给出一些提示吗?
【问题讨论】:
我开始学习相机矩阵及其求解方法。我在其中的许多方法中看到了使用矩阵的奇异值分解的一些方法,但我不明白使用它的目的是什么,有人可以给出一些提示吗?
【问题讨论】:
SVD 用于将矩阵分解为三个矩阵,它们以一种方式相乘将得到原始矩阵,如果以相反的顺序相乘将得到反转矩阵。
这非常有用,例如在尝试求解具有 n 个未知数的 n 个方程的方程组时。
在相机校准的情况下,我会假设未知数是校准参数。
我会尝试为您找到一个描述这两个过程的好链接。
【讨论】:
SVD是一种在n维空间中寻找方向的方法,可以解释数据的最大方差。 观察下图,在这张图中,我们选择的方向[红点之间的线]不是一个好的方向。由于数据点不位于所选方向。这就是为什么数据点在该线上的投影误差之和最大的原因。
Data points projection when an inappropriate direction is used
但是看第二张图片,在这个方向上我们选择[红点之间的线]是不错的选择。因为它与数据点分布一致。 这就是为什么数据点在该线上的投影误差之和最小的原因。
Data points projection when an appropriate direction is used
SVD 有什么作用?
SVD 将数据集分解为三个组件,您可以决定要使用哪个方向进行数据分析。当数据科学家可以通过查看下面给出的原始数据分布来弄清楚时,这对他们非常有帮助。
当使用 SVD 时,数据会以一种可以找到清晰模式的方式进行转换。下图中主成分1和2是投影误差较小的方向。
Plotting the data using those principal components
更多详情
【讨论】: