Point-BERT:一种基于Transformer架构的点云深度网络

目录

1. 前言

2. Point Tokenization

3. Transformer Backbone

4. Masked Point Modeling

5. Experiments

Reference


1. 前言

从PointNet [1] 开始,点云深度网络逐渐成为解决点云特征提取与语义分析的主要研究方向。尤其在OpenAI的GPT模型获得了突破性成果后,一系列的点云深度学习研究开始向相同的技术方向靠拢,即基于Transformer架构的深度网络模型。早期利用Transformer架构的点云深度网络 [2],虽然采用了注意力机制来设计实现,但是受限于三维数据的标定,并未发挥出其在语言和视觉领域的性能。在数据规模方面,点云的数据量也远远不能满足类似语言和图像那样的超大体量。

引入基于掩码预测的BERT架构 [3],实现对点云弱监督条件下的特征训练,是解决上述问题的一个重要的思路。类似自然语言,点云在其局部邻域的数据分布上,自有其规律或语义约束。然而,应用BERT架构到点云任务上存在一定的困难。BERT架构初始是用于自然语言处理,其处理单元为每一个词汇。对应点云,如果将每一个点视为词汇,那么计算量将变得非常庞大,使得训练任务不能执行。为了解决该问题,Point-BERT被提出 [4]。Point-BERT将点云的局部邻域视为一个点云词汇,对应一个Token。通过Point Tokenization步骤能够将一个点云进行Token转换,建立局部几何特征和点云词汇的对应。之后,利用Transformer架构实现掩点建模Masked Point Modeling,通过局部临近的Token于此被掩注的Token区域。这样便能实现一个弱监督条件下的点云特征抽取。Point-BERT的流程图如下图所示:


2. Point Tokenization

如前所述,Point-BERT的第一步是建立local patch到Token的表示。文章对这个过程的描述是非常清楚的。首先利用FPS算法将点云下采样出一组group中心,假设为g个中点。按照中心距离将点云划分成对应的g个组。每一个组被视为一个token对应的区域,就像文本的词汇和图片的patch。作者进一步使用mini-PointNet [1] 实现point embeddings,将点云的组变换成embedding后的特征f_i,i\in g。将f_i作为输入,转换成离散的token,这里的token对应为规模为N的词汇描述。DGCNN [5] 被用来作为Tokenizer的backbone。

对于点云重建,解码器被用来从token中恢复点相邻的组。由于词汇的规模是有限的,但是局部几何的分布又是十分复杂的,因此作者使用DGCNN来建立局部邻接点云组的关联关系,这在一定程度上能够弥补token对局部几何表达能力的缺陷。作者利用FoldingNet [6] 来最终恢复点云的局部几何。重建过程被赋予为一个点组到token的能量表达,其上界要逼近于原始点云和重建点云的编解码log-likelihood [7]:

参考文献 [7], 作者使用一个Gumbel softmax relaxation来实现优化。


3. Backbone

Point-BERT基于Transformer架构的主干网络基本遵从Tokenization的设计步骤。首先使用FPS将一个点云分成g个组,每个组对应一个中心c。这些local组被mini-PointNet嵌入到特征f。mini-PoinrNet仅包含MLP层和maxpool操作。这里通过MLP,嵌入位置信息{pos_i}到c中。到此,我们组合了位置信息和特征f到一组输入嵌入{x_i}。{x_i}被作为Transformer的输入。基于 [3],我们附加一组tokenE[s]到输入序列,这样我们就得到了一个向量表示:

这里有L层,最后一层输出表示全局特征,是从输入点云组的编码表示获得的。     


4. Masked Point Modeling

为了实现弱监督算法框架,作者扩展了掩码建模策略到Point-BERT架构中,即Masked point modeling (MPM)。具体分为三个部分:掩码序列生成、文本预测定义、点组混合以及目标优化。

