【问题标题】:Best fit plane by minimizing orthogonal distances通过最小化正交距离的最佳拟合平面
【发布时间】:2011-10-16 18:47:52
【问题描述】:

我有一组从表面网格获得的点(形式为 x1,y1,z1 ... xn,yn,zn)。我想通过最小化正交距离来找到最适合这些点的 3D 平面。 x,y,z坐标是独立的,即我想得到平面方程Ax + By + Cz + D = 0的系数A,B,C,D。

获得 A、B、C、D 的算法是什么?

注意:在previous post 中讨论了最小二乘意义上的最佳拟合平面,通过考虑 z 坐标是 x,y 的线性函数.然而这不是我的情况。

【问题讨论】:

  • “最小化正交距离”是什么意思?您只能优化 一个 数量,例如正交距离的平方和。

标签: algorithm geometry regression


【解决方案1】:

根据记忆,这变成了一个特征向量问题。从一个点到您的平面的距离与 Ax + By + Cz + D 成正比 - 看到这一点的一种方法是注意平面的法线是 (A, B, C)。常数 D 令人头疼,但我认为您可以通过重新定义变量将其转换为常数来摆脱它,这样一切都意味着 0。在这种情况下,我认为最合适的平面将通过原点.

然后你会发现你想要最小化 SUM_i (X_i . A)^2 其中 A 是一个 3 向量。当然,您可以通过将 A 的所有分量乘以某个小标量来使其任意小,因此您希望将此主题最小化,例如||A||^2 = 1,这通过将 A 设为单位向量来理解比例。 (X_i . A)^2 = A' (X_i' X) A,所以你想最小化 A' (SUM_i (X_i'X_i)) A 所以我想你想要 SUM_i X_i'X_i 的最小特征向量

这在统计数据中没有更频繁地使用的一个原因是,如果您缩放任何坐标向量的单位,而不以相同的量在其他方向上类似地缩放单位,您得到的答案将会改变。

想一想,你可以在http://en.wikipedia.org/wiki/Total_least_squares看到这一切正常

【讨论】:

  • 完美!这就是我要找的东西。
  • 你能解释一下 (X_i . A)^2 = A' (X_i' X) A 是什么意思吗?
  • 也可以查看维基百科的参考资料,但这里是“。”在 X_i.A 中是点积(也称为标量积),“'”是矩阵转置。所以我说两个向量的点积的平方与产生一个 nxn 矩阵 (X_i'X) 是相同的另一个向量由它在一侧形成一个向量,然后在该结果和另一个向量之间取点积。在中心有一个矩阵会将其变成一个特征值问题。
【解决方案2】:

Least Squares Fitting of Data,第 2 节:“使用正交回归对 nD 点进行线性拟合”。

正如 mcdowella 所说,您需要求解一个 3x3 特征系统。

【讨论】:

  • 这是第 4 节,而不是第 2 节。但是很好的参考。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
  • 1970-01-01
  • 2020-12-21
  • 1970-01-01
相关资源
最近更新 更多