代码:
https://github.com/mit-han-lab/flatformer
论文:
https://arxiv.org/abs/2301.08739
[FlatFormer.pdf]
Flatformer是对点云检测中的 backbone3d部分的改进工作,主要在探究怎么高效的对点云应用transformer
具体的工作如下:
一个缩写:**PCTs 即point cloud transformers**
首先作者分析了点云transformer速度慢的原因(第三章):
最简单粗暴的是全局PCTs, 即对点云使用transformer的方式就是将每个点作为一个token,然后对一个pcd中所有点做multihead attention
比如一个pcd有10万个点,那就是10万个点做multihead attention计算,会很慢,复杂度为O(N2D),N是点数,D是每个点的特征通道数。作者分析了下,当点数到32k时,在NVIDIA A6000 GPU耗时就达到了1s,可见有多慢:
然后,为了降低耗时,有人提出了局部PCTs, 即对全局一共N个点,每个点都选择它附近的K个点做multihead attention计算,复杂度就变成了O(NK2*D),N是点数,D是每个点的特征通道数,K是一个点附近点点数。然而,局部PCTs在邻居点准备方面存在显著的开销。由于点云的稀疏性和不规则性,涉及两个主要步骤:
- 找到每个点

文章探讨了点云检测中Transformer的瓶颈,从全局PCTs的高计算复杂度到局部和窗口PCTs的邻域准备问题。Flatformer提出了一种FlattenedWindowAttention(FWA),通过窗口排序和交替轴排序减少开销,提高效率。
最低0.47元/天 解锁文章






