\section{Introduction}\label{sec:introduction}}
\else
\section{Introduction}
\label{sec:introduction}
\fi

\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE Computer Society journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\ifCLASSOPTIONcompsoc

  \section*{Acknowledgments}
\else

  \section*{Acknowledgment}
\fi

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi

\section{Introduction}
This demo file is intended to serve as a ``starter file''
for IEEE conference papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\section*{Acknowledgment}

The authors would like to thank...

\section{Introduction}
This demo file is intended to serve as a ``starter file''
for IEEE Computer Society conference papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\ifCLASSOPTIONcompsoc

  \section*{Acknowledgments}
\else

  \section*{Acknowledgment}
\fi

The authors would like to thank...

\section{Introduction}
\IEEEPARstart{W}{ith} the release of low-cost depth cameras, 3D human action recognition has attracted more and more attention from researchers.
3D human action recognition can be divided into three categories based on different data types: 1) skeleton sequence-based 3D human action recognition \cite{S1,S2,S3,S4,S5}, 2) depth sequence-based 3D human action recognition \cite{D1,D2,D3,D4,D5,D6}, 3) point cloud sequence-based 3D human action recognition \cite{P1,P2,P3}.
Compared with skeleton sequence-based approaches, point cloud sequences are more convenient to be collected without additional pose estimation algorithms.
Compared with depth sequence-based approaches, point cloud sequence-based methods yield lower computation costs.
For these reasons, we focus on point cloud sequence-based 3D human action recognition in this work.
\par Point cloud sequences of 3D human actions exhibit unordered intra-frame spatial information and ordered inter-frame temporal information.
Due to the complex data structures, capturing the spatio-temporal textures from point cloud sequences is extremely challenging.
An intuitive way is to convert point cloud sequences to 3D point clouds and employ static point cloud methods, e.g., PointNet++ \cite{Pointnet++}, to process.
However, using static 3D point clouds to represent the entire point cloud sequence loses a lot of spatio-temporal information, which reduces the recognition performance.
Therefore, point cloud sequence methods are necessary, which directly consumes the point cloud sequence for 3D human action classification.
In order to model the dynamics of point cloud sequences, cross-frame spatio-temporal local neighborhoods around the centroids are usually constructed \cite{MeteorNet,PSTNet,P4Transformer}.
Then, point convolution \cite{MeteorNet} or PointNet \cite{PSTNet,P4Transformer} are used to encode the spatio-temporal local structures.
However, this complex cross-frame computing may be time-consuming and is not conducive to parallel computation.
\par In this paper, we propose a strong frame-level parallel point cloud sequence network called SequentialPointNet.
First, each point cloud frame is flattened into a hyperpoint by the same trainable hyperpoint embedding module.
The hyperpoint embedding module is a kind of static point cloud technology, which designed based on PointNet.
Since PointNet can arbitrarily approximate continuous functions, the hyperpoint sequence has the ability to retain complete human appearance information of each frame.
Then, the Hyperpoint-Mixer module is proposed to mix features of the hyperpoint sequence.
In this module, intra-frame channel-mixing operations and inter-frame frame-mixing operations are clearly separated and the frame-mixing operation is placed at the end of all feature mixing operations.
Taking the frame-mixing operation as the watershed, SequentialPointNet can be divided into a front part and a back part.
Since there are no cross-frame computational dependencies, the front part can be divided into frame-level units executed in parallel.
Furthermore, separating the channel-mixing operations and frame-mixing operations avoids the mutual influence of temporal and spatial information extraction, which maximizes the human appearance encoding ability.
Hence, SequentialPointNet also yields superior recognition accuracy for 3D human action recognition.
\par Our main contributions are summarized as follows:
\par•	We propose a strong frame-level parallel point cloud sequence classification network, dubbed SequentialPointNet, to recognize 3D human actions. The key to SequentialPointNet is to divide the main modeling operations into frame-level units executed in parallel, which greatly improves the efficiency of modeling point cloud sequences.
\par•	In terms of our technical contribution, we propose to flatten the point cloud sequence into a new point data type named hyperpoint sequence and introduce a novel Hyperpoint-Mixer module to perform feature mixing for the hyperpoint sequence, based on which the appearance and motion information can be readily extracted for 3D human action recognition.
\par•	Our SequentialPointNet achieves up to 10$\times$ faster than existing point cloud sequence models and yields the cross-view accuracy of 97.6$\%$ on the NTU RGB+D 60 dataset, the cross-setup accuracy of 95.4$\%$ on the NTU RGB+D 120 dataset, the cross-subject accuracy of 91.94$\%$ on the MSR Action3D dataset, and the cross-subject accuracy of 92.31$\%$ on the UTD-MHAD dataset, which outperforms the state-of-the-art methods.
\section{Related Work}

\subsection{Static Point Cloud Modeling}
With the popularity of low-cost 3D sensors, deep learning on static point clouds have attracted much attention from researchers due to extensive applications ranging from object classification \cite{PC1,PC2,PC3,PC4,PC5}, part segmentation \cite{PS1,PS2,PS3,PS4,PS5}, to scene semantic parsing \cite{PP1,PP2}.
Static point clouds modeling can be divided into volumetric-based methods \cite{PVB1,PVB2,PVB3,PVB4,PVB5,PVB6} and point-based methods \cite{PPB1,PPB2,PPB3,PPB4}. Volumetric-based methods usually voxelize a point cloud into 3D grids, and then a 3D Convolution Neural Network (CNN) is applied on the volumetric representation for classification.
Point-based methods are directly performed on raw point clouds.
PointNet \cite{PointNet} is a pioneering effort that directly processes point sets.
The key idea of PointNet is to abstract each point using a set of Multi-layer Perceptrons (MLPs) and then assemble all individual point features by a symmetry function, $i.e$., a max pooling operation.
However, PointNet lacks the ability to capture local structures.
Therefore, in \cite{Pointnet++}, a hierarchical network PointNet++ is proposed to encode fine geometric structures from the neighborhood of each point.
PointNet++ is made of several set abstraction levels.
A set abstraction level is composed of three layers: sampling layer, grouping layer, and PointNet-based learning layer.
By stacking several set abstraction levels, PointNet++ progressively abstracts larger and larger local regions along the hierarchy.
\subsection{Time Sequence Modeling}
Sequential data widely exist in various research fields, such as text, audio, and video.
The point cloud sequence is also a kind of sequential data.
Time sequence models have been studied by the natural language processing community for decades.
The emergence of Recurrent Neural Networks (RNN) \cite{RNN1,RNN2,RNN3,RNN4} pushes the boundaries of time series models.
Due to the capability of extracting high-dimensional features to learn complex patterns, RNN performs time-series point prediction.
LSTM \cite{LSTM} captures the contextual representations of words with a short memory and has additional “forget” gates to thereby overcoming both the vanishing and exploding gradient problem.
GRU \cite{GRU} comprises of reset gate and update gate, and handles the information flow like LSTM sans a memory unit.
Transformer \cite{Transformer}, a fully-connected attention model, models the dependency between words in the sequence.
Since the model includes no recurrence and no convolution, Transformer secures the relative or absolute position within the sequence by injecting positional encoding.
\subsection{Point Cloud Sequence-based 3D Human Action Recognition}
Point cloud sequence-based 3D human action recognition is a fairly new and challenging task.
To capture spatio-temporal information from point cloud sequences, one solution is to convert point cloud sequences to 3D point clouds and employ static point cloud methods, e.g., PointNet++, to process 3D point clouds.
3DV-PointNet++ \cite{3DV} is the first work to recognize human actions from point cloud sequences.
In 3DV-PointNet++, 3D dynamic voxel (3DV) is proposed as a novel 3D motion representation.
A set of points is extracted from 3DV and input into PointNet++ for 3D action recognition in the end-to-end learning way.
However, since the point cloud sequence is converted into a static 3D point cloud set, 3DV loses a lot of spatio-temporal information and increases additional computational costs.
\par To overcome this problem, researchers have focused mainly on investigating point cloud sequence networks that directly consume point cloud sequences for human action recognition.
MeteorNet \cite{MeteorNet} is the first work on deep learning for modeling point cloud sequences.
In MeteorNet, two ways are proposed to construct spatio-temporal local neighborhoods for each point in the point cloud sequence.
The abstracted feature of each point is learned by aggregating the information from these neighborhoods.
Fan $et$ $al$. \cite{PSTNet} propose a Point spatio-temporal (PST) convolution to encode the spatio-temporal local structures of point cloud sequences.
PST convolution first disentangles space and time in point cloud sequences.
Furthermore, PST convolutions are incorporated into a deep network namely PSTNet to model point cloud sequences in a hierarchical manner.
To avoid point tracking, Point 4D Transformer (P4Transformer) network \cite{P4Transformer} is proposed to model point cloud videos.
Specifically, P4Transformer consists of a point 4D convolution to embed the spatio-temporal local structures presented in a point cloud video and a Transformer to encode the appearance and motion information by performing self-attention on the embedded local features.
However, in these point cloud sequence networks, cross-frame spatio-temporal local neighborhoods are usually constructed during modeling point cloud sequences, which is quite time-consuming and limits the parallel ability of networks.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig1}
	\caption{SequentialPointNet contains a hyperpoint embedding module, a Hyperpoint-Mixer module, and a classifier head.\label{fig1}}
\end{figure}
\section{METHODOLOGY}
In this section, a strong frame-level parallel point cloud sequence network called SequentialPointNet is proposed to recognize 3D human actions.
The overall flowchart of SequentialPointNet is described in Fig. 1.
SequentialPointNet contains a hyperpoint embedding module, a Hyperpoint-Mixer module, and a classifier head.
In Section III-A, the hyperpoint embedding module is used to flatten each point cloud frame into a hyperpoint that retains the complete human static appearance information.
The intra-frame spatial features and inter-frame temporal features of the hyperpoint sequence are mixed by the Hyperpoint-Mixer module in Section III-B.
In Section III-C, we analyze the frame-level parallelism of SequentialPointNet.
\subsection{Hyperpoint embedding module}
Recent point cloud sequence models typically construct cross-frame spatio-temporal local neighborhoods and employ point convolution or PointNet-based learning to extract spatial and temporal information.
This complex cross-frame computing precludes frame-level parallelism.
To avoid complex cross-frame computing, we propose to flatten each point cloud frame into a hyperpoint (also referred to as a token) by a same trainable hyperpoint embedding module.
This module is employed to aggregate intra-frame geometric details and preserve them in the hyperpoint.
The independent embedding of each point cloud frame enables the hyperpoint sequence to be generated in frame-level parallel.
An additional advantage of this flattening operation is that superior static point cloud models can be used almost out of the box as the hyperpoint embedding module.

\par In the hyperpoint embedding module, each point cloud frame is flattened to a hyperpoint by static point cloud processing technology to summarize human static appearance.
we first adopt the set abstraction operation twice to downsample each point cloud frame.
In this process, the texture information from space partitions is aggregated into the corresponding centroids.
Then, in order to characterize human entire appearance information , a PointNet layer is used.
The hyperpoint embedding module is shown in Fig. 2.
\begin{figure*}[t]
	\centering
	\includegraphics[width=18cm]{Fig2}
	\caption{The hyperpoint embedding module contains two set abstraction operation, and a PointNet layer.\label{fig2}}
