自己部署SuperPoint-SuperGlue-TensorRT 20230828

文章讲述了作者在OrinNX上尝试部署SuperPoint-SuperGlue-TensorRT的过程,涉及到CUDA版本不完全对应的问题,通过编译解决,并比较了单线程和多线程运行时的性能差异。
摘要由CSDN通过智能技术生成

自己部署SuperPoint-SuperGlue-TensorRT

这是他们的版本要求

输入图片说明

目前OrinNX上是有CUDA和tensorrt的,就是版本不是完全对应

输入图片说明

要不自己试着编译一下,反正一些基础环境已经有了

编译和普通C++工程编译一样

输入图片说明

找到了CUDA11.4和opencv4

输入图片说明

输入图片说明

输入图片说明

输入图片说明

输入图片说明

输入图片说明

终于运行完了,在build文件夹下生成了一张图片

输入图片说明

也就是下面这个命令运行了将近50分钟....

./superpointglue_image  ../config/config.yaml ../weights/ ${PWD}/../image/image0.png ${PWD}/../image/image1.png

我再运行下

./superpointglue_sequence  ../config/config.yaml ../weights/ ${PWD}/../image/freiburg_sequence/ ${PWD}/../image/freiburg_sequence/match_images/

输入图片说明

这回很快就运行完了,不到一分钟似乎

输入图片说明

输出的图片存放在这里

输入图片说明

原本是没有这个文件夹的 https://gitee.com/maxibooksiyi/SuperPoint-SuperGlue-TensorRT/tree/feature/test/image/freiburg_sequence

最后运行./superpointglue_multithread命令显示这个,似乎是多线程运行的superpointglue?

不过第一个命令还是把我吓到了,运行了那么长的时间

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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) ``` 请注意,上述代码仅为示例,实际使用时需要根据具体情况进行适当的修改和调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值