周报-231017

学习内容

1.论文

2.深度学习(174 / 174)


学习时间

2023.10.11 — 2023.10.17


学习笔记

论文

本文是 2023 年 ICCV 上发表的一篇论文。

团队有郭裕兰等教授。

Abstract

在文档的摘要(Abstract)中,作者介绍了一种名为2D3D-MATR(Two-Domain Three-Dimensional Matching with Attentive Transformer)的新方法,用于解决2D图像与3D点云之间的关键点匹配问题。这个方法旨在提高在不同传感器数据(2D图像和3D点云)之间的准确特征匹配,从而用于定位、SLAM(Simultaneous Localization and Mapping)等应用。

作者首先解释了该问题的挑战,包括传感器噪声、尺度差异和特征不一致性等问题。然后,他们提出了2D3D-MATR方法,该方法利用了Transformer网络,以一种自动学习的方式来执行特征匹配。这个方法将2D图像的关键点和3D点云中的点特征嵌入到一个共同的特征空间中,并采用注意力机制来优化匹配。作者还提到了他们使用的数据集和评估标准,并展示了该方法在实验中的优越性能。

总的来说,2D3D-MATR是一种用于解决2D图像和3D点云之间关键点匹配问题的新方法,它具有广泛的应用前景,包括机器人导航、增强现实和虚拟现实等领域。

Introduction

Introduction部分分为四个段落。以下是每个段落的总结:

第一段:该段介绍了2D图像与3D点云之间的关键点匹配问题,强调了其在计算机视觉和机器人领域的重要性。作者提出了关键点匹配的挑战,如传感器差异、尺度变化和噪声。他们引出了本文的主题,即使用Transformer网络来解决这一挑战。

第二段:这一段进一步讨论了传感器差异引起的关键点匹配问题。作者指出,2D图像和3D点云的特征表示方式存在不一致性,这导致了匹配的复杂性。他们还提到了现有方法的局限性,如几何方法和学习方法的不足之处。

第三段:在这一段,作者介绍了注意力机制(Attention Mechanism)的重要性,这在Transformer网络中被广泛使用。他们强调了Transformer网络能够通过学习特征之间的相关性来提高关键点匹配的准确性。此外,作者还提到了深度学习和自动特征匹配的潜力。

第四段:最后一段总结了本文的贡献,包括提出了2D3D-MATR方法来解决2D图像和3D点云之间的关键点匹配问题。他们还提到了使用的数据集和评估标准,以及在实验中观察到的性能改进。这一段强调了本文的研究意义和实用性。

Related Work

Related Work部分分为六个段落。以下是每个段落的总结:

第一段:这一段介绍了2D-3D关键点匹配的相关工作,包括传统的几何方法基于深度学习的方法。作者提到了RANSAC算法、传统的几何特征和基于视觉的方法,以及它们的局限性。他们还指出了基于深度学习的方法在关键点匹配方面的潜力。

第二段:该段详细介绍了2D图像和3D点云匹配的现有方法,如PointNet、PointNet++、Deep Geometric Matching等。作者强调了这些方法的局限性,如无法处理大规模数据和高噪声。他们还指出这些方法在实际场景中的应用限制。

第三段:这一段讨论了近年来关于深度学习方法在2D-3D匹配问题上的研究。作者提到了在深度学习领域中的一些进展,如Transformer网络、基于自我监督的方法等。他们还提到了一些方法在2D-3D匹配问题上的性能改进。

第四段:在这一段,作者关注了关键点匹配的自监督学习方法,强调了这些方法通过学习自动匹配标签的方式来提高匹配准确性。他们还提到了自监督学习方法的优势,如可以在大规模数据上进行训练。

第五段:该段介绍了在匹配问题中使用Transformer网络的相关研究。作者指出,Transformer网络在自然语言处理和计算机视觉领域取得了重大进展,但在2D-3D匹配问题上的应用仍然有限。他们提到了一些尝试使用Transformer网络来解决2D-3D匹配问题的工作。

第六段:最后一段总结了相关工作中的主要挑战,包括尺度变化、传感器差异、噪声和大规模数据。作者指出这些挑战是2D-3D匹配问题的关键难题,需要新的方法来解决。这一段强调了本文的研究目标。

Method

Method部分分为多个小节。以下是每个小节的总结:

