GIM项目效果测试与学习

目录

一、GIM简介

二、安装和使用(Ubuntu)

1.项目安装

2.使用方法(双目匹配)

三、效果测试


一、GIM简介

项目全名:GIM: Learning Generalizable Image Matcher From Internet Videos

项目链接:GIM

论文链接:https://arxiv.org/abs/2402.11095

Github链接:https://github.com/xuelunshen/gim

用途:

1.可以实现图片的双目匹配,并再次基础上重建

2.多目重建

3.通过Gaussian Splatting方法渲染

官方匹配效果:

二、安装和使用(Ubuntu)

1.项目安装

参考github页面,打开安装文件夹,右键打开控制台:

# 创建环境
conda create -n gim python=3.8
 
# 安装依赖
pip install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
pip install albumentations==1.0.1 --no-binary=imgaug,albumentations
pip install pytorch-lightning==1.5.10
pip install opencv-python==4.5.3.56
pip install imagesize==1.2.0
pip install kornia==0.6.10
pip install einops==0.3.0
pip install loguru==0.5.3
pip install joblib==1.0.1
pip install yacs==0.1.8
pip install h5py==3.1.0
 
# 克隆该项目
git clone https://github.com/xuelunshen/gim.git
 
# 进入gim文件夹
cd gim

下载预训练模型gim_dkm:

链接:https://drive.google.com/file/d/1gk97V4IROnR1Nprq10W9NCFUv2mxXR_-/view

放置在weights文件夹中

2.使用方法(双目匹配)

将需要匹配的文件放在指定的位置

# 默认图片位置和名称

./gim/assets/demo/b1.png

./gim/assets/demo/b2.png

如果需要修改输入图片的路径,可以修改demo.py文件

# 第378-383行
name0 = 'b1'
name1 = 'b2'
postfix = '.png'
image_dir = join('assets', 'demo')
img_path0 = join(image_dir, name0 + postfix)
img_path1 = join(image_dir, name1 + postfix)

在gim环境下,使用以下命令,两者使用的检测器不同,检测到的关键点和数量不同,效果相近

# 使用DKM模式
python demo.py --model gim_dkm
 
# 使用SuperGlue模式
python demo.py --model gim_lightglue

该程序可以对两张图片进行匹配,输出关键点匹配图和将b2图转换为b1角度的效果,效果如下:

输出图像也保存在该文件夹中

关键点匹配效果转换效果

转换的时候有两种模式可以选择,模式的选择可以通过修改demo.py文件

Homography:单应性模式只有图像b2会变形,即把图像b2转换为b1的角度

Fundamental:基础模式图像b2和b1都会变形,程序将两者转换为同角度

# 第477-478行,修改最后一个参数
wrapped_images = wrap_images(image0, image1, geom_info,
                             "Homography")

三、效果测试

双目匹配_DKM

test1

原图a

原图b

test2

原图a

原图b

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值