迭代估计方法---LM迭代

LM算法是介于牛顿法与梯度下降法之间的一种非线性优化方法,对于过参数化问题不敏感,能有效处理冗余参数问题,使代价函数陷入局部极小值的机会大大减小,这些特性使得LM算法在计算机视觉等领域得到广泛应用。
正规方程 NΔ=JTJΔ=JTϵ N Δ = J T J Δ = J T ϵ 被增量正规方程 NΔ=JTϵ N Δ = J T ϵ ,其中 Nii=(1+λ)Nii N i i ′ = ( 1 + λ ) N i i 而且当 ij i ≠ j 时, Nij=Nij N i j ′ = N i j

分析

  • λ λ 较小时,同牛顿迭代法

  • λ λ 较大时, JTJ J T J 的第 j j 个对角元素是 mi=1(ϑyi/ϑxj)2 ∑ i = 1 m ( ϑ y i / ϑ x j ) 2 。可以忽略非对角元素。

    Vi V i 表示 ϑY/ϑxi ϑ Y / ϑ x i ,则 JTJ J T J 的第 j j 个对角元素是 VTiVi V i T V i 。忽略非对角元, ϑxi=(1+λ)1(VTiϵ)/||Vi||2 ϑ x i = ( 1 + λ ) − 1 ( V i T ϵ ) / | | V i | | 2
    注意, ϵ ϵ 是我们希望 f(X) f ( X ) 移动的方向。对于参数 xi x i VTi V i T 是梯度方向,说明 xi x i 增加单位距离, f(X) f ( X ) VTi V i T 方向移动。 VTiϵ V i T ϵ 大于0,说明,方向是靠谱的,可以增加 xi x i VTiϵ V i T ϵ 小于0,说明,方向是反的,应该减少 xi x i (1+λ)1(VTiϵ)/||Vi||2 ( 1 + λ ) − 1 ( V i T ϵ ) / | | V i | | 2 的方向由 VTiϵ V i T ϵ 调控,大小由其他参数调控。除以 ||Vi||2 | | V i | | 2 使得梯度小的可以变化大一些,梯度大的要变化小一些。防止沿一个方向移动

  • 通过参数 pi p i 的增量,事实上是在方向 Vi V i 上移动。为什么不用牛顿法呢?当用牛顿法不能下降的时候,说明已经非常靠近极值点了。牛顿法是一阶近似,这个一阶导数在短距离是有效的,但是较大的时候无效。所以,应该减少步长。而 (1+λ)1 ( 1 + λ ) − 1 就起到了减少步长的作用

你可能感兴趣的:(计算机视觉中的多视图几何)