【论文笔记】PCT: Point Cloud Transformer

这是清华大学在2021年3月上传的关于将transformer应用在点云上的一篇论文。与其同期的还有两篇相似论文。

本篇论文作者认为transformer本身具有很好的顺序不变性,而且在二维视觉任务上表现出了很好的效果,理论上可以代替卷积操作,因此transformer能够很好的应用在点云数据上。
一、PCT的初始版本
【论文笔记】PCT: Point Cloud Transformer_第1张图片
相比于文本信息,点云特征中包含了位置特征,因此可以省略位置信息的插入。
对于一个点云P:N×D,N代表点的个数,D代表特征维数。首先经过一个Input Embedding模块,是由两层共享权重的级联的LBR组成,每层的输出维度都是De(LBR指Linea、BN和Relu),文中设置De=128。
接下来是四层self-attention模块,在初始版本,PCT的SA和transformer是相同的:【论文笔记】PCT: Point Cloud Transformer_第2张图片
其中Wq、Wk和Wv代表三个Linear层,Fin:N×De。
【论文笔记】PCT: Point Cloud Transformer_第3张图片
得到结果再与V相乘,得到Fsa,最后再经过一层LBR得到SA模块的最终输出:在这里插入图片描述
二、PCT
相比于PCT的初始版本,捉着对其进行了一些改动。
首先是在self attention中,作者放弃了除以D的维度,而是直接进行softmax之后,对权重再进行一次计算:
【论文笔记】PCT: Point Cloud Transformer_第4张图片
这个改动的意义是增大权重值,以减少噪音的扰动。
作者参考了图的谱域图卷积的拉普拉斯算子,L=D-E。因此作者修改了最后对Fsa的处理:
在这里插入图片描述
修改后的SA模块:
【论文笔记】PCT: Point Cloud Transformer_第5张图片

三、局部信息
上面的处理经过多个LBR层提取到了全局特征,但是仍然没有考虑局部特征。作者参考了PointNET++和DGCNN,在进行FPS采样和knn_group之后,将局部的相对特征和中心特征送入LBR中进行训练,最后经过Maxpooling得到最终输出:
【论文笔记】PCT: Point Cloud Transformer_第6张图片
而对于分割和法向量估计任务来说,是对每个点进行分类,因此放弃了采样,输出和输入的点一样。而对于分类任务,在两个SG内缩小到512和256个点。

虽然网络对于大型点云的处理效果有待商榷,但是在ModelNet40上取得了很好的效果,分类准确率达到了93.2%,分割效果和PointCNN不相上下。为了提高更好的效果,可以增加SG的层数。

你可能感兴趣的:(深度学习,深度学习,神经网络,人工智能,机器学习)