0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OA-SLAM:在视觉SLAM中利用对象进行相机重新定位

3D视觉工坊 来源:3D视觉工坊 作者:鱼肖浓@知乎 2022-12-20 14:38 次阅读

Motivations:

用粗略模型(长方体或椭球体)表示的对象可能不够精确,无法改善相机的位姿跟踪。

目前SOTA目标检测器对视角和光照变化具有很强的鲁棒性,这对于从大量不同视角恢复相机姿态非常有利。

缺乏用于构建面向对象地图的全自动系统,都有着一定的假设。

Contributions:

结合对象和点的优点,提出了一种改进的重定位方法,能够从大量不同的视角中估计相机位姿。

提出了一种全自动的SLAM系统,能够在飞行中识别、跟踪和重建对象。

Background and Related Works:

1. 对象建图

Crocco使用简化相机模型,提出了一种封闭形式的公式来估计来自多视图目标检测的对偶二次曲面。Rubino将其拓展到针孔相机模型。Chen等人解决了前向移动中初始化对象估计问题。

2. 基于对象的定位

Weinzaepfel等人利用查询图像中出现的对象与参考图像中出现的对象之间的稠密2D-3D对应关系来计算相机的位姿,但该方法仅限于平面对象。

一些工作使用了更通用的对象,用椭球表示。然而这些方法仅从对象估计相机姿态,并假设一个预构建的对象地图。[11]只估计相机的位置,假设方向已知。[38]专注于3D感知椭圆对象检测。

3. 基于对象的SLAM

Bao等人在定位和建图中引入了对象,在一个SfM框架中识别和定位对象。McCormac等人和Sünderhauf等人将RGB-D SLAM和语义分割和对象检测相融合,获得具有语义注释的稠密点云。

QuadricSLAM使用对偶二次曲面作为3D地标,共同估计相机位姿和对偶二次曲面参数。EAO-SLAM在半稠密的SLAM中集成对象,利用不同的统计信息来提高数据关联的鲁棒性。Hosseinzadeh将点、平面和二次曲面联合为基于因子图的SLAM。SO-SLAM中,Liao等人使用手工提取的平面为对象添加支撑约束,以及语义尺度先验和对象约束。ROSHAN利用边界框检测、图像纹理、语义知识和对象形状先验来推断椭球模型,并解决前向平移车辆运动下的可观察性问题。CubeSLAM使用长方体来表示对象,使用2D边界框和消失点采样从单图中生成对象候选。Frost等人用球体建模对象,并使用它们解决SLAM中的尺度不确定和漂移问题。

4. 基于对象的SLAM重定位

只有Dudek等人利用SLAM中的语义地图进行重定位。Mahattansin等人利用对象检测改进了视觉SLAM的重定位,但对象检测知识用来更好地筛选候选关键帧,相机位姿仍使用与最相似的关键帧的点匹配估计得到。

Methodology:

04d6f2e4-7ff2-11ed-8abf-dac502259ad0.png

1. 椭球体对象表示

9DoF表示,3DoF表示轴长,3DoF表示方向,3DoF表示位置。其方程可以用对偶空间的封闭形式表示。椭球体定义为4×4矩阵Q*,椭圆定义为3×3矩阵C*。

04fa0f40-7ff2-11ed-8abf-dac502259ad0.png

2. 目标检测与关联

目标检测器:YOLO (只考虑评分高于0.5的检测)

2.1 基于box的对象追踪

在重建之前,基于边界框重叠和标签一致性在2D帧中跟踪对象在两帧之间的运动相对较小和平滑时短期有效。

考虑3D重建来获得长期的跟踪,将其椭球模型投影到当前帧中,并利用该帧中与目标检测的重叠来寻找关联。

结合以上两种情况,使用匈牙利算法找到最优关联,该最大化匹配总分,以便在N次检测和M个对象之间找到最佳的可能分配。

0506a606-7ff2-11ed-8abf-dac502259ad0.png

2.2 基于点的对象追踪

在相机位姿估计过程中,将图像关键点与地图地标进行鲁棒匹配,这些匹配可以用于链接检测框和对象椭球:

1)在图像中,如果一个关键点位于边界框内,它就与一个检测相链接

2)在地图中,如果一个点地标位于椭球体内,则与该对象相链接

如果检测和地图对象之间至少存在τ个基于点的匹配,则关联。

3. 初始对象重建

当通过相机中心的光线与对象检测中心的光线之间的角度变化为10°以上时,创建其3D椭球的初始估计。为了尽快地获得对象的3D估计,对象最初被重建为球体,然后随着视角的增加,细化为椭球体的形式。

球体的位置是从边界框的中心进行三角测量,半径被确定为边界框的平均大小。

05111546-7ff2-11ed-8abf-dac502259ad0.png

其中,为在第i个相机坐标系中的对象中心z坐标,和为第i帧检测框的宽度和高度,和为相机内参,n为对象被追踪到的帧数。