第一节:文章首先介绍了2D-3D匹配的问题定义,强调了尺度一致性和空间一致性的重要性。作者提出了一个全局最优的2D-3D匹配框架,该框架包括点匹配模块、自监督训练和几何验证。点匹配模块用于生成初始匹配,自监督训练用于学习匹配标签,而几何验证用于过滤匹配点。

第二节:这一小节详细介绍了点匹配模块,该模块由Patch2Pix和双分支CNN组成。Patch2Pix将3D点云投影到2D图像中,形成一组虚拟的2D-3D匹配点。双分支CNN用于生成匹配分数和特征描述符,以评估2D-3D匹配的可能性。

第三节:在自监督训练方面,文章使用了点匹配模块生成的虚拟2D-3D匹配对,训练一个网络来学习匹配标签。作者提出了相似性损失和非相似性损失,用于鼓励正确匹配和抑制错误匹配。这个自监督学习过程可以在大规模数据上进行。

第四节:几何验证模块用于过滤点匹配模块生成的匹配点,以提高匹配的精确性。作者介绍了PnP-RANSAC的方法,用于估计相机姿态。几何验证还包括一种新颖的全局光滑性约束,用于捕获尺度一致性和空间一致性。

第五节:本节介绍了实验的设置和结果。作者使用了多个数据集进行实验评估,并与其他现有方法进行比较。实验结果表明,他们的方法在2D-3D匹配任务上取得了显著的性能提升。

第六节:最后一小节强调了方法的优势和创新之处,包括全局最优的2D-3D匹配、自监督学习和几何验证。作者指出这些创新为解决2D-3D匹配问题带来了新的可能性。

Experiments

Experiments部分也分为多个小节。以下是每个小节的总结:

第一节:该部分介绍了作者使用的数据集,包括7Scenes、12Scenes和Pix3D等。作者还详细描述了评估指标,如正确匹配的百分比、姿态误差等。这一小节主要是为后续的实验结果提供了背景信息和评估标准。

第二节:作者对比了自己提出的方法与现有的其他方法,包括PointNet、So-Net和D3-Feat等。实验结果表明,在不同数据集上,作者的方法在正确匹配的百分比和姿态误差等方面都取得了显著的改进,证明了方法的有效性。

第三节:为了进一步验证方法的性能,作者进行了对抗性实验。通过引入噪声、删除特定信息或对数据进行扰动,作者展示了方法在各种不稳定条件下的鲁棒性。实验结果表明,作者的方法在面对各种挑战性情况下依然表现出色。

第四节:作者还进行了详细的消融实验,分析了方法中不同组件的影响。这些组件包括点匹配模块、自监督训练和几何验证。作者通过逐步去除或替换这些组件,探讨了它们对最终性能的贡献。

第五节:作者还探讨了方法的运行速度和计算资源消耗,以评估其实用性。作者指出,方法在保持高性能的同时,具有合理的计算效率,适用于实际应用中。

第六节:最后一小节总结了实验部分的发现,包括方法的性能改进、鲁棒性和有效性。作者还强调了方法在不同数据集和条件下的通用性和可扩展性。

Conclusion

Conclusion部分分为多个段落,以下是每个段落的总结:

第一段:总结了文章的主要贡献,包括提出了一个新的2D-3D匹配方法,有效地结合了图像和点云信息,实现了更准确的相机定位。作者还提到方法的通用性,适用于各种不同类型的数据集和场景。

第二段:讨论了方法的优势,强调了其在正确匹配率、鲁棒性和计算效率方面的出色表现。作者还指出了方法的潜在应用领域,如增强现实、室外导航和机器人视觉等。

第三段:提到了方法的局限性,包括对相机姿态的敏感性、对新场景的匹配性能不如对已知场景的问题以及方法中均匀分区策略的简单性。作者对这些问题提出了未来研究方向,包括引入语义信息和改进均匀分区策略。

第四段:总结了文章的主要发现和贡献,再次突出了方法的性能和通用性。作者鼓励未来的研究者进一步构建在这项工作的基础上,以推动2D-3D匹配和相机定位领域的进展。

Implementation Details

Implementation Details部分包含多个段落,以下是每个段落的总结:

第一段:该段描述了作者的方法是如何实现的,包括输入数据的预处理网络结构的设计以及损失函数的选择。作者提到了训练数据的生成方式,以及为了提高训练效率而采用的策略。

