文章目录
一、superglue简介
SuperGlue:Learning Feature Matching with Graph Neural Networks
一种基于图卷积神经网络的特征匹配算法
SuperGlue 是 Magic Leap 的 CVPR 2020 研究项目。SuperGlue 网络是一个图形神经网络,它与优化匹配层相结合,经过训练可对两组稀疏图像特征进行匹配。
本文提出一种基于图神经网络的特征点匹配方法,把图像中的特征点看作图的节点,通过注意力机制聚合特征信息,得到用于匹配的特征向量。然后把匹配问题看作一个可微的最优运输问题(differentiable optimal transport problem),利用Sinkhorn Algorithm算法进行求解。
https://blog.csdn.net/qq_36104364/article/details/119911626
1.代码链接
关于superglue论文复现,参考了GitHub上面的代码:https://github.com/yingxin-jia/SuperGlue-pytorch
官方代码:https://github.com/magicleap/SuperGluePretrainedNetwork
2.论文链接
https://arxiv.org/abs/1911.11763
遇到的的问题
问题一
self.sift = cv2.xfeatures2d.SIFT_create(nfeatures=self.nfeatures)
AttributeError: module ‘cv2’ has no attribute ‘xfeatures2d’
解决方法:
将 cv2.xfeatures2d.SIFT_create() 替换成 cv2.SIFT_create()