svo2论文

news2024/9/23 19:27:48

论文题目

SVO: Semidirect Visual Odometry for Monocular and Multicamera Systems

内容

1) 具有最小特征漂移的长特征轨迹;
2) 图像平面中的大量均匀分布的特征;
3)新特征与旧地标的可靠关联(即环路闭合)。

算法不限于使用局部点特征(例如,角或斑点),而是可以跟踪边缘[14],或者更一般地,跟踪图像中具有梯度的所有像素时,例如,在具有少量或高频纹理的场景(例如,沙子[12]或沥青[13])中,许多像素被可靠跟踪的概率会增加,例如在密集[15]或半密集方法[16]中。

效率的提高是由于以下三个原因:首先,SVO只提取平行线程中选定关键帧的特征,因此与硬实时约束解耦。其次,所提出的直接跟踪算法消除了鲁棒数据关联的必要性。最后,与以前的直接方法相反,SVO只需要对环境进行稀疏重建

与svo1的提升:1本文的新颖之处在于推广到宽视场(FoV)透镜(见第VII节)、多摄像机系统(见第VIII节)、包含运动先验(见第IX节)和边缘特征的使用。

在这里插入图片描述
图4。拐角和小边的不同对齐策略。边缘特征的对齐被限制在边缘的法线方向n上。(a) 边缘对齐。(b) 拐角对齐。

Relaxation and Refinement

随着对准中帧之间距离的增加,不能保证对准的鲁棒性(见第XI-A节中的实验)。因此,我们建议放宽由三维点的重投影给出的几何约束,并对相应的特征块执行单独的二维对齐。相对于来自第一次提取特征的帧的参考补丁来执行新帧中的每个补丁的对准;因此,最老的帧是可能的,这应该最大限度地减少特征漂移。然而,二维对齐会产生重投影误差,即投影的三维点和对齐的特征之间的差异。因此,在最后一步中,我们执行束调整,以优化三维点的位置和相机姿态,从而将重新投影误差降至最低。我们特别注意位于强度梯度边缘上的特征。

对齐

对于点的
u ′ ∗ = u ′ + δ u ⋆ ,  with  u ′ = π ( T C B T k r   T B C π ρ − 1 ( u ) ) δ u ⋆ = arg ⁡ min ⁡ δ u ∑ Δ u ∈ P 1 2 ∥ I k C ( u ′ + δ u + Δ u ) − I r C ( u + A Δ u ) ∥ 2 \begin{array}{l} \mathbf{u}^{\prime *}=\mathbf{u}^{\prime}+\delta \mathbf{u}^{\star}, \quad \text { with } \quad \mathbf{u}^{\prime}=\pi\left(\mathrm{T}_{\mathrm{CB}} \mathrm{T}_{k r} \mathrm{~T}_{\mathrm{BC}} \pi_\rho^{-1}(\mathbf{u})\right) \\ \delta \mathbf{u}^{\star}=\arg \min _{\delta \mathbf{u}} \sum_{\Delta \mathbf{u} \in \mathcal{P}} \frac{1}{2}\left\|\mathrm{I}_k^{\mathrm{C}}\left(\mathbf{u}^{\prime}+\delta \mathbf{u}+\Delta \mathbf{u}\right)-\mathrm{I}_r^{\mathrm{C}}(\mathbf{u}+\mathbf{A} \Delta \mathbf{u})\right\|^2 \end{array} u=u+δu, with u=π(TCBTkr TBCπρ1(u))δu=argminδuΔuP21 IkC(u+δu+Δu)IrC(u+AΔu) 2

