superglue、superpoint C++ TensorRT

motivation(动机)

很早以前自从看了superglue、superpoint算法后,一直想把它们利用TensorRT进行加速实现一遍,由于平常太忙一直没有去做这个事情,不过利用周末的时间,终于把代码堆完了~

关于SuperGlue里面的细节,可以参看上一篇文章,其中包括最优传输OPT、注意力机制等。

图像配准——SuperGlue - 知乎SuperGlue: Learning Feature Matching with Graph Neural Networks SuperGlue特点一般图像配准有4个环节,step1 对两幅图像进行关键点检测与特征描述符计算,step2 根据特征描述符找到匹配的关键点,step3 利用关…https://zhuanlan.zhihu.com/p/436883365

回顾:

一般图像配准有4个环节,step1 对两幅图像进行关键点检测与特征描述符计算,step2 根据特征描述符找到匹配的关键点,step3 利用关键点计算图像的空间坐标变换参数,step4 最后利用坐标变换参数进行图像配准。SuperGlue用于图像配准的中间环节,即上述步骤的step2根据特征描述符找到最佳匹配的关键点。

后面将上传Windows版本与Linux版本代码至该GitHub上,有兴趣的朋友可以一起来探讨学习,也可以实现其他的算法模型加入本仓库(私聊)~

GitHub - Broad-sky/feature-detection-matching-algorithm: Deep learning includes superpoint-superglue(C++, TensorRT), and traditional algorithms include zkaze, surf, ORB, etc.Deep learning includes superpoint-superglue(C++, TensorRT), and traditional algorithms include zkaze, surf, ORB, etc. - GitHub - Broad-sky/feature-detection-matching-algorithm: Deep learning includes superpoint-superglue(C++, TensorRT), and traditional algorithms include zkaze, surf, ORB, etc.https://github.com/Broad-sky/feature-detection-matching-algorithm

C++版本TensorRT加速后在1060PC大概20帧,在NX这类板卡至少也能到15+帧(后期测完来补充结果),因为直接跑python代码就能达到12~13帧。

Superglue、Superpoint C++ - 知乎motivation(动机)很早以前自从看了superglue、superpoint算法后,一直想把它们利用TensorRT进行加速实现一遍,由于平常太忙一直没有去做这个事情,不过利用周末的时间,终于把代码堆完了~ 关于SuperGlue里面的细…https://zhuanlan.zhihu.com/p/518877309

Introduction (介绍)

仓库主要使用C++实现传统图像特征检测与匹配、深度学习特征检测与匹配算法模型。 深度学习包括superpoint-superglue,传统算法包括zkaze、surf、ORB等。

This warehouse mainly uses C++ to compare traditional image feature detection and matching, and deep learning feature detection and matching algorithm models. Deep learning includes superpoint-superglue, and traditional algorithms include zkaze, surf, ORB, etc.

Dependencies(依赖)

OpenCV >= 3.4

CUDA >=10.2

CUDNN>=8.02

TensorRT>=7.2.3

Contents(仓库内容)

  1. akaze特征点检测与匹配.

image pair(图片对) 

superglue、superpoint C++ TensorRT_第1张图片

camera(相机)

superglue、superpoint C++ TensorRT_第2张图片

2. superpoint-superpoint 特征点检测与匹配.

image pair(图片对)

superglue、superpoint C++ TensorRT_第3张图片

camera(相机)

superglue、superpoint C++ TensorRT_第4张图片

备注:视频中,左边和中间窗口显示的是两帧图像经过变换后线性融合的图像,便于直观感受配准效果!!!

欢迎大家添加微信(备注:单位+姓名),进群探讨!

superglue、superpoint C++ TensorRT_第5张图片

Reference

@inproceedings{sarlin20superglue,
  author    = {Paul-Edouard Sarlin and
               Daniel DeTone and
               Tomasz Malisiewicz and
               Andrew Rabinovich},
  title     = {{SuperGlue}: Learning Feature Matching with Graph Neural Networks},
  booktitle = {CVPR},
  year      = {2020},
  url       = {https://arxiv.org/abs/1911.11763}
}

你可能感兴趣的:(pytorch,mmdetection,计算机视觉,深度学习,人工智能,图像处理)