Ubuntu18.04 系统上配置并运行SuperGluePretrainedNetwork(仅使用CPU)
SuperGlue是Magic Leap在CVPR 2020上展示的研究项目,它是一个图神经网络(Graph Neural Network)和最优匹配层(Optimal Matching layer)的结合,训练用于对两组稀疏图像特征进行匹配。这个项目提供了PyTorch代码和预训练的权重,可以在SuperPoint关键点和描述子的基础上运行SuperGlue匹配网络。给定一对图像,你可以使用这个项目来提取图像对之间的匹配特征。
SuperGlue作为一个“中端”操作,执行上下文聚合、匹配和过滤等功能,是一个端到端的架构。
要在Ubuntu系统上配置并运行SuperGluePretrainedNetwork而不使用CUDA(即不使用GPU),你可以按照以下步骤进行。这些步骤基于SuperGlue的官方GitHub仓库的指导,但已修改为适应仅使用CPU的情况。
1. 克隆仓库
首先,打开一个终端,并使用以下命令克隆SuperGlue的GitHub仓库:
git clone https://github.com/magicleap/SuperGluePretrainedNetwork.git
cd SuperGluePretrainedNetwork
2. 创建Python虚拟环境
创建一个新的Python虚拟环境以避免依赖项与系统的其他项目冲突。这一步需要你已经安装了Python3和pip。

sudo apt-get install python3-venv
python3 -m venv superglue-env
source superglue-env/bin/activate
3. 安装依赖
在虚拟环境中安装所有必要的Python依赖。由于不使用CUDA,可以忽略与CUDA相关的依赖。
pip install -r requirements.txt

有可能提醒你安装wheel
pip install wheel

4. 强制使用CPU
要确保代码在没有CUDA的情况下运行,在执行脚本时添加--force_cpu标志。例如,如果要运行demo_superglue.py脚本:
demo_superglue.py脚本接受的参数有:
--input: 输入图像或图像文件夹的路径。--output_dir: 输出目录的路径。--image_glob: 用于匹配输入目录中图像文件的glob模式。--skip: 在处理连续帧时跳过的帧数。--max_length: 处理的最大帧数。--resize: 调整图像大小的参数,接受一个或两个值(宽度和高度)。--superglue: 使用的SuperGlue模型的类型(outdoor或indoor)。--max_keypoints: 每个图像提取的最大关键点数。--keypoint_threshold: 关键点检测的置信度阈值。--nms_radius: 非最大抑制(NMS)的半径。--sinkhorn_iterations: Sinkhorn算法的迭代次数。--match_threshold: 匹配阈值。--show_keypoints: 是否显示关键点。--no_display: 不显示图像结果。--force_cpu: 使用CPU而不是GPU。
python demo_superglue.py --input assets/scannet_sample_images/ --output_dir output/ --resize -1 -1 --force_cpu
这里,我假设--resize -1 -1意味着你不想调整图像大小。你需要根据实际的demo_superglue.py脚本接受的参数来调整这个命令。如果你需要针对特定图像对运行匹配过程,你可能需要查看脚本内部的实现,看是否支持直接指定图像对,或者你可能需要手动调整脚本来适应你的需求。

5. 使用KITTI 00进行测试的结果



