最强特征点检测算法 DeDoDe v1/v2

论文地址v1:https://arxiv.org/pdf/2308.08479

论文地址v1:https://arxiv.org/pdf/2404.08928

代码地址:GitHub - Parskatt/DeDoDe: [3DV 2024 Oral] DeDoDe 🎶 Detect, Don't Describe --- Describe, Don't Detect, for Local Feature Matching

实测确实牛X!

DeDoDeV1

关键点检测是3D重建中的关键步骤,通过该步骤可以在场景的每个视图中检测到(最多)K个点的集合。至关重要的是,检测到的点需要在视图之间保持一致,即对应于场景中的同一3D点。关键点检测的主要挑战之一是学习目标的制定。以前基于学习的方法通常将描述子与关键点联合学习,并将关键点检测视为对相互最近邻的二元分类任务。然而,基于描述子最近邻的关键点检测是一项代理任务,不能保证产生3D一致的关键点。此外,这将关键点与特定描述子联系在一起,使下游使用变得复杂。在这项工作中,直接从3D一致性中学习关键点。为此,作者训练检测器来检测大规模SfM中的轨迹。由于这些点往往过于稀疏,作者推导出一个半监督的双视图检测目标,以将该集扩展到所需的检测数量。为了训练描述子,作者使用单独的网络在关键点上最大化相互最近邻目标。结果表明,作者的方法DeDoDe在多个几何基准上实现了显著的增益。 


Introduction

概括性地介绍了局部特征匹配在3D重建中的重要作用,以及关键点检测这一关键步骤的挑战所在。指出之前基于学习的方法通常将关键点检测作为描述子互相最近邻的二值分类任务,这种代理任务无法保证检测到的点在不同视角下是3D一致的。同时这种方式也将关键点与特定描述子绑定,限制了下游使用。

本文的主要贡献

1、通过直接从大规模SfM重建中学习检测3D一致关键点,而不依赖描述子代理。并将关键点检测与描述子学习解耦。
2、简要介绍了检测器和描述子的训练方法,检测器从3D轨迹中学习,描述子在检测到的关键点上优化最近邻负对数似然损失。
3、通过实验展示了DeDoDe在多个基准测试上取得了新的最佳性能,显著超过以前的检测器+描述子方法和端到端匹配方法。
4、论述了将检测器和描述子解耦的优点,如兼容性、模块化设计便利性和性能提升等。


Related Work

作者介绍了以下几个方面的相关工作:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

0基础学PHP有多难?

php作为web端最佳的开发语言,没有华而不实,而是经受住了时间考验,是一门非常值得学习的编程语言。 目前市场上各种网站、管理系统、小程序、APP等,基本都是使用PHP开发的,也侧面反映了PHP的需求以及学习的必要性&…

11个免费的 android数据恢复应用程序功能分析

在手机上丢失数据是一个很大的错误。但是,在这种情况下,除了惊慌失措之外,最好开始使用android数据恢复应用程序搜索以查找将其取回的方法。您可以检查手机的备份存储以在Android上进行数据恢复,但是如果数据仍然无处可寻&#xf…

四川医疗废水处理一体化设备如何选型

医疗废水处理一体化设备的选型是一个综合考量的过程,需要根据医疗废水的特性、处理要求、场地条件、预算等因素来确定。以下是选型时需要考虑的关键点: 废水特性分析:医疗废水通常含有病原体、药物残留、重金属、有机物、放射性物质等污染物。…

【Unity 键盘输入检测】