然后将该球体细化为椭球体,更新其轴长和位姿,以最小化重投影误差的形式进行改进。当经过足够帧数(通常为40帧)重构和细化对象,3D IoU超过阈值时,将对象集成到地图中。

4. 局部对象建图

4.1 对象优化

与ORB-SLAM2的局部束调节类似,对象模型也会定期进行优化,每当一个新的关键帧观察到地图中存在的对象时,就会通过最小化重投影误差来优化对象。

05236d68-7ff2-11ed-8abf-dac502259ad0.png

05445960-7ff2-11ed-8abf-dac502259ad0.png

0559f072-7ff2-11ed-8abf-dac502259ad0.png

其中,为第j次检测框的内切椭圆, 为第i个对象的对偶矩阵,为第j个关键帧的投影矩阵,为第j个关键帧的目标检测评分,N为对象观测数量。

4.2 对象合并

系统定期检查重复的对象,如果它们的3D IoU超过0.2,并且一个椭球体的中心位于另一个椭球体的内部或者共享超过 个3D点,则合并这两个对象。

对关键帧中的两个对象跟踪的检测框进行组合,并初始化一个新的椭球。

5. 使用对象重定位

当重构地图上的点与关键帧显著不同时,基于BoW的方法经常失败。因此采用基于对象的方法增强重定位,对视角改变更加鲁棒。

由于PnP计算出的位姿比从对象对应关系中得到的位姿更准确,主要思想是引导点与从对象对应关系中计算出的姿态进行匹配。然后采用点对应关系使用PnP进行定位。

基于对象的方法:根据椭圆-椭球的类别建立了椭圆-椭球对,每次迭代至少选择三对组合,在中心使用P3P算法计算相机位姿。对于P3P解出的四种解,椭球体被投影并且基于重叠关联检测,代价计算为每个关联对的(1-IoU)之和,选择四种解中代价最小的相机位姿。

然后将基于对象方法得到的位姿通过ORB-SLAM2的局部匹配步骤来识别关键点-地标对应关系,选择最小代价且超过30个关键点-地标匹配的位姿,在点上进行优化。

Experiments:

1. 对象建图

056424fc-7ff2-11ed-8abf-dac502259ad0.png

059eba0e-7ff2-11ed-8abf-dac502259ad0.png

与EAO-SLAM的对比

05c731aa-7ff2-11ed-8abf-dac502259ad0.png

2. 对象vs点

2.1 重定位

05e1cdda-7ff2-11ed-8abf-dac502259ad0.png

061b9934-7ff2-11ed-8abf-dac502259ad0.png

06494b68-7ff2-11ed-8abf-dac502259ad0.png

2.2 在束调整中集成对象

066630ca-7ff2-11ed-8abf-dac502259ad0.png

069430e2-7ff2-11ed-8abf-dac502259ad0.png

3. AR应用

3.1 重新初始化3D追踪

06b46218-7ff2-11ed-8abf-dac502259ad0.png

06e1915c-7ff2-11ed-8abf-dac502259ad0.png

3.2 SLAM恢复

071124ee-7ff2-11ed-8abf-dac502259ad0.png

1-4)在3D中跟踪相机,并建立点和对象的地图

5-6)由于相机的突然运动,跟踪丢失了

7-9)当重构的场景再次可见时,重定位模块从对象中估计相机姿态,建立点匹配,并使跟踪和建图继续进行。

4. 按部分建模

074ce042-7ff2-11ed-8abf-dac502259ad0.png

相机重定位需要足够数量的对象(3),当相机靠近时,可能只有一到两个对象可见。解决方法:微调检测器网络,以检测对象的可区分部分。

近距离情况下,雕像的部分(头、肩膀和底部)被用于重新定位,当远距离情况下,只使用完整的对象检测。

Discussion and Future work:

考虑将基于对象的推理与静态/动态识别相结合。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测器
    +关注

    关注

    1

    文章

    858

    浏览量

    47643
  • 相机
    +关注

    关注

    4

    文章

    1342

    浏览量

    53479
  • SLAM
    +关注

    关注

    23

    文章

    418

    浏览量

    31774