相关文章:
Ubuntu18.04 系统上配置并运行SuperGluePretrainedNetwork(仅使用CPU)
SuperGlue是Magic Leap在CVPR 2020上展示的研究项目,它是一个图神经网络(Graph Neural Network)和最优匹配层(Optimal Matching layer)的结合,训练用于对两组稀疏图像特征进行匹配。这个项目提供了PyTorch代…...
协议-http协议-基础概念01-发展历程-http组成-http是什么-相关的应用-相关的协议
发展历程-http组成-http是什么-相关的应用-相关的协议 参考来源: 极客时间-透视HTTP协议(作者:罗剑锋); 01-HTTP的发展历程 1989 年,任职于欧洲核子研究中心(CERN)的蒂姆伯纳斯 - 李(Tim Ber…...
UI学习-学习内容
教程网址1:UI 新手如何从设计规范中提升自己 推荐一下高质量的设计规范 满屏干货 语雀 B站地址1:新像素 UI 新手如何从设计规范中提升自己 推荐一下高质量的设计规范 满屏干货 UI设计培训_哔哩哔哩_bilibili 教程地址2:UI 新手成长经验分享…...
Flink CDC 提取记录变更时间作为事件时间和 Hudi 表的 precombine.field 以及1970-01-01 取值问题
博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…...
【网络安全】网络安全意识教育实用指南
随着科技的不断发展和数字世界的变革,我们不仅从中获得前所未有的力量,也同时面临着前所未有的风险挑战。多数CISO(首席信息安全官)时刻致力于协助企业抵御各种安全威胁。在“武器库”中有一件珍贵的法宝:网络安全意识…...
wordpress模板购买网站推荐
简站wordpress主题 老牌wordpress开发团队,开发过数百款wordpress主题,作品是最好的简历,靠作品说话,看作品喜欢不喜欢就可以了。 https://www.jianzhanpress.com WP模板牛 免费wordpress下载网站,上面有上百款免费…...
LeetCode 刷题 [C++] 第240题.搜索二维矩阵 II
题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 题目分析 通过分析矩阵的特点发现,其左下角和右上角可以看作一个“二叉搜索树的根节…...
HP笔记本电脑如何恢复出厂设置?这里提供几种方法
要恢复出厂设置Windows 11或10的HP笔记本电脑,你可以使用操作系统的标准方法。如果你运行的是早期版本,你可以使用HP提供的单独程序清除计算机并重新安装操作系统。 恢复出厂设置运行Windows 11的HP笔记本电脑 所有Windows 11计算机都有一个名为“重置此电脑”的功能,可…...
Elasticsearch:了解人工智能搜索算法
作者:来自 Elastic Jessica Taylor, Aditya Tripathi 人工智能工具无处不在,其原因并不神秘。 他们可以执行各种各样的任务并找到许多日常问题的解决方案。 但这些应用程序的好坏取决于它们的人工智能搜索算法。 简单来说,人工智能搜索算法是…...
(HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
一、电路接法 电路接法参照江科大视频。 二、相关代码及文件 说明:代码采用hal库,通过修改江科大代码实现。仅OLED.c文件关于引脚定义作了hal库修改,并将宏定义OLED_W_SCL(x)、OLED_W_SDA(x)作了相关修改。 1、OLED.c void OLED_I2C_Init(voi…...
分享便携式血氧仪单片机方案
血氧仪主要测量指标分别为脉率、血氧饱和度、灌注指数。血氧饱和度是临床医疗上重要的基础数据之一。以家用指压式血氧仪为例,一个血氧仪一般由MCU、存储芯片、两个控制LED的数模转换器、两个发光二极管驱动等组成。 灵动微电子的MM32MCU产品已被广泛地应用在了一些…...
【Java设计模式】四、适配器模式
文章目录 1、适配器模式2、举例 1、适配器模式 适配器模式Adapter Pattern,是做为两个不兼容的接口之间的桥梁目的是将一个类的接口转换成客户希望的另外一个接口适配器模式可以使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 最后,适配器…...
RV32/64 特权架构 - 特权模式与指令
RV32/64 特权架构 - 特权模式与指令 1 特权模式2 特权指令2.1 mret(从机器模式返回到先前的模式)2.2 sret(从监管模式返回到先前的模式)2.3 wfi(等待中断)2.4 sfence.vma(内存屏障) …...
多微服务合并为一个服务
公司微服务细分太多,最近跟我提说需要将几个微服务合为单体,经过几天的查阅,决定用二次打包的方式进行合并,然后部署的时候在nginx改下合并的微服务转发路劲即可,不需要前端修改路劲了。 方案 采用二次打包的方式进行…...
Springboot企业级开发--开发入门01
目录 目录 一.Spring Boot的主要特点和优势包括: 二.Spring Boot的核心功能可以归纳为以下几点: 三.Springboot是如何解决问题? Spring Boot 是一个开源的Java框架,其设计目标是为了简化新Spring应用的初始搭建以及开发过程。…...
bash和sh和./的区别
bash和sh和./的区别 今天在执行一个脚本的时候,用的是sh script.sh,执行报错,使用bash script.sh执行时就能成功,才知道sh和bash是不一样的 sh sh表示 Bourne Shell,是 Unix 系统上的一种基本的命令解释器。它也可以…...
LeetCode 3:寻找最长不含重复字符的子串长度
LeetCode 3:寻找最长不含重复字符的子串长度 在字符串处理中,寻找最长不含重复字符的子串长度是一个经典问题。 问题描述 给定一个字符串 s ,我们需要找出其中不含有重复字符的最长子串的长度。 解决方案 我们可以使用滑动窗口的方法来解…...
【自然语言处理四-从矩阵操作角度看 自注意self attention】
自然语言处理四-从矩阵操作角度看 自注意self attention 从矩阵角度看self attention获取Q K V矩阵注意力分数softmax注意力的输出再来分析整体的attention的矩阵操作过程从矩阵操作角度看,self attention如何解决问题的?W^q^ W^k^ W^v^这三个矩阵怎么获…...
Unity脚本,串行端口的握手协议(流控制)
在Unity的SerialPort构造函数中,流控制并没有被直接包含。流控制,也被称为握手,是一种过程,它管理数据的传输速度,以防止接收方被发送方发送的数据量所淹没。 在.NET的SerialPort类中,流控制是通过Handshak…...
2023 re:Invent 用 Amazon Q 打造你的知识库
前言 随着 ChatGPT 的问世,我们迎来了许多创新和变革的机会。一年一度的亚马逊云科技大会 re:Invent 也带来了许多前言的技术,其中 Amazon CEO Adam Selipsky 在 2023 re:Invent 大会中介绍 Amazon Q 让我印象深刻,这预示着生成式 AI 的又一…...
手把手教你用VMware Workstation搭建FusionCompute 6.5.1实验环境(附网络避坑指南)
VMware Workstation实战:从零构建FusionCompute 6.5.1实验环境全攻略 在虚拟化技术的学习道路上,能够亲手搭建一套完整的实验环境往往比阅读十篇理论文章更有价值。今天我们将深入探讨如何在个人电脑上,通过VMware Workstation构建华为Fusion…...
别再死记硬背了!用华为eNSP模拟器5分钟搞懂MPLS TE隧道配置全流程
华为eNSP实战:5分钟可视化掌握MPLS TE隧道配置精髓 网络工程师的日常工作中,最令人头疼的莫过于面对一堆抽象协议概念却无从下手。MPLS TE(多协议标签交换流量工程)作为运营商级网络的核心技术,传统学习方式往往让初学…...
ITSM系统中的ITIL流程为什么越做越慢?IT服务台正在被“过度设计”拖累
一、流程越标准,为什么效率却越低?在企业IT管理升级的过程中,引入ITIL流程几乎是一种“共识”。作为一套成熟的方法论,它为IT服务管理提供了清晰的框架:事件管理、问题管理、变更管理、服务请求管理等,每一…...
科研效率革命:基于Hermes Agent的Meta分析自动化工作流——涵盖随机效应模型、亚组分析与Egger检验
Meta分析作为整合多项研究证据、提供高级别循证依据的核心方法,其传统流程往往受限于文献检索繁琐、筛选耗时、统计代码复杂及结果解读主观等多重瓶颈,导致一项完整的Meta分析从设计到产出常需数周甚至数月。随着AI Agent技术的突破性进展,以…...
8大网盘直链获取终极指南:告别限速,免费加速下载
8大网盘直链获取终极指南:告别限速,免费加速下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 …...
AzurLaneAutoScript终极指南:快速掌握碧蓝航线全自动脚本
AzurLaneAutoScript终极指南:快速掌握碧蓝航线全自动脚本 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为…...
# 发散创新:基于A*算法的AI寻路优化实战与多场景适配在游戏开发、机器人导航和自动驾驶等领域,**智能寻路系统**是
发散创新:基于A*算法的AI寻路优化实战与多场景适配 在游戏开发、机器人导航和自动驾驶等领域,智能寻路系统是核心模块之一。传统BFS/DFS方法虽然简单,但在复杂地图中效率低下;而A*(A-Star)算法凭借启发式函…...
别再手动拉镜像了!用这个脚本5分钟搞定K8s 1.18.6集群的国内镜像源问题
5分钟极速部署Kubernetes 1.18.6集群:智能镜像加速方案全解析 当你在国内环境尝试搭建Kubernetes集群时,是否经常被各种镜像拉取失败的问题困扰?传统的手动拉取镜像方式不仅耗时耗力,还容易出错。本文将为你揭秘一种高效解决方案—…...
J1900软路由折腾记:从ESXi 6.7报错到OpenWrt网络配置,一篇讲透所有坑
J1900软路由实战指南:ESXi 6.7避坑与OpenWrt网络调优全解析 当低功耗平台遇上虚拟化环境,总会碰撞出意想不到的火花。我手头这台J1900工控机,4GB内存搭配32GB存储的配置,在软路由领域堪称经典组合。但正是这套经济型硬件ÿ…...
APISIX Dashboard实战:从零构建微服务路由网关
1. 认识APISIX Dashboard:你的微服务交通指挥官 第一次接触APISIX Dashboard时,我把它想象成一个繁忙机场的空中交通管制塔台。就像塔台需要协调无数航班起降一样,这个可视化面板能帮你管理所有进出微服务集群的网络请求。不同于需要手写YAML…...

