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.mzph.cn/news/243290.shtml

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

相关文章

GNS3 VoIP Lab (Cisco 3725 and CME 4.3)

Here is a simple VoIP Lab in GNS3 environment. It is only used for my lab test and recorded here for future reference. 1. Topology: GNS3 Topology:Logic Topology:xp(192.168.2.60)——–C3725 Router(192.168.2.10) 2. Enviroment: ESXi 5.5 (or Vmware Workstation…

关于数组的内容

关于数组的内容 Verilog数组声明的基本语法 <data_type><vector_size><array_name><array_dimension> 例如&#xff1a; reg[15:0] RAM [0:4095];//储存器数组SystemVerilog允许任何数据类型的非压缩数组 SystemVerilog将非压缩数组的声明进行了扩展…

BreadCrumb控件

BreadCrumb控件&#xff0c;如上图所示&#xff0c;即面包屑导航控件&#xff0c;类似于TreeCtrl&#xff0c;但不是一次显示所有的Item&#xff0c;VC 2010可以编译通过&#xff0c;稍微修改一下其他的也可以编译&#xff0c;源代码下载&#xff1a; http://download.csdn.net…

Android简介

最近Android很火&#xff0c;小弟也想了解一下它的结构。跟CE或者Mobile比起来&#xff0c;它的结构是有点凌乱&#xff0c;也难怪&#xff0c;毕竟是基于别人的内核在上层开发了一些应用 ---------------------------------------------------------------------------------…

说不尽的刘恒

认识刘恒快三十年了&#xff0c;作为曾经的同事和他小说的责任编辑&#xff0c;我只写过他一篇文章&#xff0c;还是在二十多年前。有时候特别熟悉的人反而不知道从何写起&#xff0c;因为一想起往事&#xff0c;各种记忆像开闸的水一样涌满眼前&#xff0c;让人很难落笔。1985…

外行看Flash的存储原理

突然在网上看到别人两年前写的一篇关于nor和nand的好文章&#xff0c;做为csdn的合法公民&#xff0c;有必要转 一、存储数据的原理 两种闪存都是用三端器件作为存储单元&#xff0c;分别为源极、漏极和栅极&#xff0c;与场效应管的工作原理相同&#xff0c;主要是利用电场的…

快速计算整数的二进制表示法中1的个数

快速计算整数的二进制表示法中1的个数 题目&#xff1a;给定一个无符号32位整数x&#xff0c;求x的二进制表示法中含1的个数&#xff1f; 第一种算法&#xff1a; int OneCount(unsigned int x){ for(int count0; x>0; count) x&x-1;//把最后面的1变0 return …

在C/C++代码中使用SSE等指令集的指令(1)介绍

http://blog.csdn.net/gengshenghong/article/details/7007100我们知道&#xff0c;在C/C代码中&#xff0c;可以插入汇编代码提高性能。现在的指令集有了很多的高级指令&#xff0c;如果我们希望使用这些高级指令来实现一些高效的算法&#xff0c;就可以在代码中嵌入汇编&…

赋值操作符

赋值操作符 和其他赋值操作符 out in;//将out和in相加并将结果赋值给out //out out in;注意&#xff1a;这些操作符都是阻塞赋值packdage definitions;typedef enum logic[2:0] {ADD,SUB,MULT,DIV,SL.SR} opcode_t;typedef enum logic{UNSIGNED,SIGNED}operand_type_t;typ…

有无关通配符的相等操作符

有无关通配符的相等操作符 逻辑相等操作符 条件相等操作 SystemVerilog通配符相等操作符允许屏蔽某些位 SystemVerilog还增加了两个新的比较操作符&#xff1a; &#xff1f; 和&#xff01;&#xff1f;。这两个操作符允许在比较中屏蔽无关位。 操作符 &#xff1f;&#x…

cab文件介绍及制作方法

转自&#xff1a;http://bbs.pcpop.com/091030/5945399.html 1. 什么是cab文件 CAB在电脑上是一种压缩文件&#xff0c;微软出品的东西&#xff0c;用WinRAR可以解压缩&#xff0c;在DOS启动盘里面可以看见一些CAB压缩文件。其实Windows里面已经带了CAB压缩程序&#xff0c;但…

CVE-2015-0235: GHOST – A Critical Vulnerability in the Glibc Library

GHOST is a ‘buffer overflow’ bug affecting the gethostbyname() and gethostbyname2() function calls in the glibc library. If a remote attacker can make an application call to gethostbyname() or gethostbyname2(), this vulnerability allows the remote attack…

通过ap运行cab安装程序的方法及Sample Code

1. 第一部分&#xff1a;Sample Code 这部分转自&#xff1a;http://blog.csdn.net/hhygcy/archive/2009/05/04/4147870.aspx 最近这个东西很多被问及&#xff0c;软件动态升级的时候可能可以用到&#xff0c;在这里做一下记录。 就知道的方法有2个&#xff0c; 一个是通过Sh…

MFC透明桌面flash金鱼

代码&#xff1a; http://download.csdn.net/detail/hemmingway/6823935 使用方法&#xff1a; //0,添加left.png&#xff0c;right.png资源文件 //1, 头文件定义变量 GoldFish pet; //2, 在CPP文件创建 // Create a goldfishif (!pet.Create(NULL, NULL, WS_CHILD | WS_VISIB…

天才静之

木心说&#xff1a;“最高一层天才&#xff0c;是早熟而晚成的。”我一直认为静之就是一个天才。天才不同于才子&#xff0c;才子早熟&#xff0c;但往往短命&#xff0c;而静之却常胜不衰&#xff0c;愈“老”弥坚。 从诗歌、散文到小说&#xff0c;从电视剧、电影再到话剧、歌…

“象征界”的奇观:刘天怜花鸟工笔作品印象

有人说&#xff1a;“创新”是西洋画的基调&#xff0c;中国画的焦点是“承传”。就是说&#xff0c;西画必须花样翻新&#xff0c;挑战前人&#xff0c;甚至要推倒重来&#xff0c;唯此才可能在艺术史上占有一席之地&#xff1b;中国画强调以古人为师&#xff0c;重视师徒之间…

亚马逊正式发布关系型数据库Amazon Aurora

在去年的AWS re:Invent大会上&#xff0c;亚马逊宣布了Amazon Aurora。Aurora是一个关系型数据库&#xff0c;可以跨3个可用区域复制6份数据&#xff0c;其设计目标是提供高性能和高可用性&#xff08;99.99%&#xff09;&#xff0c;并且存储可以轻松高效地扩展到64TB。近日&a…

刘小东的“空城记”

刘小东的“空城记” 。从“三峡移民”到“金城小子”&#xff0c;从“温床”&#xff0c;再到"新疆和田 ”,今天&#xff0c;刘小东又把“鄂尔多斯” 纳入自己介入现实的创作计划。鄂尔多斯&#xff0c;一个中国曾经最贫瘠的所在&#xff0c;因为矿产开发&#xff0c;迅…

聆听南音

北京。半木空间。聆听南音古曲。 南音亦称弦管、南乐。起于晋唐&#xff0c;盛于南宋&#xff0c;至今流传于泉州闽南地区。被誉为“中国音乐史上的活化石” 。今晚&#xff0c;南音传人蔡雅艺率三位南音大师现场演出、宣讲并与"半木"品牌创始人吕永中先生对话交流…

远程管理 KVM 虚机 - 每天5分钟玩转 OpenStack(5)

上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机。其实 virt-manager 也可以管理其他宿主机上的虚机。只需要简单的将宿主机添加进来 填入宿主机的相关信息&#xff0c;确定即可。 接下来&#xff0c;我们就可以像管理本地虚机一样去管理远程宿主机上的虚机了。 …