\end{figure*}
\par The set abstraction operation in our work is made of three key layers: sampling layer, grouping layer, and augmentation PointNet layer.
Specifically, let $\bm{{S}}=\left\{\mathcal{S}_{t}\right\}_{t=1}^{T}$ denotes a point cloud sequence of $T$ frames, and $\mathcal{S}_{t}=\left\{x^t_1, x^t_2, ..., x^t_n  \right\}$ denotes the unordered point set of the $t$-th frame, where $n$ is the number of points.
The $m$-th set abstraction level takes an $n_{m-1} \times (d + c_{m-1})$ matrix as input that is from $n_{m-1}$ points with $d$-dim coordinates and $c_{m-1}$-dim point features.
It outputs an $n_{m} \times\left(d+c_{m}\right)$ matrix of $n_{m}$ subsampled points with $d$-dim coordinates and new $c_{m}$-dim feature vectors summarizing local context.
The size of the input in the first set abstraction level is $n \times (d + c)$.
In this work, $d$ is set as 3 corresponding to the 3-dim coordinate ($X$, $Y$, $Z$) of each point, and $c$ is set as 0.
\par In the sampling layer, farthest point sampling (FPS) is used to choose $n_{m}$ points as centroids from the point set.
\par In the grouping layer, a point set of size $n_{m-1} \times (d + c_{m-1})$ and the coordinates of a set of centroids of size $n_{m} \times d$ are taken as input.
The output is $n_{m}$ groups of point sets of size $n_{m} \times k_{m} \times \left(d+c_{m-1}\right)$, where each group corresponds to a local region and $k_{m}$ is the number of local points in the neighborhood of centroid points.
Ball query finds all points that are within a radius to the query point, in which an upper limit of $k_{m}$ is set.
\par The augmentation PointNet layer in the set abstraction operation includes an inter-feature attention mechanism, a set of MLPs, and a max pooling operation.
The input of this layer is $n_{m}$ local regions with data size $n_{m} \times k_{m} \times \left(d+c_{m-1}\right)$.
First, the coordinates of points in a local region are translated into a local frame relative to the centroid point.
Second, the distance between each local point and the corresponding centroid is used as a 1-dim additional point feature to alleviate the influence of rotational motion on action recognition.
Then, an inter-feature attention mechanism is used to optimize the fusion effect of different features.
The inter-feature attention mechanism is realized by Convolutional Block Attention Module (CBAM) in \cite{CBAM}.
The inter-feature attention mechanism is not used in the first set abstraction operation due to only the 1-dim point feature.
In the following, a set of MLPs are applied to abstract the features of each local point.
Then, the representation of a local region is generated by incorporating the abstracted features of all local points using a max pooling operation.
Finally, coordinates of the centroid point and its local region representation are concatenated as abstracted features of this centroid point.
The augmentation PointNet layer is formalized as follows:
\begin{equation}
{r}_{j}^{t}=\underset{i=1, \ldots, k_{m}}{\operatorname{MAX}}\left\{\operatorname{MLP}\left(\left[\left({l}_{j,i}^{t}-{o}_{j}^{t}\right)\ominus{e}_{j,i}^{t}\ominus{p}_{j,i}^{t}\right]\odot A\right)\right\}\ominus{o}_{j}^{t}
\end{equation}
where ${l}_{j,i}^{t}$ is the coordinates of $i$-th point in the $j$-th local region from the $t$-th point cloud frame. ${o}_{j}^{t}$ and ${p}_{j,i}^{t}$ are the coordinates of the centroid point and the point features corresponding to ${l}_{j,i}^{t}$, respectively.
${e}_{j,i}^{t}$ is the euclidean distance between ${l}_{j,i}^{t}$ and ${o}_{j}^{t}$.
$A$ is the attention mechanism with (3+1+$c_{m-1}$)-dim scores corresponding to the coordinates and features of each point.
Attention scores in $A$ are shared among all local points from all point cloud frames.
$\ominus$ and $\odot$ are the concatenation operation and dot product operation, respectively.
${r}_{j}^{t}$ is the abstracted features of the $j$-th centroid point from the $t$-th point cloud frame.
\par The set abstract operation is performed twice in the hyperpoint sequence module.
In order to characterize the spatial appearance information of the entire point cloud frame, a PointNet layer consisting of a set of MLPs and a max pooling operation is used as follows:
\begin{equation}
\bm{F}_{t}=\underset{j=1, \ldots, n_2}{\operatorname{MAX}}\left\{\operatorname{MLP}\left({r}_{j}^{t}\right)\right\}
\end{equation}
where $\bm{F}_{t}$ is the hyperpoint of the $t$-th point cloud frame.
So the hyperpoint sequence is represented as $\bm{{F}}=\left\{\bm{F}_{t}\right\}_{t=1}^{T}$.
\par The hyperpoint is a high-dimensional point, which is a texture summary of the static point cloud in a selected area.
As shown in Fig. 3, the hyperpoint sequence is a set of ordered hyperpoints in the hyperpoint space, recording changing internal textures of each point cloud frame along the time dimension.
The hyperpoint sequence is a new point data type.
Adjacent hyperpoints in the hyperpoint sequence have high similarity.
Compared with complex internal spatial information, the change ($i.e.$, temporal information) between hyperpoints is relatively simple.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig33}
	\caption{The hyperpoint sequence is a set of ordered hyperpoints in the hyperpoint space, recording changing internal textures of each point cloud frame along the time dimension.\label{fig33}}
\end{figure}
\par To the best of our knowledge, we are the first to flatten the point cloud frame to a hyperpoint in point cloud sequence models.
In order to demonstrate that the hyperpoint retains the complete human static appearance information, we provide a theoretical foundation for our flattening operation by showing the universal approximation ability of the hyperpoint embedding module to continuous functions on point cloud frames.
\par Formally, let $\mathcal{X}=\left\{S: S \subseteq[0,1]^{c}\right.$ and $\left.|S|=n\right\}$ is the set of c-dimensional point clouds inside a c-dimensional unit cube. $f:\mathcal{X} \rightarrow \mathbb{R}$ is a continuous set function on $\mathcal{X}$ w.r.t to Hausdorff distance $D_{H}(\cdot, \cdot)$, i.e., $\forall \epsilon>0, \exists \delta>0$, for any $S, S^{\prime} \in \mathcal{X}$, if $D_{H}(\cdot, \cdot)<\delta$, then $|f(S)-f(S^{\prime})|<\epsilon$.
The theorem 1 \cite{PointNet} says that $f$ can be arbitrarily approximated by PointNet given enough neurons at the max pooling layer.
\par $\textbf{Theorem 1.}$ $\textit{Suppose}$ $f: \mathcal{X} \rightarrow \mathbb{R}$ $\textit{is}$ $\textit{a}$ $\textit{continuous}$ $\textit{set}$ $\textit{function}$ $\textit{w.r.t}$ $\textit{Hausdorff}$ $\textit{distance}$ $D_{H}(\cdot, \cdot) . \quad \forall \epsilon>$ $0, \exists$ $\textit{a}$ $\textit{continuous}$ $\textit{function}$ $h$ $\textit{and}$ $\textit{a}$ $\textit{symmetric}$ $\textit{function}$ $g\left(x_{1}, \ldots, x_{n}\right)=\gamma \circ M A X$$\textit{, such}$ $\textit{that}$ $\textit{for}$ $\textit{any}$ $S \in \mathcal{X}$,
$$
\left|f(S)-\gamma\left(\underset{x_{i} \in S}{\operatorname{MAX}}\left\{h\left(x_{i}\right)\right\}\right)\right|<\epsilon
$$
$\textit{where}$ $x_{1}, \ldots, x_{n}$ $\textit{is}$ $\textit{the}$ $\textit{full}$ $\textit{list}$ $\textit{of}$ $\textit{elements}$ $\textit{in}$ $S$ $\textit{ordered}$ $\textit{arbitrarily,}$ $\gamma$ $\textit{is}$ $\textit{a}$ $\textit{continuous}$ $\textit{function,}$ $\textit{and}$ $\textit{MAX}$ $\textit{is}$ $\textit{a}$ $\textit{vector}$ $\textit{max}$ $\textit{operator}$ $\textit{that}$ $\textit{takes}$ $n$ $\textit{vectors}$ $\textit{as}$ $\textit{input}$ $\textit{and}$ $\textit{returns}$ $\textit{a}$ $\textit{new}$ $\textit{vector}$ $\textit{of}$ $\textit{the}$ $\textit{element-wise}$ $\textit{maximum}$.
\par As stated above, continuous functions can be arbitrarily approximated by PointNet given enough neurons at the max pooling layer.
The hyperpoint embedding module is a recursive application of PointNet on nested partitions of the input point set.
Therefore, the hyperpoint embedding module is able to arbitrarily approximate continuous functions on point cloud frames given enough neurons at max pooling layers and a suitable partitioning strategy.
In other words, the hyperpoint embedding module is not only a frame-level parallel architecture but also has the ability to extract the complete human static appearance information from the point cloud sequence.
\begin{figure*}[t]
	\centering
	\includegraphics[width=18cm]{Fig3}
	\caption{Left: Hyperpoint-Mixer module. Right: Space dislocation layer. The Hyperpoint-Mixer module consists of multiple space dislocation layers of identical size, a frame-mixing layer, and a multi-level feature learning based on skip-connection operations. The space dislocation layer is composed of a hyperpoint dislocation block, and a channel-mixing MLP block.\label{fig3}}
\end{figure*}
\subsection{Hyperpoint-Mixer module}
Hyperpoint-Mixer module is proposed to perform feature mixing of hyperpoint sequences.
Existing point cloud sequence models consist of architectures that mix intra-frame spatial and inter-frame temporal features.
MeteorNet, P4Transformer, and PSTNet mix spatial and temporal features at once in cross-frame spatio-temporal local neighborhoods.
The idea behind the Hyperpoint-Mixer module is to (i) clearly separate the spatial (channel-mixing) operation and the temporal (frame-mixing) operation, (ii) design a frame-mixing operation of low computational complexity which is executed following the last channel-mixing operation.
The intra-frame spatial information and the inter-frame temporal information in hyperpoint sequences may not be compatible.
Separating the channel-mixing operations and the frame-mixing operation can avoid the mutual influence of spatial and temporal information extraction, which maximizes the human appearance encoding ability.
Moreover, due to (i) and (ii), the Hyperpoint-Mixer module motivates the main operations of SequentialPointNet to execute in frame-level parallel.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig444}
	\caption{In the hyperpoint dislocation block, by adding the corresponding displacement vector, hyperpoints are dislocated from the initial space to different spatial positions to record the temporal order.\label{fig444}}
\end{figure}
\par Fig. 4 summarizes the Hyperpoint-Mixer module.
The point cloud sequence is flattened to a hyperpoint sequence $\bm{F} \in \mathbb{R}^{T \times d_\text{H}}$ and input into the Hyperpoint-Mixer module to mix spatial and temporal features.
This module consists of multiple space dislocation layers of identical size, a multi-level feature learning based on skip-connection operations, and a frame-mixing layer.
\subsubsection{Space dislocation layer}
The space dislocation layer is composed of a hyperpoint dislocation block, and a channel-mixing MLP block, which is presented to perform the intra-frame spatial feature mixing of hyperpoints in the new dislocated space.
Simple symmetric functions like averaging, maximum, and addition operations are common feature aggregating manners with low computational complexity.
In this paper, the symmetric function is adopted as the frame-mixing layer.
However, symmetric functions are insensitive to the input order of hyperpoints.
To overcome this problem, we must embed temporal information into the hyperpoint sequence.
In the hyperpoint dislocation block, by adding the corresponding displacement vector, hyperpoints are dislocated from the initial space to different spatial positions to record the temporal order as shown in Fig. 5.
The essence of the hyperpoint dislocation block is to convert the hyperpoint order into a coordinate component of the hyperpoint to embed temporal information.
Specifically, displacement vectors are generated using the sine and cosine functions of different frequencies \cite{Transformer}:
\begin{equation}
D V_{t, 2 h}=\sin \left(t/ 10000^{2 h / d_{\text {H }}}\right)
\end{equation}
\begin{equation}
D V_{t, 2 h+1}=\cos \left(t/ 10000^{2 h / d_{\text {H}}}\right)
\end{equation}
where $d_{\text {H}}$ denotes the number of channels. $t$ is the temporal position and $h$ is the dimension position.
Then, the channel-mixing MLP block acts on each hyperpoint in the dislocation space to perform the channel-mixing operation, maps $\mathbb{R}^{d_\text{H}}\rightarrow \mathbb{R}^{d_\text{H}}$, and is shared across all hyperpoints. Each channel-mixing MLP block contains a set of fully-connected layers and ReLU non-linearities. Space dislocation layers can be formalized as follows:
\begin{equation}
\bm{F}^{\ell}_{t}=MLP(\bm{F}^{\ell-1}_{t}+DV_t), \quad \text { for } t=1 \ldots T.
\end{equation}
where $\bm{F}^{\ell}$ is the new hyperpoint sequences after the $\ell$-th space dislocation layer.
\par Each space dislocation layer takes an input of the same size, which is an isotropic design.
With the stacking of space dislocation layers, hyperpoints are dislocated at increasingly larger scales.
In the larger dislocation space, the coordinates of hyperpoints record more temporal information but less spatial information.
Multi-level feature learning \cite{multi-scale} is often used in vision tasks, which can improve recognition accuracy.
In order to obtain more discriminant information, multi-level features from different dislocation spaces are added by skip-connection operations and sent into the symmetric function  as follows:
\begin{equation}
\bm{R}_{i}=\underset{t=1, \ldots, T}{g}\left\{(\bm{F}+\bm{F}^1+,...,+\bm{F}^{\ell})_{t,i}\right\}
\end{equation}
where $g$:  $\mathbb{R}^{T \times d_\text{H}} \rightarrow \mathbb{R}^{d_\text{H}}$ is a symmetric function.
$\bm{R}$ is the global spatio-temporal feature of the hyperpoint sequence.
\subsubsection{Frame-mixing layer}
The frame-mixing layer is used to perform the feature mixing across frames.
Since the temporal information has been injected, the max pooling operation is adopted as the frame-mixing layer to aggregate spatio-temporal information from all the hyperpoints.
In order to capture the subactions within the point cloud sequence, the hierarchical pyramid max pooling operation is used, which divides the fused hyperpoint sequence $\bm{\widetilde{F}}=\bm{F}+\bm{F}^1+,...,+\bm{F}^{\ell}$ into multiple temporal partitions of the equal number of hyperpoints and then performs the max pooling operation in each partition to generate the corresponding descriptors.
In this work, we employ a 2-layer pyramid with three partitions.
Then, the descriptors from all temporal partitions are simply concatenated to form the global spatio-temporal feature $\bm{R}$.
Finally, the output of the Hyperpoint-Mixer module is input to a fully-connected classifier head for recognizing human actions.
\par It is worth mentioning that the Hyperpoint-Mixer module can also be viewed as a time sequence model.
Compared to RNN-like and Transformer-like networks, the Hyperpoint-Mixer module implements more competitive performance on the hyperpoint sequence classification task.
Different from the conventional sequential data, the internal structures of the hyperpoint generate the main discriminant information and the dynamics between the hyperpoints are auxiliary.
Therefore, the time sequence models that implement strict temporal inference are not suitable for hyperpoint sequences.
Channel-mixing operations and the frame-mixing operation are separated in the Hyperpoint-Mixer module, which avoids the mutual influence of temporal and spatial information extraction and maximizes the encoding ability for intra-frame human appearance.
The symmetry function assisted by the hyperpoint dislocation block also preserves plentiful dynamic information for effective human action recognition.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig4}
	\caption{The computation graph of SequentialPointNet.\label{fig4}}
