不同特征点+LightGlue在不同场景下分析

1、在纹理稀疏+遮挡场景下:

数据集:EuRoc  v1_03

特征蓝色点表示匹配备选点,绿色点表示成功匹配点,其他颜色点表示早期层中删除的点。

(1)SuperPoint+LightGlue:

匹配率:279/428=65.19%

(2)SIFT+LightGlue:

匹配率=17.23%

(3)DISK+LightGlue:

匹配率=2127/6725=31.63%

2、在高速运动场景下造成运动模糊

数据集:EuRoC v1_03

(1)SuperPoint+LightGlue

在这一些地方糊了,所以像那些冰箱边缘啥的就没提取到

匹配率=592/745=79.46%

(2)SIFT+LightGlue:

匹配率=614/1119=54.87%

(3)DISK+LightGlue:

匹配率=3908/5622=69.51%

3、在昏暗场景下

数据集:EuRoC mh_05

(1)SuperPoint+LightGlue:

匹配率=472/747=63.19%

(2)SIFT+LightGlue:

匹配率=603/1014=59.47%

(3)DISK+LightGlue:

匹配率=2446/3891=62.86%

4、一般场景

(1)SuperPoint+LightGlue:

匹配率=1349/1767=76.34%

(2)SIFT+LightGlue:

匹配率=1162/1726=67.32%

(3)DISK+LightGlue:

匹配率=4741/6163=76.93%

5、总结分析

SuperPoint提取的特征点更符合我们直观的印象(例如边缘、折角等),但是提取的特征点较少,尤其是在稀疏纹理之下,所以即使匹配成功率有60%以上,仍然可能无法满足实际应用需求。

SIFT提取的特征点更多,但是其描述子可能稳健性不够,所以在相同场景下匹配成功的数目与SP差不多。

但是从DISK看出,场景中仍存在着更多有效的特征点,在困难场景(模糊、昏暗等)下能够成功使用。

对于匹配器来说,除了有遮挡情况下,基本匹配成功率都在60%以上。随着稳健的特征点的数目增多,成功匹配的数目也增多。它的匹配性能基本不受环境影响

  • 12
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SuperPointSuperGlue是一种基于深度学习的图像配准方法。SuperPoint用于提取图像中的关键点,而SuperGlue用于将两幅图像的关键点进行匹配和配准。 由于官方发布的SuperPointSuperGlue模型是基于COCO数据集训练的,可能与实际业务中的数据存在差距。因此,可以使用开源的pytorch-superpoint和pytorch-superglue来实现自己的图像配准任务。 具体步骤如下: 1. 安装pytorch-superpoint和pytorch-superglue库。 2. 使用pytorch-superpoint库提取图像中的关键点。可以参考该库的文档和示例代码来了解如何使用。 3. 使用pytorch-superglue库进行关键点的匹配和配准。该库提供了一些预训练的模型,可以直接使用或进行微调。 4. 根据实际需求,对配准结果进行后处理,例如去除错误匹配或优化配准结果。 下面是一个示例代码,演示了如何使用pytorch-superpoint和pytorch-superglue进行图像配准: ```python import torch import cv2 from superpoint import SuperPointFrontend from superglue import SuperGlueFrontend # 加载SuperPoint模型 superpoint = SuperPointFrontend(weights_path='superpoint.pth') # 加载SuperGlue模型 superglue = SuperGlueFrontend(weights_path='superglue.pth') # 读取两幅图像 image1 = cv2.imread('image1.jpg') image2 = cv2.imread('image2.jpg') # 提取关键点 points1, desc1, heatmap1 = superpoint.run(image1) points2, desc2, heatmap2 = superpoint.run(image2) # 进行关键点匹配和配准 matches, conf = superglue.run(image1, image2, points1, points2) # 可以根据需要对配准结果进行后处理 # 输出配准结果 print(matches) ``` 请注意,上述代码仅为示例,实际使用时需要根据具体情况进行适当的修改和调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值