基于 PyTorch 的可微分计算机视觉库,提供支持 GPU 的图像处理、几何、数据增强与特征匹配算子。
cvg/FlexGlue
一个图像特征匹配器,可在两张图片间寻找对应点,支持稀疏关键点、稠密网格或无关键点输入,并能识别外观相似的非共视图像对。
- Star
- 266
- Fork
- 13
- 未关闭 Issue
- 1
- 最近提交
- 23小时前
这是什么?
FlexGlue 是一个基于 Python 的图像特征匹配器,用于在两张图片之间寻找对应点,常见于图像匹配和三维重建等流程。它使用 DINOv3-ConvNeXt 骨干网络将图像编码为步长为 8 的特征图,再通过 Transformer 联合细化两张特征图,并通过相关性在另一张图中定位每个查询点的对应位置。它既可以匹配用户提供的关键点(示例中使用 LightGlue 的 ALIKED 检测器),也可以匹配稠密网格上的采样点,或者完全不依赖关键点。
除匹配外,FlexGlue 还会预测共视分数,即两张图像拍摄的是同一地点的概率。借此可以排除外观相似的图像对(例如重复的建筑立面),开启提前停止后,被拒绝的图像对可以跳过大部分计算。该项目支持批量推理、torch.compile 编译、torch.hub 加载,也可导出为 ONNX 并脱离 PyTorch 使用 ONNX Runtime 运行。
项目提供演示 notebook、预训练权重,并可选用 RoMa v2 进行亚像素级细化。代码采用 MIT 许可证,但 DINOv3 骨干网络权重遵循单独的许可证,使用上存在限制。
核心功能
- 01支持匹配用户提供的关键点、稠密采样网格,或无关键点的图像。
- 02预测共视分数,可排除重复立面等外观相似的图像对。
- 03支持对不同尺寸的图像对进行批量推理。
- 04可选用 RoMa v2 细化器实现亚像素级精度。
- 05可导出为 ONNX,脱离 PyTorch 通过 ONNX Runtime 运行。
适用场景
- 为运动恢复结构或三维重建流程建立照片间的对应点。
- 在几何验证或定位前,过滤掉结构重复的图像对。
- 通过 ONNX 导出模型,在 C++ 或其他非 Python 环境中运行特征匹配。
- 配合任意关键点检测器进行匹配效果的评测或对比。
快速上手
- 1
克隆仓库并进入目录
git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue - 2
使用 pip 以可编辑模式安装 FlexGlue
python -m pip install -e . - 3
安装最新版 LightGlue 以使用其关键点检测器(可选)
python -m pip install git+https://github.com/cvg/LightGlue.git - 4
在 Colab 或本地运行演示笔记本
使用前须知
- 示例代码需要 CUDA GPU。
- 最佳精度依赖更高分辨率及可选的 RoMa v2 精修器,会增加计算开销。
- 该项目是较新的研究版本,接口可能会变化。
收录于专题
标签
常见问题
- FlexGlue 是什么?
- 一个图像特征匹配器,可在两张图片间寻找对应点,支持稀疏关键点、稠密网格或无关键点输入,并能识别外观相似的非共视图像对。 FlexGlue 是一个基于 Python 的图像特征匹配器,用于在两张图片之间寻找对应点,常见于图像匹配和三维重建等流程。它使用 DINOv3-ConvNeXt 骨干网络将图像编码为步长为 8 的特征图,再通过 Transformer 联合细化两张特征图,并通过相关性在另一张图中定位每个查询点的对应位置。它既可以匹配用户提供的关键点(示例中使用 LightGlue 的 ALIKED 检测器),也可以匹配稠密网格上的采样点,或者完全不依赖关键点。
- FlexGlue 可以免费使用吗?用的什么许可证?
- FlexGlue 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- FlexGlue 还在维护吗?
- 活跃维护中。FlexGlue 最近一次提交是在 2026年11月6日。
- FlexGlue 适合用来做什么?
- 为运动恢复结构或三维重建流程建立照片间的对应点。 在几何验证或定位前,过滤掉结构重复的图像对。 通过 ONNX 导出模型,在 C++ 或其他非 Python 环境中运行特征匹配。 配合任意关键点检测器进行匹配效果的评测或对比。
- FlexGlue 怎么安装和运行?
- 克隆仓库并进入目录: git clone https://github.com/cvg/FlexGlue.git && cd FlexGlue 使用 pip 以可编辑模式安装 FlexGlue: python -m pip install -e . 安装最新版 LightGlue 以使用其关键点检测器(可选): python -m pip install git+https://github.com/cvg/LightGlue.git 在 Colab 或本地运行演示笔记本
- 在哪里获取 FlexGlue?
- 源代码和安装说明在 GitHub 上:https://github.com/cvg/FlexGlue
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 PyTorch 的计算机视觉工具库,支持目标检测、实例分割和图像分类的训练与模型导出。
BiRefNet 官方 PyTorch 实现,用于高分辨率二分图像分割,常用于抠图去背景。
一本免费开源的中文 PyTorch 教程及配套代码,涵盖基础、CV、NLP、大模型应用与部署。
通用的运动恢复结构(SfM)与多视图立体视觉(MVS)流程,提供图形界面和命令行,用于从图像重建三维模型。
开源的节点式可视化工具,可把照片重建为三维模型,并支持相机跟踪、HDR 融合等流程。