\end{figure}
\subsection{Frame-level parallelism}
\par Fig. 6 demonstrates the computation graph of SequentialPointNet.
Taking the frame-mixing layer as the watershed, SequentialPointNet can be divided into a front part and a back part.
Since there is no cross-frame computational dependency, operations of the front part can be divided into frame-level units executed in parallel.
Each frame-level unit includes a hyperpoint embedding module and all space dislocation layers.
The back part only contains architectures of low computational complexity including the frame-mixing operation and a classifier head.
Therefore, the main operations ($i.e.$, the front part) in SequentialPointNet can be executed in frame-level parallel, based on which the efficiency of modeling point cloud sequences is greatly improved.
\section{Experiments}
In this section, we firstly introduce the datasets and experimental implementation details.
Then, we compare our SequentialPointNet with the existing state-of-the-art methods.
Again, we conduct detailed ablation studies to further demonstrate the contributions of different components in our SequentialPointNet.
Finally, we compare the memory usage and computational efficiency of our SequentialPointNet with other point cloud sequence models.
\subsection{Datasets}
\par We evaluate the proposed method on two large-scale public datasets ($i.e.$, NTU RGB+D 60 \cite{NTU60} and NTU RGB+D 120 \cite{NTU120}) and two small-scale public dataset ($i.e.$, MSR Action3D dataset \cite{MSR} and UTD Multimodal Human Action Dataset \cite{UTD} (UTD-MHAD)).
\par The NTU RGB+D 60 dataset is composed of 56880 depth video sequences for 60 actions and is one of the largest human action datasets. Both cross-subject and cross-view evaluation criteria are adopted for training and testing.
\par The NTU RGB+D 120 dataset is the largest dataset for 3D action recognition, which is an extension of the NTU RGB-D 60 dataset. The NTU RGB+D 120 dataset is composed of 114480 depth video sequences for 120 actions. Both cross-subject and cross-setup evaluation criteria are adopted for training and testing.
\par The MSR Action3D dataset contains 557 depth video samples of 20 actions from 10 subjects. Each action is performed 2 or 3 times by every subject. We adopt the same cross-subject settings in \cite{MSR}, where all the 20 actions were employed. Half of the subjects are used for training and the rest for testing.
\par The UTD-MHAD dataset is composed of 861 depth video samples for 27 actions performed by 8 subjects. Every subject performs each action 4 times. We adopt the same experimental settings in \cite{UTD}, where the 27 actions were employed. Half of the subjects were used for training and the other half for testing.
\subsection{Implementation details}
Each depth frame is converted to a point cloud set using the public code provided by 3DV-PointNet++.
We sample 512 points from the point cloud set as a point cloud frame.
Specifically, we first randomly sample 2048 points from the point cloud set.
Then, 512 points are chosen from the 2048 points using the PFS algorithm.
In the hyperpoint embedding module, the set abstraction operation is performed twice on each point cloud frame to model spatial structures.
In the first set abstraction operation, 128 centroids are chosen to determine point groups.
The group radius is set to 0.06. The point number in each point group is set to 48.
In the second set abstraction operation, 32 centroids are chosen to determine point groups.
The group radius is set to 0.1. The point number in each point group is set to 16.
In the Hyperpoint-Mixer module, the number of space dislocation layers is set to 2.
The same data augmentation strategies in 3DV-PointNet++ are adopted on training data, including random rotation around Y and X axis, jittering, and random points dropout.
We apply Adam as the optimizer.
The batch size is set to 32.
The learning rate begins with 0.001 and decays with a rate of 0.5 every 10 epochs.
Training will end when reaching 90 epochs.
\par$\textbf{Details on the network architecture.}$ We provide the details of SequentialPointNet as follows.
In the hyperpoint embedding module, three sets of MLPs are used ($i.e.$, two sets of MLPs are used in two set abstraction operations and another set of MLPs are used in the finally PointNet layer).
Each set of MLPs includes three MLPs.
The out channels of the first set of MLPs are set as 64, 64, and 128, respectively.
The out channels of the second set of MLPs are set as 128, 128, and 256, respectively.
The out channels of the third set of MLPs are set as 256, 512, and 1024, respectively.
In the Hyperpoint-Mixer module, two sets of MLPs are used in two space dislocation layers.
Each set of MLPs includes one MLP of 1024 out channels.
The output channels of the fully-connected classifier head are set as 256 and the number of action categories.
\subsection{Comparison with the state-of-the-art methods}
In this section, in order to verify the recognition accuracy of our SequentialPointNet, comparison experiments with other state-of-the-art approaches are implemented on NTU RGB+D 60 dataset, NTU RGB+D 120 dataset, MSR Action3D dataset, and UTD-MHAD dataset.
\subsubsection{NTU RGB+D 60 dataset}
We first compare our SequentialPointNet with the state-of-the-art methods on the NTU RGB+D 60 dataset.
The NTU RGB+D 60 dataset is a large-scale indoor human action dataset.
As indicated in Table I, SequentialPointNet achieves 90.3$\%$ and 97.6$\%$ on the cross-subject and cross-view test settings, respectively.
Although there is a small gap between our method and skeleton sequence-based DDGCN on the cross-subject test setting, SequentialPointNet surpasses DDGCN by 0.5$\%$ on the cross-view test setting.
Compared with depth sequences and point cloud sequences, skeleton sequences have the point tracking nature which is convenient for exploring fine temporal information.
Fine temporal information mitigates the effect of subject diversity on action recognition, chieving higher recognition accuracy on the cross-subject test setting.
It is worth mentioning that SequentialPointNet shows strong performance on par or even better than other point sequence-based approaches.
Our SequentialPointNet achieves state-of-the-art performance among all methods on the cross-view test setting and results in similar recognition accuracy as PSTNet on the cross-subject test setting.
The key success of our SequentialPointNet lies in effectively capturing human appearance information from each point cloud frame by the hyperpoint embedding module and the channel-mix layer in the Hyperpoint-Mixer module.
Separating the channel-mixing operations and the frame-mixing operation avoids the mutual influence of spatial and temporal information extraction, which maximizes the human appearance encoding ability.
Moreover, the symmetry function assisted by the hyperpoint dislocation block also preserves plentiful temporal information for effective human action recognition.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on NTU RGB+D 60}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries Cross-subject& \bfseries Cross-view\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		Wang $et$ $al$.(2018)\cite{DPBL} & depth & 87.1& 84.2\\
		MVDI(2019)\cite{MVDI} & depth & 84.6& 87.3\\
		3DFCNN(2020)\cite{3DFCNN} & depth & 78.1& 80.4\\
		Stateful ConvLSTM(2020)\cite{Statefull} & depth & 80.4& 79.9\\
		\cmidrule(r){1-4}
		ST-GCN(2018)\cite{STGCN} & skeleton & 81.5& 88.3\\
		AS-GCN(2019)\cite{ASGCN} & skeleton & 86.8& 94.2\\
		2s-AGCN(2019)\cite{2sAGCN} & skeleton & 88.5& 95.1\\
		DGNN(2019)\cite{DGNN} & skeleton & 89.9& 96.1\\
		DDGCN(2020)\cite{DDGNN} & skeleton & $\mathbf{91.1}$& 97.1\\
		3s-CrosSCLR(2021)\cite{3sCrosSCLR} & skeleton & 86.2& 92.5\\
		Sym-GNN(2021)\cite{symGNN} & skeleton & 90.1& 96.4\\
		\cmidrule(r){1-4}
		3DV-PointNet++(2020)\cite{3DV}  & point& 88.8& 96.3\\
		P4Transformer(2021)\cite{P4Transformer} & point & 90.2& 96.4\\
		PSTNet(2021)\cite{PSTNet} & point  & 90.5& 96.5\\
		SequentialPointNet(ours) & point & 90.3& $\mathbf{97.6}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{NTU RGB+D 120 dataset}
We then compare our SequentialPointNet with the state-of-the-art methods on the NTU RGB+D 120 dataset.
The NTU RGB+D 120 dataset is the largest dataset for 3D action recognition.
Compared with NTU RGB+D 60 dataset, it is more challenging to perform 3D human motion recognition on the NTU RGB+D 120 dataset.
As indicated in Table II, SequentialPointNet achieves 83.5$\%$ and 95.4$\%$ on the cross-subject and cross-setup test settings, respectively.
Note that, even on the largest human action dataset, SequentialPointNet still gains a strong lead on the cross-setup test setting among all 3D human action recognition methods and achieves state-of-the-art performance.
Compared with the state-of-the-art method, SequentialPointNet does not show a competitive recognition accuracy on the cross-subject setting.
There is a gap between our method and PSTNet, which is due to the loss of fine temporal changes.
Fine temporal changes mitigate the effect of subject diversity on the performance of action recognition.
However, a small loss of temporal information is a necessary concession to frame-level parallelism.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on NTU RGB+D 120}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries Cross-subject& \bfseries Cross-setup\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		Baseline(2018)\cite{NTU120} & depth & 48.7& 40.1\\
		\cmidrule(r){1-4}
		ST-GCN(2018)\cite{STGCN} & skeleton & 81.5& 88.3\\
		MS-G3D Net (2020)\cite{MSG3D} & skeleton & 86.9& 88.4\\
		4s Shift-GCN(2020)\cite{4sShiftGCN} & skeleton & 85.9& 87.6\\
		SGN(2020)\cite{SGN} & skeleton & 79.2& 81.5\\
		3s-CrosSCLR(2021)\cite{3sCrosSCLR} & skeleton & 80.5& 80.4\\
		\cmidrule(r){1-4}
		3DV-PointNet++(2020)\cite{3DV}  & point& 82.4& 93.5\\
		P4Transformer(2021)\cite{P4Transformer} & point & 86.4& 93.5\\
		PSTNet(2021)\cite{PSTNet} & point  & $\mathbf{87.0}$& 93.5\\
		SequentialPointNet(ours) & point & 83.5& $\mathbf{95.4}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{MSR Action3D dataset}
In order to comprehensively evaluate our method, comparative experiments are also carried out on the small-scale MSR Action3D dataset.
In order to alleviate the overfitting problem on the small-scale dataset, the batch size is set as 16.
Other parameter settings remain the same as those on the two large-scale datasets.
Table III illustrates the recognition accuracy of different methods when using different numbers of point cloud frames.
It’s interesting to see that, as the number of point cloud frames increases, the recognition accuracy of our method increases faster than MeteorNet, P4Transformer, and PSTNet.
When using 24 point cloud frames as inputs, our model achieved state-of-the-art performance on the MSR Action3D dataset.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on MSR-Action3D}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries  $\#$ Frames& \bfseries Accuracy\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		Kläser $et$ $al$.(2008)\cite{ASTDB}  & depth& 18& 81.43\\
		Vieira $et$ $al$.(2012)\cite{SSTO}  & depth& 20& 78.20\\
		Actionlet(2012)\cite{Actionlet}  & skeleton& all& 88.21\\
		\cmidrule(r){1-4}
		\multirow{5}{*}{MeteorNet(2019)\cite{MeteorNet}} &  \multirow{5}{*}{point}& 4 & 78.11 \\
		&  & 8 & 81.14 \\
		&  & 12 & 86.53 \\
		&  & 16 & 88.21 \\
		&  & 24 & 88.50 \\
		\cmidrule(r){1-4}
		PointNet++(2020)\cite{Pointnet++}  & point& 1& 61.61\\
		\cmidrule(r){1-4}
		\multirow{6}{*}{P4Transformer(2021)\cite{P4Transformer}} &  \multirow{6}{*}{point}& 4 & 80.13 \\
		&  & 8 & 83.17 \\
		&  & 12 & 87.54 \\
		&  & 16 & 89.56 \\
		&  & 20 & 90.24 \\
		&  & 24 & 90.94 \\
		\cmidrule(r){1-4}
		\multirow{6}{*}{PSTNet(2021)\cite{PSTNet}} &  \multirow{6}{*}{point}& 4 & 81.14 \\
		&  & 8 & 83.50 \\
		&  & 12 & 87.88 \\
		&  & 16 & 89.90 \\
		&  & 24 & 91.20 \\
		\cmidrule(r){1-4}
		\multirow{6}{*}{SequentialPointNet(ours)} &  \multirow{6}{*}{point}& 4 & 77.66 \\
		&  & 8 & 86.45 \\
		&  & 12 & 88.64 \\
		&  & 16 & 89.56 \\
		&  & 20 & 91.21 \\
		&  & 24 & $\mathbf{91.94}$\\

		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{UTD-MHAD dataset}
