0%

SequentialPointNet: A strong parallelized point cloud sequence network for 3D action recognition

  • Li X, Huang Q, Wang Z, et al. SequentialPointNet: A strong parallelized point cloud sequence network for 3D action recognition[J]. arXiv preprint arXiv:2111.08492, 2021.
  • 河海大学 CS
  • 源码仓库

针对人类动作在空间上复杂,在时间上简单的特性,不平等的对待空间信息和时间信息。提出了一个强并行能力的点云序列网络SequentialPointNet:一个帧内appearance编码模块,一个帧间动作编码模块。

  • 为了对人体动作丰富的空间信息建模,每帧先在帧内的appearance encoding中并行处理,并且输出一个特征向量序列,描述静态的appearance在时间维度上的改变。
  • 为了建模简单的时间维度上的变化,在帧间的动作编码模块中,在特征向量序列中应用了 时间上的位置编码和分层的池化策略。
  • 为了更好的挖掘时空内容,聚合人体动作的多级特征。

帧间编码

帧间编码

Temporal position embedding:和Transformer的positional encoding差不多。将时间上的位置进行encoding:

\[ \begin{gathered} P E_{t, 2 h}=\sin \left(t / 10000^{2 h / d_{\text {sout }}}\right) \\ P E_{t, 2 h+1}=\cos \left(t / 10000^{2 h / d_{\text {sout }}}\right)\\ \widehat{f}_{t, h}=f_{t, h}+P E_{t, h} \end{gathered} \]

共享MLP:在时间位置编码之后,再进行特征抽取,加强信息。

Hierarchical pyramid max pooling:类似于多卷积核操作。将时间序列化为不同的几个部分,并且使用max pooling分别抽取特征。

层级式max pooling

多级特征抽取:序列层级学习是帧间的分级策略,还有帧内的多级特征抽取:

\[ \begin{gathered} P=\underset{t=1, \ldots, T}{\operatorname{MAX}}\left\{\operatorname{MAX}_{j=1, \ldots, n_{2}}\left\{r_{j}^{t}\right\}\right\} \\ R=\operatorname{MAX}_{t=1, \ldots, T}\left\{f_{t}\right\} \end{gathered} \]

  • Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.
  • Google

Introduction

大名鼎鼎的Transformer,仅依赖于注意力机制,完全不使用RNN和CNN的序列模型

RNN,LSTM,GNU是处理序列模型的几种最优方法。然而循环神经网络中总是沿着词元位置进行计算,这种顺序性阻碍了训练的并行化,这也严重影响了内存对batch的限制程度。

注意力机制也是成功的模型中必不可少的一部分,其可以考虑到模型中的依赖关系。大部分情况下注意力都和RNN捆绑在了一起

Transformer,完全避开了RNN,并且完全依赖注意力机制来抽取输入和输出的全局关系。并且能有更好的并行化。

相关工作:

  • Self-Attention:提取序列不同位置联系的一种方式,可以计算出一个序列的表示形式。
  • End-to-end memory :基于循环注意力机制,而不是序列循环网络,在语言建模任务上有优秀表现。
阅读全文 »

RNN

循环层:

\[ \mathbf{H}_t = \phi(\mathbf{X}_t \mathbf{W}_{xh} + \mathbf{H}_{t-1} \mathbf{W}_{hh} + \mathbf{b}_h). \]

隐状态循环神经网络

困惑度损失函数:

一个更好的语言模型应该能让我们更准确地预测下一个词元。 因此,它应该允许我们在压缩序列时花费更少的比特。 所以我们可以通过一个序列中所有的 n 个词元的交叉熵损失的平均值来衡量:

\[ \frac{1}{n} \sum_{t=1}^n -\log P(x_t \mid x_{t-1}, \ldots, x_1) \]

困惑度即更流行的指数形式交叉熵(历史原因):

\[ \exp\left(-\frac{1}{n} \sum_{t=1}^n \log P(x_t \mid x_{t-1}, \ldots, x_1)\right). \]

  • 在最好的情况下,模型总是完美地估计标签词元的概率为1。 在这种情况下,模型的困惑度为1。
  • 在最坏的情况下,模型总是预测标签词元的概率为0。 在这种情况下,困惑度是正无穷大。
  • Baseline:该模型的预测是词表的所有可用词元上的均匀分布? 在这种情况下,困惑度等于词表中唯一词元的数量。 事实上,如果我们在没有任何压缩的情况下存储序列, 这将是我们能做的最好的编码方式。 因此,这种方式提供了一个重要的上限, 而任何实际模型都必须超越这个上限。
阅读全文 »

注意力机制三个核心要素:

  • Query:即主动注意力。
  • key:突出性的环境带给人的被动注意力
  • value:注意力汇聚之后得到的最终输入
通过注意力汇聚将query和key结合在一起,然后对value进行选择输出
阅读全文 »

Point Transformer

  • Zhao H, Jiang L, Jia J, et al. Point transformer[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 16259-16268.
  • 港中文

self-attention是天然的一个集合操作:将位置信息作为元素属性,并且视作集合处理。而另一方面点云天然就是位置属性的集合,因此self-attention直觉上很适合点云数据。之前已经有一些工作[48,21,50,17]在点云分析上使用了attention。他们在整个点云上使用全局的注意力机制,而这会带来昂贵的计算。并且他们使用了标量点积的注意力,即不同通道之间共享相同的聚合权重。

相反,Point Transformer有以下优势:

  • 局部应用注意力机制,使得拥有处理百万点数的大场景的能力。
  • 使用了vector attention,而这是实现高准确率的重要因素。
  • 阐述了position encoding的重要性,而不是像之前的工作一样忽略的位置信息。
阅读全文 »