点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入「3D视觉从入门到精通」知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门秘制视频课程、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 论文信息
标题:Semantic Masking and Visual Feature Matching for Robust Localization
作者:Luisa Mao, Ryan Soussan, Brian Coltin, Trey Smith, Joydeep Biswas
机构:University of Texas at Austin、NASA Ames Research Center
原文链接:https://arxiv.org/abs/2411.01804
1. 导读
我们对自主机器人的长期部署感兴趣,以帮助宇航员在国际空间站等环境中进行维护和监控操作。不幸的是,这种环境往往是高度动态和非结构化的,它们的频繁重新配置对机器人的鲁棒长期定位提出了挑战。许多最新的基于视觉特征的定位算法对空间场景变化并不鲁棒,并且SLAM算法虽然有前途,但不能在空间机器人可用的低计算预算内运行。为了解决这一问题,我们提出了一种计算高效的视觉特征匹配语义屏蔽方法,该方法提高了视觉定位系统在不断变化的环境中长期部署的准确性和鲁棒性。我们的方法引入了一个轻量级的检查,强制匹配在长期静态对象内,并具有一致的语义类。我们使用基于地图的重新定位和相对姿态估计来评估这种方法,并在公开可用的Astrobee数据集上显示它改善了绝对轨迹误差(ate)和正确匹配率。虽然这种方法最初是为微重力机器人自由飞行者开发的,但它可以应用于任何视觉特征匹配管道,以提高鲁棒性。
2. 引言
可靠的长期机器人自主运行需要准确且稳健的定位。在包含动态或可移动物体的环境中,由于通常假定场景具有一致性,因此位置识别可能具有挑战性。国际空间站(ISS)就是此类环境的一个例子,在该空间站上运行的Astrobee机器人会面临不断变化的局面,因为诸如货物袋、电线、笔记本电脑和货架等物体会被引入或重新排列。提高地图匹配在环境差异下的鲁棒性,将使这些机器人以及其他机器人具备更持久的自主性。
Astrobee机器人的定位依赖于一个专门设计的系统,该系统能够处理国际空间站的微重力环境、狭小模块以及平面、重复的场景。由于Astrobee的计算能力有限,因此地图必须预先离线构建。国际空间站的远程特性使其难以频繁重新绘制地图以捕捉变化,因此地图与实际部署环境之间往往存在差异。国际空间站的其他挑战,如移动空间有限、平面场景和单目相机图像,导致许多最先进的视觉特征匹配方法(包括ORBSLAM3)无法成功应用。同时,缺乏重力和噪声较大的IMU数据也排除了其他著名的定位系统,如MAPLAB 2.0(其内置了关于重力的假设)。此外,这些方法(以及其他更新、更稳健的算法)的计算量过大,无法在Astrobee上运行,Astrobee的计算平台的速度大约比Intel i9-9980HK 2.4 GHz CPU慢10倍,而且其基于图的定位器只能使用一个核心。
因此,我们感兴趣的方法应具备以下特点:1)计算成本低廉;2)利用视觉特征且对场景变化具有鲁棒性;3)能够轻松添加到现有的视觉定位框架中,便于集成。
基于边界框的语义分割可以相对高效地运行,并能提供对视觉场景的物体级理解。语义分割可以生成物体类别,这些类别可用于修剪动态或不稳定物体,并通过检测稳定、静态的类别并移除那些可能随时间发生变化的类别,来提高对场景变化的适应力。
3. 效果展示
Astrobee自由飞行机器人在ISS活动期间漫游。笔记本电脑、电线和货物袋等背景物体经常在飞行之间被移动,可能导致机器人的定位错误。
图1展示了有语义过滤和无语义过滤的图像匹配结果。带与不带边界框的特征匹配。几年间拍摄的水平图像对显示了多处场景变化,包括国际空间站(ISS)旗帜的旋转,这导致了顶部图像对中出现了错误的关联和失败的相对位姿估计。当对匹配项应用语义掩码(底部图像对)时,可以检测到稳定的场景元素,包括通风口(紫色)、灯光(蓝色)和扶手(红色),从而可以剔除因环境变化导致的错误关联,并成功进行相对位姿估计。
4. 主要贡献
为了结合基于特征的匹配的准确性和使用语义的鲁棒性,我们提出了一种增强视觉特征匹配以实现映射和定位的元算法。我们的贡献包括:
• 在视觉特征匹配中应用语义掩蔽阶段,通过使用高效的边界框检测来确保匹配之间的类别一致性。此方法可以与任何视觉SLAM或定位算法结合使用,以提高对场景变化的鲁棒性。推荐课程:室内、室外激光SLAM关键算法、代码和实战剖析(cartographer+LOAM+ LIO-SAM)。
• 使用公开的Astrobee ISS数据集进行评估,证明了基于地图的姿态估计和图像对中的相对对应关系的准确性和鲁棒性均有所提高。
5. 方法
图3所示的语义图像匹配流程通过为视觉特征匹配添加基于类别的语义过滤来改进传统的特征匹配方法。语义图像匹配流程在红色的视觉特征匹配流程中添加了蓝色的语义分割阶段,以提高位姿估计的准确性。该流程会检测每张图像中的语义物体(图3a),并为每个物体类别中的每个检测生成屏蔽的图像空间区域(图3b)。然后,它在屏蔽区域内检测视觉特征,并对每对图像中相同类别的特征进行匹配。最后,该流程使用匹配结果来估计图像之间的相对位姿。
A. 目标检测
该流程中的语义物体检测阶段使用在ISS数据上微调过的边界框物体检测器,并定义了八个物体类别。语义边界框如图3a所示,其中检测到了三类物体(通风口、灯和手扶栏杆)。
B. 物体Mask
该流程使用检测到的语义边界框为每个图像生成掩蔽,如图3b所示。对于匹配流程的后续阶段,未检测到语义的区域不会被使用。掩蔽在特征检测之前进行,以提高运行效率,因为特征只需在掩蔽区域内进行计算。
C. 特征检测
匹配流程使用SURF特征和为ISS调整的超参数进行特征检测。SURF检测器依赖于动态Hessian阈值,该阈值会自行调整,直到为每个图像提取出1000到5000个特征。图1显示了ISS图像的示例检测结果。
D. 类间匹配
1)地图:类间匹配阶段依赖于预先构建的特征地图,该地图由提取的SURF关键点及其三角化的3D位置组成,并通过语义物体检测器的语义标签进行增强。地图中仅保留具有有效语义物体检测的关键点,从而显著减少了内存使用。
2)特征匹配:对于地图中的每张图像,使用DBoW查询[8]获得候选匹配图像。该流程使用FLANN匹配器和0.7的匹配优度比,根据相应的语义标签匹配特征。
E. 位姿估计
匹配流程的位姿估计阶段使用透视三点算法[27]根据图像和地图之间的2D-3D匹配来估计相机位姿。RANSAC选择程序[25]每次使用四个随机采样的匹配项迭代计算位姿,并返回具有最多内点匹配的位姿。
F. 实现
Astroloc重新定位模块执行视觉特征匹配,以预先构建的稀疏地图恢复位姿。由于该模块是定位流程中唯一的恢复方法,在Astrobee迷路时至关重要,因此我们选择将语义过滤器集成到该模块中。
我们进行了离线评估,尽管该流程的所有单个组件(包括物体检测器模型)先前都已在Astrobee机器人上成功运行。
6. 实验结果
表II显示,在除两个数据集外的所有数据集中,使用语义信息后,绝对轨迹误差(ATE)均有所降低,而表III显示两种方法均达到了较低的相对误差(ARE)。为了进一步说明性能,我们展示了表IV中数据集的成功率,其中语义信息提高了除一个数据集外所有数据集的重定位能力。当环境发生模块化变化时,可以最清楚地观察到带与不带语义滤波器的Astroloc重定位器之间的差异。
一个特别有趣的例子出现在tb yaw序列中,机器人绕其z轴旋转,从面对JEM的一端转向面对另一端。在其轨迹的中段,机器人观察到一个被颠倒的旗帜,这与先前的地图不一致。这导致机器人轨迹整个中段的局部位姿相对于地图是颠倒的。使用语义信息时可以解决这个问题。我们在图4和图5中进一步强调了这一点,当使用语义信息时,可以避免非语义重定位器中的位置偏移以及在大约15秒到30秒之间反向的偏航角。
加入语义滤波器后,2022年和2021年的iva kibo trans和iva ARtag序列的误差也较低。如图所示,如果未注意到环境变化且未在地图中反映出来,则可能会出现严重故障。特别是对于微重力自由飞行器而言,这些问题因缺乏用于验证的重力向量以及由于ISS难以进入而难以频繁创建地图来捕捉变化而加剧。
在其他数据集中,Astroloc重定位模块与真实值之间的差异可忽略不计,因为环境和地图足够相似,以至于重定位器可以找到机器人的位姿。变化通常发生在环境的某些部分,导致轨迹的部分段被错误定位,当对整个轨迹的平均绝对位置或旋转误差进行平均时,这种情况无法很好地传达。在iva kibo rot中,使用语义滤波器的定位误差比不使用时更大,因为仅使用框内的特征会导致较少的内点,从而无法精确优化相机位姿。
虽然未明确显示,但还在Astrobee数据上采用了两个视觉定位基线ORB-SLAM3和maplab 2.0。与Astrobee ISS数据集中的评估不同,ORB-SLAM3和maplab 2.0在与评估数据集相隔数年的地图上以定位模式运行。这两种算法都未能找到与先前地图的闭环,并且仅依赖于里程计。此外,由于它们假设存在重力向量,因此如果不进行额外的工程工作,则无法使用maplab 2.0。
我们还注意到,由于我们使用的地图与用于评估的数据包相隔数年,因此存在一个配准差异,这导致即使进行了地图原点对齐,ff return journey forward的成功率仍然很低。
图6a和6b中的累积分布函数(CDF)说明了当使用Superglue作为后处理步骤时,使用语义信息在基本矩阵计算方面的改进。预处理的表现比基线更差,因为Superglue总是尝试在图像之间匹配1024个点,如果每个图像中检测到相同对象类的不同实例,或者正确匹配过度集中在框内,则可能会强制进行错误匹配。用于基本矩阵估计的紧密聚集的关键点样本产生的结果不如关键点分布在整个图像上时准确。
表VI显示了与不使用语义信息相比,将语义信息用作预处理和后处理步骤时正确匹配率的提高。在预处理期间对图像进行掩码处理会限制匹配项的可搜索范围,虽然预处理结果显示了最大的正确匹配率,但这种聚集效应导致的基本矩阵估计效果比上述后处理匹配更差。不过,正确匹配率的提高对于其他应用仍然是有价值的。如果三维地标已经被三角化,那么在PnP之前(如大多数视觉定位流程中所做的那样)使用语义信息可以改进二维到二维的匹配。表V显示了基本矩阵估计性能,这再次表明,作为后处理步骤的语义信息优于基线Superglue方法,而作为预处理步骤的语义信息则稍逊一筹。
7. 总结 & 未来工作
我们提出了一种轻量级的语义一致性检查方法,用于视觉特征匹配,以提高定位性能的鲁棒性。我们已证明,在ISS上八项Astrobee活动数据集上评估时,对特征匹配强制实施一致的语义类别可以提高重定位性能和基本矩阵计算的准确性。
由于该方法旨在提高计算效率,因此我们还计划在未来的ISS活动期间将我们的语义重定位方法部署到Astrobee机器人上进行测试,以提高其对环境变化的适应性。在未来的工作中,我们希望探索将可移动对象检测作为负匹配,并根据特征的语义信息或缺乏语义信息对特征匹配进行加权。此外,我们还对进一步使用语义结果来在对象级别执行有根据的地图更新感兴趣。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、最前沿、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿:具身智能、大模型、Mamba、扩散模型等
除了这些,还有求职、硬件选型、视觉产品落地、产品、行业新闻等交流群
添加小助理: cv3d001,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。
3D视觉工坊知识星球
「3D视觉从入门到精通」知识星球,已沉淀6年,星球内资料包括:秘制视频课程近20门(包括结构光三维重建、相机标定、SLAM、深度估计、3D目标检测、3DGS顶会带读课程、三维点云等)、项目对接、3D视觉学习路线总结、最新顶会论文&代码、3D视觉行业最新模组、3D视觉优质源码汇总、书籍推荐、编程基础&学习工具、实战项目&作业、求职招聘&面经&面试题等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。
3D视觉工坊官网:www.3dcver.com具身智能、3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪等。
3D视觉模组选型:www.3dcver.com
点这里👇关注我,记得标星哦~