第二段:讨论了网络的训练和超参数设置,包括学习率、批量大小、优化器等。作者还提到了在训练过程中采用的一些技术,如学习率衰减和权重初始化。

第三段:描述了作者在评估性能时使用的数据集和评价指标,包括用于2D-3D匹配性能评估的标准数据集。作者还详细介绍了评价指标,如正确匹配率、特征匹配召回率和相机定位准确度。

第四段:提到了作者用于可视化和定性分析的工具和方法。作者还介绍了计算机硬件和深度学习框架的使用情况,以便其他研究者可以重现实验结果。

第五段:概述了作者的代码实现的可用性和开放性。作者强调了他们将代码和数据集公开分享的重要性,以促进学术界和工业界在这一领域的进一步研究。

Metrics

Metrics部分包含多个段落,以下是每个段落的总结:

第一段:介绍了作者用于评估2D-3D匹配性能的三种主要指标,包括正确匹配率(Inlier Ratio)、特征匹配召回率(Feature Matching Recall)和相机定位准确度(Registration Recall)。这些指标用于量化算法的性能,并帮助比较不同方法之间的差异。

第二段:详细解释了正确匹配率(Inlier Ratio)的计算方法,该指标衡量了正确匹配的比例,具体涉及了正确匹配的定义和数学计算。作者还提到了不同场景和数据集的不同阈值。

第三段:介绍了特征匹配召回率(Feature Matching Recall)的计算方法,该指标用于评估算法对关键点的匹配性能。该段讨论了如何确定正确匹配和错误匹配,以及如何计算特征匹配召回率。

第四段:描述了相机定位准确度(Registration Recall)的计算方法,该指标用于衡量算法在相机定位方面的性能。该段提到了不同数据集上的阈值,以及作者如何在实验中使用这个指标。

第五段:总结了这些指标的重要性,强调了它们在评估2D-3D匹配算法性能时的作用。作者还提到了这些指标的结果如何影响了他们的实验结论和算法的有效性。

Data Preparation

Data Preparation部分包含多个段落,以下是每个段落的总结:

第一段:介绍了作者使用的数据集,其中包括RGB-D Scenes V2和7Scenes。这两个数据集用于评估算法的性能。作者还提到了这些数据集的特点,如数据采集设备、场景类型和相机运动。

第二段:描述了如何构建RGB-D数据对,其中涉及将RGB图像与深度信息进行关联,以形成完整的数据对。这一过程涉及对数据进行后处理,以确保深度信息与RGB图像对齐。

第三段:讨论了在训练和测试期间如何构建训练对和测试对。这一过程涉及将深度帧与对应的RGB图像进行匹配,以构建用于训练和测试的数据对。

第四段:提到了数据增强技术,以增加数据集的多样性和复杂性。作者讨论了对RGB图像进行重新缩放的方法,以适应不同的数据尺寸。

第五段:总结了数据准备的重要性,以及如何确保数据集的质量和多样性对于训练和评估算法的性能至关重要。

Additional Experiments

Additional Experiments部分包含多个段落,以下是每个段落的总结:

第一段:介绍了作者在实验中使用的不同指标,包括Inlier Ratio、Feature Matching Recall和Registration Recall。这些指标用于评估算法在RGB-D Scenes V2数据集上的性能。作者还提到了不同设置下的阈值。

第二段:讨论了作者对RGB-D Scenes V2数据集的模型性能的不同实验设置,包括点云的帧数和训练数据的数量。这一部分重点关注了模型的性能和鲁棒性。

第三段:提到了作者在7Scenes数据集上的实验设置,包括数据的构建和训练。这一部分包括对不同实验条件下的性能指标的详细分析。

第四段:提供了更多的实验结果,展示了作者的方法与现有方法的性能比较。这包括与其他算法的性能对比,从而强调了作者提出的方法的优越性。

第五段:通过可视化结果,展示了作者的方法在7Scenes和RGB-D Scenes V2上的性能。这一部分突出了作者的方法在提取稠密和准确的对应关系方面的优点。

Limitations

Limitations部分包含了关于2D3D-MATR算法的一些潜在限制的讨论,以下是每个段落的总结:

第一段:作者指出,虽然2D3D-MATR算法在提高内点比率方面表现出色,但在估算对齐变换时仍然依赖于PnP-RANSAC方法。作者强调,由于2D-3D对应关系的2D误差对相机姿态非常敏感,因此在实现精确对齐时仍然需要PnP-RANSAC的辅助。

