第3周课件-全网最详细的ORB-SLAM2精讲

 
 
 
本周课程重点:
1. 掌握基础矩阵F,单应矩阵H的原理(重要),可以手推过程。
2. 理解卡方检验的原理及应用。
3. 掌握检查位姿有效性的方法(重要)。
 

1、求解单应矩阵H

1.1 归一化

对应函数: Initializer::Normalize

原理参考:

Multiple view geometry in computer vision P109 算法 4.4 . Data normalization is an essential step in the DLT algorithm. It must not be considered optional. Data normalization becomes even more important for less well conditioned problems,such as the DLT computation of the fundamental matrix or the trifocal tensor, which will be considered in later chapters.
 
 
 

为什么要归一化?  A*h=0  

矩阵 A 是利用 8 点法求基础矩阵的关键,所以 Hartey 就认为,利用 8 点法求基础矩阵不稳定的一个主要原因就是原始的图像像点坐标组成的系数矩阵 A 不好造成的 ,而造成 A 不好的原因是 像点的齐次坐标各个分
量的数量级相差太大 。基于这个原因, Hartey 提出一种改进的 8 点法, 在应用 8 点法求基础矩阵之前,先 对像点坐标进行归一化处理,即对原始的图像坐标做同向性变换 ,这样就可以减少噪声的干扰,大大的
提高 8 点法的精度。
 