We evaluate our method on another small-scale UTD-MHAD dataset.
The batch size is set as 16.
Other parameter settings remain the same as those on the two large-scale datasets.
SequentialPointNet is the first point cloud sequence model conducted on the UTD-MHAD dataset.
In this paper, point cloud sequences are converted from depth sequences.
To verify the recognition performance of SequentialPointNet, we compare the proposed approach with other depth sequence-based methods.
Table IV illustrates the recognition accuracy of different methods.
SequentialPointNet has the highest recognition accuracy of 92.31$\%$.
Experimental results on two small-scale datasets demonstrate that our approach can achieve superior recognition accuracy even without a large amount of data for training.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on UTD-MHAD}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}ccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries Accuracy\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		3DHOT-MBC(2017)\cite{3DHOT-MBC} &depth &84.40\\
		HP-DMM-CNN(2018)\cite{HP-DMM-CNN} & depth&82.75\\
		DMI-CNN(2018)\cite{Kamel} & depth&50.00\\
		HP-DMM(2018)\cite{HP-DMM} & depth&73.72\\
		Yang $et$ $al$.(2020)\cite{Yang} &depth &88.37\\
		Trelinski  $et$ $al$.(2021)\cite{Trelinski}  & depth&88.14\\
		DRDIS(2021)\cite{Wu}  & depth&87.88\\
		\cmidrule(r){1-3}
		SequentialPointNet(ours) & point& $\mathbf{92.31}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsection{Ablation study}
In this section, comprehensive ablation studies are performed on NTU RGB+D 60 dataset to validate the contributions of different components in our SequentialPointNet.
\subsubsection{Effectiveness of Hyperpoint-Mixer module}
We conduct the experiments to demonstrate the effectiveness of the Hyperpoint-Mixer module, and results are reported in Table V.
In order to prove modeling ability of this module to hyperpoint sequences, several strong deep networks are used to instead of the Hyperpoint-Mixer module in our SequentialPointNet.
In SequentialPointNet (LSTM), LSTM is employed.
In SequentialPointNet (GRU), GRU is employed.
In SequentialPointNet (Transformer), a Transformer of two attention layers is used.
In SequentialPointNet (MLP-Mixer), a MLP-Mixer of two mixer layers is used.
\par We can see from the table that results of SequentialPointNet (LSTM), SequentialPointNet (GRU), and SequentialPointNet (Transformer) are much worse when compared with the result of SequentialPointNet.
Internal structures of hyperpoints generate the main discriminant information and the changes between hyperpoints are auxiliary.
Therefore, recurrent models that implement strict temporal inference are not suitable for hyperpoint sequences.
Recently, self-attention-based Transformer has remained dominant in natural language processing and computer vision \cite{ViT}.
Transformer is expected to achieve superior performance on the hyperpoint sequence classification task.
However, due to the lack of larger-scale data for pre-training, Transformer does not show a promising result.
SequentialPointNet (MLP-Mixer) achieves the accuracy of 94.5$\%$, which is 3.1$\%$ lower than our SequentialPointNet.
In MLP-Mixer, channel-mixing and token-mixing are performed alternately, resulting in the mutual influence of spatial and temporal information extraction.

\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Cross-view recognition accuracy ($\%$) when using models on the NTU RGB+D 60 dataset}
	\label{table3}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cc@{}}
		\hline
		\hline
		\bfseries Method & \bfseries Accuracy  \\
		\hline
		\hline
		SequentialPointNet(LSTM) & 85.9\\
		SequentialPointNet(GRU) & 86.4\\
		SequentialPointNet(Transformer) & 81.6\\
		SequentialPointNet(MLP-Mixer) & 94.5\\
		SequentialPointNet & 97.6\\

		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{Different temporal information embedding manners}
To demonstrate the effectiveness of the hyperpoint dislocation block in the Hyperpoint-Mixer module, we also report the results of SequentialPointNet (4D, w/o hdb), which does not use the hyperpoint dislocation block and injects the order information by appending the 1D temporal dimension to raw 3D points in each point cloud frame.
Results are tabulated in Table VI.
From the table, we observe that SequentialPointNet with the hyperpoint dislocation block outperforms SequentialPointNet (4D, w/o hdb).
Therefore, the temporal information embedding manner used in SequentialPointNet is more efficient.
From the experimental results, we can draw a conclusion that premature embedding of temporal information will affect spatial information encoding and reduce the accuracy of human action recognition.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Cross-view recognition accuracy ($\%$) of different methods on the NTU RGB+D 60 dataset}
	\label{table3}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cc@{}}
		\hline
		\hline
		\bfseries Method & \bfseries Accuracy  \\
		\hline
		\hline
		SequentialPointNet(4D, w/o hdb) & 95.4\\
		SequentialPointNet(w/o mlfl) & 96.9\\
		SequentialPointNet(w/o apn) & 97.1\\
		SequentialPointNet & 97.6\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{Effectiveness of multi-level feature learning in the Hyperpoint-Mixer module}
With the stacking of the space dislocation layer in the Hyperpoint-Mixer module, hyperpoints are dislocated at increasingly larger scales.
In the larger dislocation space, the coordinates of hyperpoints record more temporal information but less spatial information.
In order to obtain more discriminant information, multi-level features from different dislocation spaces are added by skip-connection operations.
To verify the effectiveness of the multi-level feature learning, we report the result of SequentialPointNet (w/o mlfl) that classify human actions without the multi-level features.
We can see from Table VI that the recognition accuracy of SequentialPointNet (w/o mlfl) decreases by 0.7$\%$ without the multi-level feature learning.
\subsubsection{Effectiveness of Augmentation PointNet layer}
We design the augmentation PointNet layer in set abstract operations of the hyperpoint embedding module to encode the spatial structures of human actions.
There are two main improvements.
First, we used the distance between each local point and the corresponding centroid as a 1-dim additional point feature to alleviate the influence of rotational motion on action recognition.
Second, the inter-feature attention mechanism is used to optimize the fusion effect of different features.
In order to verify the effectiveness of the augmentation PointNet layer, we report the result of SequentialPointNet (w/o apn) that classifies human actions without the augmentation PointNet layer.
From Table VI, we observe that the recognition accuracy of SequentialPointNet with the augmentation PointNet layer increases by 0.5$\%$ than SequentialPointNet (w/o apn).
\subsubsection{Results of our SequentialPointNet when setting different layers of pyramids in the hierarchical pyramid max pooling operation}
To investigate the choice of the number of the pyramid layers in the hierarchical pyramid max pooling operation, we compare the performance of our SequentialPointNet with the different numbers of pyramid layers.
The hierarchical pyramid max pooling operation is used as the frame-mixing operation to mix the dynamic information within subactions.
Too few layers of the pyramid cannot obtain enough temporal multi-scale information of human motion.
Too many layers of the pyramid tend to introduce redundant information and increase computational costs.
The results are presented in Fig. 7.
Particularly, the 2-layer pyramid is the optimal choice for SequentialPointNet.
\begin{figure}[t]
	\begin{minipage}[t]{0.49\linewidth}
		\centering
		\includegraphics[width=1\textwidth]{Fig5}
		\caption{Cross-view recognition accuracy ($\%$) of our SequentialPointNet when using different numbers of pyramid layers on the NTU RGB+D 60 dataset.\label{fig5}}
	\end{minipage}
	\hfill
	\begin{minipage}[t]{0.49\linewidth}
		\centering
		\includegraphics[width=1\textwidth]{Fig6}
		\caption{Cross-view recognition accuracy ($\%$) of our SequentialPointNet when using different numbers of frames on the NTU RGB+D 60 dataset.\label{fig6}}
	\end{minipage}
\end{figure}

\subsubsection{Results of our SequentialPointNet when using different numbers of point cloud frames}
We also investigate the performance variation of our method when using different numbers of point cloud frames.
As shown in Fig. 8, better performance is gained when the number of point cloud frames increases.
When the number of frames is greater than 20, the recognition accuracy tends to stabilize.
Therefore, the number of the point cloud frames is set to 20.
\subsection{Memory usage and computational efficiency}
In this section, we evaluate the memory usage, computational efficiency and parallelism of our method.
Experiments are conducted on the machine with one Intel(R) Xeon(R) W-3175X CPU and one Nvidia RTX 3090 GPU.
In Table VII, the number of parameters, the number of floating point operations (FLOPs), and the running time of our SequentialPointNet are compared with MeteorNet, 3DV-PointNet++, P4Transformer, and PSTNet.
The running time is the network forward inference time per point cloud sequence and counted in the same way as 3DV-PointNet++.
FLOPs of MeteorNet, P4Transformer, and PSTNet are not provided by their authors.
\begin{table}[H]
	\renewcommand{\arraystretch}{1.3}
	\caption{Parameters, floating point operations, and running times comparison of different methods}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method  & \bfseries Parameters (M) & \bfseries FLOPs (G) &  \bfseries Time (ms)\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		MeteorNet\cite{MeteorNet} & 17.60& -& 56.49\\
		3DV-PointNet++\cite{3DV} & $\mathbf{1.24}$& $\mathbf{1.24}$& 54\\
		P4Transformer\cite{P4Transformer} & 44.1& -& 96.48\\
		PSTNet\cite{PSTNet} & 20.46& -& 106.35\\
		SequentialPointNet & 3.72& 2.84& $\mathbf{5}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\par From the table, we can see that parameters in 3DV-PointNet++ are the fewest in all methods.
This is because 3DV-PointNet++ converts point cloud sequences to 3D point clouds, and employs static point cloud methods to process 3D point clouds.
Compared with point cloud sequence methods, the static point cloud method has fewer parameters but lower recognition accuracy.
It is noticed from the table that only our SequentialPointNet has a similar number of parameters as 3DV-PointNet++.
The parameter number of SequentialPointNet is much less than MeteorNet, P4Transformer, and PSTNet, which verifies that our approach is the most lightweight point cloud sequence model.
In addition, SequentialPointNet is far faster than other methods, even though 3DV-PointNet++ has fewer FLOPs.
SequentialPointNet takes only 5 milliseconds to classify a point cloud sequence.
In 3DV-PointNet++, a multi-stream 3D action recognition manner is proposed to learn motion and appearance features jointly.
However, the multi-stream manner limits the parallelism of 3DV-PointNet++.
In MeteorNet, P4Transformer, and PSTNet, Cross-frame spatio-temporal local neighborhoods are constructed, which is time-consuming and not conducive to parallel computing.
SequentialPointNet improves the speed of modeling point cloud sequences by more than 10 times.
The superior computational efficiency of our SequentialPointNet is due to the lightweight network architecture and strong frame-level parallelism.
\par Since there is no computational dependency, in the case of limited computing power, frame-level units can also be deployed on different devices or executed sequentially on a single device.
\section{Conclusion}
In this paper, we have proposed a strong frame-level parallel point cloud sequence network referred to as SequentialPointNet for 3D action recognition, which greatly improves the efficiency of modeling point cloud sequences.
SequentialPointNet is composed of two serial modules, $i.e.$, a hyperpoint embedding module and a Hyperpoint-Mixer module.
First, each point cloud frame is flattened into a hyperpoint by the same trainable hyperpoint embedding module.
Then, we input the hyperpoint sequence into the Hyperpoint-Mixer module to perform feature mixing operations.
In the Hyperpoint-Mixer module, channel-mixing operations and frame-mixing operations are clearly separated and the frame-mixing operation is placed at the end of all operations.
By doing so, the main operations of SequentialPointNet can be divided into frame-level units executed in parallel.
Extensive experiments conducted on four public datasets show that SequentialPointNet has the fastest computation speed and superior recognition performance among all point cloud sequence models.

\section{Introduction}\label{sec:introduction}}

\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE Computer Society journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\ifCLASSOPTIONcompsoc

  \section*{Acknowledgments}
\else

  \section*{Acknowledgment}
\fi

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi

\section{Introduction}
\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE Communications Society journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\section*{Acknowledgment}

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi

\section{Introduction}
\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE \textsc{Transactions on Magnetics} journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\section*{Acknowledgment}

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi

\section{Introduction}\label{sec:introduction}}
\else
\section{Introduction}
\label{sec:introduction}
\fi

\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE Computer Society journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\ifCLASSOPTIONcompsoc

  \section*{Acknowledgments}
\else

  \section*{Acknowledgment}
\fi

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi

\section{Introduction}
This demo file is intended to serve as a ``starter file''
for IEEE conference papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\section*{Acknowledgment}

The authors would like to thank...

\section{Introduction}
This demo file is intended to serve as a ``starter file''
for IEEE Computer Society conference papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\ifCLASSOPTIONcompsoc

  \section*{Acknowledgments}
\else

  \section*{Acknowledgment}
