SuperPoint:Weights File and Demo Script

一、SuperPoint简介

1.1 项目简介

在计算机视觉领域,SuperPoint预训练网络是一个开源项目,由Magic Leap Research团队开发。此项目提供了一种高效且准确的关键点检测和描述子提取算法,旨在改进各种视觉任务的性能,如图像配准、3D重建和物体识别等。

SuperPoint应该是一个可以与ORB特征提取器相媲美的算法,很值得仔细琢磨。

1.2 原理分析

1. 网络架构:SuperPoint网络基于深度学习,采用全卷积神经网络(FCN)设计,能够对输入图像进行像素级别的预测。它包括两个主要部分:关键点检测器和描述子生成器。

  • 检测器部分是一个双向递归神经网络(Bi-GRU),用于生成密集的关键点概率图;
  • 描述子生成器则是在每个检测到的关键点周围提取特征,确保了各个关键点的独立性。

2. 自监督学习:该项目的独特之处在于其自监督的训练策略。通过将一对视图不同的相同场景图像作为输入,网络需要学会找到对应的匹配点。这种方法不仅避免了依赖于人工标注的数据,还使得模型具有很好的泛化能力。

3. 冗余去除与规范化:为了提高关键点的质量,SuperPoint引入了非最大抑制(NMS)以去除冗余的关键点,并应用L2规范化来保证描述子具有单位范数,从而提高匹配稳定性。

1.3 应用场景

SuperPoint网络可以在以下几个方面发挥作用:

  • 图像匹配与拼接:为全景图像创建、虚拟现实或增强现实应用提供支持。
  • 结构光三维重建:帮助精确地估计物体表面的几何形状。
  • 机器人定位与导航:结合SLAM算法,实现在未知环境中的自主导航。
  • 视频稳定:通过跟踪关键点来平滑视频序列,减少抖动。

1.4 特点与优势

  • 无需标注数据:自监督学习使得模型能在大规模无标注数据上训练。
  • 高精度:在标准基准测试中表现出色,尤其是在低光照和极端视角条件下。
  • 可扩展性:可以与其他视觉任务的框架集成,如单目深度估计和目标检测。

二、项目介绍

这个代码库包含了由原作者实现的预训练的SuperPoint网络。SuperPoint是Magic Leap的一个研究项目。SuperPoint网络是一个完全卷积的深度神经网络,用于检测兴趣点并计算它们的描述符。因此,检测到的点和描述符可以用于各种图像匹配任务。

