LightGlue-OpenCV 实现实时相机图片特征点匹配

LightGlue-OpenCV

LightGlue 是一种新的基于深度神经网络,用来匹配图像中的局部特征的深度匹配器。是 SuperGlue 的加强版本。相比于 SuperGlue,LightGlue 在内存和计算方面更高效,同时结果更准确,也更容易训练。
原项目地址如下:
https://github.com/cvg/LightGlue

近期由于实习项目需要,需要在相机上进行实时的特征点追踪。然后配置了LightGlue 原项目。但是发现 LightGlue 计算推倒出图像上左右匹配的特征点后,在代码进行到的可视化环节时,会花费大量的时间,无法满足实习项目中实时性的要求。因此在 viz2d.py 里对原项目可视化部分的代码进行修改,并添加了摄像头捕获图像后,根据捕获的第一帧图像的特征点进行特征匹配的 demo 文件 demo_camera.py,便于下载者可以直接使用。
且本项目保留了原有项目代码里的可视化部分 viz2d_bak.py,添加了一些注释便于后续读者阅读理解。因为原项目里面并没有相关的 demo,因此本项目按照原本项目里面可视化的部分也编写了相关的 demo 文件 demo_bak.py、demo2image.py 可供学习参考。

本项目地址:
https://github.com/sugarknight999/LightGlue-OpenCV.git

Step 1: 创建虚拟环境

	conda create -n lightglue python=3.10
	conda activate lightglue

Step 2: 安装 LightGlue-OpenCV 并运行

	git clone https:https://github.com/sugarknight999/LightGlue-OpenCV.git
	cd LightGlue-OpenCV
	python -m pip install -e .

Step3: 运行 demo_camera.py

在终端进入虚拟环境

	python demo_camera.py

即可运行相机并实时获得图像和匹配的特征点

效果

结果如图所示

lightglue

原理

主要是因为 matplotlib 这个库擅长画图,但是因为画图效果比较好,因此在调用里面画图部分以及保存图片部分的时候非常花费时间。
因此改动了 viz2d.py 里面的

	def plot_images(imgs, cmaps="gray", dpi=100, adaptive=True):
	def plot_keypoints(plot_img, kpts, colors=(0, 255, 0), radius=5, thickness=-1, alpha = 1):
	def plot_matches(plot_img, kpts0, kpts1, color=None, lw=2, ps=4, a=1.0, labels=None):

三个函数。
按照本来函数里面的逻辑,用 OpenCV 库重新实现了相关的功能。具体代码解释可以参考 LightGlue-OpenCV 里面的注释

相关推荐

  1. LightGlue-OpenCV 实现实时相机图片特征匹配

    2024-01-07 06:00:02       62 阅读
  2. Qt与OpenCV实现图像模板匹配

    2024-01-07 06:00:02       32 阅读
  3. OpenCV特征匹配总结

    2024-01-07 06:00:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 06:00:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 06:00:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 06:00:02       82 阅读
  4. Python语言-面向对象

    2024-01-07 06:00:02       91 阅读

热门阅读

  1. 数据库7种范式

    2024-01-07 06:00:02       35 阅读
  2. 分布式锁3: zk实现分布式锁5 使用中间件curator

    2024-01-07 06:00:02       53 阅读
  3. GhostscriptExample GS pdf转曲 pdf去白边

    2024-01-07 06:00:02       64 阅读
  4. K8S--- volumes&volumeMount

    2024-01-07 06:00:02       59 阅读
  5. K8S中的环境变量

    2024-01-07 06:00:02       51 阅读
  6. 华为HCIA课堂笔记第五章 IP路由基础

    2024-01-07 06:00:02       55 阅读
  7. 王道计算机考研 数据结构C语言复现-第五章-栈

    2024-01-07 06:00:02       54 阅读