在使用 loss function 之后,最小二乘问题中的残差项对 costfunction 的贡献为 21τ(s),其中 s=∣∣fi∣∣2。最理智的 τ 选择满足
τ(0)τ′(0)τ′(s)τ′′(s)=0=1<1 in the outlier region <0 in the outlier region
给定一个鲁棒函数 τ(s) ,通过添加一个尺度因子 a>0 ,可以改变残差大小,即 τ(s,a)=a2τ(s/a2)同时其一阶导和二阶导分别是 τ′(s/a2) 和 (1/a2)τ′′(s/a2) 。The reason for the appearance of squaring is that a is in the units of the residual vector norm whereas s is a squared norm. For applications it is more convenient to specify a than its square.
where the terms involving the second derivatives of f(x) have been ignored. Note that H(x) is indefinite if τ′′f(x)⊤f(x)+21τ′<0 . If this is not the case, then its possible to re-weight the residual and the Jacobian matrix such that the robustified Gauss-Newton step corresponds to an ordinary linear least squares problem.
α 为下面方程的根
21α2−α−τ′τ′′∥f(x)∥2=0.
Then, define the rescaled residual and Jacobian as
In the case 2τ′′∥f(x)∥2+τ′≲0 , we limit α≤1−ϵ for some small ϵ . For more details see Triggs.
With this simple rescaling, one can apply any Jacobian based non-linear least squares algorithm to robustified non-linear least squares problems.
While the theory described above is elegant, in practice we observe that using the Triggs correction when τ′′<0 leads to poor performance, so we upper bound it by zero. For more details see corrector.cc