奇异值分解

时间:2013-02-17 15:16:05

标签: matrix camera-calibration

我开始学习相机矩阵及其解决方法。有些方法在很多方面我看到使用矩阵的奇异值分解,但我无法理解使用它的目的是什么,任何人都可以给出一些提示吗?

2 个答案:

答案 0 :(得分:2)

SVD用于将矩阵分解为三个矩阵,乘以一个方向将得到原始矩阵,如果以相反的顺序相乘,将给出反转矩阵。

这在尝试求解具有n个未知数的n个方程的方程组时非常有用。

在校准相机的情况下,我会假设未知数是校准参数。

我会尝试找到一个描述这两个过程的好链接。

答案 1 :(得分:0)

SVD是一种在n维空间中找到方向的方法,它可以解释数据的最大方差。 观察下图,在此图像中,我们选择的方向[红点之间的线]不是一个好的方向。由于数据点不在所选方向上。这就是为什么数据指向该行的投影误差之和最大的原因。

Data points projection when an inappropriate direction is used

但是请看第二张图片,在这个方向上,我们选择[红点之间的线]是不错的选择。由于它与数据点分布一致。 这就是为什么数据指向该行的投影误差之和最小的原因。

Data points projection when an appropriate direction is used

什么是SVD?

SVD将数据集分解为三个部分,您可以确定要用于数据分析的方向。当数据科学家通过查看下面给出的原始数据分布来弄清楚数据时,这将非常有用。

Original Data distribution

使用SVD时,数据以一种清晰的模式进行转换。在下图中,主要部分1和2是方向,投影误差较小。

Plotting the data using those principal components

更多详情