白话VINS-Mono之后端优化(四)

2023-05-30 0 880

写在后面

这儿主要就是平话预测VINS-Mono后端强化中的听觉重二维状况参数强化!!!

vins-mono后端强化状况量 X = \left[ x_{0}, x_{1},…,x_{n},x_{c}^{b},\lambda_{0},\lambda_{1},…,\lambda_{m}\right]

当中 x_{k} = \left[ p_{b_{k}}^{w}, v_{b_{k}}^{w},q_{b_{k}}^{w},b_{a},b_{g}\right] 即边线、速率、朝著、会量bias和感测器bias ;

x_{b}^{c}=\left[ p_{c}^{b},q_{c}^{b} \right]即Camera到IMU的外参;

\lambda 则表示3D点的逆广度。

vins-mono后端强化最终目标表达式由三部份共同组成:

孤立的本体论重要信息(下一小部份传授)IMU量测状况参数(后面已讲)听觉重二维状况参数(这部份重点项目表明)

当中IMU测量状况参数他们在<<平话VINS-Mono之预点数>>中早已详尽表明了,孤立下一则会详尽传授,这篇主要就紧密结合标识符讲后端强化中的听觉重二维状况参数部份!!!

这一小部份的标识符主要就在ProjectionFactor类中同时实现,这一小部份和调用中的BA强化有很相近的地方性。VINS-Mono中全力支持三种照相机数学模型,上面详尽表明下标识符中牵涉到的推论和认知:

相纸数学模型

相纸数学模型重二维数值的表述和标识符中reduce那个表达式的认知与推导如下表所示:

白话VINS-Mono之后端优化(四)

鱼眼数学模型

鱼眼数学模型重二维数值的表述和标识符中reduce那个表达式的认知与推论如下表所示:

白话VINS-Mono之后端优化(四)

雅克比推论

标识符中使用ceres求解强化,整个雅克比求解,在上面数学模型介绍中早已表明了使用链式求倒法则,reduce部分早已在上面详尽表明了,它乘以P 在第 j 个照相机坐标系下的归一化坐标 \left( X,Y,Z \right) 对强化表达式的偏导数,即可得到状况参数雅克比。上面归一化坐标不太认知的可以参考本人上一则知乎<<平话VINS-Mono之调用>>中的重二维部份相关表明。标识符中J[0]~J[3]牵涉到的推论过程,如下表所示:

白话VINS-Mono之后端优化(四)雅克比推论

标识符及表明

关于标识符中,状况参数构建部份标识符及表明如下表所示:

// 根据不同的照相机数学模型状况参数构建 #ifdef UNIT_SPHERE_ERROR//鱼眼 residual = tangent_base * (pts_camera_j.normalized() pts_j.normalized()); #else//相纸照相机数学模型 double dep_j = pts_camera_j.z(); residual = (pts_camera_j / dep_j).head<2>() pts_j.head<2>();//推测的j的广度与 观测的j的广度之差#endif residual = sqrt_info * residual;//归一化平面是处以了Z的,这儿通过焦距恢复现实尺度

不同的照相机数学模型对应的reduce含义及推论如上面早已表明过,对于这部份的标识符及表明如下表所示:

#ifdef UNIT_SPHERE_ERROR//鱼眼照相机数学模型 double norm = pts_camera_j.norm(); Eigen::Matrix3d norm_jaco; double x1, x2, x3; x1 = pts_camera_j(0); x2 = pts_camera_j(1); x3 = pts_camera_j(2); norm_jaco << 1.0 / norm x1 * x1 / pow(norm, 3), x1 * x2 / pow(norm, 3), x1 * x3 / pow(norm, 3), x1 * x2 / pow(norm, 3), 1.0 / norm x2 * x2 / pow(norm, 3), x2 * x3 / pow(norm, 3), x1 * x3 / pow(norm, 3), x2 * x3 / pow(norm, 3), 1.0 / norm x3 * x3 / pow(norm, 3); reduce = tangent_base * norm_jaco; #else//相纸照相机数学模型 reduce << 1. / dep_j, 0, pts_camera_j(0) / (dep_j * dep_j), 0, 1. / dep_j, pts_camera_j(1) / (dep_j * dep_j); #endif reduce = sqrt_info * reduce;

以上是听觉状况参数构建及强化部份,后续会把双目数学模型也加上!

这一小部份内容相对比较少,如有遗漏后面会再补充,如有错误请指正!!!下一则传授后端强化中的孤立!!!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务