论文标题

Monocular Camera Localization in Prior LiDAR Maps with 2D-3D Line Correspondences

1. 摘要

对于视觉导航任务,在已知地图在进行轻量化的相机定位是一个有意义的工作。目前视觉里程计(包括VO和VIO)能够较好地完成位姿估计任务,但是无法避免地会发生误差累积,并且在发生回环检测的时候产生位姿跳变。为了解决以上问题,本文提出了一个有效的基于3D-2D线特征联系的单目定位系统,其基于激光雷达所制造出的点云地图。为了解决雷达点云与图像之间的关联,本文在3D雷达点云地图中提取3D线特征,对应在图像中提取2D的线特征,在基于VIO的位姿预测中,可以有效地建立两者之间的初步对应关系,然后通过迭代优化计算来剔除匹配过程中的可能误差,以提高定位精度。基于EUROC数据集,本文进行了完整的实验,本文方法能够有效地在结构化场景中估计相机累积误差并且避免位姿跳变。

主要贡献:

估计用于视觉定位的3D-2D线对应关系,有效地把每一个关键帧和和先验激光点云地图关联起来。几何线的关联关系对外观变化是比较鲁棒的,适合在城市环境下进行定位。

2. 方法框架

该方法估计6自由度的相机位姿和激光点云地图中的3D-2D线关联。使用这些关联关系最小化重投影误差和滤除噪点,继而优化相机机位姿。本方法中的3D线特征并不是在线提取的,而是在大尺度激光点云地图中离线提取的。同时使用人工标记的3D-2D点关联进行PnP求解实现初始化。使用VINS-Mono预测相邻关键帧间的相机运动。基于预测的位姿,把相机FOV中的3D线与图像中提取的2D线进行直接匹配。最终,迭代更新相机位姿与3D-2D关联关系。

整体方法流程图

2.1. 2D-3D线特征提取

在3D线特征的提取上,本文使用一种基于分割的3D线段提取方法,主要思路是把点云聚类成为而区域,然后使用轮廓线拟合来获得3D线段。

在2D线特征的提取上,本文发现传统的LSD特征提取方法会产生较多噪声,因此选择了一种基于学习的LSD线特征提取算法,其原理为将LSD问题通过AFM(attraction field map)转化为区域作色问题,其对比效果图如下:

2.2. 2D-3D线特征匹配。

首先位姿估计与更新部分基于VINS-Mono:

然后检查3D线特征的可视性

在视野范围内的线特征将进行特征匹配,相关公式如下:

使用基于暴力匹配的方式,在距离θ < θ0,d < d0时选取为正确匹配。

2.3. 位姿优化与匹配修正

首先将2D-3D匹配构建出一个优化模型:

在此基础上,基于滑动窗口来估计连续图像帧的位姿估计:

最后的优化函数可以表示为:

3. 实验结果

基于EUROC数据集和本文在真实场景下使用D435i制作的深度相机数据集完成了算法验证工作。

3.1. EUROC实验结果

3.2. 本文数据集实验结果

4. 总结

本文提出了一种在结构化场景基于先验激光雷达地图的单目相机定位方法,通过激光点云地图中的3D线特征与图像中的2D线特征提取与匹配,在基于VINS-Mono的运动估计基础上,实现了更好的相机的运动估计。本文方法更好地解决了在VIO系统中缺乏回环检测所导致的漂移现象,并通过真实场景的数据集与官方数据集验证了本文方法的有效性。之后我们会进一步加强其鲁棒性,例如基于帧间位姿完成预测。

参考文献

【泡泡点云时空】基于先验激光雷达地图的2D-3D线特征单目定位

Monocular Camera Localization in Prior LiDAR Maps with 2D-3D Line Correspondences