原文标题:OA-SLAM:在视觉SLAM中利用对象进行相机重新定位

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    最新图优化框架,全面提升SLAM定位精度

    的类别进行分类,如视觉SLAM、激光SLAM、惯性SLAM等。 解决SLAM问题的经典方法
    的头像 发表于 11-12 11:26 136次阅读
    最新图优化框架,全面提升<b class='flag-5'>SLAM</b><b class='flag-5'>定位</b>精度

    激光雷达SLAM算法的应用综述

    一、文章概述 1.1 摘 要 即时定位与地图构建(simultaneous localization and mapping,SLAM)是自主移动机器人和自动驾驶的关键 技术之一,而激光雷达则是支撑
    的头像 发表于 11-12 10:30 179次阅读
    激光雷达<b class='flag-5'>在</b><b class='flag-5'>SLAM</b>算法<b class='flag-5'>中</b>的应用综述

    MG-SLAM:融合结构化线特征优化高斯SLAM算法

    同步定位与地图构建 (SLAM) 是计算机视觉的一个基本问题,旨在在同时跟踪相机姿势的同时对环境进行
    的头像 发表于 11-11 16:17 166次阅读
    MG-<b class='flag-5'>SLAM</b>:融合结构化线特征优化高斯<b class='flag-5'>SLAM</b>算法

    从算法角度看 SLAM(第 2 部分)

    作者: Aswin S Babu 正如我们[第 1 部分]中所讨论的,SLAM 是指在无地图区域中估计机器人车辆的位置,同时逐步绘制该区域地图的过程。根据使用的主要技术,SLAM 算法可分为三种
    的头像 发表于 10-02 16:39 239次阅读
    从算法角度看 <b class='flag-5'>SLAM</b>(第 2 部分)

    一种适用于动态环境的实时视觉SLAM系统

    既能保证效率和精度,又无需GPU,行业第一个达到此目标的视觉动态SLAM系统。
    的头像 发表于 09-30 14:35 358次阅读
    一种适用于动态环境的实时<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>系统

    机器人高效导航定位背后SLAM专用芯片的崛起

    。   SLAM技术是定位与地图构建技术,其重要的理论与应用价值被认为是实现自动驾驶和全自主移动机器人的关键技术。小到扫地机器人,大到自动驾驶汽车,无人自主移动设备近些年的快速发展加速了SLAM行业的发展,为了
    的头像 发表于 05-28 00:20 3326次阅读

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始视觉SLAM算法
    发表于 04-23 17:18 1235次阅读
    深度解析深度学习下的语义<b class='flag-5'>SLAM</b>

    工程实践VINS与ORB-SLAM的优劣分析

    ORB-SLAM是一种基于特征的单目视觉SLAM系统,广泛用于实时三维地图构建和机器人定位。该系统使用ORB特征进行高效的
    的头像 发表于 04-08 10:17 2582次阅读
    工程实践<b class='flag-5'>中</b>VINS与ORB-<b class='flag-5'>SLAM</b>的优劣分析

    什么是SLAMSLAM算法涉及的4要素

    SLAM技术可以应用在无人驾驶汽车、无人机、机器人、虚拟现实等领域中,为这些领域的发展提供了支持。SLAM技术的发展已经逐渐从单纯的定位和地图构建转向了基于场景理解的功能。
    发表于 04-04 11:50 2176次阅读

    什么是SLAM?基于3D高斯辐射场的SLAM优势分析

    基于NeRF的SLAM算法采用全局地图和图像重建损失函数,通过可微分渲染捕获稠密的光度信息,具有高保真度。
    的头像 发表于 04-01 12:44 666次阅读

    从基本原理到应用的SLAM技术深度解析

    LSD-SLAM 即 Large-Scale Direct SLAM,兼容单目相机和双目相机。LSD-SLAM是一种基于光流跟踪的直接法
    发表于 02-26 09:41 8933次阅读
    从基本原理到应用的<b class='flag-5'>SLAM</b>技术深度解析

    坐标系动态SLAM究竟有多重要?

    大多同时定位于建图(SLAM)系统传统上假定的都是静态世界,这与现实世界的场景不符。
    的头像 发表于 01-05 13:46 810次阅读
    坐标系<b class='flag-5'>在</b>动态<b class='flag-5'>SLAM</b><b class='flag-5'>中</b>究竟有多重要?

    怎么去处理视觉SLAM长期定位的外观变化和轨迹漂移呢?

    服务机器人、巡检机器人、自动驾驶车辆等SLAM应用,需要进行长时间的定位和导航,但是可能会遇到很多光照变化(甚至天气季节变化)、不同视角提取的不同特征、原先场景的目标已经移除等等很多的环境变化问题,如果处理不好的话很容易引发轨迹
    的头像 发表于 12-04 10:01 716次阅读
    怎么去处理<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>长期<b class='flag-5'>定位</b><b class='flag-5'>中</b>的外观变化和轨迹漂移呢?

    基于视觉SLAM的研究现状

    目前视觉SLAM系统可以微型个人计算机(PC)和嵌入式设备运行,甚至可以智能手机等移动设备
    发表于 12-04 09:22 983次阅读
    基于<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>的研究现状

    什么是激光雷达3D SLAM技术?

    什么是激光雷达3DSLAM?了解这个概念之前,我们首先需要弄懂什么是“SLAM”。SLAM,英文是SimultaneousLocalizationandMapping,意思是即时定位
    的头像 发表于 11-25 08:23 1535次阅读
    什么是激光雷达3D <b class='flag-5'>SLAM</b>技术?