GIM: Learning Generalizable Image Matcher From Internet Videos

2024-06-23 23:04

本文主要是介绍GIM: Learning Generalizable Image Matcher From Internet Videos,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引用格式】:Shen X, Yin W, Müller M, et al. GIM: Learning Generalizable Image Matcher From Internet Videos[C]//The Twelfth International Conference on Learning Representations. 2023.

网址https://arxiv.org/pdf/2402.11095

开源代码】:https://github.com/xuelunshen/gim

目录

一、瓶颈问题

二、本文贡献

三、解决方案

1. self-training

1.1 Multi-method matching(多方法匹配)

1.2 Label propagation(标签传播)

1.3 Strong data augmentation(数据增强)

2. ZEB: Zero-shot Evaluation Benchmark For Image Matching

四、实验结果

 1、主要结果

1.1 零样本匹配性能的比较结果

1.2 双视图几何

1.3 多视图重建

1.4 域内性能

2. 消融实验

3. 应用

3.1 单应性估计

3.2 视觉定位


一、瓶颈问题

  1. 现有的基于学习的图像匹配方法在特定数据集上表现良好,但在现实世界图像泛化能力不足,特別是在面对不同场景类型时。【泛化能力差】
  2. 现有图像匹配数据集的多样性和规模有限。【数据集局限】
  3. 依赖于RGBD扫描或SfM+MVS的数据集构建方法效率有限,不适合大规模数据和模型训练。【方法局限】

二、本文贡献

  1. 提出了GIM,一个自训练框架,用于学习基于任何使用互联网视频的图像匹配框架的单个可泛化模型。
  2. 提出了一种用于图像匹配的零样本评估基准ZEB。

三、解决方案

    文中指出,训练图像匹配模型需要多视图图像和ground-truth对应关系,数据多样性和规模是其他计算机视觉问题中可泛化模型的关键。为此,文中提出了一个利用互联网视频的自训练框架GIM,基于任何图像匹配架构学习单个可泛化模型。

    GIM可以使用各种视频,但由于互联网视频自然多样且几乎是无限的,文中采用了来自YouTube的50小时的视频,涵盖了26个国家、43个城市、各种闪电条件、动态对象和场景类型。

    标准图像匹配基准由RGBD或COLMAP(SfM+MVS)创建。但是,RGBD扫描需要对场景进行物理访问,很难从不同的环境中获取数据。COLMAP对于视图覆盖密集的地标型场景是有效的,但是它的效率有限,并且在具有任意运动的野外数据上往往失败。尽管目前已有的数据集中有数百万个图像,但由于数千个图像来自一个小场景,多样性是有限的。与之相比,互联网视频不是以地标为中心的,一个小时的旅游视频通常涵盖几公里的范围,并且具有广泛的传播视点,视频中的时间信息还允许我们显著增强监督信号。

1. self-training

    从视频数据中学习的一种简单方法是使用标准的基于COLMAP生成标签;通过文中实验证明它是低效的,并且容易在野外视频中失败。为此,GIM依赖于自训练,首先在标准数据集上训练模型,然后利用训练模型的增强输出(视频)来提高相同架构的泛化能力。

1.1 Multi-method matching(多方法匹配)

    GIM框架首先选定一个图像匹配框架,并在标准的领域特定数据集上进行训练,来获得一个基础模型,作为“基础标签生成器”。对于每个视频,GIM均匀地采样图像,每隔20帧采样一次,以减少冗余。对于每个采样得到的帧X,GIM生成帧X与X+20、X+40和X+80之间的基础对应关系。这些对应关系通过在基础标签生成器的输出上运行鲁棒拟合算法【MAGSAC: Marginalizing Sample Consensus】来得到,实现过滤掉异常值的目的。最后通过融合不同方法生成的对应关系,GIM能够创建一个更加密集和可靠的对应关系集合。

