5

サーフェス メッシュから取得した一連のポイント ( x1,y1,z1 ... xn,yn,znの形式) があります。直交距離を最小化することにより、これらの点に最適な 3D 平面を見つけたいと考えています。x、y、z座標は独立しています。つまり、平面方程式 Ax + By + Cz + D = 0 の係数 A、B、C、D を取得したいと考えています。

A、B、C、D を取得するアルゴリズムは何でしょうか?

注:以前の投稿では、 z座標をx,yの線形関数と見なすことにより、最小二乗法での最適平面について説明しました。しかし、これは私の場合ではありません。

4

2 に答える 2

6

メモリから、これは固有ベクトルの問題になります。ポイントから平面までの距離は、Ax + By + Cz + D に比例します。これを確認する方法の 1 つは、平面の法線が (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 の最小固有ベクトルが必要だと思います

これが統計で頻繁に使用されない理由の 1 つは、他の方向の単位を同じ量だけ同様にスケーリングせずに座標ベクトルの単位をスケーリングすると、得られる答えが変わることです。

考えてみると、http://en.wikipedia.org/wiki/Total_least_squaresで、これらすべてが適切に機能したことがわかります。

于 2011-07-31T05:16:17.790 に答える