2-Entity RANSAC for robust visual localization in changing environment论文笔记

本文主要是介绍2-Entity RANSAC for robust visual localization in changing environment论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文链接:https://arxiv.org/pdf/1903.03967.pdf

文章主要内容

本文指出当前的视觉定位方法由于地图或者图片序列在外观上的巨大变化,仍然会受到季节天气等环境因素的影响,进一步指明问题的原因在于外点数,即错误的特征匹配所占比例。在借助惯性测量的方法下,针对3D-2D的定位方式,文章提出了2-entity RANSAC(random sample consensus)方法,即使用两点匹配或者一点和一条线的匹配方式,在降低了所需特征点匹配数目的同时提高了系统对外点的鲁棒性。

文章主要贡献

1、提出一种通用框架,来推导位姿估计的封闭形式解, 它可以处理点和线特征,即2点匹配或1点匹配和1线匹配。
2、通过将最小封闭形式解嵌入到RANSAC框架中,提出了2-Entity RANSAC方法, 并在RANSAC中提出了三种选择不同类型特征匹配进行位姿估计的采样策略。
3、分析了随机抽样系统中不同抽样策略的成功概率,并提出了一种根据环境特征自适应选择策略的选择机制。
4、提出的方法在综合数据和多个真实世界数据上进行评估,实验结果验证了该方法在季节性和光照变化的视觉定位中的有效性和高效性。

算法分析

首先介绍一下欧拉角
在这里插入图片描述
其中,pitch称为俯仰角,yaw称为偏航角,roll称为翻滚角。
首先,定义世界参考系 W m W_m Wm,相机坐标系为 C q C_q Cq,相机坐标系到世界坐标系下的位姿变换表示为 T W m C q T_{W_mC_q} TWmCq β ~ \widetilde\beta β γ ~ \widetilde\gamma γ 分别表示俯仰角和翻滚角, T W m C q T_{W_mC_q} TWmCq可以表示为:
T W m C q = [ R z ( α ) R y ( β ~ ) R x ( γ ~ ) ∣ ( T 1 T 2 T 3 ) T ] . T_{W_mC_q} = [R_z(\alpha)R_y(\widetilde\beta)R_x(\widetilde\gamma)|(T_1 \quad T_2 \quad T_3)^T]. TWmCq=[Rz(α)Ry(β )Rx(γ )(T1T2T3)T].
其中, α \alpha α表示偏航角, ( T 1 , T 2 , T 3 ) (T_1,T_2 ,T_3) (T1,T2,T3)表示带估计的三个变换。
在这里插入图片描述