\fi

The authors would like to thank...

\section{Introduction}
\IEEEPARstart{W}{ith} the release of low-cost depth cameras, 3D human action recognition has attracted more and more attention from researchers.
3D human action recognition can be divided into three categories based on different data types: 1) skeleton sequence-based 3D human action recognition \cite{S1,S2,S3,S4,S5}, 2) depth sequence-based 3D human action recognition \cite{D1,D2,D3,D4,D5,D6}, 3) point cloud sequence-based 3D human action recognition \cite{P1,P2,P3}.
Compared with skeleton sequence-based approaches, point cloud sequences are more convenient to be collected without additional pose estimation algorithms.
Compared with depth sequence-based approaches, point cloud sequence-based methods yield lower computation costs.
For these reasons, we focus on point cloud sequence-based 3D human action recognition in this work.
\par Point cloud sequences of 3D human actions exhibit unordered intra-frame spatial information and ordered inter-frame temporal information.
Due to the complex data structures, capturing the spatio-temporal textures from point cloud sequences is extremely challenging.
An intuitive way is to convert point cloud sequences to 3D point clouds and employ static point cloud methods, e.g., PointNet++ \cite{Pointnet++}, to process.
However, using static 3D point clouds to represent the entire point cloud sequence loses a lot of spatio-temporal information, which reduces the recognition performance.
Therefore, point cloud sequence methods are necessary, which directly consumes the point cloud sequence for 3D human action classification.
In order to model the dynamics of point cloud sequences, cross-frame spatio-temporal local neighborhoods around the centroids are usually constructed \cite{MeteorNet,PSTNet,P4Transformer}.
Then, point convolution \cite{MeteorNet} or PointNet \cite{PSTNet,P4Transformer} are used to encode the spatio-temporal local structures.
However, this complex cross-frame computing may be time-consuming and is not conducive to parallel computation.
\par In this paper, we propose a strong frame-level parallel point cloud sequence network called SequentialPointNet.
First, each point cloud frame is flattened into a hyperpoint by the same trainable hyperpoint embedding module.
The hyperpoint embedding module is a kind of static point cloud technology, which designed based on PointNet.
Since PointNet can arbitrarily approximate continuous functions, the hyperpoint sequence has the ability to retain complete human appearance information of each frame.
Then, the Hyperpoint-Mixer module is proposed to mix features of the hyperpoint sequence.
In this module, intra-frame channel-mixing operations and inter-frame frame-mixing operations are clearly separated and the frame-mixing operation is placed at the end of all feature mixing operations.
Taking the frame-mixing operation as the watershed, SequentialPointNet can be divided into a front part and a back part.
Since there are no cross-frame computational dependencies, the front part can be divided into frame-level units executed in parallel.
Furthermore, separating the channel-mixing operations and frame-mixing operations avoids the mutual influence of temporal and spatial information extraction, which maximizes the human appearance encoding ability.
Hence, SequentialPointNet also yields superior recognition accuracy for 3D human action recognition.
\par Our main contributions are summarized as follows:
\par•	We propose a strong frame-level parallel point cloud sequence classification network, dubbed SequentialPointNet, to recognize 3D human actions. The key to SequentialPointNet is to divide the main modeling operations into frame-level units executed in parallel, which greatly improves the efficiency of modeling point cloud sequences.
\par•	In terms of our technical contribution, we propose to flatten the point cloud sequence into a new point data type named hyperpoint sequence and introduce a novel Hyperpoint-Mixer module to perform feature mixing for the hyperpoint sequence, based on which the appearance and motion information can be readily extracted for 3D human action recognition.
\par•	Our SequentialPointNet achieves up to 10$\times$ faster than existing point cloud sequence models and yields the cross-view accuracy of 97.6$\%$ on the NTU RGB+D 60 dataset, the cross-setup accuracy of 95.4$\%$ on the NTU RGB+D 120 dataset, the cross-subject accuracy of 91.94$\%$ on the MSR Action3D dataset, and the cross-subject accuracy of 92.31$\%$ on the UTD-MHAD dataset, which outperforms the state-of-the-art methods.
\section{Related Work}

\subsection{Static Point Cloud Modeling}
With the popularity of low-cost 3D sensors, deep learning on static point clouds have attracted much attention from researchers due to extensive applications ranging from object classification \cite{PC1,PC2,PC3,PC4,PC5}, part segmentation \cite{PS1,PS2,PS3,PS4,PS5}, to scene semantic parsing \cite{PP1,PP2}.
Static point clouds modeling can be divided into volumetric-based methods \cite{PVB1,PVB2,PVB3,PVB4,PVB5,PVB6} and point-based methods \cite{PPB1,PPB2,PPB3,PPB4}. Volumetric-based methods usually voxelize a point cloud into 3D grids, and then a 3D Convolution Neural Network (CNN) is applied on the volumetric representation for classification.
Point-based methods are directly performed on raw point clouds.
PointNet \cite{PointNet} is a pioneering effort that directly processes point sets.
The key idea of PointNet is to abstract each point using a set of Multi-layer Perceptrons (MLPs) and then assemble all individual point features by a symmetry function, $i.e$., a max pooling operation.
However, PointNet lacks the ability to capture local structures.
Therefore, in \cite{Pointnet++}, a hierarchical network PointNet++ is proposed to encode fine geometric structures from the neighborhood of each point.
PointNet++ is made of several set abstraction levels.
A set abstraction level is composed of three layers: sampling layer, grouping layer, and PointNet-based learning layer.
By stacking several set abstraction levels, PointNet++ progressively abstracts larger and larger local regions along the hierarchy.
\subsection{Time Sequence Modeling}
Sequential data widely exist in various research fields, such as text, audio, and video.
The point cloud sequence is also a kind of sequential data.
Time sequence models have been studied by the natural language processing community for decades.
The emergence of Recurrent Neural Networks (RNN) \cite{RNN1,RNN2,RNN3,RNN4} pushes the boundaries of time series models.
Due to the capability of extracting high-dimensional features to learn complex patterns, RNN performs time-series point prediction.
LSTM \cite{LSTM} captures the contextual representations of words with a short memory and has additional “forget” gates to thereby overcoming both the vanishing and exploding gradient problem.
GRU \cite{GRU} comprises of reset gate and update gate, and handles the information flow like LSTM sans a memory unit.
Transformer \cite{Transformer}, a fully-connected attention model, models the dependency between words in the sequence.
Since the model includes no recurrence and no convolution, Transformer secures the relative or absolute position within the sequence by injecting positional encoding.
\subsection{Point Cloud Sequence-based 3D Human Action Recognition}
Point cloud sequence-based 3D human action recognition is a fairly new and challenging task.
To capture spatio-temporal information from point cloud sequences, one solution is to convert point cloud sequences to 3D point clouds and employ static point cloud methods, e.g., PointNet++, to process 3D point clouds.
3DV-PointNet++ \cite{3DV} is the first work to recognize human actions from point cloud sequences.
In 3DV-PointNet++, 3D dynamic voxel (3DV) is proposed as a novel 3D motion representation.
A set of points is extracted from 3DV and input into PointNet++ for 3D action recognition in the end-to-end learning way.
However, since the point cloud sequence is converted into a static 3D point cloud set, 3DV loses a lot of spatio-temporal information and increases additional computational costs.
\par To overcome this problem, researchers have focused mainly on investigating point cloud sequence networks that directly consume point cloud sequences for human action recognition.
MeteorNet \cite{MeteorNet} is the first work on deep learning for modeling point cloud sequences.
In MeteorNet, two ways are proposed to construct spatio-temporal local neighborhoods for each point in the point cloud sequence.
The abstracted feature of each point is learned by aggregating the information from these neighborhoods.
Fan $et$ $al$. \cite{PSTNet} propose a Point spatio-temporal (PST) convolution to encode the spatio-temporal local structures of point cloud sequences.
PST convolution first disentangles space and time in point cloud sequences.
Furthermore, PST convolutions are incorporated into a deep network namely PSTNet to model point cloud sequences in a hierarchical manner.
To avoid point tracking, Point 4D Transformer (P4Transformer) network \cite{P4Transformer} is proposed to model point cloud videos.
Specifically, P4Transformer consists of a point 4D convolution to embed the spatio-temporal local structures presented in a point cloud video and a Transformer to encode the appearance and motion information by performing self-attention on the embedded local features.
However, in these point cloud sequence networks, cross-frame spatio-temporal local neighborhoods are usually constructed during modeling point cloud sequences, which is quite time-consuming and limits the parallel ability of networks.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig1}
	\caption{SequentialPointNet contains a hyperpoint embedding module, a Hyperpoint-Mixer module, and a classifier head.\label{fig1}}
\end{figure}
\section{METHODOLOGY}
In this section, a strong frame-level parallel point cloud sequence network called SequentialPointNet is proposed to recognize 3D human actions.
The overall flowchart of SequentialPointNet is described in Fig. 1.
SequentialPointNet contains a hyperpoint embedding module, a Hyperpoint-Mixer module, and a classifier head.
In Section III-A, the hyperpoint embedding module is used to flatten each point cloud frame into a hyperpoint that retains the complete human static appearance information.
The intra-frame spatial features and inter-frame temporal features of the hyperpoint sequence are mixed by the Hyperpoint-Mixer module in Section III-B.
In Section III-C, we analyze the frame-level parallelism of SequentialPointNet.
\subsection{Hyperpoint embedding module}
Recent point cloud sequence models typically construct cross-frame spatio-temporal local neighborhoods and employ point convolution or PointNet-based learning to extract spatial and temporal information.
This complex cross-frame computing precludes frame-level parallelism.
To avoid complex cross-frame computing, we propose to flatten each point cloud frame into a hyperpoint (also referred to as a token) by a same trainable hyperpoint embedding module.
This module is employed to aggregate intra-frame geometric details and preserve them in the hyperpoint.
The independent embedding of each point cloud frame enables the hyperpoint sequence to be generated in frame-level parallel.
An additional advantage of this flattening operation is that superior static point cloud models can be used almost out of the box as the hyperpoint embedding module.

\par In the hyperpoint embedding module, each point cloud frame is flattened to a hyperpoint by static point cloud processing technology to summarize human static appearance.
we first adopt the set abstraction operation twice to downsample each point cloud frame.
In this process, the texture information from space partitions is aggregated into the corresponding centroids.
Then, in order to characterize human entire appearance information , a PointNet layer is used.
The hyperpoint embedding module is shown in Fig. 2.
\begin{figure*}[t]
	\centering
	\includegraphics[width=18cm]{Fig2}
	\caption{The hyperpoint embedding module contains two set abstraction operation, and a PointNet layer.\label{fig2}}