对于边缘点的(这里的n是梯度方向)
u ′ ⋆ = u ′ + δ u ⋆ ⋅ n ,  with  δ u ⋆ = arg ⁡ min ⁡ δ u ∑ Δ u ∈ P 1 2 ∥ I k C ( u ′ + δ u ⋅ n + Δ u ) − I r C ( u + A Δ u ) ∥ 2 \begin{array}{l} \mathbf{u}^{\prime \star}=\mathbf{u}^{\prime}+\delta u^{\star} \cdot \mathbf{n}, \quad \text { with } \\ \delta u^{\star}=\arg \min _{\delta u} \sum_{\Delta \mathbf{u} \in \mathcal{P}} \frac{1}{2}\left\|\mathrm{I}_k^{\mathrm{C}}\left(\mathbf{u}^{\prime}+\delta u \cdot \mathbf{n}+\Delta \mathbf{u}\right)-\mathrm{I}_r^{\mathrm{C}}(\mathbf{u}+\mathbf{A} \Delta \mathbf{u})\right\|^2 \end{array} u=u+δun, with δu=argminδuΔuP21 IkC(u+δun+Δu)IrC(u+AΔu) 2

优化位姿

在特征对齐之后,我们建立了具有亚像素精度的特征对应关系。然而,特征对齐违反了对极约束,并引入了重投影误差δu,该误差通常远低于0.5像素。因此,在运动估计的最后一步中,我们通过最小化重投影误差的平方和来细化相机姿态和地标位置 X = T k W , ρ i X={T_{kW},ρi} X=TkWρi
X ⋆ = arg ⁡ min ⁡ X ∑ k ∈ K ∑ i ∈ L k C 1 2 ∥ u i ′ ∗ − π ( T C B T k   W ρ i ) ∥ 2 + ∑ k ∈ K ∑ i ∈ L k E 1 2 ∥ n i ⊤ ( u i ′ ∗ − π ( T C B T k   W ρ i ) ) ∥ 2 \begin{aligned} \mathcal{X}^{\star}= & \arg \min _{\mathcal{X}} \sum_{k \in \mathcal{K}} \sum_{i \in \mathcal{L}_k^C} \frac{1}{2}\left\|\mathbf{u}_i^{\prime *}-\pi\left(\mathrm{T}_{\mathrm{CB}} \mathrm{T}_{k \mathrm{~W}} \boldsymbol{\rho}_i\right)\right\|^2 \\ & +\sum_{k \in \mathcal{K}} \sum_{i \in \mathcal{L}_k^E} \frac{1}{2}\left\|\mathbf{n}_i^{\top}\left(\mathbf{u}_i^{\prime *}-\pi\left(\mathrm{T}_{\mathrm{CB}} \mathrm{T}_{k \mathrm{~W}} \boldsymbol{\rho}_i\right)\right)\right\|^2 \end{aligned} X=argXminkKiLkC21uiπ(TCBTk Wρi)2+kKiLkE21 ni(uiπ(TCBTk Wρi)) 2

大fov相机

为了估计新特征的深度(参见第六节),我们需要沿着核线对像素进行采样。对于失真的图像,极线是弯曲的(见图7)。因此,我们定期对大圆进行采样,大圆是对极平面与以感兴趣的相机姿态为中心的单位球体的交点。采样的角度分辨率大约对应于图像平面中的一个像素。对于每个样本,我们应用相机投影模型π(·)来获得弯曲核线上对应的像素坐标。

在这里插入图片描述
用于估计左图像中参考补丁中心像素深度的极线搜索示意图。给定两个图像的外在和内在校准,计算对应于参考像素的核线。由于自相似的纹理,沿着极线的错误匹配是经常发生的。

多相机系统

所提出的运动估计算法从相对姿态Tk k−1的优化开始。由于在第V-A节中,我们已经介绍了一个固定在相机上的机身框架B,因此现在可以直接将稀疏图像对齐推广到多个相机。给定具有M个相机的相机装备(见图9),我们假设单个相机c∈c相对于机身 T C B T_{CB} TCB的相对姿态是从外部校准中已知的。3为了将稀疏图像对准推广到多个相机,我们只需要在(1)的成本函数中添加一个额外的代价函数
T k k − 1 ⋆ = arg ⁡ min ⁡ T k − 1 ∑ C ∈ C ∑ u ∈ R ‾ k − 1 C 1 2 ∥ r I u C ( T k k − 1 ) ∥ Σ I 2 . \mathrm{T}_{k k-1}^{\star}=\arg \min _{\mathrm{T}_{k-1}} \sum_{\mathrm{C} \in \mathrm{C}} \sum_{\mathbf{u} \in \overline{\mathcal{R}}_{k-1}^{\mathrm{C}}} \frac{1}{2}\left\|\mathbf{r}_{\mathrm{I}_{\mathrm{u}}^{\mathrm{C}}}\left(\mathrm{T}_{k k-1}\right)\right\|_{\Sigma_{\mathrm{I}}}^2 . Tkk1=argTk1minCCuRk1C21 rIuC(Tkk1) ΣI2.

