目录

背景

论文主要贡献

相关工作

1. 点云的表征学习

2. 点云上的自监督学习

3. Cross-Modal Learning

网络架构

1. 整体分析

2. 损失函数

表现

1. 下游任务

1.1 2D渲染图数量的选择

1.2 分类任务

1.3 分割任务

1.4 IMID和CMID效果

1.5 在CIFAR-FS上的少镜头分类

总结

参考


背景

大规模人工标注的点云数据集由于其不规则性,在三维物体的分类、分割和检测等任务往往是费力的。Self-supervised学习,无需人为标注,是解决该问题的一个非常有前景的方法。在现实世界中,人类能够将从2D图像中学习到的视觉概念映射到3D世界中。受此启发,于是作者提出了CrossPoint,一种简单的跨模态对比学习方法,用于学习可转移的3D点云表示。

论文主要贡献

(1)使用2D-3D数据在自监督学习上做对比学习,有利于网络对点云的特征学习

(2)提出了端到端的自监督学习的目标封装intra-model以及cross-model损失函数,这使得2D图像特征能更好的嵌入到3D特征中,从而有效避免特定增强的偏差。

(3)将CrossPoint广泛应用到各种下游任务中,效果优于原先的无监督学习。

(4)在CIFAR-FS数据集上执行了少镜头的图像分类,以证明从CrossPoint调优预处理后的图像性能优于标准基线。(就是说加了图片对于点云后续任务更好)

相关工作

1. 点云的表征学习

由于点云的不规则结构以及在处理点数据时所需要的置换不变性,这使得对于点云的表征学习相对于其它的表征学习(例如图像)更为困难,有了深度学习在点云上直接应用的先锋——PointNet,众多点云深度学习网络诞生。尽管网络表现性能很好,但其依赖于有着人为标注信息的数据集,这类数据集是难以获取的。于是,CrossPoint的诞生,就是为了从一大堆无标注信息的数据中提取可转移的特征信息,并将其应用于下游任务——分类以及分割。

2. 点云上的自监督学习

首先要对自监督学习有一个概念,众所周知,机器学习分为三类,有监督,无监督以及自监督,前两种定义十分明确,这里从论文原文简单说明自监督学习。

自监督学习分为两类,Generative Method(包括GNN以及AE,目的是重建给定的数据集);Contrastive Method(对比学习,论文使用的架构),这里可以学习Siamese neural network(孪生神经网络)。

​​​​​​Siamese network 孪生神经网络--一个简单神奇的结构https://zhuanlan.zhihu.com/p/35040994

我感觉,其实就是通过两个共享权值的网络,通过对同类输入的输出进行距离最小化,反类输入进行距离最大化来进行更新参数,至于距离度量的选择,就是一个叫Contrastive Loss的东西了。

3. Cross-Modal Learning

根据我的理解,作者是说利用跨模型来学习,分别是2D图像以及3D模型之间的特征迁移与嵌入,其中提到了一个叫pixel-to-point 的image features extractorLearning from 2D: Contrastive Pixel-to-Point Knowledge Transfer for 3D Pretraininghttps://arxiv.org/pdf/2104.04687.pdf大概意思就是说利用一个backprojection function来对齐二维与三维之间的特征,此外,还设计了一个叫upsampling feature projection layer来学习细粒度的3D表示。然后使用二维图像对网络进行一个预训练,从而优化在下游任务的表现。

网络架构

1. 整体分析

从整体网络架构可以看到,上半部分是3D点云的输入,下半部分是从随机角度拍摄的2D图像输入,分别送入(Point cloud feature extractor),(Image feature extractor),最后就是各自的(Point cloud projection head),(Image projection head),其实就是MLP。

这里上半部分是有两个P输入的,作者称其为augmented versions。其实就是原始3D模型进行随机变换(如旋转,放缩以及平移),这里其实很类似于前文提到的Siamese neural network,两层网络都共享权重,最后得到的Z取两个的平均。

2. 损失函数

这里有两个损失函数,一个是Intra-Modal Correspondence中的以及Cross-Modal Correspondence中的(公式如下),作者利用到了NT-Xent损失函数。

其中N是batch-size,是温度系数,s()是相似性度量函数(这里采用cosine相似度函数,详情点击余弦距离介绍)。目的仍然是为了最大化同一个点云模型不同姿态下以及由该模型渲染出来的2D图像输入的输出相似度,而最小化不同点云模型之间以及非该模型渲染出来的2D图像的输入的输出相似度(同一batch的其它数据)。那么具体怎么做到呢,下面根据公式进行推导。

便于理解,我们不妨把上述公式做一个转换

为了最小化,需要分母项增大而分子项减小(这里不是很明白为什么求和时两个都是k,按照原本的NT-Xent损失函数,比对的是该输出与batch中2N-2个样本之间的相似度,2N中一个是本身,一个是augmented version)。详情点击Normalized Temperature-scaled Cross Entropy Losss

而且从原文作者描述也能看到

最后总Loss就是两个相加

表现

1. 下游任务

1.1 2D渲染图数量的选择

作者发现,一张图是效果最好的,因此后续实验都选择了一张渲染图片。

1.2 分类任务

1.3 分割任务

1.4 IMID和CMID效果

1.5 在CIFAR-FS上的少镜头分类

后续点云下游任务并未用到image的extractor,而单单把该extractor用来做分类,效果就不太理想了,原文作者说是因为原先使用的是3D点云模型的渲染图做预训练,并不能很好的泛化到CIFAR数据集上导致的(效果差异非常大)。