\end{figure*}
\par The set abstraction operation in our work is made of three key layers: sampling layer, grouping layer, and augmentation PointNet layer.
Specifically, let $\bm{{S}}=\left\{\mathcal{S}_{t}\right\}_{t=1}^{T}$ denotes a point cloud sequence of $T$ frames, and $\mathcal{S}_{t}=\left\{x^t_1, x^t_2, ..., x^t_n  \right\}$ denotes the unordered point set of the $t$-th frame, where $n$ is the number of points.
The $m$-th set abstraction level takes an $n_{m-1} \times (d + c_{m-1})$ matrix as input that is from $n_{m-1}$ points with $d$-dim coordinates and $c_{m-1}$-dim point features.
It outputs an $n_{m} \times\left(d+c_{m}\right)$ matrix of $n_{m}$ subsampled points with $d$-dim coordinates and new $c_{m}$-dim feature vectors summarizing local context.
The size of the input in the first set abstraction level is $n \times (d + c)$.
In this work, $d$ is set as 3 corresponding to the 3-dim coordinate ($X$, $Y$, $Z$) of each point, and $c$ is set as 0.
\par In the sampling layer, farthest point sampling (FPS) is used to choose $n_{m}$ points as centroids from the point set.
\par In the grouping layer, a point set of size $n_{m-1} \times (d + c_{m-1})$ and the coordinates of a set of centroids of size $n_{m} \times d$ are taken as input.
The output is $n_{m}$ groups of point sets of size $n_{m} \times k_{m} \times \left(d+c_{m-1}\right)$, where each group corresponds to a local region and $k_{m}$ is the number of local points in the neighborhood of centroid points.
Ball query finds all points that are within a radius to the query point, in which an upper limit of $k_{m}$ is set.
\par The augmentation PointNet layer in the set abstraction operation includes an inter-feature attention mechanism, a set of MLPs, and a max pooling operation.
The input of this layer is $n_{m}$ local regions with data size $n_{m} \times k_{m} \times \left(d+c_{m-1}\right)$.
First, the coordinates of points in a local region are translated into a local frame relative to the centroid point.
Second, the distance between each local point and the corresponding centroid is used as a 1-dim additional point feature to alleviate the influence of rotational motion on action recognition.
Then, an inter-feature attention mechanism is used to optimize the fusion effect of different features.
The inter-feature attention mechanism is realized by Convolutional Block Attention Module (CBAM) in \cite{CBAM}.
The inter-feature attention mechanism is not used in the first set abstraction operation due to only the 1-dim point feature.
In the following, a set of MLPs are applied to abstract the features of each local point.
Then, the representation of a local region is generated by incorporating the abstracted features of all local points using a max pooling operation.
Finally, coordinates of the centroid point and its local region representation are concatenated as abstracted features of this centroid point.
The augmentation PointNet layer is formalized as follows:
\begin{equation}
{r}_{j}^{t}=\underset{i=1, \ldots, k_{m}}{\operatorname{MAX}}\left\{\operatorname{MLP}\left(\left[\left({l}_{j,i}^{t}-{o}_{j}^{t}\right)\ominus{e}_{j,i}^{t}\ominus{p}_{j,i}^{t}\right]\odot A\right)\right\}\ominus{o}_{j}^{t}
\end{equation}
where ${l}_{j,i}^{t}$ is the coordinates of $i$-th point in the $j$-th local region from the $t$-th point cloud frame. ${o}_{j}^{t}$ and ${p}_{j,i}^{t}$ are the coordinates of the centroid point and the point features corresponding to ${l}_{j,i}^{t}$, respectively.
${e}_{j,i}^{t}$ is the euclidean distance between ${l}_{j,i}^{t}$ and ${o}_{j}^{t}$.
$A$ is the attention mechanism with (3+1+$c_{m-1}$)-dim scores corresponding to the coordinates and features of each point.
Attention scores in $A$ are shared among all local points from all point cloud frames.
$\ominus$ and $\odot$ are the concatenation operation and dot product operation, respectively.
${r}_{j}^{t}$ is the abstracted features of the $j$-th centroid point from the $t$-th point cloud frame.
\par The set abstract operation is performed twice in the hyperpoint sequence module.
In order to characterize the spatial appearance information of the entire point cloud frame, a PointNet layer consisting of a set of MLPs and a max pooling operation is used as follows:
\begin{equation}
\bm{F}_{t}=\underset{j=1, \ldots, n_2}{\operatorname{MAX}}\left\{\operatorname{MLP}\left({r}_{j}^{t}\right)\right\}
\end{equation}
where $\bm{F}_{t}$ is the hyperpoint of the $t$-th point cloud frame.
So the hyperpoint sequence is represented as $\bm{{F}}=\left\{\bm{F}_{t}\right\}_{t=1}^{T}$.
\par The hyperpoint is a high-dimensional point, which is a texture summary of the static point cloud in a selected area.
As shown in Fig. 3, the hyperpoint sequence is a set of ordered hyperpoints in the hyperpoint space, recording changing internal textures of each point cloud frame along the time dimension.
The hyperpoint sequence is a new point data type.
Adjacent hyperpoints in the hyperpoint sequence have high similarity.
Compared with complex internal spatial information, the change ($i.e.$, temporal information) between hyperpoints is relatively simple.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig33}
	\caption{The hyperpoint sequence is a set of ordered hyperpoints in the hyperpoint space, recording changing internal textures of each point cloud frame along the time dimension.\label{fig33}}
\end{figure}
\par To the best of our knowledge, we are the first to flatten the point cloud frame to a hyperpoint in point cloud sequence models.
In order to demonstrate that the hyperpoint retains the complete human static appearance information, we provide a theoretical foundation for our flattening operation by showing the universal approximation ability of the hyperpoint embedding module to continuous functions on point cloud frames.
\par Formally, let $\mathcal{X}=\left\{S: S \subseteq[0,1]^{c}\right.$ and $\left.|S|=n\right\}$ is the set of c-dimensional point clouds inside a c-dimensional unit cube. $f:\mathcal{X} \rightarrow \mathbb{R}$ is a continuous set function on $\mathcal{X}$ w.r.t to Hausdorff distance $D_{H}(\cdot, \cdot)$, i.e., $\forall \epsilon>0, \exists \delta>0$, for any $S, S^{\prime} \in \mathcal{X}$, if $D_{H}(\cdot, \cdot)<\delta$, then $|f(S)-f(S^{\prime})|<\epsilon$.
The theorem 1 \cite{PointNet} says that $f$ can be arbitrarily approximated by PointNet given enough neurons at the max pooling layer.
\par $\textbf{Theorem 1.}$ $\textit{Suppose}$ $f: \mathcal{X} \rightarrow \mathbb{R}$ $\textit{is}$ $\textit{a}$ $\textit{continuous}$ $\textit{set}$ $\textit{function}$ $\textit{w.r.t}$ $\textit{Hausdorff}$ $\textit{distance}$ $D_{H}(\cdot, \cdot) . \quad \forall \epsilon>$ $0, \exists$ $\textit{a}$ $\textit{continuous}$ $\textit{function}$ $h$ $\textit{and}$ $\textit{a}$ $\textit{symmetric}$ $\textit{function}$ $g\left(x_{1}, \ldots, x_{n}\right)=\gamma \circ M A X$$\textit{, such}$ $\textit{that}$ $\textit{for}$ $\textit{any}$ $S \in \mathcal{X}$,
$$
\left|f(S)-\gamma\left(\underset{x_{i} \in S}{\operatorname{MAX}}\left\{h\left(x_{i}\right)\right\}\right)\right|<\epsilon
$$
$\textit{where}$ $x_{1}, \ldots, x_{n}$ $\textit{is}$ $\textit{the}$ $\textit{full}$ $\textit{list}$ $\textit{of}$ $\textit{elements}$ $\textit{in}$ $S$ $\textit{ordered}$ $\textit{arbitrarily,}$ $\gamma$ $\textit{is}$ $\textit{a}$ $\textit{continuous}$ $\textit{function,}$ $\textit{and}$ $\textit{MAX}$ $\textit{is}$ $\textit{a}$ $\textit{vector}$ $\textit{max}$ $\textit{operator}$ $\textit{that}$ $\textit{takes}$ $n$ $\textit{vectors}$ $\textit{as}$ $\textit{input}$ $\textit{and}$ $\textit{returns}$ $\textit{a}$ $\textit{new}$ $\textit{vector}$ $\textit{of}$ $\textit{the}$ $\textit{element-wise}$ $\textit{maximum}$.
\par As stated above, continuous functions can be arbitrarily approximated by PointNet given enough neurons at the max pooling layer.
The hyperpoint embedding module is a recursive application of PointNet on nested partitions of the input point set.
Therefore, the hyperpoint embedding module is able to arbitrarily approximate continuous functions on point cloud frames given enough neurons at max pooling layers and a suitable partitioning strategy.
In other words, the hyperpoint embedding module is not only a frame-level parallel architecture but also has the ability to extract the complete human static appearance information from the point cloud sequence.
\begin{figure*}[t]
	\centering
	\includegraphics[width=18cm]{Fig3}
	\caption{Left: Hyperpoint-Mixer module. Right: Space dislocation layer. The Hyperpoint-Mixer module consists of multiple space dislocation layers of identical size, a frame-mixing layer, and a multi-level feature learning based on skip-connection operations. The space dislocation layer is composed of a hyperpoint dislocation block, and a channel-mixing MLP block.\label{fig3}}
\end{figure*}
\subsection{Hyperpoint-Mixer module}
Hyperpoint-Mixer module is proposed to perform feature mixing of hyperpoint sequences.
Existing point cloud sequence models consist of architectures that mix intra-frame spatial and inter-frame temporal features.
MeteorNet, P4Transformer, and PSTNet mix spatial and temporal features at once in cross-frame spatio-temporal local neighborhoods.
The idea behind the Hyperpoint-Mixer module is to (i) clearly separate the spatial (channel-mixing) operation and the temporal (frame-mixing) operation, (ii) design a frame-mixing operation of low computational complexity which is executed following the last channel-mixing operation.
The intra-frame spatial information and the inter-frame temporal information in hyperpoint sequences may not be compatible.
Separating the channel-mixing operations and the frame-mixing operation can avoid the mutual influence of spatial and temporal information extraction, which maximizes the human appearance encoding ability.
Moreover, due to (i) and (ii), the Hyperpoint-Mixer module motivates the main operations of SequentialPointNet to execute in frame-level parallel.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig444}
	\caption{In the hyperpoint dislocation block, by adding the corresponding displacement vector, hyperpoints are dislocated from the initial space to different spatial positions to record the temporal order.\label{fig444}}
\end{figure}
\par Fig. 4 summarizes the Hyperpoint-Mixer module.
The point cloud sequence is flattened to a hyperpoint sequence $\bm{F} \in \mathbb{R}^{T \times d_\text{H}}$ and input into the Hyperpoint-Mixer module to mix spatial and temporal features.
This module consists of multiple space dislocation layers of identical size, a multi-level feature learning based on skip-connection operations, and a frame-mixing layer.
\subsubsection{Space dislocation layer}
The space dislocation layer is composed of a hyperpoint dislocation block, and a channel-mixing MLP block, which is presented to perform the intra-frame spatial feature mixing of hyperpoints in the new dislocated space.
Simple symmetric functions like averaging, maximum, and addition operations are common feature aggregating manners with low computational complexity.
In this paper, the symmetric function is adopted as the frame-mixing layer.
However, symmetric functions are insensitive to the input order of hyperpoints.
To overcome this problem, we must embed temporal information into the hyperpoint sequence.
In the hyperpoint dislocation block, by adding the corresponding displacement vector, hyperpoints are dislocated from the initial space to different spatial positions to record the temporal order as shown in Fig. 5.
The essence of the hyperpoint dislocation block is to convert the hyperpoint order into a coordinate component of the hyperpoint to embed temporal information.
Specifically, displacement vectors are generated using the sine and cosine functions of different frequencies \cite{Transformer}:
\begin{equation}
D V_{t, 2 h}=\sin \left(t/ 10000^{2 h / d_{\text {H }}}\right)
\end{equation}
\begin{equation}
D V_{t, 2 h+1}=\cos \left(t/ 10000^{2 h / d_{\text {H}}}\right)
\end{equation}
where $d_{\text {H}}$ denotes the number of channels. $t$ is the temporal position and $h$ is the dimension position.
Then, the channel-mixing MLP block acts on each hyperpoint in the dislocation space to perform the channel-mixing operation, maps $\mathbb{R}^{d_\text{H}}\rightarrow \mathbb{R}^{d_\text{H}}$, and is shared across all hyperpoints. Each channel-mixing MLP block contains a set of fully-connected layers and ReLU non-linearities. Space dislocation layers can be formalized as follows:
\begin{equation}
\bm{F}^{\ell}_{t}=MLP(\bm{F}^{\ell-1}_{t}+DV_t), \quad \text { for } t=1 \ldots T.
\end{equation}
where $\bm{F}^{\ell}$ is the new hyperpoint sequences after the $\ell$-th space dislocation layer.
\par Each space dislocation layer takes an input of the same size, which is an isotropic design.
With the stacking of space dislocation layers, hyperpoints are dislocated at increasingly larger scales.
In the larger dislocation space, the coordinates of hyperpoints record more temporal information but less spatial information.
Multi-level feature learning \cite{multi-scale} is often used in vision tasks, which can improve recognition accuracy.
In order to obtain more discriminant information, multi-level features from different dislocation spaces are added by skip-connection operations and sent into the symmetric function  as follows:
\begin{equation}
\bm{R}_{i}=\underset{t=1, \ldots, T}{g}\left\{(\bm{F}+\bm{F}^1+,...,+\bm{F}^{\ell})_{t,i}\right\}
\end{equation}
where $g$:  $\mathbb{R}^{T \times d_\text{H}} \rightarrow \mathbb{R}^{d_\text{H}}$ is a symmetric function.
$\bm{R}$ is the global spatio-temporal feature of the hyperpoint sequence.
\subsubsection{Frame-mixing layer}
The frame-mixing layer is used to perform the feature mixing across frames.
Since the temporal information has been injected, the max pooling operation is adopted as the frame-mixing layer to aggregate spatio-temporal information from all the hyperpoints.
In order to capture the subactions within the point cloud sequence, the hierarchical pyramid max pooling operation is used, which divides the fused hyperpoint sequence $\bm{\widetilde{F}}=\bm{F}+\bm{F}^1+,...,+\bm{F}^{\ell}$ into multiple temporal partitions of the equal number of hyperpoints and then performs the max pooling operation in each partition to generate the corresponding descriptors.
In this work, we employ a 2-layer pyramid with three partitions.
Then, the descriptors from all temporal partitions are simply concatenated to form the global spatio-temporal feature $\bm{R}$.
Finally, the output of the Hyperpoint-Mixer module is input to a fully-connected classifier head for recognizing human actions.
\par It is worth mentioning that the Hyperpoint-Mixer module can also be viewed as a time sequence model.
Compared to RNN-like and Transformer-like networks, the Hyperpoint-Mixer module implements more competitive performance on the hyperpoint sequence classification task.
Different from the conventional sequential data, the internal structures of the hyperpoint generate the main discriminant information and the dynamics between the hyperpoints are auxiliary.
Therefore, the time sequence models that implement strict temporal inference are not suitable for hyperpoint sequences.
Channel-mixing operations and the frame-mixing operation are separated in the Hyperpoint-Mixer module, which avoids the mutual influence of temporal and spatial information extraction and maximizes the encoding ability for intra-frame human appearance.
The symmetry function assisted by the hyperpoint dislocation block also preserves plentiful dynamic information for effective human action recognition.
\begin{figure}[t]
	\centering
	\includegraphics[width=8.6cm]{Fig4}
	\caption{The computation graph of SequentialPointNet.\label{fig4}}