基于先验激光雷达地图的2D-3D线特征单目定位相关推荐

  1. 基于 HTML5 Canvas 的简易 2D 3D 编辑器

    不管在任何领域,只要能让非程序员能通过拖拽来实现 2D 和 3D 的设计图就是很牛的,今天我们不需要 3dMaxs 等设计软件,直接用 HT 就能自己写出一个 2D 3D 编辑器,实现这个功能我觉得成 ...

  2. 基于3D边界特征的视觉定位技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉life 3D空间中的边界特征线是机器视觉感知 ...

  3. PL-VINS:实时基于点线的单目惯导SLAM系统

    摘要: 利用线特征来提高基于点特征的视觉惯性SLAM(VINS)的定位精度越来越重要,因为它们提供了结构化场景中规则性的额外约束,然而,实时性能一直没有得到关注.本文介绍了PL-VINS,一种基于实时 ...

  4. 基于简化点云地图的语义边缘对齐的单目定位方法

    标题:Compact 3D Map-Based Monocular Localization Using Semantic  Edge Alignment 作者:Kejie Qiu, Shenzhou ...

  5. 基于道路标线的城市环境单目定位

    文章:Monocular Localization in Urban Environments using Road Markings 作者:Yan Lu Jiawei Huang Yi-Ting C ...

  6. 论文翻译 | Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 本文提出了一种将单目视觉SLAM与基于深度学习的语义分割相结合的新方法.为了稳定运行,vSL ...

  7. Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM

    摘要 本文提出了一种将单目视觉SLAM与基于深度学习的语义分割相结合的新方法.为了稳定运行,vSLAM需要静态对象上的特征点.在传统的vSLAM中,随机样本一致性(RANSAC) 用于选择那些特征点. ...

  8. matlab相机标定_【显微视界】基于视觉伺服的工业机器人系统研究(摄像机标定、手眼标定、目标单目定位)...

    今日光电        有人说,20世纪是电的世纪,21世纪是光的世纪:知光解电,再小的个体都可以被赋能.欢迎来到今日光电! ----与智者为伍 为创新赋能---- 标定技术 常见的机器人视觉伺服中要 ...

  9. scare机器人如何手眼标定_基于视觉伺服的工业机器人系统研究(摄像机标定、手眼标定、目标单目定位)...

    击上方"新机器视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 标定技术 常见的机器人视觉伺服中要实现像素坐标与实际坐标的转换,首先 ...

最新文章

  1. 点歌服务器工作原理,KTV点歌系统方案概述
  2. javascript 操作Word和Excel的实现代码
  3. Ret2Libc(2) (有system、无‘/bin/sh’)绕过NX、ASLR
  4. Jürgen Schmidhuber眼中的深度学习十年,以及下一个十年展望
  5. 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...
  6. item的常用类型上
  7. Java实现ftp的上传、下载和删除
  8. Markdown公式输入(very nice!!!)
  9. ASP.NET Core 集成测试
  10. Unabe to login, status: 526
  11. 51单片机指针c语言,单片机C语言教程:C51指针的使用
  12. jpa 多字段like_Spring Data JPA 如何进行模糊查询(LIKE) ?
  13. OPENQUERY用法以及使用需要注意的地方
  14. pandas 设置多重索引_pandas dataframe多重索引常用操作
  15. 库存出现负数 mysql_前台支付商品成功后,sku表库存,购买数量会重复执行减操作好几次了,导致库存为负数...
  16. 在Micrium uC/Probe中添加IAR生成的.out文件的问题
  17. Docker服务,堆栈和分布式应用程序捆绑
  18. java提取jks文件提取私钥_如何从JKS文件中取出PEM格式证书
  19. 物联网通信消息队列客户端-MQTT简介
  20. java写一个发红包_Java实现微信发红包

热门文章

  1. python class函数报错_24 【python入门指南】class
  2. Oracle将收购Sun公司
  3. GoldenGate—日常管理
  4. [代码审计]Weiphp5.0 前台文件任意读取分析
  5. c 超文本标记语言,网页制作的超文本标记语言称为() - 问答库
  6. substr mysql用法_mysql substr用法是什么
  7. 第一节 模式识别的基本概念
  8. apache mima 过滤器
  9. 2023英语作文模板
  10. yml配置文件中${}的使用