运动先验

在特征较差的环境中,在快速运动过程中,或在动态障碍物的情况下,使用运动先验可能非常有帮助。运动先验是在(11)中添加到成本函数的附加项,它惩罚与先验估计不一致的运动。因此,可以抑制由于无约束DoF或异常值引起的运动估计中的“跳跃”。例如,在汽车场景中,可以假设等速运动模型,因为汽车的惯性阻止了从一帧到下一帧的突然变化。其他先验可能来自额外的传感器,如陀螺仪,这使我们能够测量两帧之间的增量旋转。
假设我们在 p k , k − 1 p_{k,k−1} pk,k1之前得到了相对平移(例如,来自恒定速度假设),在 R k , k − 1 R_{k,k−1} Rk,k1之后得到了相对旋转(例如,源自积分陀螺仪)。在这种情况下,我们可以通过向稀疏图像对齐步骤的成本添加附加项来使用运动先验

T k k − 1 ⋆ = arg ⁡ min ⁡ T k k − 1 ∑ c ∈ C ∑ u ∈ R ‾ k − 1 c 1 2 ∥ r I u C ( T k k − 1 ) ∥ Σ I 2 + 1 2 ∥ p k k − 1 − p ~ k k − 1 ∥ Σ p 2 + 1 2 ∥ log ⁡ ( R ~ k k − 1 ⊤ R k k − 1 ) ∨ ∥ Σ R 2 \begin{aligned} \mathrm{T}_{k k-1}^{\star}= & \arg \min _{\mathrm{T}_{k k-1}} \sum_{\mathbf{c} \in \mathrm{C}} \sum_{\mathbf{u} \in \overline{\mathcal{R}}_{k-1}^{\mathrm{c}}} \frac{1}{2}\left\|\mathbf{r}_{\mathrm{I}_{\mathbf{u}}^{\mathrm{C}}}\left(\mathrm{T}_{k k-1}\right)\right\|_{\Sigma_{\mathrm{I}}}^2 \\ & +\frac{1}{2}\left\|\mathbf{p}_{k k-1}-\tilde{\mathbf{p}}_{k k-1}\right\|_{\Sigma_{\mathbf{p}}}^2 \\ & +\frac{1}{2}\left\|\log \left(\tilde{\mathrm{R}}_{k k-1}^{\top} \mathrm{R}_{k k-1}\right)^{\vee}\right\|_{\Sigma_{\mathrm{R}}}^2 \end{aligned} Tkk1=argTkk1mincCuRk1c21 rIuC(Tkk1) ΣI2+21pkk1p~kk1Σp2+21 log(R~kk1Rkk1) ΣR2

实现细节

在本节中,我们将提供有关我们实施的各个方面的更多详细信息。

Initialization

该算法使用[58]中的五点相对姿态算法进行自举,以获得前两个关键帧的姿态和初始贴图。在多摄像机配置中,通过立体匹配来获得初始映射。

Sparse Image Alignment

对于稀疏图像对齐,我们使用4×4像素的补丁大小。在实验部分,我们证明了具有如此小的补丁大小的稀疏方法实现了可比性当帧间距离很小时,在鲁棒性方面优于半密集和密集方法,这对于帧到帧的运动估计来说通常是正确的。为了处理大的运动,我们以粗到细的方案应用稀疏图像对齐算法。因此,对图像进行半采样以创建五个级别的图像金字塔。然后,从初始条件 T k , k − 1 = I 4 × 4 T_{k ,k−1}=I_{4×4} Tk,k1=I4×4开始,在最粗略的水平上优化光度成本,直到收敛。随后,在下一个更精细的级别上继续优化,以提高结果的精度。为了节省处理时间,我们在第三级收敛后停止,在这个阶段,估计足够准确,可以初始化特征对齐。为了提高对动态障碍、遮挡和反射的鲁棒性,我们还采用了鲁棒成本函数[24],[34]。

