问题
给定离散点集 X i = ( x i , y i ) , i = 1 , 2 , . . . N X_i=(x_i,y_i) ,i=1,2,...N Xi=(xi,yi),i=1,2,...N,我们希望找到误差最小的椭圆去拟合这些离散点。
方法
由于椭圆的形式可以给定, 自然我们将使用最小二乘法来求解椭圆。主要依据论文《Direct least squares fitting of ellipsees, Fitzgibbon, Pilu and Fischer in Fitzgibbon, A.W., Pilu, M., and Fischer R.B.,Proc. of the 13th Internation Conference on Pattern Recognition, pp 253–257, Vienna, 1996》。
椭圆拟合的难点
通常我们使用最小二乘法求解如下的最优化问题:
M i n ∑ i = 1 N f ( x i , E ) Min \sum_{i=1}^N f(x_i,E) Mini=1∑Nf(xi,E)
这里 f ( x i , E ) f(x_i,E) f(xi,E)表示点 x i x_i xi到E(指待拟合的椭圆)的最小距离。一般称为几何距离。但是我们很难直接给定几何距离的解析表达,因此很难求出。因此我们退而求其次,我们采用:为椭圆写下隐式方程,然后将点的坐标带入此隐式方程就得到了点到椭圆的距离。这种方法对于直线拟合、圆拟合,返回的就是到其的真实距离。而对于椭圆拟合,它返回的值是与距离有类似的属性,但不是一个真正的距离值。因此这个距离被称为代数距离。
椭圆可以用下面的隐式方程表达:
a 1 x 2 + a 2 x y + a 3 y 2 + a 4 x + a 5 y + a 6 = 0 a_1x^2+a_2xy+a_3y^2+a_4x+a_5y+a_6=0 a1x2+a2xy+a3y2+a4x+a5y+a6=0
与直线类似(直线表达为: a 1 x + a 2 y + a 3 = 0 a_1x+a_2y+a_3=0 a1x+a2<