首先我们分析一下H=JT∗JH = J^T * JH=JT∗J H矩阵大家都知道是一个如下形状,但实际值是多少呢?

假设我们有两个相机位姿C1 C2 都看到一个顶点P1 ,即我们有两条边,则我们的J可以写成
J=A10A20A3A4J = \begin{matrix} A1 & 0 & A2 \ \ 0 & A3 & A4 \end{matrix} J=A1​0​A2  0​A3​A4​
其中A1是第一条边对C1的雅克比,A2是第一条边对P1的雅克比,A3是第二条边对C2的雅克比,A4是第二条边对P1的雅克比。
H=JTJ=A1T00A3TA2TA4T∗A10A20A3A4H = J^TJ =\begin{matrix} A1^T & 0 \\ 0 & A3^T \\ A2^T & A4^T\end{matrix} * \begin{matrix} A1 & 0 & A2 \\ 0 & A3 & A4 \end{matrix} H=JTJ=A1T0A2T​0A3TA4T​∗A10​0A3​A2A4​
H=A1TA10A1TA20A3TA3A3TA4A2TA1A4TA3A2TA2+A4TA4H = \begin{matrix}A1^TA1 &0 & A1^TA2 \\ 0 & A3^TA3 & A3^TA4 \\ A2^TA1 & A4^TA3 & A2^TA2+A4^TA4 \end{matrix} H=A1TA10A2TA1​0A3TA3A4TA3​A1TA2A3TA4A2TA2+A4TA4​
观测H矩阵可知,在对角线元素上,是误差边对对应顶点hessian的累积和,而非对角元素则是每条边对两个顶点的雅克比乘积。
因此,对于H的对角线元素,我们可以单独存放在顶点类里面,每个顶点对应的元素等于
Jji=∂fj(xi)∂xiH[i,i]=∑jJjiT∗JjiJ_{ji} = \frac{\partial{f_j(x_i)}}{\partial{x_i}} \\ H[i,i] = \sum_j{J_{ji} ^T * J_{ji} } Jji​=∂xi​∂fj​(xi​)​H[i,i]=j∑​JjiT​∗Jji​
而非对角线元素,必须存储在边的类里面,一条边对应一个元素(对称应该是两个)。
g2o正是这样的存储方式。

g2o的hessian矩阵、b怎么存储相关推荐

  1. Hessian矩阵在XGBoost算法的应用小结

    来源:机器学习算法那些事本文约1100字,建议阅读5分钟 本文深入浅出的总结了Hessian矩阵在XGboost算法中的两种应用,即权重分位点算法和样本权重和算法 . 前言 Hessian矩阵最常见的 ...

  2. 神经网络---Hessian矩阵

    2019独角兽企业重金招聘Python工程师标准>>> 对角近似 外积近似 Hessian矩阵的逆矩阵 有限差 Hessian矩阵的精确计算 Hessian矩阵的快速乘法 转载于:h ...

  3. Jacobian矩阵和Hessian矩阵的理解

    深度学习中梯度向量的计算,Jacobian矩阵和Hessian矩阵是基础的知识点. 求微分其实就是线性化,导数其实就是线性空间之间的线性变换,Jaocibian矩阵本质上就是导数. 比如,映射在处的导 ...

  4. 如何理解神经网络优化中Momentem能够缓解hessian矩阵病态的问题

    如何理解神经网络优化中Momentem能够缓解hessian矩阵病态的问题? 1.首先介绍一下,矩阵的病态问题 矩阵病态主要是因为矩阵向量之间相关性太大,在二维上说就是矩阵向量之间的夹角太小,导致这两 ...

  5. 三维重建4:Jacobian矩阵和Hessian矩阵

    在使用BA平差之前,对每一个观测方程,得到一个代价函数.对多个路标,会产生一个多个代价函数的和的形式,对这个和进行最小二乘法进行求解,使用优化方法.相当于同时对相机位姿和路标进行调整,这就是所谓的BA ...

  6. 牛顿法中为何出现hessian矩阵

    牛顿法包含两种用途: 1.函数为0时的解 2.函数极值时的解 对于1有: f′(x0)=f(x0)−0x−x0f'(x_0)=\frac{f(x_0)-0}{x-x_0}f′(x0​)=x−x0​f( ...

  7. 如何计算一个神经网络在使用momentum时的hessian矩阵(论文调研)

    根据[4]中的说法,"Though results on the Hessian of individual layers were not included in this study&q ...

  8. matlab计算hessian矩阵

    根据评论区中的内容,我们回顾数学定义: hessian矩阵 = 梯度矩阵的雅可比矩阵 代码如下: syms x y z; f1=(x^2-2*x)*exp(-x^2-y^2-x*y); % f = x ...

  9. 牛顿法, Jacobian矩阵 和 Hessian矩阵

    牛顿法 主要有两方面的应用: 求方程的根: 求解最优化方法: 为什么要用牛顿法求方程的根? 问题很多,牛顿法 是什么?目前还没有讲清楚,没关系,先直观理解为 牛顿法是一种迭代求解方法(Newton童鞋 ...

最新文章

  1. 在SIFT和SURF之后,有哪些比较新的且具有一定影响力的自然图像配准算法?
  2. Ocelot + IdentityServer4 构建 GateWay
  3. MQTT protocol level的处理
  4. 检索 COM 类工厂中 CLSID 为 { } 的组件时失败,原因是呈现以下错误: 80040154
  5. C4C和CRM里获取当前登录用户分配的Organization Unit信息
  6. Android支付宝SDK开发笔记
  7. 好代码实践:基于Redis的轻量级分布式均衡消费队列
  8. java并发 cpu高_java高并发核心要点|系列5|CPU内存伪共享
  9. 酷安电脑版_2020年末 平板电脑购买推荐
  10. ajax主要有哪些方法,ajax的使用方法和原理,ajax包括哪些技术呢
  11. cocoscreator3.x 用tiledMap趟坑
  12. oracle function详解,Oracle函数用法详解
  13. 什么是实体关系图(ERD)?
  14. axure文件如何加密_axure怎么锁定位置
  15. 毕业设计之基于Qt数字音频处理软件设计
  16. 生物特性再次助力无人机技术突破
  17. 这里记录几个国外的网站
  18. input框如何设置框禁止输入
  19. 【RuoYi框架】RuoYi框架学习超简单案例 - 新闻管理系统(附源码)
  20. 什么是HTTP HOST

热门文章

  1. 常见搭配重型货架使用的配件
  2. 设置H5页面适应手机屏幕
  3. 天冕科技入选艾瑞咨询2022年「隐私计算卓越者」
  4. 表观遗传IVD检测专题报告:已认证表观遗传IVD产品介绍
  5. php5.3配置SQL Server数据库
  6. FiRa联盟超宽带技术发展势头迅猛,实现重要里程碑
  7. Window8平板键盘中英文字符的问题
  8. Java编译器插件Manifold(流形)
  9. xshell文件传输乱码_xShell终端中文乱码完全解决方法
  10. python多重背包问题_01-背包、完全背包、多重背包及其相关应用