如上图所示,相机的光学中心为 C 0 C^0 C0,地图点为 P 1 0 P_1^0 P10 P 1 0 P_1^0 P10在图像上对应的投影点为 D 1 0 D_1^0 D10,三点共线,该直线表示为 { C 0 , D 1 0 , R C q W m P 1 0 + t C q W m } L \{C^0,D_1^0,R_{C_qW_m}P_1^0+t_{C_qW_m }\}_L {C0,D10,RCqWmP10+tCqWm}L,通过 C 0 C^0 C0 D 1 0 D_1^0 D10求解直线方程,第三个点可以被替代,形成了两个独立约束条件。另一方面,相机的光学中心为 C 0 C^0 C0,地图点线段 L 0 2 L 0 3 L_0^2L_0^3 L02L03以及它在图像平面上的的投影线段 D 0 2 D 0 3 D_0^2D_0^3 D02D03,该图像平面 π \pi π可以表示为 { C 0 , D 2 0 , D 3 0 , R C q W m L 2 0 + t C q W m } P \{C^0,D_2^0,D_3^0,R_{C_qW_m}L_2^0+t_{C_qW_m }\}_P {C0,D20,D30,RCqWmL20+tCqWm}P { C 0 , D 2 0 , D 3 0 , R C q W m L 3 0 + t C q W m } P \{C^0,D_2^0,D_3^0,R_{C_qW_m}L_3^0+t_{C_qW_m }\}_P {C0,D20,D30,RCqWmL30+tCqWm}P。同理,通过 C 0 C^0 C0, D 2 0 D_2^0 D20 D 3 0 D_3^0 D30求解直线方程,地图点线段的两个端点可以被替代,形成了另外两个独立的约束条件。因此,两对非退化的匹配便足够解决4DoF的定位问题。下面分三种情况进行讨论:
1、一点一线
考虑一个3D-2D点匹配和一个3D-2D线匹配,问题可以描述为1P1L问题,考虑到被检测的图像特征点的2D坐标,可以根据校准的内参计算相应的3D投影射线,同样的过程可以运用到线段的两个端点处获得两条3D投影射线,3D投影射线在相机参考帧 C q C_q Cq中进行表示,对应的特征点的3D坐标在世界参考帧 W m W_m Wm中进行表示,为了简化方程,我们针对相机和地图分别引入中间参考帧 C 1 C_1 C1 W 1 W_1 W1
针对 C 1 C_1 C1的选择,如下图所示:
在这里插入图片描述
在初始的相机参考帧 C q C_q Cq中,原点就是相机的中心点 C 0 C^0 C0,关于2D点的相机投影射线由它的归一化方向矢量 d 1 ⃗ \vec{d_1} d1 进行表示,2D直线的两个端点对应投影射线分别由它的归一化方向矢量 d 2 ⃗ \vec{d_2} d2 d 3 ⃗ \vec{d_3} d3 进行表示。
在中间参考帧 C 1 C_1 C1中,关于2D点的投影射线可以表示为 C D 1 CD_1 CD1,关于2D线的投影射线可以表示为 C D 2 CD_2 CD2 C D 3 CD_3 CD3。中间参考帧需要满足下列条件:
1)新的相机中心 C C C ( 0 , 0 , − 1 ) (0,0,-1) (0,0,1)
2)直线 L 2 L 3 L_2L_3 L2L3的一个端点对应的投影射线 C D 2 CD_2 CD2 z z z轴上,使得 D 2 D_2 D2的坐标成为(0,0,0)。
3)直线 L 2 L 3 L_2L_3 L2L3的另一个端点对应的投影射线 C D 3 CD_3 CD3 x z xz xz平面上,并且 D 3 D_3 D3点是 x x x轴和投影射线的交点。
4)特征点对应的投影射线上的 D 1 D_1 D1点在 x y xy xy平面上。
经过变换之后,得到如些结果:
在这里插入图片描述
然后初始相机帧下的点可以通过下面的公式计算:
在这里插入图片描述
变换矩阵 T c 1 c q T_{c_1c_q} Tc1cq可以通过 ( C 0 , D 2 0 , D 3 0 ) (C^0,D^0_2,D^0_3) (C0,D20,D30) ( C , D 2 , D 3 ) (C,D_2,D_3) (C,D2,D3)的变换求得。从而, D 1 D_1 D1点可以表示为 ( a 1 , b 1 , 0 ) (a_1,b_1,0) (a1,b1,0)
针对 W 1 W_1 W1的选择:
世界参照帧的变换是一种将3D点变换到 W 1 W_1 W1原点的变换:
在这里插入图片描述
因此,在 W 1 W_1 W1中:
在这里插入图片描述
这里注意这些点已知。
下面介绍 C 1 C_1 C1 W 1 W_1 W1之间的位姿估计:
记旋转和平移矩阵分别为 R R R t t t R ≜ R C 1 W 1 , t ≜ t c 1 w 1 R \triangleq R_{C_1W_1},t \triangleq t_{c_1w_1} RRC1W1,ttc1w1。根据 { C , D 1 , R P 1 + t } L \{C,D_1,RP_1+t\}_L {C,D1,RP1+t}L的共线性,可得以下等式:
在这里插入图片描述
根据 { C , D 2 , D 3 , R L 2 + t } P \{C,D_2,D_3,RL_2+t\}_P {C,D2,D3,RL2+t}P的共平面性:
在这里插入图片描述
根据 { C , D 2 , D 3 , R L 3 + t } P \{C,D_2,D_3,RL_3+t\}_P {C,D2,D3,RL3+t}P的共平面性:
在这里插入图片描述
其中, R m n R_{mn} Rmn表示 R R R的第 m m m n n n列, T m T_m Tm表示 t t t的第 m m m个元素。
同时,注意到矩阵 R R R α \alpha α唯一确定。结合上诉等式,可以求解 T C q W m T_{C_qW_m} TCqWm
在这里插入图片描述
2、两点
在这一部分,我们给出两对3D-2D的点匹配,记为2P。在这中情境下,中间的相机参考帧和原始帧保持一致,因此在 C q C_q Cq C 1 C_1 C1中的点可记为:
在这里插入图片描述
其中, a 1 , a 2 , b 1 , b 2 a_1,a_2,b_1,b_2 a1,a2,b1,b2是已知参数,可以通过内参和归一化的深度求得。对世界参考帧的变换是将两个3D坐标点的一个变换到中间世界参考帧的原点,因此,在 W 1 W_1 W1中,有:
在这里插入图片描述
仿照1P1L的标记方式,根据 { C , D 1 , R P 1 + t } L \{C,D_1,RP_1+t\}_L {C,D1,RP1+t}L的共线性,可得以下等式:
在这里插入图片描述
根据 { C , D 2 , R P 2 + t } L \{C,D_2,RP_2+t\}_L {C,D2,RP2+t}L的共线性,可得以下等式:
在这里插入图片描述
结合上诉公式,可以求解 T C 1 W 1 T_{C_1W_1} TC1W1,进一步可以求得定位结果:
在这里插入图片描述
3、两条线
根据论文推导,此方法不可行。