【Unity 键盘输入检测】 1. Input.GetKeyDown(KeyCode key) 这个方法在玩家按下指定键的那一帧返回true。它适用于触发一次性事件,如跳跃、射击或开始菜单。 void Update() {if (Input.GetKeyDown(KeyCode.Space)){// 玩家按下了空格键,执行跳跃动作} …

jetson tx2 nx实现在ros1中yolov5实现

亲测用以下链接实现功能。 安装ros。Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)_ubuntu 18 ros melodic-CSDN博客文章浏览阅读10w次,点赞835次,收藏3.8k次。这也是我在ubuntu里面安…

完整版解答!2024年数维杯数学建模挑战赛B题

B题 生物质和煤共热解问题的研究 技术文档第一问1.1问题一分析1.2数据预处理1.3问题一Spearman相关性分析 数据代码资料获取 技术文档 第一问 1.1问题一分析 对于问题一,题目要求分析出正己烷不溶物对焦油产率、水产率、焦渣产率这三个指标是否有显著影响&#x…

flutter开发实战-log日志存储zip上传,发送钉钉机器人消息

flutter开发实战-log日志存储zip上传,发送钉钉机器人消息 当我们需要Apk上传的时候,我们需要将日志打包并上传到七牛,上传之后通过钉钉通知我们日志下载地址。 这里我使用的是loggy来处理日志 一、引入loggy日志格式插件 在工程的pubspec.…

Sqli-labs第五~八关(布尔盲注)

目录 首先找到他们的闭合方式 操作 总结: 第五关根据页面结果得知是字符型但是和前面四关还是不一样是因为页面虽然有东西。但是只有对于请求对错出现不一样页面其余的就没有了。这个时候我们用联合注入就没有用,因为联合注入是需要页面有回显位。如果…

深度学习--生成对抗网络GAN

GAN简介 让我们先来简单了解一下GAN GAN的全称是Generative Adversarial Networks,中文称为“生成对抗网络”,是一种在深度学习领域广泛使用的无监督学习方法。 GAN主要由两部分组成:生成器和判别器。生成器的目标是尽可能地生成真实的样本数…

每周打靶VulnHub靶机-DEATHNOTE_ 1

Deathnote: 1 靶机传送门 don’t waste too much time thinking outside the box . It is a Straight forward box . 不要浪费太多时间跳出框框思考问题。这是一个很直接的盒子 是不是所有线索都在这个盒子里? 1.信息搜集 使用nmap进行域内存活主机扫描发现target …

机器学习-12-sklearn案例03-flask对外提供服务

整体思路 训练一个模型,把模型保存 写一个基于flask的web服务,在web运行时加载模型,并在对应的接口调用模型进行预测并返回 使用curl进行测试,测试通过 再创建一个html页面,接受参数输入,并返回。 目录结…

一图入门LSM Tree

本图主要解释了LSM是什么,有什么用,以及为什么? 这边再进行简要总结,具体内容可以查看图片。 LSM是什么? LSM是一种存储结构,组织了数据在存储介质(磁盘)上的方式。 LSM有什么用&…

微信小程序(Taro)获取经纬度并转化为具体城市

1、获取经纬度 申请权限,想要使用微信小程序获取经纬度的方法是要申请该方面的权限。 获取经纬度的方法有很多选择其中一个使用就好。 我使用的是Taro.getFuzzyLocation() 在app.config.js中需要添加设置 requiredPrivateInfos: ["getFuzzyLocat…

线性代数的一些理解(更新中)

以前学的时候都是囫囵吞枣,能搞过就得了。现在有了点时间可以静下来看看。。 还是分成点来看吧。 1 小车运行 一个车匀速在一维坐标前行,速度是2米每秒,起始点是0。如何描述 设 𝑥(𝑡) 表示车辆在时间 &#x1d461…

【赠书活动第4期】《Rust编程与项目实战》

赠书活动 《Rust编程与项目实战》免费赠书 3 本, 收到赠书之后,写一篇 本书某一节内容 的学习博客文章。 可在本帖评论中表示参加,即可获得赠书,先到先得。学习心得博客链接,后面有空发上来。 赠书截止日期为送出3…

使用FFmpeg处理RTSP视频流并搭建RTMP服务器实现图片转直播全流程

目录 一、FFmpeg安装与配置教程二、搭建并配置Nginx RTMP服务器三、从RTSP视频流提取帧并保存为图片四、将图片序列转换为视频五、将视频推送为直播流六、将图片序列推送为直播流 在实时音视频领域,我们经常需要处理从各种源(如摄像头)获取的…

Ansible的安装与配置

Ansible的安装与配置 1. 安装ansible # ansible是epel源提供的,所以必须安装epel: [rootRocky9 ~]# yum -y install epel-release Last metadata expiration check: 0:01:53 ago on Tue 26 Dec 2023 10:05:34 PM CST. Dependencies resolved. Package …

微信小程序原生组件使用

1、video组件使用 <view class"live-video"><video id"myVideo" src"{{videoSrc}}" bindplay"onPlay" bindfullscreenchange"fullScreenChange" controls object- fit"contain"> </video&g…

Kubernetes: 从零开始理解K8s架构

目录 一、简介 二、Kubernetes 架构原理 2.1 控制平面 2.2 Node 组件 2.3 Container Image 2.4 kubelet 2.5 Cluster 三、服务调用 四、总结 一、简介 Kubernetes 是一个开源的容器编排系统&#xff0c;用于自动化应用容器的部署、扩展和管理。它是Google基于Borg…

Yolov8目标检测——在Android上部署Yolov8 tflite模型

1. 简介 YOLOv8 是一种用于目标检测的深度学习模型&#xff0c;它是 YOLO&#xff08;You Only Look Once&#xff09;系列的最新版本之一。YOLO 系列因其高效和准确性而在计算机视觉领域非常受欢迎&#xff0c;特别是在需要实时目标检测的应用中&#xff0c;如视频监控、自动…