Exploring Data-Efficient 3D Scene Unserstanding with Contrastive Scene Contexts 论文阅读 CVPR21

这是一篇 CVPR21 Oral的文章,本篇文章旨在构建一个单模态的自监督预训练方法,使得3D模型在无标签的前提下进行预训练获得3D知识。

贡献

1、上一个工作Point contrast仅仅是做了简单的点到点匹配,没有考虑空间局部信息和上下文语义信息。本篇文章基于Point contrast提出考虑点云空间上下文信息的解决方案。
2、在得到预训练模型后,将预训练模型迁移到下游分割任务时,提出一种主动标记的方法。利用预训练模型并仅仅标记少量点便可以在语义分割上达到很好的分割效果。

上游模型预训练方法

为了获得点云数据的上下文信息,作者使用了一个传统的获得空间几何形状的方法ShapeContext。具体来说,对于同一场景的两个点云x和y,其中存在匹配的M个点对,引入ShapeContext是为了以点云x的一个点为中心(anchor)将点云y分成若干个区域。ShapeContext需要点云y到anchor点的距离矩阵和角度矩阵:Exploring Data-Efficient 3D Scene Unserstanding with Contrastive Scene Contexts 论文阅读 CVPR21_第1张图片
D和A分别是距离矩阵和角度矩阵。点云y被分为若干个区域的可视化图如下:Exploring Data-Efficient 3D Scene Unserstanding with Contrastive Scene Contexts 论文阅读 CVPR21_第2张图片
本篇文章的损失函数以区域为基本单位,其每一个区域的损失函数如下在这里插入图片描述
对于点云x中的anchor点i,通过函数parp(),将点云y分成了若干个区域。对于第p个区域的损失,计算方式为:对于每一匹配的点对,其中i为点云x的点,j为与点i相对应的点云y中的点,损失函数的分子为该positive点对的向量内积,分母为点i与在区域p中选择出的若干与点i不相匹配点特征的内积和,最后该区域的损失函数为所有匹配点对损失的和。
上面的公式是一个区域的损失计算,损失的总和为所有区域损失的平均值:在这里插入图片描述

主动标记策略

本文第二个创新点就是在迁移到下游语义分割任务时,使用了主动标记的策略,既可以仅仅使用少量的人工标签,又可以尽可能地提高模型的性能。该主动学习的标记策略十分简单,对于预训练好的模型F,将点云x输入到F,得到点云x每个点的特征向量,将得到的特征向量矩阵进行K-Means聚类,得到K个处于聚类中心的点,然后对这K个点进行人工打标签,再进行弱监督学习。

理解

本篇文章想要解决PointContrast方法中的缺陷,所以构建了一个基于区域的损失构建方法,想要在损失中引入更多的上下文信息。然而这个区域性的损失还是基于的点与点之间的特征对比,但在负样本的选择上相比于PointContrast确实具有更高的可信度。本篇文章整体脉络清晰,逻辑严密,上游任务的设计仅有一个创新点,但在下游的迁移上却很丰富,构建了LR和LA两种不同的现实问题。

你可能感兴趣的:(3d,论文阅读,深度学习)