模型选择

p p p为匹配点的数目, l l l为匹配线的数目, λ \lambda λ为点匹配的内点率(正确匹配率), γ \gamma γ为线匹配的内点数:
在这里插入图片描述
其中, m , n m,n m,n分别表示匹配点的内点数,匹配线的内点数。然后基于RANSAC的不同采样方式成功的概率如下:
在这里插入图片描述
m i x e d mixed mixed表示将 1 p 1 l 1_p1_l 1p1l 2 p 2p 2p两种方式结合。进一步可以得到:
在这里插入图片描述
其中 a = 1 − λ p − 1 a=\frac{1-\lambda}{p-1} a=p11λ
通常情况下满足 p − 1 ≫ 1 − l a m b d a p-1 \gg 1-lambda p11lambda,这意味着 a a a是一个接近0的非常小的正数。因此,可以得到下面两个式子:
在这里插入图片描述
在这里插入图片描述
然后可以根据特定的场景选择不同的采样方式。

实验结果

所提出的方法在合成和真实数据上进行了评估,以证明其在视觉定位方面优于其他基线方法。我们首先通过模拟实验来说明当图像特征有噪声时的准确性,对不准确的俯仰和滚转角的敏感性,以及对异常值的鲁棒性。然后在真实数据上,通过成功率比较,验证了所提方法和模型选择机制的有效性。
1 合成数据的结果

我们在Cube中生成了一些3D点和线,并针对不同的相机姿态计算了2D投影,以获得3D-2D特征匹配。对于每种方法,执行100次RANSAC迭代。最终识别的内点被发送到非线性最小化器以获得高精度。 在优化中,有两种可能的方式:4DoF或6DoF优化。4自由度优化是指我们固定惯性测量单元提供的俯仰和滚转角,只优化姿态中的其他四个变量。当需要优化的内点程序很少时,这可能很有用。

模拟实验中评估的最小解是EPnP 、P3P 、2P1L ,我们提出的解包括1P1L-6自由度、1P1L-4自由度、2P1L自由度,2P1L自由度、混合6自由度和混合4自由度也在针对异常值的鲁棒性实验中进行了评估。我们利用平移和旋转误差来评估相对于地面真实情况的估计结果。
在这里插入图片描述
1)精确度:为了量化不同最小解的精确度,我们为2D投影添加了具有零均值和可变标准差的高斯噪声,并在四个级别中改变了特征匹配的数量:10、5、4、3(10的情况意味着场景中有10个点匹配和10个线匹配)。结果如图3所示。我们可以发现,当特征匹配足够充分时(见案例10),随着噪声标准偏差的增加,所提出的方法可以获得与其他基线方法相同的精度。 当特征匹配的数量减少时,与2P1L、EPnP和P3P相比,我们的两实体方法的优势变得更大。人们可以注意到,当特征匹配的数量减少到4个时,我们的方法的误差略大于10个匹配的情况,而其他的则严重增长。

2)灵敏度:在惯性传感器的帮助下,我们通过利用传感器提供的俯仰和滚转角,将定位问题的程度降低到4。因此,有必要研究这两个角度的质量对最终精度的影响。我们在俯仰角和滚转角上加入了均值为零、标准差可变的高斯噪声,并在10°、5°、3°三个特征匹配水平上研究了所提方法的性能。 结果如下图所示。
在这里插入图片描述
当有足够的特征匹配时(见10种情况),所提出的方法可以在俯仰角和滚转角上容忍几乎25度的噪声。 根据经验,在实际应用中,俯仰角和滚转角的噪声要小得多,因此俯仰角和滚转角的噪声对精度的影响应该是有限的。 我们还注意到,在这种情况下,6自由度优化优于4自由度优化。然而随着特征匹配数量的减少,6自由度和4自由度方法之间的差异变小。 这是合理的,因为当内点数较少时,优化中由附加自由度引起的误差可能大于由噪声姿态估计引起的误差。 因此如果长期存在非常有限的可靠特征匹配变化发生时,4自由度优化是一个很好的选择。

