点云自监督学习(MAE,持续更新)
PointBERT pipeline(如下图)里的三个问题:
- 需要训练一个基于DGCNN的dVAE用于生成点云的离散词表表示,整个pipeline比较复杂(引入了非Transformer的结构(DGCNN)来辅助Transformer训练)
- 依赖对比学习和数据增强去学习high-level语义特征(本文用调高mask ratio去解决)
- PointBERT对点云做tokenize之后,被mask掉的token是以一个learnable token + positional embedding表示的,再与visible tokens一起输入Transformer Encoder,存在位置信息的泄漏(positional embedding里有mask token的位置信息,降低了reconstruction任务的难度)
PointMAE pipeline:
- 采用MAE的pipeline,在Encoder处仅输入visible tokens + visible token的positional embedding,在Decoder处才将visible tokens 和mask tokens 加上full-set的positional embedding 一起输入
- 采用非常高的mask ratio(60%)
- 直接对初始的点云xyz进行预测
- 整体网络仅由Transformer Blocks构成,没有其他结构
- 采用轻量级的decoder(encoder有12个Transformer blocks,decoder只有4个)
编码器仅处理visible tokens的好处:
- 可以让编码器更好地学习这些point patchs的high-level的语义特征,而不需要学习去区分visible tokens和mask tokens
- 避免了mask tokens的位置信息的泄漏
- 提高了网络的预训练效率(因为采用了高的mask ratio(60%),相当于编码器仅处理40%的tokens,自然就很快啦)
MAE pretrain效率高的原因:
- 编码器仅处理visible tokens
- 解码器虽然要处理全部tokens,但非常轻量级