总结

这篇是在CVPR202203上的文章,还是非常新的深度学习点云学习,个人觉得亮点是引入了self-supervised learning中的contrastive learning做pretrain,值得一读,上述全为本人论文阅读笔记,如有不对请评论区指出。

参考

[1]. Learning from 2D: Contrastive Pixel-to-Point Knowledge Transfer for 3D Pretraining

[2]. Self-Supervised Learning 入门介绍

[3]. 对比式无监督预训练简介(Contrastive Pre-training)​​​​​​​

[4]. Siamese network 孪生神经网络--一个简单神奇的结构

[5]. contrastive loss 详解

[6]. Normalized Temperature-scaled Cross Entropy Loss

[7]. 余弦距离介绍

[8].CrossPoint

浅读CVPR2022-CrossPoint相关推荐

  1. 浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM

    浅读<视觉SLAM十四讲:从理论到实践>--操作1--初识SLAM 下载<视觉SLAM十四讲:从理论到实践>源码:https://github.com/gaoxiang12/s ...

  2. Redux源码全篇浅读

    本文是关于 redux(3.7.2)源代码的一些浅读 在redux源码目录中 ,可以看到以下文件目录: |-- utils/|-- warning.js //打印error |-- 1. applyM ...

  3. 机器学习论文源代码浅读:Autoformer

    原本想要和之前一样写作"代码复现",然而由于本人一开始对于Autoformer能力理解有限,参考了一定的论文中的源代码,写着写着就发现自己的代码是"加了注释版本" ...

  4. 浅读《解密社群粉丝经济学》几点观点

    浅读<解密社群粉丝经济学>几点观点 为什么会形成社群?因为在消费者主权时代,随时随地互联的移动互联网时代,每一个既弱小又能自主的个体,在信息过度的时空里,必然自发的基于某种机缘.兴趣和价值 ...

  5. 浅读西瓜书(第四章)

    浅读西瓜书(第四章) 4.1基本流程 ​ 决策树,顾名思义,肯定与做决策有关.实际上决策树既可以做决策也可以做回归.在我们生活中其实也经常用到决策树的模型.比如猜数字的游戏.给出一个数字,猜想者猜测一 ...

  6. 浅读《简约之美-软件设计之道》

    浅读<简约之美-软件设计之道>     大家好,我是Lampard~     这个周末阅读了一本程序设计相关的书籍<简约之美-软件设计之道>,它原著是<The Scien ...

  7. SQL Server锁机制浅读

    SQL SERVER 锁机制浅读 内容为本人根据当前正在读的<SQL Server性能调优实战>(陈畅亮 吴一晴 著 机械工业出版社)和前辈分享的PPT,通读后的总结与汇总. 序 锁及事务 ...

  8. Flask | 浅读文档,快速出发

    最近在读一篇文档,作者是一位使用多种语言开发复杂程序并且拥有十多年经验的软件工程师,曾经用 PHP, Ruby, Smalltalk 甚至 C++ 写过 web 应用,他认为,在所有这些中,Pytho ...

  9. Object Detection︱RCNN、faster-RCNN框架的浅读与延伸内容笔记

    一.RCNN,fast-RCNN.faster-RCNN进化史 本节由CDA深度学习课堂,唐宇迪老师教课,非常感谢唐老师课程中的论文解读,很有帮助. . 1.Selective search 如何寻找 ...

最新文章

  1. kali 改root_Kali Linux 将默认以非 root 身份运行
  2. 二叉苹果树(树型DP+背包)
  3. JavaScript进阶2-学习笔记
  4. GraphSAGE 模型解读与tensorflow2.0代码实现
  5. MongoDB与其他数据库的对比
  6. 131_Power Query之获取钉钉日志自动刷新Power BI报告
  7. Java 类主动引用和被动引用
  8. HTTP Security Header Not Detected
  9. 21届校招中获得12家公司offer的一些经验(包括6家银行信息科技岗offer)
  10. 自学软件测试,缺少项目实战怎么办?
  11. springboot界面上传文件和在页面上显示文件
  12. PyQt开发实战: 利用QToolBox开发的桌面工具箱
  13. screenocr怎么卸载_screenocr是什么软件 screenocr软件及其功能介绍
  14. Tomcat 端口号的修改
  15. 2020年下半年教育热点事件舆情分析研判报告整合
  16. Codeforces Round 775(Div.2) Problem C Weird Sum(匿名函数的使用)
  17. B-树详细分析及B树B-树B+树B*树概念
  18. redis相关 主从架构
  19. 小程序源码:最新wordpress黑金壁纸微信小程序 二开修复版-多玩法安装简单
  20. Windows 查看系统信息及系统启动时间

热门文章

  1. Day01-Oracle的连接与账户
  2. Linux电脑安全管家
  3. html点击链接直接加微信群,微信给文字加链接代码分享(原来微信超链接是这样加的)...
  4. 文本溢出隐藏显示... 鼠标移动到元素显示全部内容
  5. itext 导出word
  6. 一行代码让你伪装成黑客惊艳世人
  7. 职业生涯规划计算机专业中职生3000字,计算机专业职业生涯规划书范文格式3000字...
  8. 我国北斗卫星导航系统今日起试运行
  9. 案例3 淘宝点击关闭二维码
  10. 新零售餐饮风口正盛,食云集却在夹缝中求生?