3)鲁棒性:为了验证所提出方法的鲁棒性,我们设计了一些实验,在不同的内点数水平(10,5,4,3)下,将外点率从0变化到80%。 我们通过添加外点来获得外点率,外点是通过错误地关联原始数据中的特征而产生的。 当平移误差小于10%,旋转误差小于5度时,则认为定位成功。我们对每种方法进行了200次试验,以平均成功率。 结果见图5。 不出所料,当外点率增加时,所提出的两实体RANSAC优于其他最小解,当内点数减少时,这一点更加明显。 注意,当外点率为80%时,通过足够的内点,所提出的方法可以达到90%以上的成功率。
在这里插入图片描述
2 真实数据的结果

对于真实世界的实验,使用YQ-Dataset,其中三个数据集是在2017年夏天的三天内收集的,表示为2017-0823、2017-0827、2017-0828,另一个数据集是在2018年冬天收集的,表示为2018-0129。 我们选择2017-0823数据集来构建3D地图,并利用其他三个数据集来评估不同天气或季节下的定位性能。 地面真实相对姿态是通过对齐同步的3D激光雷达扫描提供的。 评估的方法是P3P的EPnP,我们的方法包括1P1L-4/6DoF,2P4/6DoF,混合-4/6DoF。为了获得查询图像和地图之间的3D-2D特征匹配,我们采用了以下步骤:

1)使用视觉惯性SLAM软件获得相机姿态和地图中的3D-2D点匹配[30]
2)运行Line3D++算法以获取地图中的3D-2D线匹配
3)对于查询会话,我们基于LibVISO2的描述符获得3D-2D点/线匹配LBD,然后传送到RANSAC
4)对于查询图像的俯仰和滚转角,我们直接使用IMU测得的对应值

我们首先使用不同的方法计算查询会话中所有关键帧中正确定位的查询图像,并在四个平移和旋转误差阈值下以百分比表示定位成功率,这可以在选项卡中看到6自由度优化方法的性能仍然优于4自由度优化方法。 此外,我们RANSAC比P3P和EPnP的RANSAC更好,后者要求更多的匹配次数。所提出的2P方法和混合方法明显优于EPnP方法和P3P方法,这表明了所提出的方法在处理不同天气和季节时的鲁棒性。注意1P1L没有基于点要素的方法好,其中的原因是地图环境中道路两侧有很多树,所以点要素远比线要素丰富。
在这里插入图片描述
为了在1P1L和2P方法之间进行公平的比较,我们从地图上手动挑选了一些结构化和非结构化的片段,其中一些图像如图6所示。 在非结构化数据段中选择了大约100个位置,在结构化数据段中选择了50个位置。 选项卡中显示了所选细分市场上采用多种方法进行本地化的成功率。 结果表明,2P方法在非结构化场景中表现最好,1P1L在结构化场景中的表现与2P相似,但在非结构化场景中的表现明显差于2P,证实了环境中的特征分布对方法选择有不可避免的影响。 此外从2018-0129结构化场景的结果中,我们可以发现,当外点百分比由于季节的变化而增长时,情况越好线特征匹配的鲁棒性提高了1P1L方法的性能。 从理论上推导出的混合6自由度,与2P和1P1L相比,在所有领域都具有相对稳定的性能。

为了进一步验证模型选择机制的正确性,我们在2017-0828数据集上做了一个额外的遗漏实验。 根据2017-0827和2018-0129数据集在2017-0823地图上的定位结果,利用2P-6自由度估计姿态获得的点和线特征的内点率,自动为整个数据集标注结构化和非结构化线段。如果线的内点率高于点,则在该段中使用1P1L,否则使用2P之后,我们在不同的定位误差阈值上再次统计了整个2017-0828数据集的成功率,并计算了每种方法的曲线下面积,如下表所示。结果表明,通过选择机制,性能得到了预期的进一步提升。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于2-Entity RANSAC for robust visual localization in changing environment论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/209083

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