g2o的hessian矩阵、b怎么存储
首先我们分析一下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=A10A2 0A3A4
其中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=A1T0A2T0A3TA4T∗A100A3A2A4
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=A1TA10A2TA10A3TA3A4TA3A1TA2A3TA4A2TA2+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怎么存储相关推荐
- Hessian矩阵在XGBoost算法的应用小结
来源:机器学习算法那些事本文约1100字,建议阅读5分钟 本文深入浅出的总结了Hessian矩阵在XGboost算法中的两种应用,即权重分位点算法和样本权重和算法 . 前言 Hessian矩阵最常见的 ...
- 神经网络---Hessian矩阵
2019独角兽企业重金招聘Python工程师标准>>> 对角近似 外积近似 Hessian矩阵的逆矩阵 有限差 Hessian矩阵的精确计算 Hessian矩阵的快速乘法 转载于:h ...
- Jacobian矩阵和Hessian矩阵的理解
深度学习中梯度向量的计算,Jacobian矩阵和Hessian矩阵是基础的知识点. 求微分其实就是线性化,导数其实就是线性空间之间的线性变换,Jaocibian矩阵本质上就是导数. 比如,映射在处的导 ...
- 如何理解神经网络优化中Momentem能够缓解hessian矩阵病态的问题
如何理解神经网络优化中Momentem能够缓解hessian矩阵病态的问题? 1.首先介绍一下,矩阵的病态问题 矩阵病态主要是因为矩阵向量之间相关性太大,在二维上说就是矩阵向量之间的夹角太小,导致这两 ...
- 三维重建4:Jacobian矩阵和Hessian矩阵
在使用BA平差之前,对每一个观测方程,得到一个代价函数.对多个路标,会产生一个多个代价函数的和的形式,对这个和进行最小二乘法进行求解,使用优化方法.相当于同时对相机位姿和路标进行调整,这就是所谓的BA ...
- 牛顿法中为何出现hessian矩阵
牛顿法包含两种用途: 1.函数为0时的解 2.函数极值时的解 对于1有: f′(x0)=f(x0)−0x−x0f'(x_0)=\frac{f(x_0)-0}{x-x_0}f′(x0)=x−x0f( ...
- 如何计算一个神经网络在使用momentum时的hessian矩阵(论文调研)
根据[4]中的说法,"Though results on the Hessian of individual layers were not included in this study&q ...
- matlab计算hessian矩阵
根据评论区中的内容,我们回顾数学定义: hessian矩阵 = 梯度矩阵的雅可比矩阵 代码如下: syms x y z; f1=(x^2-2*x)*exp(-x^2-y^2-x*y); % f = x ...
- 牛顿法, Jacobian矩阵 和 Hessian矩阵
牛顿法 主要有两方面的应用: 求方程的根: 求解最优化方法: 为什么要用牛顿法求方程的根? 问题很多,牛顿法 是什么?目前还没有讲清楚,没关系,先直观理解为 牛顿法是一种迭代求解方法(Newton童鞋 ...
最新文章
- 在SIFT和SURF之后,有哪些比较新的且具有一定影响力的自然图像配准算法?
- Ocelot + IdentityServer4 构建 GateWay
- MQTT protocol level的处理
- 检索 COM 类工厂中 CLSID 为 { } 的组件时失败,原因是呈现以下错误: 80040154
- C4C和CRM里获取当前登录用户分配的Organization Unit信息
- Android支付宝SDK开发笔记
- 好代码实践:基于Redis的轻量级分布式均衡消费队列
- java并发 cpu高_java高并发核心要点|系列5|CPU内存伪共享
- 酷安电脑版_2020年末 平板电脑购买推荐
- ajax主要有哪些方法,ajax的使用方法和原理,ajax包括哪些技术呢
- cocoscreator3.x 用tiledMap趟坑
- oracle function详解,Oracle函数用法详解
- 什么是实体关系图(ERD)?
- axure文件如何加密_axure怎么锁定位置
- 毕业设计之基于Qt数字音频处理软件设计
- 生物特性再次助力无人机技术突破
- 这里记录几个国外的网站
- input框如何设置框禁止输入
- 【RuoYi框架】RuoYi框架学习超简单案例 - 新闻管理系统(附源码)
- 什么是HTTP HOST