【论文阅读】【3d目标检测】point transformer

论文标题:Point Transformer

iccv2021
用transformer做点云工作
出于点云的随机性 transformer正好处理此类问题
【论文阅读】【3d目标检测】point transformer_第1张图片
但是 很显然对于大规模的点云 直接使用transformer计算量是巨大的 所以作者提出来一种新的transformer处理形式,那便是knn查找临近点。
首先 作者介绍了transformer的背景 自注意力操作主要可以分为scalar和vector attention
scalar就是我们常说的注意力机制
【论文阅读】【3d目标检测】point transformer_第2张图片
而vector attention则还考虑两个token之间的关系
在这里插入图片描述
β为关系函数(相减) γ为一个mapping函数
而 作者提出的point transformer layer则主要是利用了vector attention的模块 考虑两个token之间的关系 同时将位置编码加入到value中 意思是既考虑位置关系又考虑值的关系:
在这里插入图片描述
【论文阅读】【3d目标检测】point transformer_第3张图片
具体操作是对于输入的主次点 我们首先进行linear的特征编码 将它们相减得到他们之间的relation,随后加上位置编码 进行mlp操作后取他们的编码后的值 然后进行norm的权重矩阵 让权重矩阵与值函数和位置编码相乘得到编码了k临近点的输出点特征 注意 进行transformer的点是首先进行了一个knn查询的 选取主点附近的k个点来进行value加权。

作者的位置编码采用的是相对位置 再进行一个线性层编码:
在这里插入图片描述
文章的总体框架是:
【论文阅读】【3d目标检测】point transformer_第4张图片
可以看到网络框架主要是pointnet++的框架
SA层便是替换成了tranformer加对于knn临近点的max pooling 进行下采样 而上采样感觉就完全是FP层。
【论文阅读】【3d目标检测】point transformer_第5张图片
后面的ablation比较了k个临近点的选取
【论文阅读】【3d目标检测】point transformer_第6张图片
【论文阅读】【3d目标检测】point transformer_第7张图片
位置编码的有效性
【论文阅读】【3d目标检测】point transformer_第8张图片
attention模块的必要性

总的来说 文章创新在提出point transformer层
然而这个层主要能在点云密集的室内进行操作 对于一些自动驾驶的场景 点云十分稀疏 在这些场景下使用knn查询临近点是不明智的 而且计算量巨大。
位置编码的方式可以学习!

你可能感兴趣的:(论文阅读,计算机视觉,深度学习,神经网络,自动驾驶)