c语言sscanf函数的用法是什么
237
2022-11-15
Pri3D:一种利用RGB-D数据固有属性完成3D场景感知的表示学习方法
Pri3D:Can 3D Priors Help 2D Representation Learning? (ICCV2021)
代码地址:learning)是深度学习领域中一个比较重要的内容,字面上理解就是表示或者编码数据的一种形式,又叫做特征学习。本文探索了3D先验能否对2D表示学习性能产生影响。在图像领域,已经在大量数据集上证明对网络进行预训练可以提高针对各种应用的性能。特别是用于从相似或不相似的数据对中进行表示学习的对比学习框架已显示出令人难以置信的潜力。
目前很多基于学习的方法在3D场景语义理解方面取得了快速进展,特别是在3D语义分割、3D对象检测和3D语义实例分割任务中。这些方法通过几何要素,利用点、体素或网格的表示来获得准确的3D语义。同时这些方法的成果也促进了工程应用的发展,例如机器人技术中的基于深度信息的场景理解,以及增强现实或虚拟现实。同时,大量新的RGB-D数据集的出现也进一步推动了该领域的研究。
与仅仅基于2D图像的学习相比,直接在3D空间中进行学习的一个优势是3D方法在3D度量空间中执行,因而没有必要过多关注与视图相关或投影映射的影响。因此可以实现在相对较短的时间内从头开始训练3D神经网络,并且通常需要相对少量的训练样本;例如,可以使用来自ScanNet的大约1000个场景来训练最先进的3D神经网络。作者的主要想法就是利用3D方法中的这些优势,以3D先验的形式进行基于图像的场景理解。
同时,我们也已经看到图像域中表示学习的巨大进步,这主要得益于最近基于对比学习的方法的成功。2D表示学习的探索很大程度上依赖于实例判别范式,其中同一实例的不同增强样本通常被认为彼此更加靠近。例如,可以从随机裁剪、翻转和缩放以及颜色抖动等低级增强中编码不同的不变性。然而,尽管普遍认为3D视图不变性是视觉系统的基本属性,但很少有研究将3D先验知识和2D表示学习联系起来。而本篇作者工作的目标就是探索对比表示学习与3D先验的结合,并为题目中提出的问题提供一些初步依据:3D先验知识可以帮助2D表示学习吗?
图1 Pri3D将3D先验用于下游2D图像理解任务:在预训练期间,可以将RGB-D数据集给出的颜色几何信息的视图不变性和几何先验结合起来,将几何先验融入到特征学习过程。实验表明,这些3D的特征学习可以有效地转移到2D任务(如语义分割、对象检测和实例分割)并明显改进其性能。
受3D场景理解发展的启发,作者将学习到的几何先验引入基于图像的视觉任务的表示学习,利用稀疏卷积backbone用于预训练期间使用的3D特征。作者提出的Pri3D,旨在预训练阶段学习3D先验知识,然后将它们用作初始化,以对基于图像的下游任务(如语义分割、检测和实例分割)进行微调。更具体地说,作者将几何约束引入到对比学习框架,该过程是通过现成的多视图RGB-D数据实现的,然后通过不同图像之间的隐式多视图约束以及对应于图像区域的几何块的显式对应关系来合理利用几何相关性。将几何知识输入到图像的表示学习中,然后可以将其用作各种基于图像的视觉任务的预训练特征。
本文的核心思想是在预训练过程中加入3D先验,其约束是在对比损失公式下应用的。通过利用现有RGB-D数据集中的多视图和图像几何对应关系来学习视图不变和几何感知表示。主要贡献如下:
(1)首次探索3D先验知识对2D图像理解任务的影响,展示了3D几何预训练对复杂2D感知(如语义分割、对象检测和实例分割)的好处。
(2)提出一种新的预训练方法,基于3D引导的视图不变约束和来自对应颜色信息的几何先验,通过学习可以转移到2D表示的特征,补充和改进了跨多个数据集的图像理解任务。
2核心思想
Pri3D的关键思想是利用RGB-D重建的约束将3D先验嵌入基于图像的表示中。从RGB-D序列的数据集中,每个序列分别由深度{Di}和颜色帧{Ci}以及从SLAM中自动计算的6-DoF相机位姿对齐{Ti}组成(从相机坐标映射到世界坐标),所有这些都可以用来重建的3D几何表面S。作者观察到正好可以利用多视图约束来学习视图的不变性,而无需昂贵的语义标记过程。此外,通过在RGB-D扫描中获得的几何图形给出的几何表示来学习特征,同样不需要人工注释。对于这两个发现,作者使用最新的对比学习来限制多模态输入进行训练。作者也展示了这些先验可以嵌入到基于图像的表示中,这样学习的特征可以用作纯粹基于图像的感知任务的预训练特征;即,可以对单个RGB图像执行图像分割或实例分割等任务,流程如图2所示。
图2方法概述。在预训练期间,使用RGB-D重建中的几何约束来学习基于图像表示的3D先验。具体来说,作者提出了一种对比学习公式,该公式对多视图对应(视图不变对比损失)以及几何到图像对齐(几何先验对比损失)进行建模。Pri3D的预训练策略将几何先验嵌入到表示学习中,可进一步用于下游的2D图像理解任务。
A.视图不变学习:
在2D对比预训练算法中,可以通过各种数据增强来寻找正匹配对(positive matching)。例如,可以使用随机裁剪作为同一图像内的自监督约束,用于正对(positive pairs),并将与来自其他图像的对应裁剪区域作为负对(negative pairs)。这里作者认为,有了可用于训练的3D数据,就可以利用几何知识在具有相同点的多个图像之间进行匹配约束。这里作者使用了ScanNet RGB-D数据集,该数据集提供了一系列RGB-D图像,其中相机位姿由最新的SLAM方法计算,并重建了几何表面S。
对于训练集中给定的RGB-D序列,所提方法利用3D数据来查找2D帧之间的像素级对应关系。对于RGB-D序列的所有帧对(i,j),将帧i的深度图Di反向投影到相机空间,并通过Ti将点转换到世界空间。帧j的深度值类似地转换为世界空间。然后将两个帧之间的像素对应关系确定为3D世界坐标中彼此相距2厘米以内的像素对应关系(见图3)。
图3 通过几何寻找不同帧之间的对应关系,将世界空间作为中转站。
对于成对的每个图像,使用上述像素到像素的对应关系,这些对应关系参照相同的空间3D点。由于照明效果与视图相关,因此这些对应关系可能具有不同的颜色值,但都代表相同的3D世界位置;此外,由于视角不同,对应关系周围的区域看起来也不同。以这种方式,作者将这些对应关系视为对比学习中的正样本;同时使用所有不匹配的像素作为负样本。将具有n对对应关系的帧对作为正样本,作者使用n(n-1)个负对样本(即来自第一帧的n个像素与来自第二个帧的n-1个不匹配像素)。不匹配的像素体素的定义与像素定义类似,区别在于是来自同一对帧还是3D体素块。
在匹配和不匹配像素位置的特征之间,作者设计了一个PointInfoNCE损失,定义为:
B.几何先验:
除了多视图约束之外,作者还在训练期间利用了RGB-D数据固有的几何颜色对应关系。对于RGB-D训练序列,几何颜色对应关系是通过重建表面S与RGB序列帧相关联来给出。对于每一帧i,计算它在世界空间中的view frustum。然后从view frustum的轴对齐包围盒裁剪S的体积块Vi。这里将Vi表示为距离表面2cm分辨率的体积所占用的网格,并考虑成对的颜色和几何块(Ci,Vi)。最后应用(Ci,Vi)中的像素-体素对应关系进行对比学习,所有匹配的像素-体素对都是正数,所有不匹配的像素-体素对都是负数。最后应用PointInfoNCE损失,fi作为像素的2D特征,fj是其3D对应的特征向量,M是2D-3D像素-体素对应对的集合。
C.联合学习:
该方法不仅可以在训练期间单独利用视图不变约束和几何先验,还可以从这两种约束的组合中进行联合学习。该过程可以使用共享的2D网络和3D网络backbone。
3实验环节:
A.实验细节:
本文的方法旨在通过利用视图不变和几何先验约束将3D先验嵌入到2D表示学习中。实验环节主要利用RGB-D数据集进行预训练和对下游2D场景理解任务进行微调。其中预训练主要分为两部分进行:第一阶段,Pri3D编码器初始化。经验发现,对于预训练阶段,编码器网络的良好初始化对于提高学习的鲁棒性至关重要。第二阶段,在ScanNet上进行Pri3D预训练。所有预训练方法是通过RGB-D数据序列中固有的几何和颜色信息实现的。两个阶段都需要一个能够为网络架构提供单独像素或3D点特征的特征提取器,因为正匹配和负匹配是在2D像素或3D空间上进行定义的。
图4 ScanNet和 NYUv2上的 2D 语义分割的定性结果。通过对 3D 先验进行编码,获得了更好的分割结果,特别是在对象出现外观变化的情况下。
通过在基于图像的下游场景理解任务上对框架进行微调来评估本文的Pri3D模型。使用两个数据集,ScanNet和NYUv2,以及语义分割、对象检测和实例分割三个任务。
为了验证3D先验对2D表示学习有用的观点,作者将所提方法与相关baseline进行基准比较。所有实验旨在证明Pri3D学习将3D先验嵌入到2D表示中,可以提高下游任务性能
B.ScanNet
实验第一部分使用通过Pri3D学习的预训练网络权重,并对ScanNet图像上的2D语义分割、对象检测和实例分割任务进行微调,证明了使用3D几何先验对表示学习的有效性。
图4 ScanNet(ResNet50Backbone)上的数据学习。当使用100%可用于语义分割的数据进行微调时,预训练可以胜过有监督的ImageNet预训练。
其中在2D分割任务上的表现如表1所示,表1也展示了所提方法在标准ResNet50Backbone和较小的ResNet18Backbone上的适用性。
表1 ScanNet上的2D语义分割。与ImageNet预训练相比,使用Pri3D预训练模型进行微调可以显着改善结果。度量标准是mIoU。
表2 ScanNet上的2D检测。与ImageNet预训练和强大的MoCo风格的预训练方法相比,使用Pri3D预训练模型进行微调可以改善不同指标的对象检测结果
表3 ScanNet上的实例分割。与ImageNet预训练和强大的MoCo风格的预训练方法相比,使用Pri3D预训练模型进行微调可以改善实例分割结果。
C.NYUv2
为了验证方法可以学习跨数据集的可转移特征。通过在ScanNet RGB-D数据上预训练Pri3D,实验还探索在NYUv2上针对下游2D任务进行微调的结果。
表4 NYUv2上的2D语义分割。
表6 NYUv2上的2D实例分割。使用Pri3D可以获得更好的实例分割AP。
4总结
通过在几何约束下的ScanNet上进行预训练,证明了所提方法可以通过自监督的预训练(即不使用语义标签)提高2D语义分割的性能,例如分割和检测任务。作者不仅在ScanNet数据上证明了这一点,而且还将其推广到了基于NYUv2的语义分割、实例分割和检测任务。此外,利用这种几何先验进行预训练提供了强大的功能,可以在大量可用的训练数据下进一步提高性能。当然作者也提到,本文虽然专注于室内场景理解,但可以为更一般的3D图像感知理解开辟新的方向。
本文仅做学术分享,如有侵权,请联系删文。
觉得有用,麻烦给个赞~
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~