使用 PCA 将平面拟合到 3D 中的一组点

机器算法验证 r 回归 主成分分析 全最小二乘法
2022-03-20 15:35:58

我正在尝试使用成对地标的中点来估计 3D 模型的中平面,以重建缺失的数据(中平面在这里指的是颅骨的中间/矢状平面,它将头骨切成左右对称的两半) .

因此,我需要从 3D 中的 27 个点估计一个平面。我需要得到平面方程为

ax+by+cz=d.

我已经研究过正交回归和主成分分析 (PCA) 作为方法,但是我没有通过 A-levels 的数学并且正在苦苦挣扎。我知道我应该可以使用特征向量来获得最佳拟合平面的方程,但需要有人确切地解释如何。我将 R 用于 PCA,但也不擅长 R。

或者,如果有更好的方法来估计飞机,我会很高兴听到它!

1个回答

当您对 3D 中的 27 个点执行主成分分析 (PCA) 时,您首先要减去平均向量m然后得到三个特征向量e1,e2,e3的协方差矩阵。前两个特征向量(具有两个最大特征值)跨越您要查找的平面,因此几何情况如下所示:

PCA平面

问题是:如何从这里得到这个平面的方程的形式

ax+by+cz=d.
这个方程可以重新表述如下:ax=d, 在哪里x是平面上的任意点并且a是一个向量(a,b,c). 换句话说,我们需要找到一个向量a使得它与平面上任意点的点积给出相同的常数值d.

从上图中,我们看到任何属于平面的点都可以写成 x=m+ge1+he2, 在哪里gh是一些实数。由此可见,之间的点积e3x是(谁)给的

e3x=e3(m+ge1+he2)=e3m=const.
所以我们有它:我们可以采取a=e3d=e3m.

综上所述,解决方案是:

a=e31b=e32c=e33d=e31m1+e32m2+e33m3.