最近工作原因接触到图像匹配,经过调研发现SuperPoint+SuperGlue方法简直是图像匹配届的天花板,各种精度比较以及运行时间真令人惊讶,如下: 
 后来图像匹配(也可以做视频匹配,我这里做的是图像匹配)复现也特别简单,代码写得真好,环境配置好了也不怎么报错。下面直接来复现步骤,本人小白,如有不对,还请指出,互相交流,共同进步。 代码地址: https://github.com/magicleap/SuperGluePretrainedNetwork
- 下载以后解压,可以新建一个文件夹存储图像数据。
 - 打开requirements文档查看并安装以下模块
方法一: matplotlib>=3.1.3 torch>=1.1.0 opencv-python==4.1.2.30 numpy>=1.18.1 查看以后按需安装,适用于仅缺少个别的模块,或网速慢的情况下。 方法二: cmd命令行,cd到该文件包路径下,激活要用的python虚拟环境,安装:
pip install -r requirements.txt
- 运行demo_superglue.py
有两种方式。 一是在cmd命令行输入:
python demo_superglue.py --input = D:\SuperGlue\data --output_dir = D:\SuperGlue\data\result
–input是图像文件路径,必须输入,–output_dir是存储结果路径,如果不传入参数,则默认不进行保存。 其他还有很多参数,可以按需传入,打开demo_superglue.py可以查看。  第二种方式,我称之为野路子,适合我这种小白。 打开demo_superglue.py,直接改default值, 
结束查看结果


|