文章目录
1. 概要
题目:PointContrast: Unsupervised Pre-training for 3D Point Cloud Understanding
论文:https://arxiv.org/abs/2007.10985
代码:暂未公布
2. Motivation
迁移学习,在图像领域, 先用模型在一个比较大的的数据集(例如ImaegNet)做预训练,然后用预训练好的参数作为模型初始值,在特定任务的小数据集上训练,有助于提升性能。
这个经验,本质上相当于用大的数据集,先训练出来一个“比较好的、通用一点的”的特征提取器,然后在小数据集上对特征提取器进行微调修正让其能在小数据集上表现的更好。
但是在3D点云理解还所知甚少。因此,是否其在3D点云理解当中也一样有效?也即想要在3D表达学习当中尝试看,一个预训练的非监督学习在微调的监督度学习智商,是否有助于提升性能。
3. 思想
目的:通过在深度学习中对在有监督的微调之上的无监督的预训练进行研究,推动对3D场景理解的研究。因此需要4个重要元素:
- 选择可以预训练的大规模数据集;
—>ScanNet - 识别骨架结构,可以被许多不同的任务来共享;
—> 稀疏残差 U-Net - 评估骨干网络预训练的两个无监督指标;
—> Hardest-contrastive loss + PointInfoNCE loss - 定义对一组不同小型/子数据集和任务的评估协议。-
–>语义分割:S3DIS,ScanNetV2,ShapeNetPart,Synthia 4D
–>目标检测: SUN RGB-D, ScanNetV2
主体依赖于全卷积几何特征(FCGF),以及无监督学习3D表达的思想,
在此基础上重新设计并提出来PointInfoNCE Loss + U-net 框架
4. 算法
从上图似乎可以发现,shapenet预训练对于downstream没有帮助,可能原因有两点:
- 原域和目标域差距:由于ShapeNet中的物体是合成的,在尺度上归一化过,动作都是校准后的,缺乏场景上下文。这使得预训练和精细调参后的数据分布明显不同;
- 点级别的表示:在3D深度学习中,局部集合特征,例如局部点和其临近点都对3D类任务非常有效。但直接在目标实例上获取全局特征可能还是不够的;
问题1可以通过改用scannet数据集来得到解决;
问题2呢?即PointContrast
4.1 回顾全卷积几何特征(FCGF)
对于FCGF[10],其用来学习低层任务(例如:校准)的几何特征。
其有两个关键元素实现好结果:
- 全卷积设计;
- 点级别的学习;
但是FCGF关注与低层次任务的局部描述子的学习,其是否可以在高层次3D理解里面依然使用FCGF?
4.2 PointContrast
高层级策略:对比学习-点级别的-在两个转换的点云中。
如图所示,
- 在ScanNet的某个场景中,通过两个不同的视角 x 1 x^1 x1和 x 2 x^2 x2,坐标对齐, 然后计算两者对应映射 M M M, 如果 ( i , j ) ∈ M (i,j)\in M (i,j)∈M, 则 x i 1 x^1_i xi<