最小二乘法圆拟合
1.最小二乘法圆拟合原理 1.1理论
最小二乘法(Least Square Method )是一种数学优化技术。它通过最小化误差的平方和找到一组数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。
1.2最小二乘圆拟合模型公式推导
在二维平面坐标系中,圆方程一般可表示为:
xx02(yy0)2r2 (1) 对于最小二乘法的圆拟合,其误差平方的优化目标函数为:
S(xix0)2(yiy0)2r
i1n2xi,yii1,2,...,n为圆弧上特征点坐标;式中: n为参与拟合的特征点数。
在保持这优化目标函数特征的前提上,我们需要对其用一种稍微不同的改进方法来定义误差平方,且其避免了平方根,同时可得到一个最小化问题的直接解,定义如下:
E(xix0)2(yiy0)2r2 (2)
i1n2 则(2)式可改写为:
Ex2x0xixy2y0yiyr2i202i20i1n2(3)
2 令,B2y0,A2x0Cx02y02r2 即(3)式可表示为:
Exi2yi2AxiByiC
i0n2 由最小二乘法原理,参数A,B,C应使E取得极小值。根据极小值的求法,A,B和C应满足
nE2xi2yi2AxiByiCxi0 (4) Ai0nE2xi2yi2AxiByiCyi0 (5) Bi0nE2xi2yi2AxiByiC0 (6) Ci0 求解方程组,先消去参数C,则 式4n6xi得
i0nnnnnnnn2nn32nxixixiAnxiyixiyiBnxinxiyixi2yi2i0i0i0i0i0i0i0i0i0x0ii0n(7)
式5n6yi得
i0nnnnnnnnn2n32nxiyixiyiAnyiyiyiBnyinxiyixi2yi2i0i0i0i0i0i0i0i0i0yi0ni0(8) 令
nn2nM11nxixixi(9)
i0i0i0nnnM12M21nxiyixiyi(10)
i0i0i0nn2nM22nyiyiyi(11)
i0i0i0H1nxnxiyxy3i2i2ii0ni0ni0n3i2innn2ixi0ni0ni(12)
H2nynxyixy2ii0i0i02iy(13)
i将(7),(8)式写成矩阵形式
M11M21M12AH1 (14) M22BH2根据式(14)和式(6)可得:
AH2M12H1M22
M11M22M12M21H2M11H1M21
M12M21M11M22n2iBCxi0yi2AxiByin
从而求得最佳拟合圆心坐标x0,y0,半径r的拟合值:
x0AB1,y0,rA2B24C 2222.仿真数据分析
首先设置仿真圆心(x0,y0),半径R0,在根据实际数据任意选取一段圆弧,产生N组随机数据。考虑实际测量的点云数据中伴随有一定
2高斯躁白声,因此在每个点添加服从高斯分布N0,的随机数作为
噪声,其中为高斯分布的方差(单位:
2
mm2),在噪声标准差()
下产生N组随机噪声数据。最后利用最小二乘法原理对仿真得到的N组随机噪声数据进行拟合,并分析其半径误差与圆心误差。下面任取圆上pi*35/180到6*pi/7圆弧段,以仿真圆心(8.116mm,2.695mm),半径0.875mm作实例分析。在matlab软件中得到的仿真数据效果图
图2所示:
图2
利用仿真的得来的数据(选取某一截面)用最小二乘法进行拟合,得到其拟合效果图如图3所示:
图3