zoukankan      html  css  js  c++  java
  • 【原创】VIO/VISLAM中的BA问题详解2

    (转载请注明出处)

    这一篇打算分析一下一般情况下,针对多源传感器融合的的非线性最小二乘优化,其增量方程的结构。

    假设描述利用M个传感器信息进行融合的优化问题如下:$$
    ag{1} label{1}
    egin{array}{l}
    min mathop {arg }limits_{f{x}} left( {left| {{{f{f}}1}left( {f{x}} ight)} ight|{{{pmb{Omega }}_1}}^2 + left| {{{f{f}}2}left( {f{x}} ight)} ight|{{{pmb{Omega }}2}}^2 + cdots left| {{{f{f}}M}left( {f{x}} ight)} ight|{{{pmb{Omega }}M}}^2} ight)
    = min mathop {arg }limits
    {f{x}} sumlimits
    {k = 1}^M {left| {{{f{f}}k}left( {f{x}} ight)} ight|{{{pmb{Omega }}_k}}^2}
    end{array}

    [其中${{{f{f}}_k}left( {f{x}} ight)}$表示第k个传感器的所有测量残差组成的向量,${pmb{Omega }}_k$表示第k个传感器所有残差项的联合信息矩阵。 可以发现,当我们把所有信息矩阵写作一个大联合信息矩阵时,即]

    ag{2} label{2}
    {pmb{Omega }} = left[ {egin{array}{*{20}{c}}
    {{{pmb{Omega }}_1}}&{}&{}
    {}& ddots &{}
    {}&{}&{{{pmb{Omega }}_M}}
    end{array}} ight]

    [则式$eqref{1}$所示的优化问题总是能表示成下述形式 ]

    ag{3} label{3}
    min mathop {arg }limits_{f{x}} left| {{f{f}}left( {f{x}} ight)} ight|_{pmb{Omega }}^2

    [其中有 ]

    ag{4} label{4}
    {f{f}}left( {f{x}} ight) = {left[ {egin{array}{*{20}{c}}
    {{f{f}}_1^Tleft( {f{x}} ight)}& cdots &{{f{f}}_1^Tleft( {f{x}} ight)}
    end{array}} ight]^T}

    [ 深入的理解了上一篇笔记后,我们应该知道,对于Gauss-Newton法,增量方程的系数矩阵将具有下述形式]

    ag{5} label{5}
    {f{H}} = left[ {egin{array}{*{20}{c}}
    {{{f{H}}{11}}}& cdots &{{{f{H}}{1l}}}& cdots &{{{f{H}}{1L}}}
    vdots & ddots &{}&{}& vdots
    {{f{H}}
    {1l}^T}&{}&{{{f{H}}{ll}}}&{}&{{{f{H}}{lL}}}
    vdots &{}&{}& ddots & vdots
    {{f{H}}{1L}^T}& cdots &{{f{H}}{lL}^T}& cdots &{{{f{H}}_{LL}}}
    end{array}} ight]

    [对角块元素表示每组状态(例如每个相机位姿速度为一组、每个地图点位置为一组)关于所有与其相关的测量残差(可能来自不同传感器)的近似Hessian求和。 非对角块元素,例如${{f{H}}_{mn}}$,则表示所有能将第m组状态和第n组状态联系起来的测量残差的近似Co-Hessian求和。当第m组状态和第n组状态没有关联时,则该块为$f{0}$矩阵。例如,假设第m组状态为某个相机状态,第n组状态为某个地图点位置,当该相机观测到该地图点时,则$f{H}$矩阵的第mxn块将为非零块;否则将为$f{0}$块。 一旦利用部分矩阵块进行marginalization(例如纯视觉BA中将地图点坐标marg掉),则在剩余的降维方程中,原本没有直接测量关系的状态,会因为同时与它俩有关联的状态被marg掉而建立联系。此时降维方程的系数矩阵也有着和$f{H}$类似的性质:主对角块仍然是对应状态组关于其所有相关测量残差的近似Hessian求和,非对角块则为两个不同组状态间的Co-Hessian求“和”(有可能做差),部分原本为$f{0}$矩阵的非对角块可能因为某个分别与两组状态有关联的第三个状态被marg而成为非零块。 换而言之,越进行marg,剩下的降维方程就将包含越多的信息,因此会变得越稠密。]

  • 相关阅读:
    IIS6.0远程命令执行
    非结构化和结构化数据提取
    Data Binding on Android
    微前端 [ 日常笔记 ]
    吴裕雄 python 机器学习-NBYS(2)
    吴裕雄 python 机器学习-NBYS(1)
    吴裕雄 python 爬虫(4)
    吴裕雄 python 爬虫(3)
    吴裕雄 python 爬虫(2)
    吴裕雄 python 爬虫(1)
  • 原文地址:https://www.cnblogs.com/xiaochen-qiu/p/9769159.html
Copyright © 2011-2022 走看看