预先对图像坐标进行归一化有以下好处:
能够提高运算结果的精度, 利用归一化处理后的图像坐标,对任何尺度缩放和原点的选择是不变的。归一化步骤预先为图像坐标选择了一个标准的坐标系中心,消除了坐标变换对结果的影响。
归一化操作分两步进行,首先对每幅图像中的坐标进行平移(每幅图像的平移不同)使图像中匹配的点组成的点集的质心(Centroid )移动到原点;接着对坐标系进行缩放使得各个分量总体上有一样的平均值,各个坐标轴的缩放相同的 ( 看视屏比较容易理解
 
使用归一化的坐标虽然能够在一定程度上消除噪声、错误匹配带来的影响,但还是不够的。 参考资料 , 具体归一化操作 :一阶矩就是随机变量的期望,二阶矩就是随机变量平方的期望;一阶绝对矩定义为变量与均值绝对值的平均。
            
疑问: 变换矩阵T为何这样?
答案:就是把上述变换用矩阵表示了而已

 

1.2 H矩阵求解原理

 
 
我们写成矩阵形式:

写成矩阵形式:
展开计算得到

写成齐次方程 ( 展开,一边化成等式

 

转化为矩阵形式
 
等式左边两项分别用 A, X 表示,则有
 
一对点提供两个约束等式,单应矩阵 H 总共有 9 个元素, 8 个自由度(尺度等价性,最后一个是1),所以需要 4 对点提供 8个约束方程就可以求解。
 
 

1.3 SVD分解

 
 

1.4 为什么 的第9个奇异向量就是最优解?

 
问题:这个最优解是怎么样转化为求最小特征向量问题的?
证明:当 ||x||=1时,Ax=0的最小二乘解是ATA的最小特征值对应的特征向量

证:上式等同于证明如下命题:ATA的最小特征值所对应的特征向量可使||Ax||最小。

(1)若x为ATA的特征向量,则

 
(2)若x不为ATA的特征向量,则可对A做SVD分解,得
 
 
因此,n维向量x可用该组基来表示:
 
 
 

2. 求解基础矩阵F

2.1 推导F矩阵约束方程

 
展开后:
 
 
等式左边两项分别用 A, f 表示,则有
一对点提供一个约束方程,基础矩阵 F 总共有 9 个元素, 7 个自由度(尺度等价性,秩为 2 ),所以 8 对点 提供8 个约束方程就可以求解 F
 
 

2.2 SVD

SVD 分解结果:
假设我们使用 8 对点求解, A 8x9 矩阵,分解后 U 是左奇异向量,它是一个 8x8 的 正交矩阵, V 是右奇异向量,是一个 9x9 的正交矩阵, 是V的转置; D是一个8 x 9 对角矩阵,除了对角线其他元素均为 0 对角线元素称为奇异值 一般来说奇异值是按照 从大到小的顺序降序排列。因为每个奇异值都是一个残差项,因此最后一个奇异值最小,其含义就是最 优的残差。因此其对应的奇异值向量就是最优值,即最优解。 中的每个列向量对应着D中的每个奇异值,最小二乘最优解就是 对应的第9个列向量,也就是基础矩阵F 的元素。这里我们先记做 Fpre ,因为这个还不是最终的 F
 

 

2.3 F矩阵秩为2                                

 
理解上面矩阵处理的流程
 
 

2.4 对极约束

对极约束(极线约束)示意图

 

3 卡方检验

3.1 为什么要引用卡方检验?

以特定概率分布为某种情况建模时,事物长期结果较为稳定,能够清晰进行把握。比如抛硬币实验。 但是期望与事实存在差异怎么办?偏差是正常的小幅度波动?还是建模错误?此时,利用卡方分布分析
结果 ,排除 可疑结果 。 简单来说:当事实与期望不符合情况下使用卡方分布进行检验,看是否系统出了问题,还是属于正常波动

3.2 卡方分布用途?

检查实际结果与期望结果之间何时存在显著差异。
1 、检验拟合程度:也就是说可以检验一组给定数据与指定分布的吻合程度。如:用它检验抽奖机收益的 观察频数与我们所期望的吻合程度。
2 、检验两个变量的独立性:通过这个方法检查变量之间是否存在某种关系。

3.3 卡方分布假设检验步骤?

1、确定要进行检验的假设(H0)及其备择假设H1.
2、求出期望E.
3、确定用于做决策的拒绝域(右尾).
4、根据自由度和显著性水平查询检验统计量临界值.
5、查看检验统计量是否在拒绝域内.
6、做出决策.

 

3.4 一个例子:抽奖机之谜

抽奖机,肯定都不陌生,现在一些商场超市门口都有放置。正常情况下出奖概率是一定的,综合来看,商家收益肯定大于支出。 倘若突然某段时间内总是出奖,甚是反常,那么到底是某阶段是小概率事件还是有人进行操作了?抽奖 机怎么了? 针对这种现象或者类似这种现象问题则可以借助卡方进行检验,暂且不着急如何检验,还是补充一下基础知识,再逐步深入解决问题。【 常规事件中出现非常规现象,如何检查问题所在的情况下 使用卡方分布 】  
 
下面是某台抽奖机的期望分布,其中 X 代表每局游戏的净收益(每局独立事件):

目的: 5% 的显著性水平下,看看能否有足够证据证明判定抽奖机被人动了手脚。 要检验的原假设是什么?备择假设是什么?

 

3.5 什么是显著性水平?

显著性水平是估计总体参数落在某一区间内,可能犯错误的概率,用 α 表示。 显著性水平是 假设检验 中的一个概念,是指当原假设为正确时人们却把它拒绝了的概率或风险。它是公认的小概率事件的概率值,必须在每一次统计检验之前确定,通常取α =0.05 α =0.01 。这表明,当作出 接受原假设的决定时,其正确的可能性(概率)为 95% 99% 。 卡方分布指出观察频数与期望频数之间差异显著性,和其他假设一样,这取决于显著性水平。
1 显性水平 α 进行检验,则写作:(常用的显著性水平 1% 5%
2 检测标准:卡方分布检验是单尾检验且是右尾,右尾被作为 拒绝域 。于是通过查看检验统计量是否位于右尾的拒绝域以内,来判定期望分布得出结果的可能性。

3 卡方概率表的使用:卡方临界值表是给定可以查询的
 
问题简述 :抽奖机平常收益者总是商家,突然一段时间总是出奖。本来小概率事件频发,我们利用卡方的检验拟合 优度看看能否有足够证据证明判定抽奖机被人动了手脚
 

3.6 卡方分布是什么?

通过一个检验统计量来比较 期望结果 实际结果 之间的差别,然后得出观察频数极值的发生概率。 计算统计量步骤: (期望频数总和与观察频数总和相等)
1 、表里填写相应的观察频数和期望频数
2 、利用卡方公式计算检验统计量:

利用抽奖机的观察频率和期望频率表计算检验统计量

3.7 根据自由度和显著性水平查询检验统计量临界值

自由度的影响 。 自由度 : 用于计算检验统计量的独立变量的数目。

当自由度等于 1 或者 2 时:卡方分布先高后低的平滑曲线,检验统计量等于较小值的概率远远大于较大值 的概率,即观察频数有可能接近期望频数。 当自由度大于2 :卡方分布先低后高再低,其外形沿着正向扭曲,但当自由度很大时,图形接近正态分 布。 自由度的计算, 对于单行或单列:自由度 = 组数-限制数 ,对于表格类:自由度 = (行数 - 1) * (列数 - 1)

对于 抽奖机的例子,自由度为 5-1=4
 
自由度为 4, 5% 显著水平的拒绝域是多少? 查表,自由度F=4 ,显著性为0.05,对应拒绝域 为 。也就是说检验统计量大于9.49 位于拒绝域内

决策原则:
如果位于拒绝域内我们拒绝原假设 H0 接受 H1 。 如果不在拒绝域内我们接受 原假设 H0 ,拒绝 H1 ,检验统计量38.272 > 9.49 位于拒绝域内 ,于是拒绝原假设:抽奖机每局收益如何概率分布,也就是说抽奖机被人动了手脚 , 检验统计量拒绝域内外判定:
1、求出检验统计量a
2、通过自由度和显著性水平查到拒绝域临界值b
3、a>b则位于拒绝域内,反之,位于拒绝域外。

 

3.8 ORB-SLAM2中的卡方检测剔除外点策略

误差的定义:

 
为多维 标准正态分布 。 也就是说不同金字塔层提取的特征,计算的重投影误差都被归一化了,或者说去量纲化了 ,那么,我们 只用一个阈值就可以了。 可见: 金字塔层数越高,图像分辨率越低,特征提取的精度也就越低,因此协方差越大 。 单目投影为 2 自由度,在 0.05 的显著性水平(也就是 95% 的准确率)下,卡方统计量阈值为 5.99 。 双目投影为 3 自由度,在 0.05 的显著性水平(也就是 95% 的准确率)下,卡方统计量阈值为 7.81,
 
 
disparity 就是另一个自由度 ,LocalMapping.cc 里面
 
 
双目相机
 
 
参考 1 参考 2
 
 
 

4 检查位姿的有效性

针对函数 Initializer::CheckRT 。第2 个相机光心在第 1 个相机下的坐标:
 
 
 
 

5 单目投影恢复3D点

 
为方便推导,简单记为
 
 
两对匹配点
 
 
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他人是一面镜子,保持谦虚的态度

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值