Feature Alignment

对于特征对齐,我们使用8×8像素的补丁大小。由于参考补丁可能是多帧旧的,我们使用仿射照明模型来应对照明变化[59]。对于所有实验,我们将匹配特征的数量限制为180,以保证每帧的成本不变。

Mapping

在映射线程中,我们将图像划分为固定大小的单元(例如,32×32像素)。对于每个关键帧,在单元中得分最高的FAST角[60]处初始化一个新的深度过滤器,除非已经存在2-D到3-D的对应关系。在没有发现角的单元中,我们检测具有最高梯度大小的像素,并初始化边缘特征。这将在图像中产生均匀分布的特征。为了加快深度估计,我们只对沿极线的短距离进行采样;在我们的情况下,该范围对应于当前深度估计的标准偏差的两倍。我们使用8×8像素的补丁大小进行核极搜索。

总结

在本文中,我们提出了半直接VO算法“SVO”,它比当前最先进的VO算法快得多,同时实现了极具竞争力的精度。速度的提高是由于只为并行线程中选定的关键帧提取特征,并且使用新的稀疏图像对齐算法可以非常快速和稳健地建立特征匹配。稀疏图像对齐在极线约束下联合跟踪一组特征,当特征位置的场景深度已知时,可以使用稀疏图像对齐来代替KLT跟踪[69]。我们进一步建议使用明确建模异常值测量的鲁棒滤波器来估计场景深度。稳健的深度估计和直接跟踪使我们能够跟踪非常弱的拐角特征和边缘。SVO的另一个好处是,它直接从优化开始,这使我们能够轻松地集成来自多个相机的测量以及运动先验。公式可进一步在配有鱼眼和折反射透镜的大型FoV相机使用。SVO算法已被进一步证明在现实世界的应用中是成功的,例如基于视觉的四旋翼飞行[54]或智能手机的三维扫描应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/810963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mybatisPlus主键策略解读

目录 主键生成策略介绍 AUTO策略 INPUT策略 ASSIGN_ID策略 NONE策略 ASSIGN_UUID策略 主键生成策略介绍 主键的作用就是唯一标识,我们可以通过这个唯一标识来定位到这条数据。当然对于表数据中的主键,我们可以自己设计生成规则,生成主键…

收藏与掘出 沉淀与成长

收藏从未停止,练习从未开始——掘出那些闪光的宝藏 目录 引言:收藏的深意分享一道你收藏的好题分享一个你收藏的便捷技巧积灰这么久,这个当时被你收藏的东西对现在的你还有用吗?结语:掘出 引言:收藏的深意 …

Python(二)

最怕你一生碌碌无为,还安慰自己平凡可贵。 --可以import 函数 变量 类啊 等等 -- 不一 一写了 大家自己写吧 -- 命名尽量不要使用大写或者中文 --比较运算符 又名 关系运算符 后面更新,请看后续 Python(二)

速度快\颜色准\功能多,移动端HEIF图片解码实现方案

HEIF图片压缩格式是一种使用HEVC编码技术存储图像数据的方式,在同等质量下相比JPEG可节省50%以上空间,无论是节约包体还是节省带宽,使用HEIF格式都能有所收益。 基于百度智能云音视频处理MCP的自研BD265编码器,百度智能云对象存储…

联想北京公司研发管理部高级经理周燕龙受邀为第十二届中国PMO大会演讲嘉宾

联想(北京)有限公司研发管理部高级经理周燕龙先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾,演讲议题:PMO如何助力研发。大会将于8月12-13日在北京举办,敬请关注! 议题简要: PMO在…

