點雲擬合 平面擬合

2021-09-22 12:36:14 字數 560 閱讀 7661

平面方程:ax+by+cz+d=0

方程本身不複雜,原理推導別人已經寫得很明白了,我這裡只貼位址了,不重複推導。

構建係數矩陣後,利用最小二乘即可 求解:

ax=b

x=(ata)-1atb

% matlab

inv(a'*a)*a'*b

實際使用過程中,遇到一些問題。

參考原部落格提出的方法,當用於擬合係數 c=0的平面,結果有時候對,有時候不對,一開始我懷疑係數矩陣超出double型別的資料範圍,後來採用了8萬多個點計算發現,並沒有出現資料型別超限的情況,那麼剩下可能就是在 c≠0 的情況下推導出的模型不適用於所有情況,於是我假設 a≠0,同樣的方法重新推導了係數矩陣,代入點雲計算發現擬合出來的平面是正確的。

總結:方法一可以用來擬合平面,但是如果平面與推導的係數矩陣假設條件(a≠0 or b≠0  or c≠0 )不符,擬合容易失敗(有時候也可以擬合出來)。如果結合先驗知識提前知道(a≠0 or b≠0  or c≠0 )則可以對應採用相應的模型進行擬合,會稍微麻煩一些。

貼個簡單例

圓柱點雲擬合

最近一段時間都在做點雲擬合方面的研究,準確來說是圓柱點雲資料的擬合,求出圓柱的一些相關引數。現在就來總結一下到目前的成果。圓柱擬合目前用的最多的還是最小二乘法,即求離散點到圓柱中軸線的距離與設計半徑的差達到最小,但是也很多其他的方法,下面來說一下各個方法。1.最小二乘。求取圓柱中軸線方向向量 座標轉...

空間離散點擬合成空間平面

空間中的離散點得到擬合平面,其實這就是乙個最優化的過程。即求這些點到某個平面距離和最小的問題。我們知道乙個先驗訊息,那就是該平面一定會過眾散點的平均值。接著我們需要做的工作就是求這個平面的法向量。根據協方差矩陣的svd變換,最小奇異值對應的奇異向量就是平面的方向。隨機生成一組 x,y,z 這些點的座...

空間離散點擬合成空間平面

空間中的離散點得到擬合平面,其實這就是乙個最優化的過程。即求這些點到某個平面距離和最小的問題。我們知道乙個先驗訊息,那就是該平面一定會過眾散點的平均值。接著我們需要做的工作就是求這個平面的法向量。根據協方差矩陣的svd變換,最小奇異值對應的奇異向量就是平面的方向。隨機生成一組 x,y,z 這些點的座...