GV-Bench
收藏资源简介:
GV-Bench数据集由南方科技大学深圳机器人与计算机视觉重点实验室创建,旨在评估长期闭环检测中的几何验证。该数据集包含六个序列,代表了不同的条件变化,如光照、季节和天气变化。数据集的构建基于三个现有的数据集,并通过精心选择和比较六种代表性的局部特征匹配方法来评估其性能。GV-Bench数据集主要应用于机器人自主导航中的长期视觉定位和闭环检测,旨在解决在复杂环境变化下的定位准确性问题。
The GV-Bench dataset was developed by the Shenzhen Key Laboratory of Robotics and Computer Vision, Southern University of Science and Technology, aiming to evaluate geometric verification for long-term loop closure detection. This dataset comprises six sequences that cover diverse conditional variations including illumination, seasonal shifts and weather changes. The dataset is built upon three existing datasets, and the performance of six representative local feature matching methods is evaluated via carefully selecting and comparatively analyzing these methods on this benchmark. The GV-Bench dataset is primarily utilized for long-term visual localization and loop closure detection in robotic autonomous navigation, with the objective of mitigating the degradation of positioning accuracy under complex environmental variations.
GV-Bench: Benchmarking Local Feature Matching for Geometric Verification of Long-term Loop Closure Detection
摘要
视觉回环检测是视觉同时定位与地图构建(SLAM)中的重要模块,它将当前相机观测与先前访问过的地方关联起来。回环检测通过纠正轨迹估计中的漂移来构建全局一致的地图。然而,错误的回环检测可能是致命的,因此需要验证步骤来确保鲁棒性,通过拒绝假阳性回环来实现。几何验证是一种公认的解决方案,它利用局部特征匹配提供的空间线索来寻找真实阳性。现有的特征匹配方法主要关注长期视觉定位中的单应性和姿态估计,缺乏几何验证的参考。为了填补这一空白,本文提出了一个统一基准,针对长期条件变化下的回环检测几何验证。此外,我们评估了六种代表性的局部特征匹配方法(手工和基于学习),并进行了深入分析以指出局限性和未来方向。
新闻
- 论文已在arxiv上发布。
- 论文已被IROS 2024接受。
- 发布了图像匹配结果的可视化。
- 发布了基准(简单),请查看
dataset/gt中的图像对和google drive中的图像。
安装
我们使用HLoc代码的一部分进行特征提取和匹配。 bash git clone && cd GV-Bench git submodule init git submodule update cd third_party/Hierarchival-Localization git checkout gvbench # 这是一个定制的分支版本 python -m pip install -e .
复制实验结果
我们提供了以下格式的输出结果。您可以直接使用这些结果。 bash $seq_$feature_$match.log $seq_$feature_$match.npy # 格式如下
python np.save(str(export_dir), { prob: num_matches_norm, qImages: qImages, rImages: rImages, gt: labels, inliers: inliers_list, all_matches: pointMaps, precision: precision, recall: recall, TH: TH, average_precision: average_precision, Max Recall: r_recall })
从头开始复制
为了获得标准的特征检测和匹配结果,我们建议使用hloc。
-
从google drive下载数据集序列并放在
dataset/文件夹下。 -
使用hloc提取和匹配特征。
-
提取特征:SIFT, SuperPoint, 和 DISK bash python third_party/Hierarchical-Localization/gvbench_utils.py config/${seq}.yaml --extraction
-
匹配特征:SIFT-NN, SIFT-LightGlue (尚未实现), SuperPoint-NN, DISK-NN, SuperPoint-SuperGlue, SuperPoint-LightGlue, DISK-LightGlue, LoFTR bash
除LoFTR外的所有方法
python third_party/Hierarchical-Localization/gvbench_utils.py config/${seq}.yaml --matching
LoFTR与其他方法不同
python third_party/Hierarchical-Localization/gvbench_utils.py config/${seq}.yaml --matching_loftr
-
图像对文件
- 我们在
dataset/gt文件夹下准备了匹配的图像对(GT)文件。 - 确保使用定制的hloc进行特征提取和匹配
https://github.com/jarvisyjw/Hierarchical-Localization.git -b gvbench
- 我们在
-
-
评估
- 我们提供了开箱即用的脚本
bash cd GV-Bench/scripts bash ./evaluation <day> # 使用序列名称运行脚本:day, night, night-hard, season, season-hard, weather
基准使用
-
使用定制的局部特征进行几何验证(GV)。
TODO
致谢
- 本工作基于hloc,感谢他们的出色工作。
- 联系:
jingwen.yu@connect.ust.hk




