在西瓜数据集上训练_PointContrast: 点云无监督预训练 (ECCV2020)

0ab9e58dd9ec404ce8e0a5889b314a06.png

本文主要介绍一篇点云无监督预训练的文章。论文:

PointContrast: Unsupervised Pre-training for 3D Point Cloud Understanding​arxiv.org

1. 简介

在2D视觉任务中,有这样一个经验:

先用模型在一个比较大的的数据集(例如ImaegNet)做预训练,然后用预训练好的参数作为模型初始值,在特定任务的小数据集上训练,有助于提升性能。

这个经验,本质上相当于用大的数据集,先训练出来一个“比较好的、通用一点的”的feature extractor,然后在小数据集上对feature extractor进行修正让其能在小数据集上表现的更好。

以上经验能否用到3D点云模型中呢?

论文提出了一个PointContrast的无监督预训练方式,实现3D点云网络的预训练。

2. 无监督学习

论文构建了如下pretext-task:

9d34162648ebe7d0d099c85777ac7d77.png

如上图所示:

  1. 从ScanNet的某个场景中,通过两个不同的视角,得到两个点云。两个点云要保证至少30%的点重合。
  2. 采样得出两个变化矩阵,调整点云。只包含刚体变换(缩放、旋转、移动)。
  3. 用一个共享的CNN网络,对两个点云,计算出每个点的局部feature。
  4. 通过对比两个点云中,重合点的feature、非重合点的feature,构建一个Point Contrast loss,来时,“重合点对”之间的feature接近、“非重合点对”之间的feature远离。

对于Point Contrast loss,论文给出了两种loss:

Hardest-Contrastive Loss

61c24049ade764e5f043bc9f3fdad7e5.png

大概含义是:

  1. 两个点云之间匹配点之间的feature的距离,要小于一个margin
    ,超出
    的部分算作loss;
  2. 两个点云之间非匹配点之间的feature的距离,要大于一个margin
    ,如果不够
    ,则算作loss。

hardest sample是指:在点云1中给定一个点A,在另一个点云2中,与点A不匹配,但在所有不匹配的点中,与点A的feature距离最近的点,就是点云1中,点A的hardest sample. 上面的非匹配点之间的距离,就是只一个点与其对应的hardest sample点的feature的距离。

PointInfoNCE Loss

f4efa0aeeb40e987ed45abba29ec8382.png

大概含义也是让匹配点之间的feature更相似。

3. 监督学习

在实验分析部分,论文做了一个对比实验:用监督学习的方式,在ScanNetV2上预训练。相比在ScanNet上用PointContrast来预训练,性能仅高出0.3% mIoU。从这个实验结果来看,unsupervised 已经很接近 supervised 特征学习的效果了。(这里两个实验的数据集貌似不同:ScanNet vs ScanNetV2,感觉不是太有说服力,如果用的是同一个数据集会更好一些)

4. 总结

总体来说,文章针对3D点云给出了一个用unsupervise来预训练的方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值