- ベストアンサー
3次元点群に対する最小二乗法での平面算出と距離計算について
- 3次元の点群に対する最小二乗法での平面の算出方法と、点と平面の距離の計算方法について教えてください。
- 最小二乗法を用いて3次元の点群から平面を算出する場合、点と平面のZ軸方向の距離の二乗和を最小化する手法があります。
- 一方、点と平面の空間的な最小距離の二乗和を最小化する場合には、どのように計算すれば良いのか分からない状況です。指導をお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
平面の式は、単に Ax+By+Cz+D=0 としたのでは、一意に決まりません。 同じ平面が、 2Ax+2By+2Cz+2D=0 とでも 3Ax+3By+3Cz+3D=0 とでも 書けるからです。 そのために、「(A,B,C) は単位ベクトル」としたのではありませんか? だから、Σ(Ax+By+Cz+D)^2 を最小化するときに、単なる最小値でなく、 A^2+B^2+C^2=1 という制約下での最小値を探せばよいのです。 ラグランジュの未定乗数法が使えます。 あるいは、制約なしで、Σ(Ax+By+Cz+D)^2/√(A^2+B^2+C^2) を最小化 してもよいのだけれど。
その他の回答 (3)
- hashioogi
- ベストアンサー率25% (102/404)
No.3です。 3次元で考えれば各点から平面に下ろした垂線の足の長さになりますから、Z方向の差分ではないと思いますよ。
補足
追記ありがとうございます。 Σ(ax+by+c-z)^2として解くと、平面の方程式に点のxとyを代入して算出される本来のz'値ax+by+cと、点のz値との差分を二乗しているため、各点から平面のZ方向の差分であると考えています。 どこに誤りがあるのでしょうか?いただいた説明では分かりませんでした。。。
- hashioogi
- ベストアンサー率25% (102/404)
2次元平面でも各点から回帰式y=ax+bに下ろした垂線の足の長さの2乗を最小にする考え方がありますが、それは主成分分析を使うと思います。
補足
これは点のz値の差分として記載した側の方法ですね?
- aquatarku5
- ベストアンサー率74% (143/193)
平面の方程式をax+by+cz+d=0とすると、 点(xi,yi,zi)と平面の距離=|axi+byi+czi+d|/√(a^2+b^2+c^2) したがって、 二乗和=Σ[i=1~n](axi+byi+czi+d)^2/(a^2+b^2+c^2) これをa,b,c,dで偏微分した式を連立させてa,b,c,dを求めることに なりますが、分母にも変数があることから、非線形連立方程式を 解くことになろうと思います。 最小二乗直交距離フィッティング等のキーワードで検索して みてもよいと思います。
補足
上の補足にも記載したのですが、非線形連立方程式という形で一発で解けるのでしょうか? 非線形最小化であるため、ニュートン・ラフソン法であればすんなりと出来たのですが、 この問題に対して妥当な方法と言えるでしょうか?
補足
とても納得できました! ラグランジュの未定乗数法を手計算でやってみたのですが、λの導出が3次方程式になってしまったのと、係数が多くなり過ぎて力尽きました。。。間違えたのでしょうか? Σ(Ax+By+Cz+D)^2/√(A^2+B^2+C^2) を最小化する場合には、これも非線形であるために、 偏微分=0として解くには難解となりそうだな。。。と躊躇しております。 非線形最小化であるため、ニュートン・ラフソン法であればすんなりと出来たのですが、 この問題に対して妥当な方法と言えるでしょうか?