掩码序列生成. Point-BERT的掩码序列生成不同于BERT和MAE,作者参考块尺度掩码策略 [8]. 作者使用邻域点组来定义一个连续的局部区域。通过mask在这个局部区域的所有点组,以生成掩码点云。掩码位置被表示为 ​​​​​​,r是掩码的比例。之后,作者替换所有的掩码嵌入点伴随一个相同可学习的预定义掩码学习嵌入E[M],同时保持位置不变。最终,损坏的输入嵌入被填充到Transformer编码器。

文本预测定义. Point-BERT的目标是通过周边的几何来估计缺失的几何。预训练的dVAE编码每一个局部块到离散的token,以表示几何的模式,因此,Point-BERT能够直接应用这些token作为弱监督信息以训练Transformer。

点组混合. 受到CutMix的启发,作者提出了一个规范令牌预测作为文本预测的一个补充。由于每一个点云组的绝对位置被归一化,通过Point-BERT能够混合两个点组来创造新的虚拟样本,就像最优传输 [10] 一样。随着预训练的进行,我们将虚拟样本同时作为训练数据进行关联token的预测。在实际应用时,我们生成与样本规模相同的虚拟样本以增强Point-BERT的泛化学习能力。

优化目标. MPM的目标是恢复在掩码区域的点token。优化目标能够被设定为最大正确点token的log-likelihood,由掩码输入嵌入提供:

MPM任务估计模型预测掩码点云的几何结构,仅通过MPM任务训练transformer会导致对高层语义信息的解析缺陷。因此作者实用一个广泛使用的对比学习方法MoCo [11] 来改善transformer的语义学习能力。通过从虚拟样本中抽取符合现实样本的feature,以使模型更多的注意到语义信息。通过一个对比损失来实现:

q表示混合样本的一个feature,通过momentum feature encoder获得,混合比率为r,K为存储尺度,τ表示温度。组合MPM与对比学习能够使Point-BERT同时捕获局部几何结构以及高层语义模式,这对于点云学习是至关重要的。


5. Experiments

PointBert在ModelNet40的Acc准确率已经达到93.8。

PointBert在ShapeNet上的分割准确率mIoU也到了84%的水平。


总结

整体来说,Point-Bert已经可以被认为是利用GPT相似技术,实现点云语义分析的一个比较成熟的处理框架了,包括MAE掩码预测,Transformer语义理解机制,以及利用混合编码扩展token的概念,基本与文本域图像处理的概念形成良好的对应。这里,如果将点组的token对应GPT的文本分析,理论来说,就可以打通LLM到三维点云的通道。综上,Point-Bert技术路线是一个非常值得深入挖掘的研究方向。


Reference

[1] Qi C R, Su H, Mo K, et al. Pointnet: Deep learning on point sets for 3d classification and segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 652-660.

