信息矩阵

1. 协方差矩阵

在统计学中,方差是用来度量单个随机变量离散程度,而协方差则一般用来刻画两个随机变量相似程度. 其中,方差的计算公式为

                                                                                     \sigma _{x}^{2} = \frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}

其中,n 表示样本量,符号 \bar{x} 表示观测样本的均值。

在此基础上,协方差的计算公式被定义为   \sigma _{x}^{2} = \frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i} - \bar{y})

 

在公式中,符号\bar{x}\bar{y}  分别表示两个随机变量所对应的观测样本均值,据此,我们发现:方差\sigma _{x}^{2} 可视作随机变量 x 关于其自身的协方差  .

2. 信息矩阵和协方差矩阵

1:运动方程有协方差矩阵R,观测方程有协方差矩阵Q。它们表示的意义是,到当前时刻t为止,所有测量的样本的协方差矩阵,用来衡量本次测量的不确定性

2:信息矩阵是协方差矩阵的逆,用来表示本次测量的可靠性,即不确定越小,则可靠性就越大

3:因此,公式推导里出现的相邻两个状态之间的协方差矩阵,实际上是到当前状态为止,之前所有样本的协方差矩阵。也就是说协方差矩阵随着样本的增加在不断的更新。

3. 协方差矩阵和信息矩阵在SLAM中的应用

首先,ORB是没有尺度不变性的,opencv中和orbslam中都是通过建立图像金字塔,来实现特征点的尺度不变性。通过设置一个比例因子scaleFactor(opencv和orbslam设置的都是1.2)和金字塔的层数nlevels(opencv和orbslam设置的都是8),将原图像按比例因子缩放成nlevels幅图像,缩放后的图像为:I’= I/scaleFactor^k (k=1,2,…, nlevels),nlevels幅不同比例的图像提取特征点总和作为当前帧的特征点。

那究竟什么是尺度不变性呢?

为了实现尺度不变性,需要给特征加上尺度因子。在进行特征描述的时候,将尺度统一就可以实现尺度不变性了。所谓的旋转不变性和尺度不变性的原理,就是我们在描述一个特征之前,将两张图像都变换到同一个方向和同一个尺度上,然后再在这个统一标准上来描述这个特征。从而实现了尺度不变性。

然后,贴一下论文中对信息矩阵的表述,也就是信息矩阵是协方差矩阵的逆:

通过看源代码能找到,论文里面的参数σ^2在程序里面对应的实际是mvLevelSigma2[i],而σ对应的是mvScaleFactor[i],代码如下:

for(int i=1; i<nlevels; i++)
{
            mvScaleFactor[i]=mvScaleFactor[i-1]*scaleFactor;
            mvLevelSigma2[i]=mvScaleFactor[i]*mvScaleFactor[i];
}

scaleFactor是尺度因子1.2,也就是第0层σ=1,第一层σ=1.2,第二层σ=1.2^2......,这样建立不同尺度下的图像,σ越大对应的尺度越大,现在的信息矩阵取的是σ^2的逆,也就是除以相应的尺度因子,将在不同层上提取的特征统一到原始尺度(第0层),这样计算出来的每个误差项才都对应统一的尺度,不然不同尺度上的误差怎么加到一起呢?

另外,因为是最小二乘计算误差,误差项取平方,所以误差项的权重(信息矩阵)也要对应σ的平方。

如有疑问,欢迎交流: wx: baobaohaha_ 欢迎对SLAM有兴趣的小伙伴一起交流学习~~

REF:

1. 如何直观理解协方差矩阵

2. 信息矩阵在SLAM图优化中的作用

3. OrbSLAM的Optimizer函数用到的信息矩阵如何理解

4. SLAM优化中信息矩阵

5. PCA中的协方差

6. 拓展学习: 高斯分布与边缘化

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值