\end{figure}
\subsection{Frame-level parallelism}
\par Fig. 6 demonstrates the computation graph of SequentialPointNet.
Taking the frame-mixing layer as the watershed, SequentialPointNet can be divided into a front part and a back part.
Since there is no cross-frame computational dependency, operations of the front part can be divided into frame-level units executed in parallel.
Each frame-level unit includes a hyperpoint embedding module and all space dislocation layers.
The back part only contains architectures of low computational complexity including the frame-mixing operation and a classifier head.
Therefore, the main operations ($i.e.$, the front part) in SequentialPointNet can be executed in frame-level parallel, based on which the efficiency of modeling point cloud sequences is greatly improved.
\section{Experiments}
In this section, we firstly introduce the datasets and experimental implementation details.
Then, we compare our SequentialPointNet with the existing state-of-the-art methods.
Again, we conduct detailed ablation studies to further demonstrate the contributions of different components in our SequentialPointNet.
Finally, we compare the memory usage and computational efficiency of our SequentialPointNet with other point cloud sequence models.
\subsection{Datasets}
\par We evaluate the proposed method on two large-scale public datasets ($i.e.$, NTU RGB+D 60 \cite{NTU60} and NTU RGB+D 120 \cite{NTU120}) and two small-scale public dataset ($i.e.$, MSR Action3D dataset \cite{MSR} and UTD Multimodal Human Action Dataset \cite{UTD} (UTD-MHAD)).
\par The NTU RGB+D 60 dataset is composed of 56880 depth video sequences for 60 actions and is one of the largest human action datasets. Both cross-subject and cross-view evaluation criteria are adopted for training and testing.
\par The NTU RGB+D 120 dataset is the largest dataset for 3D action recognition, which is an extension of the NTU RGB-D 60 dataset. The NTU RGB+D 120 dataset is composed of 114480 depth video sequences for 120 actions. Both cross-subject and cross-setup evaluation criteria are adopted for training and testing.
\par The MSR Action3D dataset contains 557 depth video samples of 20 actions from 10 subjects. Each action is performed 2 or 3 times by every subject. We adopt the same cross-subject settings in \cite{MSR}, where all the 20 actions were employed. Half of the subjects are used for training and the rest for testing.
\par The UTD-MHAD dataset is composed of 861 depth video samples for 27 actions performed by 8 subjects. Every subject performs each action 4 times. We adopt the same experimental settings in \cite{UTD}, where the 27 actions were employed. Half of the subjects were used for training and the other half for testing.
\subsection{Implementation details}
Each depth frame is converted to a point cloud set using the public code provided by 3DV-PointNet++.
We sample 512 points from the point cloud set as a point cloud frame.
Specifically, we first randomly sample 2048 points from the point cloud set.
Then, 512 points are chosen from the 2048 points using the PFS algorithm.
In the hyperpoint embedding module, the set abstraction operation is performed twice on each point cloud frame to model spatial structures.
In the first set abstraction operation, 128 centroids are chosen to determine point groups.
The group radius is set to 0.06. The point number in each point group is set to 48.
In the second set abstraction operation, 32 centroids are chosen to determine point groups.
The group radius is set to 0.1. The point number in each point group is set to 16.
In the Hyperpoint-Mixer module, the number of space dislocation layers is set to 2.
The same data augmentation strategies in 3DV-PointNet++ are adopted on training data, including random rotation around Y and X axis, jittering, and random points dropout.
We apply Adam as the optimizer.
The batch size is set to 32.
The learning rate begins with 0.001 and decays with a rate of 0.5 every 10 epochs.
Training will end when reaching 90 epochs.
\par$\textbf{Details on the network architecture.}$ We provide the details of SequentialPointNet as follows.
In the hyperpoint embedding module, three sets of MLPs are used ($i.e.$, two sets of MLPs are used in two set abstraction operations and another set of MLPs are used in the finally PointNet layer).
Each set of MLPs includes three MLPs.
The out channels of the first set of MLPs are set as 64, 64, and 128, respectively.
The out channels of the second set of MLPs are set as 128, 128, and 256, respectively.
The out channels of the third set of MLPs are set as 256, 512, and 1024, respectively.
In the Hyperpoint-Mixer module, two sets of MLPs are used in two space dislocation layers.
Each set of MLPs includes one MLP of 1024 out channels.
The output channels of the fully-connected classifier head are set as 256 and the number of action categories.
\subsection{Comparison with the state-of-the-art methods}
In this section, in order to verify the recognition accuracy of our SequentialPointNet, comparison experiments with other state-of-the-art approaches are implemented on NTU RGB+D 60 dataset, NTU RGB+D 120 dataset, MSR Action3D dataset, and UTD-MHAD dataset.
\subsubsection{NTU RGB+D 60 dataset}
We first compare our SequentialPointNet with the state-of-the-art methods on the NTU RGB+D 60 dataset.
The NTU RGB+D 60 dataset is a large-scale indoor human action dataset.
As indicated in Table I, SequentialPointNet achieves 90.3$\%$ and 97.6$\%$ on the cross-subject and cross-view test settings, respectively.
Although there is a small gap between our method and skeleton sequence-based DDGCN on the cross-subject test setting, SequentialPointNet surpasses DDGCN by 0.5$\%$ on the cross-view test setting.
Compared with depth sequences and point cloud sequences, skeleton sequences have the point tracking nature which is convenient for exploring fine temporal information.
Fine temporal information mitigates the effect of subject diversity on action recognition, chieving higher recognition accuracy on the cross-subject test setting.
It is worth mentioning that SequentialPointNet shows strong performance on par or even better than other point sequence-based approaches.
Our SequentialPointNet achieves state-of-the-art performance among all methods on the cross-view test setting and results in similar recognition accuracy as PSTNet on the cross-subject test setting.
The key success of our SequentialPointNet lies in effectively capturing human appearance information from each point cloud frame by the hyperpoint embedding module and the channel-mix layer in the Hyperpoint-Mixer module.
Separating the channel-mixing operations and the frame-mixing operation avoids the mutual influence of spatial and temporal information extraction, which maximizes the human appearance encoding ability.
Moreover, the symmetry function assisted by the hyperpoint dislocation block also preserves plentiful temporal information for effective human action recognition.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on NTU RGB+D 60}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries Cross-subject& \bfseries Cross-view\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		Wang $et$ $al$.(2018)\cite{DPBL} & depth & 87.1& 84.2\\
		MVDI(2019)\cite{MVDI} & depth & 84.6& 87.3\\
		3DFCNN(2020)\cite{3DFCNN} & depth & 78.1& 80.4\\
		Stateful ConvLSTM(2020)\cite{Statefull} & depth & 80.4& 79.9\\
		\cmidrule(r){1-4}
		ST-GCN(2018)\cite{STGCN} & skeleton & 81.5& 88.3\\
		AS-GCN(2019)\cite{ASGCN} & skeleton & 86.8& 94.2\\
		2s-AGCN(2019)\cite{2sAGCN} & skeleton & 88.5& 95.1\\
		DGNN(2019)\cite{DGNN} & skeleton & 89.9& 96.1\\
		DDGCN(2020)\cite{DDGNN} & skeleton & $\mathbf{91.1}$& 97.1\\
		3s-CrosSCLR(2021)\cite{3sCrosSCLR} & skeleton & 86.2& 92.5\\
		Sym-GNN(2021)\cite{symGNN} & skeleton & 90.1& 96.4\\
		\cmidrule(r){1-4}
		3DV-PointNet++(2020)\cite{3DV}  & point& 88.8& 96.3\\
		P4Transformer(2021)\cite{P4Transformer} & point & 90.2& 96.4\\
		PSTNet(2021)\cite{PSTNet} & point  & 90.5& 96.5\\
		SequentialPointNet(ours) & point & 90.3& $\mathbf{97.6}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{NTU RGB+D 120 dataset}
We then compare our SequentialPointNet with the state-of-the-art methods on the NTU RGB+D 120 dataset.
The NTU RGB+D 120 dataset is the largest dataset for 3D action recognition.
Compared with NTU RGB+D 60 dataset, it is more challenging to perform 3D human motion recognition on the NTU RGB+D 120 dataset.
As indicated in Table II, SequentialPointNet achieves 83.5$\%$ and 95.4$\%$ on the cross-subject and cross-setup test settings, respectively.
Note that, even on the largest human action dataset, SequentialPointNet still gains a strong lead on the cross-setup test setting among all 3D human action recognition methods and achieves state-of-the-art performance.
Compared with the state-of-the-art method, SequentialPointNet does not show a competitive recognition accuracy on the cross-subject setting.
There is a gap between our method and PSTNet, which is due to the loss of fine temporal changes.
Fine temporal changes mitigate the effect of subject diversity on the performance of action recognition.
However, a small loss of temporal information is a necessary concession to frame-level parallelism.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on NTU RGB+D 120}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries Cross-subject& \bfseries Cross-setup\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		Baseline(2018)\cite{NTU120} & depth & 48.7& 40.1\\
		\cmidrule(r){1-4}
		ST-GCN(2018)\cite{STGCN} & skeleton & 81.5& 88.3\\
		MS-G3D Net (2020)\cite{MSG3D} & skeleton & 86.9& 88.4\\
		4s Shift-GCN(2020)\cite{4sShiftGCN} & skeleton & 85.9& 87.6\\
		SGN(2020)\cite{SGN} & skeleton & 79.2& 81.5\\
		3s-CrosSCLR(2021)\cite{3sCrosSCLR} & skeleton & 80.5& 80.4\\
		\cmidrule(r){1-4}
		3DV-PointNet++(2020)\cite{3DV}  & point& 82.4& 93.5\\
		P4Transformer(2021)\cite{P4Transformer} & point & 86.4& 93.5\\
		PSTNet(2021)\cite{PSTNet} & point  & $\mathbf{87.0}$& 93.5\\
		SequentialPointNet(ours) & point & 83.5& $\mathbf{95.4}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{MSR Action3D dataset}
In order to comprehensively evaluate our method, comparative experiments are also carried out on the small-scale MSR Action3D dataset.
In order to alleviate the overfitting problem on the small-scale dataset, the batch size is set as 16.
Other parameter settings remain the same as those on the two large-scale datasets.
Table III illustrates the recognition accuracy of different methods when using different numbers of point cloud frames.
It’s interesting to see that, as the number of point cloud frames increases, the recognition accuracy of our method increases faster than MeteorNet, P4Transformer, and PSTNet.
When using 24 point cloud frames as inputs, our model achieved state-of-the-art performance on the MSR Action3D dataset.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on MSR-Action3D}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries  $\#$ Frames& \bfseries Accuracy\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		Kläser $et$ $al$.(2008)\cite{ASTDB}  & depth& 18& 81.43\\
		Vieira $et$ $al$.(2012)\cite{SSTO}  & depth& 20& 78.20\\
		Actionlet(2012)\cite{Actionlet}  & skeleton& all& 88.21\\
		\cmidrule(r){1-4}
		\multirow{5}{*}{MeteorNet(2019)\cite{MeteorNet}} &  \multirow{5}{*}{point}& 4 & 78.11 \\
		&  & 8 & 81.14 \\
		&  & 12 & 86.53 \\
		&  & 16 & 88.21 \\
		&  & 24 & 88.50 \\
		\cmidrule(r){1-4}
		PointNet++(2020)\cite{Pointnet++}  & point& 1& 61.61\\
		\cmidrule(r){1-4}
		\multirow{6}{*}{P4Transformer(2021)\cite{P4Transformer}} &  \multirow{6}{*}{point}& 4 & 80.13 \\
		&  & 8 & 83.17 \\
		&  & 12 & 87.54 \\
		&  & 16 & 89.56 \\
		&  & 20 & 90.24 \\
		&  & 24 & 90.94 \\
		\cmidrule(r){1-4}
		\multirow{6}{*}{PSTNet(2021)\cite{PSTNet}} &  \multirow{6}{*}{point}& 4 & 81.14 \\
		&  & 8 & 83.50 \\
		&  & 12 & 87.88 \\
		&  & 16 & 89.90 \\
		&  & 24 & 91.20 \\
		\cmidrule(r){1-4}
		\multirow{6}{*}{SequentialPointNet(ours)} &  \multirow{6}{*}{point}& 4 & 77.66 \\
		&  & 8 & 86.45 \\
		&  & 12 & 88.64 \\
		&  & 16 & 89.56 \\
		&  & 20 & 91.21 \\
		&  & 24 & $\mathbf{91.94}$\\

		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{UTD-MHAD dataset}