Spring的加载配置文件、容器和获取bean的方式

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaweb 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Spring配置文件和容器相关 一、加载properties文件1.1加载…

【1.2】Java微服务:SpringCloud概论

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…

高可用(keepalived)部署方案

前言:为了减少三维数据中心可视化管理系统的停工时间,保持其服务的高度可用性。同时部署多套同样的三维可视化系统,让三维数据中心可视化系统同时部署并运行到多个服务器上。同时提供一个虚拟IP,然后外面通过这个虚拟IP来访问三维…

什么叫前后端分离?为什么需要前后端问题?解决了什么问题?

单体架构出现的问题 引出:来看一个单体项目架构的结构 通过上述可以看到单体架构主要存在以下几点问题: 开发人员同时负责前端和后端代码开发,分工不明确开发效率低前后端代码混合在一个工程中,不便于管理对开发人员要求高(既会前…

layui框架学习(34:数据表格_基本用法)

Layui中的数据表格模块table支持动态显示并操作表格数据,之前学习的页面元素中的表格主要是通过使用样式及属性对表格样式进行设置,而table模块支持动态显示、分页显示、排序显示、搜索等形式各样的动态操作,参考文献3中也给出了数据表格的各…

CRM如何进行数据分析?有什么用?

什么是CRM数据分析软件?CRM数据分析软件可以对数据进行挖掘、统计和分析,帮助企业从大量的客户数据中提取有价值的信息,分析数据背后的含义,从而帮助企业更好地运营的一种工具。 1、提高客户满意度 CRM数据分析软件可以通过对客户…

【C语言所有操作符详解1】

目录 操作符分类: 算术操作符 移位操作符 移位操作符介绍 原码,反码,补码 左移操作符 右移操作符 位操作符 赋值操作符 赋值操作符 复合赋值符 单目操作符 单目操作符介绍 sizeof 和 数组 关系操作符 逻辑操作符 操作符分类: 算术操…

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(10.A)- FlexSPI NAND启动时间(RT1170)...

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MX RT1170 FlexSPI NAND启动时间。 本篇是 i.MXRT1170 启动时间评测第四弹,前三篇分别给大家评测了 Raw NAND 启动时间(基于 MIMXRT1170-EVK_Rev.B)、Serial NOR 启动…

模电模电基础知识学习笔记汇总

来源:一周搞(不)定数电模电全集,电子基础知识 11小时 一:模电学习笔记 模电主要讲述:对模拟信号进行产生、放大和处理的模拟集成电路重点知识:常用电子元器件:电阻、电容、电感、保…

PostGis -基础、Springboot 整合、电子围栏处理

目的: 为什么要用PostgreSQL? 因为有时候我们需要存储 空间数据,如:存储一个 多边形 到数据。PostGis中 geometry、geography :基本空间数据类型,用于表达点线面等空间要素,具体类型涵盖了OGC的简单对象模…

Java类的加载过程是什么?

本文重点 本文将学习类的加载过程,java命令将class文件放到类加载器中,那么之后经历了什么?本文将对其进行学习。 类加载方式? 两种加载方式:隐式加载(静态加载)和显式加载(动态加载) 隐式加载指的是在程序使用new等方式创建对象的时候,会隐式地调用类的加载器把…

人工智能轨道交通行业周刊-第53期(2023.7.24-7.30)

本期关键词:交通大模型、铁路十大创新、隧道病害检测、信号专业标准、Llama-2测评 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetr…

golang中降本增效的常规实践

最近一年各大中小厂都在搞"优化",说到优化,目的还是"降本增效",降低成本,增加效益(效率)。 技术层面,也有一些降本增效的常规操作。 比如池化、io缓冲区技术 golangC#eg.池…

stable diffusion打造自己专属的LORA模型

通过Lora小模型可以控制很多特定场景的内容生成。 但是那些模型是别人训练好的,你肯定很好奇,我也想训练一个自己的专属模型(也叫炼丹~_~)。 甚至可以训练一个专属家庭版的模型(family model&…

【每天40分钟,我们一起用50天刷完 (剑指Offer)】第四十一天 41/50【异或】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…