奇异值分解(SVD)
奇异值分解(Singular Value Decomposition, SVD),是线性代数中一种重要的矩阵分解,在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或厄米矩阵基于特征向量的对角化类似。对称矩阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广 1。
3D平面拟合
已知三维空间中
n
(
n
>
2
)
n (n>2)
n(n>2) 个点
{
p
1
(
x
1
,
y
1
,
z
1
)
,
p
2
(
x
2
,
y
2
,
z
2
)
,
⋅
⋅
⋅
,
p
n
(
x
n
,
y
n
,
z
n
)
}
\{p_1(x_1,y_1,z_1),\ p_2(x_2,y_2,z_2),\ \cdot\cdot\cdot \ , p_n(x_n,y_n,z_n)\}
{p1(x1,y1,z1), p2(x2,y2,z2), ⋅⋅⋅ ,pn(xn,yn,zn)},拟合出一个3D平面
Π
\Pi
Π :
a
x
+
b
y
+
c
z
+
d
=
0
,
n
=
[
a
b
c
]
T
ax+by+cz+d=0, \quad \boldsymbol n = [a\ \ b\ \ c]^T
ax+by+cz+d=0,n=[a b c]T
具体如下:
点集的中心
p
0
p_0
p0 为:
p
0
=
(
x
0
,
y
0
,
z
0
)
=
(
1
n
∑
i
=
1
n
x
i
,
1
n
∑
i
=
1
n
y
i
,
1
n
∑
i
=
1
n
z
i
)
p_0 = (x_0,y_0,z_0)=(\frac{1}{n} \sum_{i=1}^n x_i,\ \frac{1}{n} \sum_{i=1}^n y_i,\ \frac{1}{n} \sum_{i=1}^n z_i )
p0=(x0,y0,z0)=(n1i=1∑nxi, n1i=1∑nyi, n1i=1∑nzi)
设面
Π
\Pi
Π 过点
p
0
p_0
p0 ,则
p
0
p_0
p0 到其他
n
n
n 个点形成的向量与
Π
\Pi
Π 的法向量
n
n
n 正交,即:
p
0
p
i
⋅
n
=
0
,
∀
i
∈
{
1
,
2
,
.
.
.
,
n
}
\boldsymbol{p_0p_i} \cdot \boldsymbol{n} = 0,\quad \forall i \in \{1,2, ..., n\}
p0pi⋅n=0,∀i∈{1,2,...,n}
将向量
p
0
p
i
\boldsymbol{p_0p_i}
p0pi 表示为一个
n
n
n 行
3
3
3 列的矩阵
A
\boldsymbol A
A:
A
=
[
p
1
−
p
0
p
2
−
p
0
⋮
p
n
−
p
0
]
\boldsymbol A = \left[ \begin{matrix} \boldsymbol{p_1-p_0} \\ \boldsymbol{p_2-p_0} \\ \vdots \\ \boldsymbol{p_n-p_0} \\ \end{matrix} \right] \\
A=⎣
⎡p1−p0p2−p0⋮pn−p0⎦
⎤
则:
A
n
=
0
\boldsymbol {A n}=0
An=0
线性方程求解就可以得到法向量
n
n
n 。显然采用SVD对矩阵
A
\boldsymbol {A}
A 进行奇异值分解是最高效的方法。
A
=
U
Σ
V
T
\boldsymbol {A} = \boldsymbol {U\Sigma V}^T
A=UΣVT
其中,
V
=
[
v
0
,
v
1
,
v
2
]
\boldsymbol{V}=[\boldsymbol{v}_0,\boldsymbol{v}_1,\boldsymbol{v}_2]
V=[v0,v1,v2],
v
3
\boldsymbol{v}_3
v3 是最小奇异值对应的右奇异向量,则:
n
=
v
3
d
=
−
n
⋅
p
0
\boldsymbol{n}=\boldsymbol{v}_3\\ d=-\boldsymbol{n}\cdot\boldsymbol{p}_0
n=v3d=−n⋅p0
有了法向量
n
\boldsymbol{n}
n 和 原点到
Π
\Pi
Π 的距离
d
d
d,就得到了面的一般方程:
a
x
+
b
y
+
c
z
+
d
=
0
ax+by+cz+d=0
ax+by+cz+d=0
总结
本文主要记录 已知至少3个点,采用SVD进行平面拟合的方法,感谢您的观看,如有不对,欢迎指正!文章来源:https://www.toymoban.com/news/detail-402583.html
参考文献
-
https://en.wikipedia.org/wiki/Singular_value_decomposition ↩︎文章来源地址https://www.toymoban.com/news/detail-402583.html
到了这里,关于矩阵:采用奇异值分解(SVD)对n个点进行平面拟合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!