SLAM中的非线性优化和BA总结
一、非线性最小二乘问题
先考虑简单的问题: min x 1 2 ∣ ∣ f ( x ) ∣ ∣ 2 2 \underset{x}{\min} \frac{1}{2}||f(x)||_{2}^{2} xmin21∣∣f(x)∣∣221.当 f f f很简单时:令 d f d x = 0 \frac{df}{dx}=0 dxdf=0,将得到极值点或鞍点,比较这些解即可。
2.当 f f f复杂时( f f f为n元函数): d f d x \frac{df}{dx} dxdf难求,或 d f d x = 0 \frac{df}{dx}=0 dxdf=0很难解,此时使用迭代方式来求解。
迭代的方式为:
- 给定某个初始值 x 0 x_{0} x0。
- 对于第k次迭代,寻找一个增量 Δ x k \Delta x_{k} Δxk,使得 ∣ ∣ f ( x k + Δ x k ) ∣ ∣ 2 2 ||f(x_{k}+\Delta x_{k})||_{2}^{2} ∣∣f(xk+Δxk)∣∣22达到极小值。
- 若 Δ x k \Delta x_{k} Δxk足够小,则停止。
- 否则,令 x k + 1 = x k + Δ x k x_{k+1}=x_{k}+\Delta x_{k} xk+1=xk+Δxk,返回2。
这里需要确定增量的方法(即梯度下降策略):一阶的或二阶的。首先需要对其进行泰勒展开得到: ∣ ∣ f ( x k + Δ x k ) ∣ ∣ 2 2 ≈ ∣ ∣ f ( x ) ∣ ∣ 2 2 + J ( x ) Δ x + 1 2 Δ x T H Δ x ||f(x_{k}+\Delta x_{k})||_{2}^{2} \approx ||f(x)||_{2}^{2} +J(x)\Delta x+\frac{1}{2} \Delta x^{T}H\Delta x ∣∣f(xk+Δxk)∣∣22≈∣∣f(x)∣∣22+J(x)Δx+21ΔxTHΔx 若只保留一阶梯度: min Δ x ∣ ∣ f ( x ) ∣ ∣ 2 2 + J Δ x \underset{\Delta x}{\min} ||f(x)||_{2}^{2} +J\Delta x Δxmin∣∣f(x)∣∣


103

被折叠的 条评论
为什么被折叠?



