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

    文章

    924

    浏览量

    49656
  • 相机
    +关注

    关注

    5

    文章

    1535

    浏览量

    55414
  • SLAM
    +关注

    关注

    24

    文章

    456

    浏览量

    33187

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    (SimultaneousLocalizationandMapping)即时定位与建图,通俗来讲,就是让智能设备未知环境同步完成自身位置测算与周边环境地图构建。这两个过程互为支撑,既是机器人自主
    的头像 发表于 12-02 19:23 76次阅读
    什么是激光雷达 3D <b class='flag-5'>SLAM</b>技术?

    FPGA和GPU加速的视觉SLAM系统特征检测器研究

    特征检测是SLAM系统中常见但耗时的模块,随着SLAM技术日益广泛应用于无人机等功耗受限平台,其效率优化尤为重要。本文首次针对视觉SLAM流程开展硬件加速特征检测器的对比研究,通过对比
    的头像 发表于 10-31 09:30 302次阅读
    FPGA和GPU加速的<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>系统<b class='flag-5'>中</b>特征检测器研究

    自动驾驶如何将稀疏地图与视觉SLAM相结合?

    通过相机估计自身位置,一边在未知环境构建或更新地图。将两者结合的目的其实非常明确,利用预先构建好的稀疏地图作为先验信息,让在线运行的视觉SLAM
    的头像 发表于 10-28 09:07 458次阅读
    自动驾驶<b class='flag-5'>中</b>如何将稀疏地图与<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>相结合?

    全新轻量级ViSTA-SLAM系统介绍

    无需相机内参、极致轻量的前端(前端模型大小仅为同类35%),实时单目视觉SLAM,ViSTA-SLAM。与现有方法相比,ViSTA-SLAM
    的头像 发表于 09-22 15:53 631次阅读
    全新轻量级ViSTA-<b class='flag-5'>SLAM</b>系统介绍

    一种适用于动态环境的自适应先验场景-对象SLAM框架

    由于传统视觉SLAM动态场景容易会出现严重的定位漂移,本文提出了一种新颖的基于场景-对象的可
    的头像 发表于 08-19 14:17 641次阅读
    一种适用于动态环境的自适应先验场景-<b class='flag-5'>对象</b><b class='flag-5'>SLAM</b>框架

    解析寻迹智行3D SLAM无人叉车的&quot;智慧&quot;从何而来?(本文纯干货)

    寻迹智行率先研发成功3D SLAM激光导航技术无人叉车领域应用并实现规模化量产,成功突破高精度环境感知与自主决策的技术瓶颈,重新定义仓储物流的智能化标准。
    的头像 发表于 07-22 11:53 391次阅读
    解析寻迹智行3D <b class='flag-5'>SLAM</b>无人叉车的&quot;智慧&quot;从何而来?(本文纯干货)

    基于深度学习的增强版ORB-SLAM3详解

    ORB-SLAM3虽是当前最先进的SLAM之一,但由于使用传统的ORB(定向FAST和旋转BRIEF)特征,尺度、旋转和光照发生显著变化时可能会表现出局限性。
    的头像 发表于 07-14 17:21 1272次阅读
    基于深度学习的增强版ORB-<b class='flag-5'>SLAM</b>3详解

    自动驾驶汽车隧道、山区如何精准定位

    系统(GNSS,如GPS/北斗)、惯性测量单元(IMU)、激光雷达(LiDAR)、摄像头(视觉SLAM)以及高精地图匹配等。每种技术各有优劣,GNSS能提供全球坐标但在隧道或山区容易信号丢失,IMU不依赖外界信号但会随时间累积误差,激光雷达和
    的头像 发表于 07-13 11:30 812次阅读
    自动驾驶汽车<b class='flag-5'>在</b>隧道、山区如何精准<b class='flag-5'>定位</b>?

    一种适用于动态环境的实时RGB-D SLAM系统

    近期用于视觉SLAM的3D高斯泼溅(3DGS)技术在跟踪和高保真建图方面取得了显著进展。然而,其顺序优化框架以及对动态物体的敏感性限制了其现实场景的实时性能和鲁棒性。为此,我们提出
    的头像 发表于 07-04 15:14 972次阅读
    一种适用于动态环境的实时RGB-D <b class='flag-5'>SLAM</b>系统

    三维高斯泼溅大规模视觉SLAM系统解析

    仍未得到探索。本文提出一种基于立体相机的三维高斯泼溅大规模视觉SLAM系统LSG-SLAM。通过EuRoC数据集上的广泛评估,LSG-
    的头像 发表于 05-27 14:13 1143次阅读
    三维高斯泼溅大规模<b class='flag-5'>视觉</b><b class='flag-5'>SLAM</b>系统解析

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    相机标定是视觉系统的基石,直接影响后续图像处理的精度。书中详细介绍了单目和双目相机的标定流程,包括标定板的使用、参数优化以及标定文件的应用。 实际应用,标定误差可能导致机器人
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】+ROS2应用案例

    SLAM(Simultaneous Localization and Mapping)技术是地图构建中的核心,它允许机器人在未知环境构建地图的同时进行自我定位。书中详细介绍了
    发表于 04-27 11:42

    一种基于点、线和消失点特征的单目SLAM系统设计

    本文提出了一种稳健的单目视觉SLAM系统,该系统同时利用点、线和消失点特征来进行精确的相机位姿估计和地图构建,有效解决了传统基于点特征的
    的头像 发表于 03-21 17:07 835次阅读
    一种基于点、线和消失点特征的单目<b class='flag-5'>SLAM</b>系统设计

    一种基于MASt3R的实时稠密SLAM系统

    本文提出了一种即插即用的单目SLAM系统,能够15FPS的帧率下生成全局一致的位姿和稠密几何图形。 01   本文核心内容 视觉SLAM乃是当今机器人技术与增强现实产品的基础性构建模
    的头像 发表于 12-27 15:25 2284次阅读

    用于任意排列多相机的通用视觉里程计系统

    如何让多相机视觉SLAM系统更易于部署且对环境更具鲁棒性?本文提出了一种适用于任意排列多相机的通用视觉里程计系统。
    的头像 发表于 12-13 11:22 1149次阅读
    用于任意排列多<b class='flag-5'>相机</b>的通用<b class='flag-5'>视觉</b>里程计系统