第二段:讨论了2D-3D匹配的泛化性问题。作者指出,2D-3D匹配的泛化性不如图像匹配或点云匹配那么好。这可能是由于不同模态之间的匹配更加困难,因为需要将来自不同领域的视觉信息映射到一个共同的特征空间。作者强调,这是一个潜在的限制。

第三段:作者提到了在2D3D-MATR方法中使用的统一图像块分割策略相对简单且粗糙。尽管作者使用了多尺度图像块金字塔来处理尺度歧义,但在大多数情况下,这些图像块仍然不能完全对齐。这可能导致学习这些图像块的一致特征变得更加困难,增加了精细级匹配中的冗余。作者提出了将来使用语义信息来提取图像块的可能解决方案

Abstract-h

老方法(先检测后匹配,detect-then-match)存在问题,因为关键点检测不兼容和特征描述不一致。本方法先找局部块进行粗匹配,然后在局部块里进行细致的匹配(以 pixel 和 point 为单位)。粗匹配使用 transformer,且能够跨模态。

Method-h

整体步骤为:

  • 学习多尺度 2D 和 3D 特征。利用该粗特征提取块对应关系。
  • 通过多尺度匹配模块来学习上下文约束与跨模态相关性。
  • 得到精细特征,把块对应扩展到像素级。
  • 采用 PnP-RANSAC 对齐变换。

特征解构:使用带有 FPN 的 ResNet 来生成多尺度图像特征,KPFCNN 用于学习点云特征。对于图像,得到的粗特征矩阵为 H ^ ⋅ W ^ \hat{H}\cdot\hat{W} H^W^ 的矩阵,其中的每个值对应原图像中大小为 H ⋅ W H ^ ⋅ W ^ \frac{H\cdot W}{\hat{H}\cdot\hat{W}} H^W^HW 的图像块。对于点云,将距离粗特征中某点 P ^ \hat{P} P^ 最近的原点云的点 P P P 划分给该点。

多尺度块匹配:先使用傅里叶嵌入预处理粗特征,然后使用 transformer 细化两种模式的特征,将图像特征按金字塔提取多尺度特征,使用 top-k 选择得到匹配对。

深度学习

3.3 集束搜索(Beam Search)

其实这个算法仍然是基于贪心算法

只不过每次考虑多个句子。

我们定义一个集束宽(beam width),用于表示每次考虑多少个句子。

首先输入法语句子,经过 encoder 后,开始在 decoder 输出。

假设集束宽为 3,先输出一个 softmax 层(10000),挑选前三个概率最高的单词,并把单词与概率存入内存。

然后分别对三个单词查找第二位置上的单词,分别输出一个 softmax(3*10000),计算新的概率,仍然挑选前三个存入内存…

直到输出休止符。

比如:

第一轮:“in”,“jane”,“september”

第二轮:“in september”,“jane is”,“jane visits”(注意这里舍弃了以 september 为开头的句子)

最后一轮:“jane visits africa in september.<EOS>”,“…”,“…”

输出结果:“jane visits africa in september.<EOS>”

3.4 改进集束搜索(Refinements to Beam Search)

当该算法运行时,会保存上一个留下来的概率,表达式为 a r g   m a x ∏ t = 1 T y P ( y < t > ∣ x , y < 1 > , . . . , y < t − 1 > ) arg\ max\prod_{t=1}^{T_{y}}P(y^{<t>}|x,y^{<1>},...,y^{<t-1>}) arg maxt=1TyP(y<t>x,y<1>,...,y<t1>),缺点是句子比较长的情况下,该值会非常小以至于下溢。

解决方法为使用对数,同时还有第二个缺陷:长句子惩罚(长句子的概率会很低,因为项数多),解决方法为除以本句子的单词数量,这样就减小了长句子惩罚,表达式为 a r g   m a x 1 T y ∑ t = 1 T y log ⁡ P ( y ∣ x , y < 1 > , . . . , y < t − 1 > ) arg\ max\frac{1}{T_{y}}\sum^{T_{y}}_{t=1}\log{P(y^{}|x,y^{<1>},...,y^{<t-1>})} arg maxTy1t=1TylogP(yx,y<1>,...,y<t1>)

在实际应用中,Beam width 一般不会很大,而且在低值增加时提升很明显。

3.5 集束搜索的误差分析(Error analysis in beam search)

