版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于KIMERAC++库开展三维重建的方法概述目录TOC\o"1-3"\h\u24367基于KIMERAC++库开展三维重建的方法概述 1188441.1Kimera库的介绍 126811.2Kimera的框架 2150171.2.1Kimera-VIO 2143881.2.2Kimera-RPGO 386881.2.3Kimera-Mesher:3DMeshReconstruction 4224181.2.4Kimera-Semantics 6Kimera库的介绍Kimera库是一个开源的实时度量语义SLAM的C++库。它提供以惯性测量单元速率的视觉惯性状态估计,以及全局一致和离群点鲁棒的轨迹估计,计算可用于快速避障的场景的低延迟局部网格,并构建全局语义注释的3D网格,其准确反映地面真实模型。该库超越了现有的视觉和视觉惯性SLAM库(如ORB-SLAM、VINSMono、OKVIS、ROVIO),支持3D网格重建和语义标注。Kimera的设计考虑了模块化,有四个关键组件:用于快速准确状态估计的视觉惯性里程计(VIO)模块;用于全局轨迹估计的鲁棒姿态图优化器;用于快速网格重建的轻量级3D网格模块和密集3D度量语义重建模块。这些模块可以单独或组合运行,因此Kimera可以很容易地回到最先进的VIO或一个完整的SLAM系统。Kimera在CPU上实时运行,并从语义标记的图像中产生3D度量语义网格,这可以通过现代深度学习方法获得。Kimera提供的灵活性、计算效率、鲁棒性和准确性将为未来的度量-语义SLAM和感知研究奠定坚实的基础,并将允许跨多个领域(例如,VIO、SLAM、3D重建、分割)的研究人员无需从头开始就能对自己的工作进行基准化和原型化。Kimera的框架图SEQ图\*ARABIC9Kimera使用图像和IMU数据作为输入,并输出姿态估计和多个度量语义重建。图9显示了Kimera的体系结构。Kimera将立体声帧和高速率惯性测量值作为输入并返回以IMU速率进行的高精度状态估计,全局一致的轨迹估计以及环境的多个网格,包括快速局部网格和全局语义注释的网格。Kimera高度并行化,并使用四个线程以不同的速率容纳输入和输出。Kimera有4个关键模块:Kimera-VIO,Kimera-RPGO,Kimera-Mesher,Kimera-Semantics。我们通过线程来描述体系结构,而在以下各节中将对每个模块进行描述。Kimera-VIOKimera-VIO(视觉惯性里程计模块):该模块实现了基于关键帧的最大后验视觉惯性估计器。在Kimera的里程计中,根据指定的时间范围,估计器可以执行完全平滑或固定滞后平滑的操作,一般利用后者来限制估计时间。不仅如此,Kimera-VIO还能够扩展来处理单目和立体框架,将两者一起使用。它包括了一个负责处理原始传感数据的(视觉和惯性)的前端和一个用于融合处理后的测量结果,以获得传感器状态的估计值(即姿态、速度和传感器偏差)的后端。VIO前端:IMU前端执行流形预集成,以从原始IMU数据中获得两个连续关键帧之间相对状态的紧凑预集成测量值。视觉前端检测Shi-Tomasi角,使用Lukas-Kanade跟踪器跨帧跟踪它们,找到左右立体匹配,然后执行几何验证。使用5点RANSAC执行单(目)验证,并使用3点RANSAC进行立体声验证。该代码还提供了使用IMU旋转并分别使用2点和1点RANSAC执行单声道和立体声验证的选项。特征检测,立体匹配和几何验证在每个关键帧处执行,而kimera算法中仅在中间帧处跟踪特征。VIO后端:负责融合经过处理的各种测量量,生成传感器的状态预测(位姿,速度,偏移等)。在每个关键帧处,将预先集成的IMU和视觉测量值添加到构成的VIO后端的固定滞后平滑器(因子图)中。使用预集成的IMU模型和的无结构视觉模型。使用GTSAM中的iSAM2求解因子图。在每次iSAM2迭代中,无结构视觉模型都使用DLT估计观察到的特征的3D位置,并从VIO状态中消除相应的3D点。在消除之前,先去除退化点(即相机后方的点或没有足够的视差以进行三角测量)和离群点(即具有较大重投影误差的点),以提供额外的鲁棒性层。最后,使用GTSAM将超出平滑范围的状态边缘化。Kimera-RPGOKimera-RPGO(强大的姿势图优化模块):该模块检测当前关键帧与过去关键帧之间的环路闭合,以及使用强大的PGO计算全局一致的关键帧姿态。循环闭合检测:循环闭合检测依赖于DBoW2库,并使用词袋表示法来快速检测假定的循环闭合。对于每个推定的闭环,Kimera-RPGO使用单声道和立体几何验证拒绝异常闭环,并将其余的闭环传递给强大的PGO解算器。值得注意的是由于感知混叠(例如,建筑物不同楼层上的两个相同的房间),最终的环路闭合仍可能包含异常值。强大的PGO:此子模块在GTSAM中实现,并且包括现代异常值剔除方法,即增量一致的测量集最大化(PCM),这个功能是为单机器人和在线设置量身定做。PGO中分别存储里程数边缘(由Kimera-VIO生产)和循环闭合(由循环闭合检测产生)中的数据。每次执行PGO时,首先使用修改后的最大的一组的PCM版本一致回路闭合,然后在包括里程表和一致回路闭合的姿态图上执行GTSAM。动力系统控制模块是为多机器人情况设计的,仅检查机器人之间的回路闭合是否一致。Kimera算法还开发了一个PCM的C++,该实现在循环封闭上增加了里程计一致性检查,并且递增更新了一组一致的测量集以实现在线操作。里程计检查可验证每个闭环回路与里程计一致:在没有噪声的情况下,由里程计和循环L1形成的沿循环的姿态必须组成相同。(如图10)如同在PCM中一样,我们将异常循环标记为异常值,这些异常值沿循环累积的误差与使用卡方检验的测量噪声不一致。如果在当前时间t检测到的循环通过了里程计检查,那么将测试它是否与先前循环闭包成对一致。当PCM从头开始构建邻接矩阵A∈ℝL×L图SEQ图\*ARABIC10最后,我们使用最快速的,最大的集团实现来计算最大的回环检测。这组一致的测量值被添加到姿态图中(与里程表一起使用),并使用高斯-牛顿算法进行了优化。Kimera-Mesher:3DMeshReconstructionKimera-Mesher(三维网格重建):可以快速生成两种类型的3D网格:(1)每帧3D网格(2)在VIO固定滞后平滑器中跨越关键帧的多帧3D网格。每帧网格:首先在当前关键帧中成功跟踪的2D特征(由VIO前端生成)上执行2D德劳奈三角测量。然后,使用来自VIO后端的3D点估计,反投影2D德劳奈三角测量来生成3D网格。(如图b)虽然每帧网格被设计为提供低延迟障碍检测,但是我们还提供了通过用2D标签纹理化网格来对结果网格进行语义标记的选项(如图2c)。图SEQ图\*ARABIC11图SEQ图\*ARABIC12多帧网格:多帧网格将在VIO后退地平线上收集的每帧网格融合成单个网格(图d)。每帧和多帧3D网格都被编码为顶点位置列表,以及描述三角形面的顶点标识三元组列表。假设在时间t1已经有一个多帧网格,对于在时间t生成的每个新的每帧3D网格,在它的顶点和三元组上循环,并添加在每帧网格中但在多帧网格中缺失的顶点和三元组。然后在多帧网格顶点上循环,并根据最新的VIO后端估计更新它们的3D位置。最后,移除对应于在VIO时间范围之外观察到的旧特征的顶点和三元组。结果是一个最新的三维网格,跨越当前VIO时间范围内的关键帧。如果在网格中检测到平面,则正则因子被添加到VIO后端,这导致VIO正则化和网格正则化之间的紧密耦合。Kimera-SemanticsKimera-Semantics(语义度量分割):Kimera采用了捆绑光线投射技术达成了两个目标。第一个是构建精确的全局3D网格(覆盖整个轨迹),第二个是对网格进行语义注释。1)全局网格:在Voxblox框架的基础上,Kimera使用基于体素的(TSDF)模型来滤除噪声并提取全局网格。在每个关键帧,Kimera算法使用密集立体(半全局匹配)从当前立体对获得3D点云。然后,使用Voxblox应用捆绑的光线投射,使用其中讨论的“快速”选项。这个过程在每个关键帧重复,并产生一个TSFD,从中使用行进立方体提取网格。2)语义标注:Kimera-Semantics使用2D语义标注的图像(在每个关键帧产生)对全局网格进行语义标注。2D语义标签可以使用用于像素级2D语义分割的现成工具来获得,例如,深度神经网络或基于经典MRF的方法。为此,在捆绑的光线投射过程中还传播语义标签。使用2D语义分割,意味着要将标签附加到由密集立体生成的每个3D点。然后,要将从束射线投射中的每束射线观察到的标记的频率构建标记概率向量。接着,仅在TSDF截断距离内(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理质量改进的技术应用
- 护理查房最佳实践分享
- 护理干预开题报告:护理对心血管疾病患者康复的影响
- 重庆市部分学校2025-2026学年高二上学期12月联考生物试题
- 护理三查的护理协作
- 某纺织厂布料印染细则
- 某钢铁厂质量控制细则
- 某钢厂安全管理办法
- 环保处理办法
- 化工企业安全操作规范
- 2026 第六届“四川工匠杯”职业技能大赛 餐厅服务赛项 理论考试参考题库 含答案
- 医院评残疾工作制度
- 太原科技大学《采购管理》2025-2026学年期末试卷
- 黑布林英语阅读《小妇人》 - 中英伴读
- 摄影协会内部管理制度
- GB/T 27664.1-2026无损检测仪器超声检测设备的性能与检验第1部分:仪器
- 肛周湿疹的处理
- 大学生入厂培训课件厂史
- 2026年N1叉车司机考试题库及答案(1000题)
- GB/T 7991.6-2025搪玻璃层试验方法第6部分:高电压试验
- 2024-2025学年河南省南阳市六校高一下学期期末联考化学试题
评论
0/150
提交评论