点群にフィットする平面

  点群 $\{ \mathbf{u}_{1}, \mathbf{u}_{2}, \cdots, \mathbf{u}_{m} \}$ に最もフィットする平面は、 法線ベクトルが 行列

点群にフィットする最適平面00

の最小固有値を持つ固有ベクトルの方向を向き、 符号付き距離が、その法線ベクトルと点群の重心 $\overline{\mathbf{u}}$ との内積

点群にフィットする最適平面01

になる平面である。
最終更新 2016年 12月4日


    解説

 
点群との距離の二乗和:
  法線ベクトルを $\mathbf{n}$、 符号付き距離を $h$ とする平面の方程式は、

点群にフィットする最適平面02

である。 ここで、 法線ベクトルの大きさは

点群にフィットする最適平面03

と規格化されているものとする。
  点群

点群にフィットする最適平面04

の中の一点を $\mathbf{u}_{i}$ とすると、 この点と平面 $(1)$ との間の距離の二乗 $d_{i}$ は、

点群にフィットする最適平面05

である(点と平面の距離を参考)。
  $(3)$ を全ての点に渡って足し合わせた総和を $s$ とすると、

点群にフィットする最適平面05

である。 $ s $ は、 $\mathbf{n}$ と $h$ に依存する。


最適な符号付き距離:
  平面の法線ベクトル $\mathbf{n}$ を任意のベクトルとして、 $s$ が最小になるような符号付き距離 $h$ を求める。 $(3)$ は、

点群にフィットする最適平面07

と表せることから分かるように、 $h$ に関する二次方程式である。
  そこで、$s_{i}$ を $h$ について平方完成すると、

点群にフィットする最適平面08

となるので、 二次方程式の一般的な性質から、 $s$ を最小にする $h$ は、

点群にフィットする最適平面09

である。 点群の重心(平均位置)

点群にフィットする最適平面10

を使って表すと、

点群にフィットする最適平面11

である。
  したがって、 点群にフィットする平面は、 符号付き距離 $h$ が、平面の法線と点群の重心の内積に等しくなる平面である。
 


最適な法線ベクトル:
  任意の法線ベクトルに対して、 最もフィットする平面の符号付き距離が $(5)$ になることが分かったので、 次に、 最適な法線ベクトルを求める。
  $(5)$ を $(4)$ に代入すると、 $s$ は、

点群にフィットする最適平面12

と表せる。 一般に、任意の実ベクトル $\mathbf{a}, \mathbf{b} $ に対して、

点群にフィットする最適平面13

が成立することを用いると、

点群にフィットする最適平面14

となる。
  ここで、行列 $M$ を

点群にフィットする最適平面15

と定義すると、

点群にフィットする最適平面16

と表せる。
  また $M$ は、 3行3列の行列であり、 任意のベクトル $\mathbf{v}$ に対して、

点群にフィットする最適平面17

が成立するので、 半正定値行列である。
  一般に、 半正定値行列は、 対角化可能であり、 固有値が 0 以上になる。 そこで、 固有値と固有ベクトルを

点群にフィットする最適平面18


点群にフィットする最適平面19

を満たすように定義する。 また、 固有ベクトルが互いに直交するので、 規格化された固有ベクトルは

点群にフィットする最適平面20

を満たす。 ここで、 $\delta_{ij}$ は、 クロネッカーのデルタである。
  このような $\mathbf{m}_{i}$ を用いて、 行列 $R$ を

点群にフィットする最適平面21

と定義する。 この $R$ は、 $(9)$ から

点群にフィットする最適平面22

を満たすので、 $M$ を対角化する行列である。
  また、 $(9)$ から $R$ は、直交行列であることが示される。 すなわち、

点群にフィットする最適平面23

が成立する(証明は直交行列であるための必要十分条件を参考)。
  $(10)$ と $(11)$、 および内積と転置行列の関係を用いると、 $(7)$ の $s$ は、

点群にフィットする最適平面24

と表せる。 ここで、 $ \left\{ (R \mathbf{n})_{i}\right\}^{2}$ $(i=1,2,3)$ は、 ベクトル $R \mathbf{n}$ の第 $i$ 成分 $(R \mathbf{n})_{i}$ の二乗である。
  いま、

点群にフィットする最適平面25

であることから、 $s$ は、

点群にフィットする最適平面26

を満たす。 また、 $\left\{(R \mathbf{n})_{1}\right\}^{2}$ は、 $(2)$、 $(11)$、および 内積と転置行列の関係から

点群にフィットする最適平面27

と表される。
  これらから $s$ は、

点群にフィットする最適平面28

と表せるが、

点群にフィットする最適平面29

であることから、 $s$ は、

点群にフィットする最適平面30

を満たす。 従って、$s$ は必ず $\lambda_{1} $ 以上の値になる。
  $(13)$ だけでは、 $s=\lambda_{1}$ となる場合が存在するかどうかは確かではないが、

点群にフィットする最適平面31

とすると、 $(7)$ と $(9)$ から、

点群にフィットする最適平面32

であるので、 $s=\lambda_{1}$ となる(すなわち、$s$ を最小にする)法線ベクトル $\mathbf{n}$ が存在する。 そして、 $s$ を最小にする法線ベクトルは、

点群にフィットする最適平面33

である。


結論:
  以上の $(5)$ と $(14)$ から、 点群にフィットする最適平面は、 法線ベクトル $\mathbf{n}$ が $(6)$ によって定義される行列の最小固有値を持つ固有ベクトル $\mathbf{m}_{1}$ であり、 符号付き距離 $h$ が、 法線ベクトルと点群の重心の内積になる平面である。








ページのトップへ戻る