【ORB-SLAM3】鲁棒核函数的阈值设置

问题背景

阈值 δ \delta δ 是 Huber 鲁棒核函数的重要参数。首先给出结论,在ORB-SLAM系列中,该阈值选取的原则为:

  • 单目情况下,根据95%置信水平下两自由度卡方检验 的临界值, δ \delta δ 设置为 5.991 \sqrt{5.991} 5.991 ;
  • 双目情况下,根据95%置信水平下三自由度卡方检验 的临界值, δ \delta δ 设置为 7.815 \sqrt{7.815} 7.815 ;

下面详细描述了以这种方式设置Huber损失函数的原因。

Huber鲁棒核函数

使用的Huber鲁棒核函数定义如下:


当误差 e e e 超过阈值 δ \delta δ 时,函数的增长从二次型变为线性型。在构建视觉重投影误差的背景下,我们假设当重投影误差超过某个阈值时,有95%的置信度认为是由于错误匹配导致的离群点,从而以线性的方式添加到代价函数中;否则,以二次函数方式计算误差。通过这样的方式,限制了错误匹配对优化算法的影响。

单目相机分析

接下来,我们首先分析单目相机配置中的重投影误差。令 u ∈ R 2 \mathbf{u} \in \mathbb{R}^2 u∈R2 表示图像特征点的二维(2D)像素位置,并令 u ‾ ∈ R 2 \overline{\mathbf{u}} \in \mathbb{R}^2 u∈R2 表示从三维点 P ∈ R 3 \bm{P} \in \mathbb{R}^3 P∈R3 重投影到图像上的2D像素位置,则重投影误差 e v \bm{e}_v ev 为:


其中 ( f x , f y ) (f_x, f_y) (fx,fy) 是相机焦距, ( c x , c y ) (c_x, c_y) (cx,cy)是主点,均从标定过程已知。 Π m ( ⋅ ) \Pi_m(\cdot) Πm(⋅) 是单目相机投影模型。我们假设重投影误差遵循高斯分布:

然后利用协方差对重投影误差进行归一化,得到:

这意味着它遵循二维标准正态分布,因此由其各分量的平方和相加得到的统计量服从自由度为2的卡方分布

双目相机分析

对于双目配置的情况,我们令观测量为 3 维 ,即由左相机图像的特征点横纵坐标 + 右相机特征点的横坐标组成 (在双目立体相机配置下,左右图像特征点的纵坐标就是相同的)。令 u z ∈ R 3 \mathbf{u}_z \in \mathbb{R}^3 uz∈R3 为双目立体相机的特征点观测量, u ‾ z ∈ R 3 \overline{\mathbf{u}}_z \in \mathbb{R}^3 uz∈R3 表示从三维地图点 P ∈ R 3 \bm{P} \in \mathbb{R}^3 P∈R3 重投影到图像上的像素位置,则重投影误差 e v \bm{e}_v ev 为:

其中 Π s ( ⋅ ) \Pi_s(\cdot) Πs(⋅) 为双目相机投影模型。 ( f x , f y ) (f_x, f_y) (fx,fy) 是相机焦距, ( c x , c y ) (c_x, c_y) (cx,cy)是主点, b b b 是基线长度,均从内参标定中已知。与单目配置情况类似,利用协方差对双目重投影误差进行归一化,其服从三维标准正态分布,因此由其各分量的平方和相加得到的统计量服从自由度为3的卡方分布

相关推荐
心中有国也有家9 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
绝知此事9 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
碧海银沙音频科技研究院9 小时前
通话AEC与语音识别AEC的软硬回采链路
深度学习·算法·语音识别
csdn_aspnet10 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
kyle~10 小时前
机器人开发团队协作方法论:从传感数据流到运动控制的工程闭环
机器人
科技那些事儿10 小时前
实时洞察,视觉赋能:国内情绪识别API公司推荐及计算机视觉流派深度解析
人工智能·计算机视觉
迁移科技11 小时前
告别人工分拣!迁移科技 AI+3D 视觉让机器人 “看懂” 无序抓取
人工智能·科技·3d·机器人·自动化·视觉检测
m0_6294947313 小时前
LeetCode 热题 100-----26.环形链表 II
数据结构·算法·leetcode·链表
壹号用户13 小时前
用队列实现栈
数据结构·算法