最强特征点检测算法 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.mzph.cn/bicheng/12204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网安热议 | 中小企面临什么网络安全困扰?中小企网络安全是不是智商税?

近日,Coro 公司表示,许多中小型企业的 IT 人员被开发安全工作中多工具操作的复杂性和安全需求,压得“喘不过气”,导致其可能错过很多关键安全事件告警信息,从而将公司的网络安全置于危险之地。 研究机构采访了美国多行…

Python基本统计分析

常见的统计分析方法 import numpy as np import scipy.stats as spss import pandas as pd 鸢尾花数据集 https://github.com/mwaskom/seaborn-data df pd.read_csv("iris.csv",index_col"species") v1 df.loc["versicolor",:].petal_lengt…

比大小(打擂台)(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//声明比较大小函数max; int max(int a, int b);int main() {//初始化变量值&#xff1b;int i, n, m, a[10];//填充数组&#xff1b;printf("请输入10个数…

数据结构选择题(期末)

1.给定NN的二维数组A&#xff0c;则在不改变数组的前提下&#xff0c;查找最大元素的时间复杂度是&#xff08;A&#xff09;&#xff1a; A.O(N2) B.O(NlogN) C.O(N) D.O(N2logN) 两重循环即O(N2)的时间复杂度 2.与数据元素本身的形式、内容、相对位置、个数无关的是数据的…

MIT 6.5840(6.824) Lab1:MapReduce 设计实现

1 介绍 本次实验是实现一个简易版本的MapReduce&#xff0c;你需要实现一个工作程序&#xff08;worker process&#xff09;和一个调度程序&#xff08;coordinator process&#xff09;。工作程序用来调用Map和Reduce函数&#xff0c;并处理文件的读取和写入。调度程序用来协…

晶振在电子设备中的作用是什么?

在无源晶振电路中&#xff0c;并联电阻起着至关重要的作用。无源晶振本身不能自行产生振荡&#xff0c;因此需要借助外部电路来实现。并联在晶振两端的电阻&#xff0c;通常称为负载电阻&#xff0c;对电路的稳定性和振荡性能有着重要影响。 晶振电路的核心是皮尔斯振荡器&…

mysql根据字段值关联查不同表

mysql根据字段值关联查不同表&#xff1a; 实现&#xff1a; 使用left join 结合case when 判断直接取值&#xff1a; select mp.member_id ,mp.store_id, case mp.store_type when 1 then bs.store_namewhen 2 then sc.store_namewhen 3 then be.store_name end as store_na…

string类篇超超超详解,40余个成员函数详细解释(图文)!看完包会!!

本篇目标 constructoroperatorElements accessIteratorsCapacityModifiersString operationsmember contants其他函数 一、constructor(对象的创建) void StrTest1() {string s1;//直接构造cout << s1 << endl;//string里内置了流插入、流提取的函数重载&#xf…

Naive RAG 、Advanced RAG 和 Modular RAG 简介

简介&#xff1a; RAG&#xff08;Retrieval-Augmented Generation&#xff09;系统是一种结合了检索&#xff08;Retrieval&#xff09;和生成&#xff08;Generation&#xff09;的机制&#xff0c;用于提高大型语言模型&#xff08;LLMs&#xff09;在特定任务上的表现。随…

使用 Python 批量重命名文件

在日常工作或学习中,我们经常需要对大量文件进行重命名。手动操作一个一个改名既费时又费力,这时候可以使用 Python 脚本来自动完成这项任务。 本文将介绍一个使用 Python 的简单脚本,可以帮助您批量重命名指定目录下的所有文件。 脚本分析 import osdef batch_rename_fi…

深入解析RedisJSON:在Redis中直接处理JSON数据

码到三十五 &#xff1a; 个人主页 JSON已经成为现代应用程序之间数据传输的通用格式。然而&#xff0c;传统的关系型数据库在处理JSON数据时可能会遇到性能瓶颈。为了解决这一问题&#xff0c;Redis推出了RedisJSON模块&#xff0c;它允许开发者在Redis数据库中直接存储、查询…

产品推荐 | 基于 AMD Virtex UltraScale FPGA VCU1287 的特性描述套件

01 产品概述 VCU1287 功能描述套件可为您提供描述和评估 Virtex™ UltraScale™ XCVU095-FFVB2104E FPGA 上可用 32 GTH (16Gbps) 和 32 GTY (30Gbps) 收发器所需的一切功能。每个 GTH 与 GTY Quad 及其相关参考时钟均从 FPGA 路由至 SMA 及 Samtec BullsEye 连接器。 Bulls…

好题总结汇总

好题总结汇总 总结一些做完很有收获的题。 一、经典问题 DP的结合 1、题意&#xff1a; 给定 n n n 种颜色的球的数量 a 1 , a 2 , . . . , a n a_1, a_2, ..., a_n a1​,a2​,...,an​&#xff0c;选出一些不同种类的球(也就是在n种球中选球的任意情况)&#xff0c;将球…

TCP的滑动窗口机制和流量控制

目录 滑动窗口 流量控制 拥塞控制 滑动窗口 TCP除了保证可靠性之外&#xff0c;也希望能够尽可能高效的完成数据传输。滑动窗口就是一种提高效率的机制。以下是不引入滑动窗口的数据传输过程&#xff1a; 可以看到&#xff0c;主机A这边每次收到一个ACK才发送下一个数据。这…

为什么cca门限和tx 功率有关系

Cca是用来决定信道是否繁忙&#xff0c;好像只和收有关。 但是为什么和tx有关。 设想一下这个网路布局。 如果某个STA在决定是否发送的时候&#xff0c;是否不能只看收到的干扰多大&#xff0c;还应该“冒险”一下&#xff0c;如果自己的功率足够&#xff0c;那么就可以扛住干…

Prometheus 服务发现 添加标签

在Prometheus中添加标签可以采用Relabel Config的方式&#xff0c;通过在配置文件中编写relabel_config模块来定义要给哪些目标添加标签&#xff0c;该模块可以实现筛选、替换、修剪、添加等不同的转换操作。 下面是一个添加标签的例子&#xff0c;该例子将添加标签“env: stag…

【经验03】spark处理离线数据速度缓慢遇到的坑

两张表关联 A表有15亿数据,B表有6亿数据 语句大概的意思如下: select a.* from A as a left join B as b on (a.id = b.id and a.id2 = b.id2); 运行了4个小时还没出结果。 增加了spark的参数,增加了RAM和并行设置。都不太好使。 最后发现是关联字段类型不一致导致。…

MySQL索引(一)

什么是MySQL索引 MySQL的索引是一种用于加速数据查询的数据库结构。它类似于一本书的目录&#xff0c;通过建立索引&#xff0c;MySQL可以更快速地定位和检索所需的数据&#xff0c;从而提高查询的效率。索引的基本原理是为数据列创建一个数据结构&#xff08;通常是B树或哈希…

MyBatis的注解实现复杂映射开发

xml 配置方式实现复杂映射回顾 ​ 实现复杂映射我们之前可以在映射文件中通过配置来实现&#xff0c;使用注解开发后&#xff0c;我们可以通过 Results 注解&#xff0c;Result 注解&#xff0c;One 注解和 Many 注解组合完成复杂关系的配置。 注解说明Results代替的是标签 …

软考时间;软考和计算机等级考试的区别是什么;计算机职称评审主要考什么证书

目录 软考时间 软考和计算机等级考试的区别是什么 计算机职称评审主要考什么证书 软考时间 <