[2] Zhao H, Jiang L, Jia J, et al. Point transformer[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 16259-16268.

[3] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.

[4] Yu X, Tang L, Rao Y, et al. Point-bert: Pre-training 3d point cloud transformers with masked point modeling[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 19313-19322.

[5] Wang Y, Sun Y, Liu Z, et al. Dynamic graph cnn for learning on point clouds[J]. ACM Transactions on Graphics (tog), 2019, 38(5): 1-12.

[6] Yang Y, Feng C, Shen Y, et al. Foldingnet: Point cloud auto-encoder via deep grid deformation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 206-215.

[7] Ramesh A, Pavlov M, Goh G, et al. Zero-shot text-to-image generation[C]//International Conference on Machine Learning. PMLR, 2021: 8821-8831.

[8] Hangbo Bao, Li Dong, and FuruWei. Beit: Bert pre-training of image transformers. arXiv preprint arXiv:2106.08254, 2021. 1, 3, 4, 5, 8

[9] Sangdoo Yun, Dongyoon Han, Seong Joon Oh, Sanghyuk Chun, Junsuk Choe, and Youngjoon Yoo. Cutmix: Regularization strategy to train strong classifiers with localizable features. In ICCV, 2019. 5

[10] Jinlai Zhang, Lyujie Chen, Bo Ouyang, Binbin Liu, Jihong Zhu, Yujing Chen, Yanmei Meng, and Danfeng Wu. Pointcutmix: Regularization strategy for point cloud classification. arXiv preprint arXiv:2101.01461, 2021. 5

[11] Kaiming He, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. Momentum contrast for unsupervised visual representation learning. In CVPR, 2020. 3, 5, 8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/297302.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CleanMyMac X 4.14.6最新版本使用实用技巧

我们称赞 Mac 的设计、简单性和安全性,却常常忽视了它们的功能。有如此之多的功能、快捷方式和技巧,一旦理解,就可以简化您的生活,让使用 Mac 变得更加有趣。你对学习这些感到兴奋吗?以下是 5 个简单的Mac实用技巧分享…

CDA数据分析师备考必看,L1L2通用

CDA数据分析师L1,L2均可 可安排当月月底的线上考试 线上考的为双机位监考,但是不用担心 安全无隐患,需要联系 当月拿证

如何使用固定二级子域名公网访问多个本地Windows Web网站

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

【美团大数据面试】Java面试题附答案

目录 1.多线程代码示例 2.单例代码示例 3.LinkedBlockingQueue原理解析 4.模板设计模式讲解 5.生产者-消费者队列设计方法 6.堆内存和栈内存的区别 7.ThreadLocal底层机制 8.synchronized原理,存在的问题,解决方案 9.volatile使用场景和原理&am…

IDEA中使用数据库可视化操作工具

文章目录 1.入门介绍2. 没有数据库驱动3. 准备&测试连接3.1测试报错 4.连接5.编写SQL语句 1.入门介绍 在IDEA的专业版的右侧工具栏应该会有DataBase按钮如果没有的同学可以这样操作(必须是IDEA专业版) 新建数据库 2. 没有数据库驱动 如果提示: missing driver files ,…

小狐狸ChatGPT付费创作系统 安装或者升级后出现404错误无法登陆或一直提示解决办法

近几天很多会员安装或者升级小狐狸ChatGPT付费创作系统至2.1.8版本,不管打开超管后台或者站点管理后台都出现404的错误提示,或者新安装登陆超管后台还是提示未登陆状态。近几天将系统安装至多台服务器多个站点测试均出现以下提示,重启了服务器…

C# float/double 减 float/double 等 (X.xxxxxxxxxxxxxE-07)(黑盒测试)

问题 因为没有深究原理,所有只进行了“黑盒测试” 黑盒测试结论: 问题操作结论float/double运算进过一系列的运算后大概率 ! 0.0 , 而是等于0.00000000000xxxx等于X.xxxxxxxx一串数字的时候不影响下一步继续使用当需要显示fl…

Django之按钮(actions)

开篇就是道歉,哈哈哈哈,托更了好久好久,最近太忙了没啥时间更新,各位看官有催更的阔以给我私信哇,希望各位看官给个三连!!!😍😍😍😍 …

SLAM算法与工程实践——SLAM基本库的安装与使用(6):g2o优化库(2)g2o编程框架

SLAM算法与工程实践系列文章 下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此 SLAM算法与工程实践系列文章链接 下面是专栏地址: SLAM算法与工程实践系列专栏 文章目录 SLAM算法与工程实践系列文章SLAM算法与工程实践…

嵌入式 开发——DMA内存到外设

学习目标 加强理解DMA数据传输过程加强掌握DMA的初始化流程掌握DMA数据表查询理解源和目标的配置理解数据传输特点能够动态配置源数据学习内容 需求 串口发送数据 uint8_t data = 0x01; 串口发送(data); 实现串口的发送数据, 要求采用dma的方式 数据交互流程 CPU配置好DM…

10.2多点触摸屏驱动

多点电容触摸(MT)协议 多点电容触摸(MT)协议是 input 子系统的一部分, MT 协议被分为两种类型,分别是 Type A 和 Type B : Type A :适用于触摸点不能被区分或者追踪的设备&#xf…

【Java】springboot

文章目录 Spingboot1、起步依赖2、构建springboot工程jar包3、springboot配置文件4、多环境配置5、maven和boot多环境兼容问题6、配置文件分类7、springboot整合mybatis Spingboot springboot用来简化spring的初始搭建以及开发过程。 比方说,创建一个springmvc程序…