项目地址:GitHub - magicleap/SuperPointPretrainedNetwork: PyTorch pre-trained model for real-time interest point detection, description, and sparse tracking (https://arxiv.org/abs/1712.07629)PyTorch pre-trained model for real-time interest point detection, description, and sparse tracking (https://arxiv.org/abs/1712.07629) - magicleap/SuperPointPretrainedNetworkicon-default.png?t=N7T8https://github.com/magicleap/SuperPointPretrainedNetwork?tab=readme-ov-file

详细信息请参考:

  • Full paper PDF: SuperPoint: Self-Supervised Interest Point Detection and Description

  • Presentation PDF: Talk at CVPR Deep Learning for Visual SLAM Workshop 2018

  • Authors: Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich

2.1 演示效果

这个演示展示了一个简单的稀疏光流点跟踪器,它使用SuperPoint来检测点并在视频序列中进行匹配。该代码库包含两个核心文件:

(1)一个PyTorch权重文件(superpoint_v1.pth

(2)一个Python部署脚本(demo_superpoint.py),定义了网络,加载图像并在它们上运行PyTorch权重文件,从而创建稀疏光流可视化。

以下是演示在各种公开可用数据集上运行的视频(原文自带):

Freiburg RGBDMicrosoft 7 ScenesMonoVO
KITTI

2.2 环境依赖

  • OpenCV python >= 3.4
  • PyTorch >= 0.4

这个演示项目依赖于一些标准的Python模块,以及OpenCV和PyTorch。

通常,以下命令可用于安装这两个库(在Mac和Ubuntu上测试通过):

pip install opencv-python
pip install torch

2.3 Running the Demo

本演示将在图像序列上运行SuperPoint network,并使用名为 SuperPointFrontend 的辅助类计算图像中的点和描述符。轨迹由 PointTracker 类形成,该类通过点描述符的双向匹配找到顺序成对的近邻。

演示脚本使用了一个名为 VideoStreamer 的辅助类,它可以处理来自三种不同输入流的输入:

  • A directory of images, such as .png or .jpg
  • A video file, such as .mp4 or .avi
  • A USB Webcam
(1)以 CPU 模式在提供的图像目录中运行演示程序:
./demo_superpoint.py assets/icl_snippet/

您将看到 ICL-NUIM 序列片段的以下输出结果(原文自带):

(2)在 GPU 模式下运行提供的 .mp4 文件演示
./demo_superpoint.py assets/nyu_snippet.mp4 --cuda

nyu_snippet视频序列的输出结果如下(原文自带):

(3)在 CPU 模式下通过网络摄像头(id #1)运行实时演示
./demo_superpoint.py assets/icl_snippet/ --W=640 --H=480 --no_display --write --write_dir=myoutput/

在远程 GPU(无显示屏)上运行 640x480 图像的演示,并将输出写入 myoutput/(自己运行结果)。

2.4 额外的参数

  • 使用 --H 更改输入图像高度(默认值:120)。
  • 使用 --W 更改输入图像宽度(默认值:160)。
  • 使用 --display_scale 来缩放输出可视化图像的高度和宽度(默认值:2)。
  • 使用 --cuda 标志启用 GPU。
  • 使用 --img_glob 更改图像文件扩展名(默认值:*.png)。
  • 使用 --min_length 更改最小轨迹长度(默认值:2)。
  • 使用 --max_length 更改最大轨迹长度(默认值:5)。
  • 使用 --conf_thresh 更改点置信度阈值(默认值:0.015)。
  • 使用 --nn_thresh 更改描述符匹配距离阈值(默认值:0.7)。
  • 使用 --show_extra 来显示更多计算机视觉输出。
  • 按 q 键退出。

2.5 写在最后

  • 作者不打算发布 SuperPoint 训练或评估代码,所以不要通过电子邮件向作者索取(徒劳)。
  • 作者不打算公开用于引导 SuperPoint 训练的合成形状数据集,所以不要通过电子邮件向作者索取(徒劳)。
  • 作者使用双线性插值法而非论文中描述的双立方插值法对描述符进行采样,因为这种方法更快,而且结果相似。

三、BibTeX Citation
 

尊重作者的贡献,请在使用superpoint的时候记得引用:

@inproceedings{detone18superpoint,author    = {Daniel DeTone andTomasz Malisiewicz andAndrew Rabinovich},title     = {SuperPoint: Self-Supervised Interest Point Detection and Description},booktitle = {CVPR Deep Learning for Visual SLAM Workshop},year      = {2018},url       = {http://arxiv.org/abs/1712.07629}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2982076.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数组:最值,反转数组,打乱顺序

文章目录 最值反转数组打乱顺序 位置 最值 package com.zhang.demo; /*这个是求最大值 * * */ public class Test1 {public static void main(String[] args) {int[] arr {13,77,89,333,2,99};int max arr[0];for(int i 1;i < arr.length-1;i){if(max < arr[i]){maxa…

【热议】硕士和读博士洗碗区别的两大理论

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

白酒:香型对白酒品质的影响与消费者偏好

云仓酒庄的豪迈白酒认为香型对白酒品质的影响与消费者偏好是值得探讨的话题。香型作为白酒品质的重要因素之一&#xff0c;对白酒的口感、风味和品质产生着深远的影响。同时&#xff0c;消费者的偏好也是决定香型选择的重要因素之一。 首先&#xff0c;香型对白酒品质的影响是不…

光透过率检测仪解析

TH-SGT1便携式隧道光透过率检测仪是一种用于快速、准确地测量隧道内光透过率的设备。它的主要特点是便携性和易用性&#xff0c;方便用户进行现场检测和监测。 这种检测仪通常结合了光电测量技术和现代便携式设计&#xff0c;使得用户可以在各种环境下方便地进行光透过率的测量…

【SunTorque智能扭矩系统】螺栓拧紧扭矩常见问题及解决措施

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓拧紧扭矩是机械工程中常见的关键参数之一&#xff0c;它直接关系到设备的安全性和可靠性。然而&#xff0c;在实际操作中&#xff0c;螺栓拧紧扭矩的控制常常面临各种问题和挑战。本文将探讨螺栓拧紧扭矩常见的问题…

海南陵水国际数字内容产业平台正式上线

4月14日&#xff0c;数创陵水链接全球——海南陵水国际数字内容产业平台上线发布会在陵水黎族自治县清水湾举行&#xff0c;来自全球各地的500余名商协会代表、企业家共同见证了平台上线&#xff0c;标志着陵水在推进数字化创新、打造国际数字内容产业新高地方面迈出坚实步伐。…

B站评论无限点赞

网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x

基于一款最多能够支持10000路的 modbus RS485 led灯光控制板做灯控程序

背景 介绍一款之前用过的一款设备&#xff0c;基于RS485通讯协议&#xff0c;控制LED灯或RGB灯带。 设备介绍 之前用它来做智能中药柜的灯控板&#xff0c;结合物联网网关&#xff0c;modbus采集&#xff0c;mqtt转发&#xff0c;以及mqtt的rpc指令下发 设备图片 功能说明 …

男生一般穿什么裤子好看?五大爆款男装精选测评!

男生裤子要怎么选才能找到适合自己的裤子呢&#xff1f;这肯定是大家选裤子时经常出现的一个疑问了&#xff0c;现在的市面上虽然款式风格非常多&#xff0c;但是由于品牌鱼龙混杂的原因&#xff0c;不同的裤子质量也参差不齐。为了帮助各位男同胞能选到适合自己的裤子&#xf…

Springboot+Vue项目-基于Java+MySQL的图书馆管理系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

linux 安装cmake

文章目录 一.有三种安装方式1.通过在官网上下载Binary distributions或者Source distributions2.通过在官网上下载Source distributions或者在github上克隆cmake的源码(未编译)3.官网上下载Source distributions的.sh脚本文件(1)**使用软连接添加系统变量**(2&#xff09;使用配…

Centos7升级编译器

Centos7默认编译器版本&#xff1a; gcc5.1之前的编译器&#xff0c;默认是C98标准的&#xff0c;若是编译一些支持C高版本的软件时&#xff0c;难免会出现问题。例如&#xff1a;编译最新版jsoncpp&#xff0c;会有如下问题&#xff1a;&#xff08;原因是&#xff1a;std在C9…

【剪映专业版】04图片滚动轮播

【剪映专业版】04图片滚动轮播 1.导入图片&#xff0c;3张及以上效果更好 2.点击画面&#xff0c;选择背景填充&#xff0c;颜色&#xff0c;选择合适的颜色 3.缩放图片至合适大小&#xff0c;并将第二张图片拖动到单独的轨道&#xff08;画中画&#xff09;。在第一张和第二张…

DaVinci Fusion Studio 19 for Mac/win:影视后期特效合成的巅峰之作

在影视后期制作的广袤天地里&#xff0c;一款强大的特效合成软件如同一位技艺高超的魔法师&#xff0c;能够化腐朽为神奇&#xff0c;将普通的影像素材转变为震撼人心的视觉盛宴。而DaVinci Fusion Studio 19&#xff0c;正是这样一款备受影视从业者推崇的巅峰之作。 无论是Ma…

GITEE本地项目上传到远程

由于需要&#xff0c;我这边将本地的仓库上传至GITEE。之前在网上搜索了相关的文档&#xff0c;但是步骤很繁琐&#xff0c;我这边介绍一个非常简单的。 一、在GITEE新建仓库 跟着指引一步步新建。 二、打开本地仓库&#xff0c;删除.git文件 默认情况下不会有这个.git文件&a…

MySQL主要内容

1&#xff0c;在表中插入数据 插入值的类型&#xff0c;必须和字段的类型保持一致 - 如果数据类型是字符串&#xff0c;必须引号引起来&#xff0c;数字的话&#xff0c;可以不加 - 插入的数据顺序和字段的顺序必须保持一致 格式一&#xff1a;向表中插入数据 insert in…

智慧中药煎配系统:自动化煎药管理,传统中医焕发现代魅力-亿发

传统中医药服务迎来了全新的发展契机。亿发中药煎配系统&#xff0c;利用现代通信技术和自动控制技术&#xff0c;结合智能制造、大数据和物联网等现代化信息技术&#xff0c;革新中药煎制的方式&#xff0c;实现了100%数字化和全流程信息追溯&#xff0c;从根本上保障了药效和…

谷粒商城实战(017 业务-单点登录)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第231p-第p235的内容 介绍 单点登录&#xff08;Single Sign-On&#xff0c;SSO&#xff09;是一种身份验证服务&#xff0c;允许用户使用一组凭…

【论文笔记】设计一款针对情境障碍的视力减弱型文件浏览应用程序(下)

论文关键点 ps&#xff1a;这篇文章可以学习的内容比较多&#xff0c;笔记内容也比较丰富因此本次论文笔记会分为上下期 提出的问题&#xff1a; 不方便视觉障碍的情况下(通勤、走路、眼睛疲劳也算)会用text-speech 系统,但是这种听觉是线性的,不适合skim 推导出了融合听觉和…

“数据中心的秘密武器:ADOP AOC和DAC线缆的选择与优势”

&#x1f335;【DAC电缆和AOC电缆因其低延迟、低功耗和低成本而广泛应用于数据中心的高性能计算网络布线系统。DAC 电缆和 AOC 电缆有多种配置&#xff0c;以满足网络要求。每款产品均提供 10G SFP、25G SFP28、40G QSFP 和 100G QSFP28 数据速率&#xff0c;并提供从 40G 到 4…