We evaluate our method on another small-scale UTD-MHAD dataset.
The batch size is set as 16.
Other parameter settings remain the same as those on the two large-scale datasets.
SequentialPointNet is the first point cloud sequence model conducted on the UTD-MHAD dataset.
In this paper, point cloud sequences are converted from depth sequences.
To verify the recognition performance of SequentialPointNet, we compare the proposed approach with other depth sequence-based methods.
Table IV illustrates the recognition accuracy of different methods.
SequentialPointNet has the highest recognition accuracy of 92.31$\%$.
Experimental results on two small-scale datasets demonstrate that our approach can achieve superior recognition accuracy even without a large amount of data for training.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Action recognition accuracy ($\%$) on UTD-MHAD}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}ccc@{}}
		\hline
		\hline
		\bfseries Method$/$Year & \bfseries Input & \bfseries Accuracy\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		3DHOT-MBC(2017)\cite{3DHOT-MBC} &depth &84.40\\
		HP-DMM-CNN(2018)\cite{HP-DMM-CNN} & depth&82.75\\
		DMI-CNN(2018)\cite{Kamel} & depth&50.00\\
		HP-DMM(2018)\cite{HP-DMM} & depth&73.72\\
		Yang $et$ $al$.(2020)\cite{Yang} &depth &88.37\\
		Trelinski  $et$ $al$.(2021)\cite{Trelinski}  & depth&88.14\\
		DRDIS(2021)\cite{Wu}  & depth&87.88\\
		\cmidrule(r){1-3}
		SequentialPointNet(ours) & point& $\mathbf{92.31}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsection{Ablation study}
In this section, comprehensive ablation studies are performed on NTU RGB+D 60 dataset to validate the contributions of different components in our SequentialPointNet.
\subsubsection{Effectiveness of Hyperpoint-Mixer module}
We conduct the experiments to demonstrate the effectiveness of the Hyperpoint-Mixer module, and results are reported in Table V.
In order to prove modeling ability of this module to hyperpoint sequences, several strong deep networks are used to instead of the Hyperpoint-Mixer module in our SequentialPointNet.
In SequentialPointNet (LSTM), LSTM is employed.
In SequentialPointNet (GRU), GRU is employed.
In SequentialPointNet (Transformer), a Transformer of two attention layers is used.
In SequentialPointNet (MLP-Mixer), a MLP-Mixer of two mixer layers is used.
\par We can see from the table that results of SequentialPointNet (LSTM), SequentialPointNet (GRU), and SequentialPointNet (Transformer) are much worse when compared with the result of SequentialPointNet.
Internal structures of hyperpoints generate the main discriminant information and the changes between hyperpoints are auxiliary.
Therefore, recurrent models that implement strict temporal inference are not suitable for hyperpoint sequences.
Recently, self-attention-based Transformer has remained dominant in natural language processing and computer vision \cite{ViT}.
Transformer is expected to achieve superior performance on the hyperpoint sequence classification task.
However, due to the lack of larger-scale data for pre-training, Transformer does not show a promising result.
SequentialPointNet (MLP-Mixer) achieves the accuracy of 94.5$\%$, which is 3.1$\%$ lower than our SequentialPointNet.
In MLP-Mixer, channel-mixing and token-mixing are performed alternately, resulting in the mutual influence of spatial and temporal information extraction.

\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Cross-view recognition accuracy ($\%$) when using models on the NTU RGB+D 60 dataset}
	\label{table3}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cc@{}}
		\hline
		\hline
		\bfseries Method & \bfseries Accuracy  \\
		\hline
		\hline
		SequentialPointNet(LSTM) & 85.9\\
		SequentialPointNet(GRU) & 86.4\\
		SequentialPointNet(Transformer) & 81.6\\
		SequentialPointNet(MLP-Mixer) & 94.5\\
		SequentialPointNet & 97.6\\

		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{Different temporal information embedding manners}
To demonstrate the effectiveness of the hyperpoint dislocation block in the Hyperpoint-Mixer module, we also report the results of SequentialPointNet (4D, w/o hdb), which does not use the hyperpoint dislocation block and injects the order information by appending the 1D temporal dimension to raw 3D points in each point cloud frame.
Results are tabulated in Table VI.
From the table, we observe that SequentialPointNet with the hyperpoint dislocation block outperforms SequentialPointNet (4D, w/o hdb).
Therefore, the temporal information embedding manner used in SequentialPointNet is more efficient.
From the experimental results, we can draw a conclusion that premature embedding of temporal information will affect spatial information encoding and reduce the accuracy of human action recognition.
\begin{table}[h]
	\renewcommand{\arraystretch}{1.3}
	\caption{Cross-view recognition accuracy ($\%$) of different methods on the NTU RGB+D 60 dataset}
	\label{table3}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cc@{}}
		\hline
		\hline
		\bfseries Method & \bfseries Accuracy  \\
		\hline
		\hline
		SequentialPointNet(4D, w/o hdb) & 95.4\\
		SequentialPointNet(w/o mlfl) & 96.9\\
		SequentialPointNet(w/o apn) & 97.1\\
		SequentialPointNet & 97.6\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\subsubsection{Effectiveness of multi-level feature learning in the Hyperpoint-Mixer module}
With the stacking of the space dislocation layer in the Hyperpoint-Mixer module, hyperpoints are dislocated at increasingly larger scales.
In the larger dislocation space, the coordinates of hyperpoints record more temporal information but less spatial information.
In order to obtain more discriminant information, multi-level features from different dislocation spaces are added by skip-connection operations.
To verify the effectiveness of the multi-level feature learning, we report the result of SequentialPointNet (w/o mlfl) that classify human actions without the multi-level features.
We can see from Table VI that the recognition accuracy of SequentialPointNet (w/o mlfl) decreases by 0.7$\%$ without the multi-level feature learning.
\subsubsection{Effectiveness of Augmentation PointNet layer}
We design the augmentation PointNet layer in set abstract operations of the hyperpoint embedding module to encode the spatial structures of human actions.
There are two main improvements.
First, we used the distance between each local point and the corresponding centroid as a 1-dim additional point feature to alleviate the influence of rotational motion on action recognition.
Second, the inter-feature attention mechanism is used to optimize the fusion effect of different features.
In order to verify the effectiveness of the augmentation PointNet layer, we report the result of SequentialPointNet (w/o apn) that classifies human actions without the augmentation PointNet layer.
From Table VI, we observe that the recognition accuracy of SequentialPointNet with the augmentation PointNet layer increases by 0.5$\%$ than SequentialPointNet (w/o apn).
\subsubsection{Results of our SequentialPointNet when setting different layers of pyramids in the hierarchical pyramid max pooling operation}
To investigate the choice of the number of the pyramid layers in the hierarchical pyramid max pooling operation, we compare the performance of our SequentialPointNet with the different numbers of pyramid layers.
The hierarchical pyramid max pooling operation is used as the frame-mixing operation to mix the dynamic information within subactions.
Too few layers of the pyramid cannot obtain enough temporal multi-scale information of human motion.
Too many layers of the pyramid tend to introduce redundant information and increase computational costs.
The results are presented in Fig. 7.
Particularly, the 2-layer pyramid is the optimal choice for SequentialPointNet.
\begin{figure}[t]
	\begin{minipage}[t]{0.49\linewidth}
		\centering
		\includegraphics[width=1\textwidth]{Fig5}
		\caption{Cross-view recognition accuracy ($\%$) of our SequentialPointNet when using different numbers of pyramid layers on the NTU RGB+D 60 dataset.\label{fig5}}
	\end{minipage}
	\hfill
	\begin{minipage}[t]{0.49\linewidth}
		\centering
		\includegraphics[width=1\textwidth]{Fig6}
		\caption{Cross-view recognition accuracy ($\%$) of our SequentialPointNet when using different numbers of frames on the NTU RGB+D 60 dataset.\label{fig6}}
	\end{minipage}
\end{figure}

\subsubsection{Results of our SequentialPointNet when using different numbers of point cloud frames}
We also investigate the performance variation of our method when using different numbers of point cloud frames.
As shown in Fig. 8, better performance is gained when the number of point cloud frames increases.
When the number of frames is greater than 20, the recognition accuracy tends to stabilize.
Therefore, the number of the point cloud frames is set to 20.
\subsection{Memory usage and computational efficiency}
In this section, we evaluate the memory usage, computational efficiency and parallelism of our method.
Experiments are conducted on the machine with one Intel(R) Xeon(R) W-3175X CPU and one Nvidia RTX 3090 GPU.
In Table VII, the number of parameters, the number of floating point operations (FLOPs), and the running time of our SequentialPointNet are compared with MeteorNet, 3DV-PointNet++, P4Transformer, and PSTNet.
The running time is the network forward inference time per point cloud sequence and counted in the same way as 3DV-PointNet++.
FLOPs of MeteorNet, P4Transformer, and PSTNet are not provided by their authors.
\begin{table}[H]
	\renewcommand{\arraystretch}{1.3}
	\caption{Parameters, floating point operations, and running times comparison of different methods}
	\label{table1}
	\centering
	\begin{tabular*}{\hsize}{@{}@{\extracolsep{\fill}}cccc@{}}
		\hline
		\hline
		\bfseries Method  & \bfseries Parameters (M) & \bfseries FLOPs (G) &  \bfseries Time (ms)\\
		\hline
		\hline
		\noalign{\global\arrayrulewidth1pt}
		\noalign{\global\arrayrulewidth0.4pt}
		MeteorNet\cite{MeteorNet} & 17.60& -& 56.49\\
		3DV-PointNet++\cite{3DV} & $\mathbf{1.24}$& $\mathbf{1.24}$& 54\\
		P4Transformer\cite{P4Transformer} & 44.1& -& 96.48\\
		PSTNet\cite{PSTNet} & 20.46& -& 106.35\\
		SequentialPointNet & 3.72& 2.84& $\mathbf{5}$\\
		\hline
		\hline
	\end{tabular*}
\end{table}
\par From the table, we can see that parameters in 3DV-PointNet++ are the fewest in all methods.
This is because 3DV-PointNet++ converts point cloud sequences to 3D point clouds, and employs static point cloud methods to process 3D point clouds.
Compared with point cloud sequence methods, the static point cloud method has fewer parameters but lower recognition accuracy.
It is noticed from the table that only our SequentialPointNet has a similar number of parameters as 3DV-PointNet++.
The parameter number of SequentialPointNet is much less than MeteorNet, P4Transformer, and PSTNet, which verifies that our approach is the most lightweight point cloud sequence model.
In addition, SequentialPointNet is far faster than other methods, even though 3DV-PointNet++ has fewer FLOPs.
SequentialPointNet takes only 5 milliseconds to classify a point cloud sequence.
In 3DV-PointNet++, a multi-stream 3D action recognition manner is proposed to learn motion and appearance features jointly.
However, the multi-stream manner limits the parallelism of 3DV-PointNet++.
In MeteorNet, P4Transformer, and PSTNet, Cross-frame spatio-temporal local neighborhoods are constructed, which is time-consuming and not conducive to parallel computing.
SequentialPointNet improves the speed of modeling point cloud sequences by more than 10 times.
The superior computational efficiency of our SequentialPointNet is due to the lightweight network architecture and strong frame-level parallelism.
\par Since there is no computational dependency, in the case of limited computing power, frame-level units can also be deployed on different devices or executed sequentially on a single device.
\section{Conclusion}
In this paper, we have proposed a strong frame-level parallel point cloud sequence network referred to as SequentialPointNet for 3D action recognition, which greatly improves the efficiency of modeling point cloud sequences.
SequentialPointNet is composed of two serial modules, $i.e.$, a hyperpoint embedding module and a Hyperpoint-Mixer module.
First, each point cloud frame is flattened into a hyperpoint by the same trainable hyperpoint embedding module.
Then, we input the hyperpoint sequence into the Hyperpoint-Mixer module to perform feature mixing operations.
In the Hyperpoint-Mixer module, channel-mixing operations and frame-mixing operations are clearly separated and the frame-mixing operation is placed at the end of all operations.
By doing so, the main operations of SequentialPointNet can be divided into frame-level units executed in parallel.
Extensive experiments conducted on four public datasets show that SequentialPointNet has the fastest computation speed and superior recognition performance among all point cloud sequence models.

\section{Introduction}\label{sec:introduction}}

\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE Computer Society journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\ifCLASSOPTIONcompsoc

  \section*{Acknowledgments}
\else

  \section*{Acknowledgment}
\fi

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi

\section{Introduction}
\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE Communications Society journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\section*{Acknowledgment}

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi

\section{Introduction}
\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file''
for IEEE \textsc{Transactions on Magnetics} journal papers produced under \LaTeX\ using
IEEEtran.cls version 1.8b and later.
I wish you the best of success.

\hfill mds

\hfill August 26, 2015

\subsection{Subsection Heading Here}
Subsection text here.

\subsubsection{Subsubsection Heading Here}
Subsubsection text here.

\section{Conclusion}
The conclusion goes here.

\appendices
\section{Proof of the First Zonklar Equation}
Appendix one text goes here.

\section{}
Appendix two text goes here.

\section*{Acknowledgment}

The authors would like to thank...

\ifCLASSOPTIONcaptionsoff
  \newpage
\fi