1.2 Label propagation(标签传播)

    标签传播目的是利用视频中帧之间的密集对应关系,将已经确定的对应关系从近邻帧扩展到更远的帧,从而增强帧信号并提高模型的泛化能力。文中定义C^{AB}\in \left \{ 0,1 \right \} ^{r^{A}\times r^{B}}作为图像I^{A}I^{B}之间的对应关系矩阵,其中r^{A}r^{B}分别是I^{A}I^{B}中的像素数。矩阵中的元素c_{ij}^{AB}=1表示I^{A}中的第i个像素与I^{B}中的第j个像素对应。通过给定的两幅图对应关系C^{AB}C^{BC},来获得对应关系C^{AC}。对于C^{AB}中的每个非零元素c_{ij}^{AB},如果在C^{BC}中也存在一个c_{j'k}^{BC}=1,并且IB中的j和j'之间的距离小于1像素,则在C^{AC}中设置c_{ik}^{AC}=1,故I^{A}I^{C}在位置(i,k)上存在对应关系。

    为了获得强监督信号,文中设置,只要两幅图像之间存在超过1024个一应关系,就尽可能远地传播这些对应关系,传播是在每个采样帧(20帧间隔)上单独执行的。在每个传播步骤之后,文中将具有对应关系的每个图像对的帧间隔加倍。例如,最初文中在每个 20、40 和 80 帧之间都有基本对应关系。经过 1 轮传播后,文中将每 20 帧的基本对应关系传播到每 40 帧,并将传播的对应关系与基本对应合并。现在文中有了每 40 帧的合并对应关系,文中执行相同的操作来为每 80 帧生成合并的对应关系。由于文中没有超过 80 帧的基本对应关系,因此剩余的传播轮次不执行合并操作并保持帧间隔加倍,直到文中没有超过 1024 个对应关系。文中强制最小对应数为1024,目的是为了使模型不偏向于困难或容易的样本。

1.3 Strong data augmentation(数据增强)

    数据增强是为了在训练过程中提供更好的监督信号,帮助模型学习到更加鲁棒的特征表示。文中在处理视频数据时,对于每对视频帧,文中在现有方法中使用的标准增强之外执行随机透视转换,以达到缓解两个视频帧的相机模型相同且相机大多位于正面,没有太多的滚动旋转的问题。

2. ZEB: Zero-shot Evaluation Benchmark For Image Matching

    现有的图像匹配框架通常在同一域内数据集 (MegaDepth 上训练和评估模型用于室外模型和 ScanNet用于室内模型)。为了分析单个模型对野外数据的鲁棒性,文中通过合并8个真实数据集和4个具有不同图像分辨率、场景条件和视图点的模拟数据集来构建一个新的评估基准ZEB。

    对于每个数据集,文中从5个图像重叠率(从10%到50%)中统一采样大约3800个评估图像对。因此,最终的 ZEB 基准包含来自各种场景和重叠比的 46K 评估图像对,与现有方法中使用的 1500 个域内图像对相比,其多样性和规模要大得多。

    下面实验的度量标准:

    按照标准评估协议 ,文中报告了 5° 内相对位姿误差的 AUC,其中位姿误差是旋转角误差和平移角误差之间的最大。相对位姿是通过使用图像匹配方法和RANSAC的输出对应关系来估计基本矩阵来获得的。遵循零样本计算机视觉文献【Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer】,文中还提供了 12 个跨域数据集的平均性能排名。

四、实验结果

 1、主要结果

1.1 零样本匹配性能的比较结果

1.2 双视图几何

1.3 多视图重建

​​​​​​​​​​​​​​1.4 域内性能

域内数据仍然可以取得整体最好的性能(室内室外平均)

2. 消融实验

3. 应用

3.1 单应性估计

3.2 视觉定位

这篇关于GIM: Learning Generalizable Image Matcher From Internet Videos的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088527

相关文章

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

IMAGE LIST

   CImageList就是一个容器,用来存储图片资源,方便这些资源被CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl,CListCtrl等使用。      要使用CImgeList首先要使用它的create函数:      一般用的比较多的是这一个函数,当然,它还有很多重载,自己可以去翻阅msdn.       BOOL

【vscode】vscode paste image插件设置

本文首发于 ❄️慕雪的寒舍 vscode编辑md文件的时候,如果想插入图片,自带的粘贴只会粘贴到当前目录下,也没有文件重命名,很不友好。 在扩展商店里面有mushan的Paste Image插件,相比自带的,更加友好一点。但是它的配置把我弄糊涂了,简单测试了一下才明白处理的逻辑。 注意,本文编写的是对mushan的Paste Image插件的教程。 首先是安装这个插件,这个不多说

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

pytorch时空数据处理4——图像转文本/字幕Image-Captionning(二)

pytorch时空数据处理4——图像转文本/字幕Image-Captionning(二) pytorch时空数据处理4——图像转文本/字幕Image-Captionning(二)DatasetInputs to modelCaption LengthsData pipelineEncoderAttentionDecoder代码数据集初始化 create_input_files.py训练 tr

Learning Temporal Regularity in Video Sequences——视频序列的时间规则性学习

Learning Temporal Regularity in Video Sequences CVPR2016 无监督视频异常事件检测早期工作 摘要 由于对“有意义”的定义不明确以及场景混乱,因此在较长的视频序列中感知有意义的活动是一个具有挑战性的问题。我们通过在非常有限的监督下使用多种来源学习常规运动模式的生成模型(称为规律性)来解决此问题。体来说,我们提出了两种基于自动编码器的方法,以

Show,Attend and Tell: Neural Image Caption Generation with Visual Attention

简单的翻译阅读了一下 Abstract 受机器翻译和对象检测领域最新工作的启发,我们引入了一种基于注意力的模型,该模型可以自动学习描述图像的内容。我们描述了如何使用标准的反向传播技术,以确定性的方式训练模型,并通过最大化变分下界随机地训练模型。我们还通过可视化展示了模型如何能够自动学习将注视固定在显着对象上,同时在输出序列中生成相应的单词。我们通过三个基准数据集(Flickr9k,Flickr

Docker Image 命令

文章目录 目录 文章目录 1 . Docker镜像是什么? 2 . 镜像命令详解 docker images docker tag docker pull docker rmi  docker save 总结 1 . Docker镜像是什么? Docker image 本质上是一个 read-only 只读文件, 这个文件包含了文件系统、 源码、库文件、依赖、工具等一些