@

误差定义

outlier、外点、野值会严重影响SLAM的精度,因此必须把它们剔除。常用的做法是,计算一个误差,当这个误差大于设定阈值的时候就认为其为外点。

就特征点法的视觉SLAM而言,一般会计算重投影误差。具体而言,记 \(\mathbf u\)为特征点的2D位置,\(\overline{\mathbf{u}}\)为由地图点投影到图像上的2D位置。重投影误差为
在这里插入图片描述
重投影误差服从高斯分布
在这里插入图片描述
其中,协方差\(\sigma\)一般根据特征点提取的金字塔层级确定。具体的,记提取ORB特征时,图像金字塔的每层缩小尺度为\(s\) (ORB-SLAM中为1.2)。在ORB-SLAM中假设第0层的标准差为1个pixel (ORB-SLAM中设为了1个pixel);那么,一个在金字塔第n层提取的特征的重投影误差的协方差为:
在这里插入图片描述
式(1)中的误差是一个2维向量,阈值不好设置。那就把它变成一个标量,计算向量的内积\(r\) (向量元素的平方和)。但是,不同金字塔层的特征点都用同一个阈值,不合理呢。于是,在计算内积的时候,利用协方差进行加权(协方差表达了不确定度)。那么就有了
在这里插入图片描述
利用协方差加权,起到了归一化的作用。具体的(4)式,可以变为
在这里插入图片描述

在这里插入图片描述
为多维标准正态分布

阈值选取

式(5)可以看做两个独立的服从标准正太分布随机变量的平方和,它服从2个自由度的\(Chi-squared distribution\)卡方分布。
卡方分布的自由度即为向量的维度。不同的自由度卡方分布的概率密度函数和概率分布函数如下:
卡方分布概率密度概率分布函数
\(\alpha=0.05, F(x)=1-\alpha=0.95\) 可以得到95%置信度的置信区间为\((0,F^{-1}(\alpha))\),即
在这里插入图片描述
查卡方分布表可得
在这里插入图片描述
对应的单目投影为2自由度,因此阈值为5.99;对应的双目投影为3个自由度,因此阈值为7.81。

posted on 2021-01-14 22:46  一抹烟霞  阅读(977)  评论(0编辑  收藏  举报

Live2D