Fitting

Least Squares 最小二乘法

  • Assumption:仅考虑真实值与预测值之间的误差, 计算的是 y^\hat{y}yy之间的距离
  • Formula: E=argmina,bi=1Nyiaxib2=YXB2E = argmin_{a,b}\sum_{i = 1}^N \|y_i - ax_i -b\|^2 = \|Y - XB \|^2
    • Solution: B=(XTX)1XTYB = (X^TX)^{-1}X^TY
    • 但是如果line是vertical,最小二乘法将会失效

Total Least Squares 总体最小二乘法

  • Assumption: 同时考虑因变量和自变量中的误差,使用直线表示法,可处理vertical case,计算的是 (xi,yi)(x_i,y_i) 到直线 ax+by=dax+by =d 的垂直距离
  • Formula: E=argmina,b,di=1Naxi+byid2E = argmin_{a,b,d}\sum_{i = 1}^N \|ax_i + by_i -d\|^2
    • Solution:

      • Ed=0\frac{\partial E}{\partial d} = 0 可得 d=ax+byd = a\overline{x} + b\overline{y}
      • dd 代入可得化简形式

      E=i=1N(a(xix)+b(yiy))2=[x1xy1yxnxyny][ab]2=(UN)T(UN)\begin{aligned} E &= \sum_{i = 1}^N (a(x_i - \overline{x}) + b(y_i - \overline{y}))^2 \\ &= \left\| \begin{bmatrix} x_1 - \overline{x} & y_1 - \overline{y} \\ \vdots & \vdots \\ x_n - \overline{x} & y_n - \overline{y} \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} \right\|^2 \\ &= (UN)^T(UN) \end{aligned}

      • 最终对 EN=0=(UTU)N\frac{\partial E}{\partial N} = 0 = (U^TU)N 求解可最终解得NN
        tls

-> 为了减少离散点/outliers对最终拟合效果的影响,因此引入了以下两种方法

Robust Estimation 鲁棒性估计

robust

  • 此方法是非线性优化问题,需要迭代进行,并且需要对超参数 σ\sigma 进行选择来达到最优的效果

RANSAC 随机采样一致

  • Overview:
    • Choose a small subset of points uniformly at random
    • Fit a model to that subset
    • Find all remaining points that are “close” to the model and reject the rest as outliers
    • Do this many times and choose the best model
  • 需要对参数进行选择才能达到最优的效果:
    • 初始的采样点个数
    • 距离阈值
    • 迭代的次数

-> 如果存在多条线

Hough Transform

  • 引入霍夫参数空间(hough parameter space)和极坐标(polar system)的结合来进行表示
    • 霍夫参数空间:
      houghspace
  • 重复最多的点便是target参数的组合
    hough
  • 但该方法很容易受到noise的影响
    • 选择一个好的网格/离散化
    • 增加相邻的bins,使得累加数组更平滑