当输出了不理想的结果时,如何找到是集束搜索的问题,还是 RNN 模型的问题呢?

可以通过观察 P ( y ∣ x ) P(y|x) P(yx),比对模型输出句子的概率预期句子的概率,预期大,则是集束搜索的问题,需要增大 beam width,预期小,则是 RNN 模型的问题。

可以采取一部分的样本,分别进行测试,最后按错误占的比例来决定如何修改。

3.6 Bleu 得分(Bleu Score(optional))

如图,查看 n 元词组在输出句中是否出现,出现了就能加分,不过不能超过原句子中这个词组出现的次数

最终如何计算:

计算 p1-p4,然后求平均,算 exp,结合 BP(brevity penalty)惩罚(对过短的句子进行惩罚)

BP 为 1, i f   M T _ o u t p u t _ l e n g t h > r e f e r e n c e _ o u t p u t _ l e n g t h if \ MT\_output\_length > reference\_output\_length if MT_output_length>reference_output_length

BP 为 e x p ( 1 − M T _ o u t p u t _ l e n g h / r e f e r e n c e _ o u t p u t _ l e n g t h ) exp(1-MT\_output\_lengh/reference\_output\_length) exp(1MT_output_lengh/reference_output_length)

在这里插入图片描述

3.7 注意力模型直观理解(Attention Model Intuition)

看一部分,再输出一部分。在沿着时间步传递的过程中,对于每个准备生成的词,需要输入序列中每个单词的注意力权重。

从而根据权重输出结果。

这张图中,底层是一个双向 RNN,用于读取输入的法语文本。

顶层是一个 decoder,用于输出翻译结果。在输出 S < 3 > S^{<3>} S<3> 时,需要 S < 2 > S^{<2>} S<2> α < 3 , t > \alpha^{<3,t>} α<3,t> 作为输入。Alpha 为所有词的注意力权重。

在这里插入图片描述

3.8 注意力模型(Attention Model)

C < t > C^{<t>} C<t> 表示在输出中,第 t 步的上下文,在单向 RNN 中,输入是 C C C S S S α < t , t ′ > \alpha^{<t,t^{\prime}>} α<t,t> 表示 y < t > y^{<t>} y<t> 时需要多少 a < t ′ > a^{<t^{\prime}>} a<t>

α < t , t ′ > \alpha^{<t,t^{\prime}>} α<t,t> 求法如下图,把前一步的 S < t − 1 > S^{<t-1>} S<t1> 和输入 RNN 某步中的特征 a < t ′ > a^{<t^{\prime}>} a<t> 作为输入进行训练,得到 e < t , t ′ > e^{<t,t^{\prime}>} e<t,t>(输出 softmax 层),最后得到 α < t , t ′ > \alpha^{<t,t^{\prime}>} α<t,t>

本算法的时间复杂度为 O ( n 3 ) O(n^{3}) O(n3),假设输入 p 个单词,输出 q 个单词,注意力参数为 p*q 个,因此复杂度为三次方,不过在序列训练中影响不大。

建议看看截图中的第二篇论文,讲了注意力机制推广到深度学习的其他部分。
∑ t ′ α < 1 , t ′ > = 1 C < 1 > = ∑ t ′ α < 1 , t ′ > a t ′ \sum_{t^{\prime}}\alpha^{<1,t^{\prime}>}=1 \\ C^{<1>}=\sum_{t^{\prime}}\alpha^{<1,t^{\prime}>}a^{t^{\prime}}\\ tα<1,t>=1C<1>=tα<1,t>at
在这里插入图片描述

3.9 语音识别(Speech recognition)

第一阶段,通过人手作音位(phonemes)来构建语音识别系统。在音频片段中,麦克风的作用是测量出微小的气压变化,而人的耳朵可以感知这种变化。

而音位处理与人耳所做的计算十分相似。

第二阶段,免去人工设计,使用注意力模型,按照音频的时间帧作为输入,字母作为输出,得到结果,不过一般来讲字母会非常少。

因此也可以使用 CTC cost(Connectionist temporal classification)来解决这个问题。输入仍然是时间帧,输入与输出一对一,不过可以重复输出字母空白符,然后再合并折叠即可。

3.10 触发字检测(Trigger Word Detection)

先提取音频的特征,然后把每个特征向量输入,在有关键字的时间步上输出 0,在无关键字的时间步上输出 1,通过这种方式进行训练。

在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值