\section{Introduction}
The point cloud is a data structure generated by 3D scanning devices such as LiDAR and RGB-D sensors that scan objects in realistic scenes. Since the point clouds are usually sparse, irregular, and disordered, it is very difficult to directly apply proven techniques from image processing to point cloud analysis, while the presence of noise also poses difficulties. A classical approach try to convert irregular point clouds into regular voxels (\cite{2018.VoxelNet},\cite{2020.PV-RCNN},\cite{2019.PointPillars},\cite{2020.SVGA-Net}) or render point clouds to hybird views (\cite{2015.MVCNN},\cite{2021.IMVCNN},\cite{2021.HVPR}). However, this method produces additional memory overhead, also inevitably introduces quantification error that can obscure nature properties of data.
\begin{figure}[htbp]
\centering
\subfigure[]{
\includegraphics[width=0.3\linewidth]{figure/figure_capter1/b.jpg}
}
\subfigure[]{
\includegraphics[width=0.3\linewidth]{figure/figure_capter1/c.jpg}
}
\subfigure[]{
\includegraphics[width=0.3\linewidth]{figure/figure_capter1/d.jpg}
}
\caption{Illustrate the differences between the various types of aggregation operations and our method. \emph{(a)} Dynamic assignment of weights based on feature importance. \emph{(b)} Generate unique kernels($\hat{e}_{i}$ and different arrows) for each point feature. \emph{(c)} Differently, our method generates a point-vector representation for each feature by semantic information, and then assigns weights to the summation.}\label{Fig1}
\end{figure}

In order to reduce the information loss, some researchers suggest processing irregular point clouds directly. PointNet \cite{2017.PointNet} is a pioneering work in point-based methods, which applies multi-layer perception (MLP) at each point to extract features and then aggregates them via the symmetric function like max-pooling. However, PointNet only considers global features, while local features are missing. PointNet++\cite{2017.PointNet++} extracts hierarchical point set features by setting abstraction on the basis of PointNet. But it still handles each point in the local point set separately and does not extract local relationships. Locality is a priori knowledge of point clouds, many recent works have attempted to explore local geometric information through convolution (\cite{2018.PointCNN},\cite{2019.PointConv}), graph structure (\cite{2019.DGCNN},\cite{2020.Grid-GCN},\cite{2021.adaptconvpoint}), and attention mechanisms (\cite{2020.PointASNL},\cite{2021.PointTransformer},\cite{2021.PoinTr}). Some works (\cite{2019.GAC},\cite{2018.PCNN},\cite{2019.KPConv}), as shown in the Figure \ref{Fig1} \emph{(a)}, use attention mechanisms to assign weights, and attempt to define the importance of these features for aggregation methods. Many recent works (\cite{2021.PAConv},\cite{2021.adaptconvpoint}) tend to design more dynamic kernels or anisotropic methods, as shown in Figure \ref{Fig1} \emph{(b)}. But these well-designed modules usually represent excessive computational and memory access overhead. In fact, it is difficult to improve performance further using these more sophisticated designs, because existing feature extractors already represent local geometric properties very well.

PointMLP\cite{2022.PointMLP} designs a simple MLP structure with a geometric affine module. Further, in the image processing domain, the latest WaveMLP\cite{2021.WaveMLP} proposes a new form of feature representation, and achieves good results with a simple residual MLP structure. It propses a wave-like token representation, and designs a novel token-mixing module. These works illustrate that various complex local geometric feature extractors may not be indispensable. Inspired by this, we decide to abandon the complex network structure design and return to MLP's simple design concept. PointMLP\cite{2022.PointMLP} and our method can be counted as one type (see Figure \ref{Fig1} \emph{(
c)}) with difference in feature processing. It performs geometric affine transformations on the features, and we propose a new feature representation to better capture semantic information. Previous works(\cite{2021.PointMixer},\cite{2021.Mlp-Mixer}) treat the values of features as scalars and then assign weights for aggregation. The result of adding two vectors is directly influenced by the direction. Thus, we associate the direction of the vector to represent the semantic content. 

In this paper, we propose a point analysis MLP architecture (called Point2Vector MLP), which implements vector-like representation and local feature aggregation. Due to the irregularity and non-uniformity of the point cloud, we represent the geometric information between points by a Point Feature Generator module rather than the complex geometric feature extractor. Compare with other MLP-like architectures. the proposed the point-vector representation of the value of point feature can be applied to others networks. We make a useful exploration in the feature aggregation aspect of point cloud analysis. The contributions of this paper are summarized as follows:
\begin{itemize}

  \item[-] We introduce a new representation of the point feature – Point-Vector representation, which explicitly represents each value of the point feature as a three-dimensional vector. It forces the network to focus on the impact of semantic information on feature aggregation.

  \item[-] Based on the point-vector representation, we design a Point2Vector MLP network with the implement of the local Point-Vector feature aggregation.
  
  \item[-] We apply the proposed method to point cloud classification and part segmentation tasks, and quantitative evaluate the results. Our Point2Vector MLP model achieves the state-of-the-art classification performance on the real-world ScanObjectNN dataset, outperform related works by $1.0\%$ accuracy.

\end{itemize}

\section{Related Work}
\paragraph{Local feature extraction.}
Many recent works(\cite{2021.scfnet},\cite{2021.PAConv},\cite{2019.PointConv}) propose novel local feature extractors to efficiently learn local features. Inspired by 2D image processing, current methods are basically divided into three categories: convolution-based, graph-based and attention-based. PointCNN\cite{2018.PointCNN} aligns point clouds by predicting the local point set transformation matrix. But such an operation is not permutation invariant, which leads to be sensitive to the order of input points. Subsequent convolution-based methods began to move towards dynamic convolution kernels, e.g. PointConv\cite{2019.PointConv} use MLP for density estimation to generate density-adaptive convolution kernels. KPConv\cite{2019.KPConv} considers the effect of coordinates of points in local regions on convolution kernels, and propose to learn location-based convolution kernels directly. The latest PAConv\cite{2021.PAConv} abandons direct generation of convolutional kernels. The graph-based approach treats points as nodes of a graph and creates edges based on their spatial and feature relationships. The DGCNN\cite{2019.DGCNN} aggregates the nearest neighbour points in the feature space, then EdgeConv\cite{2019.DGCNN} generates edge features to represent the relationship between a node and its neighbour nodes. CurveNet\cite{2021.CurveNet} aggregates a series of arcs on the isomorphic map of the point cloud to complement the geometric information. The lastest AdaptConv\cite{2021.adaptconvpoint} proposes adaptive graph convolution rather than simply assigning weights to individual neighbouring points. The transformer, which has recently become more popular in the field of 2D images, also performs well on point clouds. PCT\cite{2021.PCT} and PointTransformer\cite{2021.PointTransformer} have the advantage of exploring local geometric structures, reflect that the attention mechanism is good at modeling the relationship between neighbors. However, those local feature extraction networks are more complex and demanding in terms of computational effort and space occupation. 

\paragraph{MLP-like architectures.}
Point cloud analysis and the development of image processing techniques are closely related. Recently the MLP structures(\cite{2021.Mlp-Mixer},\cite{2022.cyclemlp}) in image processing domain is developing very rapidly, rivalling CNN structures and transformer structures. In the field of point cloud analysis, PointNet\cite{2017.PointNet} and PointNet++\cite{2017.PointNet++} pioneer point-based methods based on the MLP structure, then many works turn to convolution, graph and transformer. Now, it returns to the simplicity of MLP structure. PointMixer\cite{2021.PointMixer} proposed a generic MLP-based point set operator for information sharing between 3D unstructured points. PointMLP\cite{2022.PointMLP} proposes a geometric affine module that can be inserted into very simple ResMLP(Residual MLP) structure. The latest work in the field of image processing, WaveMLP\cite{2021.WaveMLP} treats tokens as waves, thus designs a very novel WaveMLP architecture by taking into account the influence of semantic information of the image patch. It dynamically adjusts token-mixing by superimposing those waves. Inspired by previous works but different from them, we treat the each value of point feature as a projection of a 3D spatial vector in 1D space. In this paper, we explore new representations of features as 3D vectors with modulus and angle properties, and use summation of vectors to implement local feature aggregation.

\section{Method}\label{3}
\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.7\linewidth]{figure/architecture/architecture.jpg}
  \caption{The basic block of the Point2Vector MLP model. Norm means normalization method. Channel MLP means MLP composed of Channel-FC. The details of each module are described in Section \ref{3.2}, Section \ref{3.3}.}
  \label{fig2}
\end{figure}
In this section, we discuss the proposed Point2Vector MLP in detail and compare it with other point-based models. Our overall structure follows the simplicity of the MLP-like structure, it is stacked by the basic blocks in the Figure \ref{fig2}, and samples the point cloud step by step. In order to enhance the performance of deep network, we add an additional residual structure on the main path. For the sake of clarity, we revisit point-based methods and the idea of WaveMLP in Section\ref{3.1}. Then we show detailly the vector-related point feature aggregation module (VPFA) in Section\ref{3.2}. At last, in Section\ref{3.3},we describe the Point Feature Generator. Note that the point features we mention in this paper refer to the features of a point on this layer of the feature map, which refers to the semantic features of a region of the original point cloud.

\subsection{Preliminary}\label{3.1}


As similar to PointNet++\cite{2017.PointNet++}, previous MLP-like work treat each value of the feature vector as a \emph{scalar}, aggregate features by linearly combining values on the channels as well as on the space. Their aggregation operations are represented as follows:
\begin{equation}\label{equal_2}
  \text{Channel-FC}\left( {{{\rm{x}}_j},{W^c}} \right) = {{\rm{x}}_j}{W^c},j = 1,2, \cdots, n ,
\end{equation}
\begin{equation}\label{equal_token}
  \text{Token-FC}\left( {{{\rm{X}}},{W}} \right)_i = \sum_{k}^{k \in N_i}{W}_{ik}\odot{{\rm{X}}_k} ,i=1,2,\cdots,n,
\end{equation}
where $W^c$ is a $c_{in}*c_{out}$ learnable matrix, $\rm{x}_j$ is $c_{in}$ dimensional feature vector of point $j$, $W_{ik}$ denotes \emph{c}-dimensional learnable parameter, $N_i$ means the neighbors of point \emph{i}, $X_k$ is a \emph{c}-dimensional feature vector, $\odot$ means Hadamard product. In PointNet,\cite{2017.PointNet}, $W_{ik}$ is a one-hot vector, the entire equation represents max-pooling. In other case like PointMixer, $W_{ik}$ means the dynamic weight related to other information such as location or distance. The simple weighted aggregation operation is the bottleneck of the representation ability of the MLP network.
Similarly as WaveMLP\cite{2021.WaveMLP}, on the point cloud we can explore the representation of point features, thus enhance the representation of MLP structure. It shows that semantic information is critical in image processing. In the same way, we can explore the representation of semantic information in point cloud analysis.
\subsection{Vector-Related Point Feature Aggregation}\label{3.2}
The traditional strategy treats each value of the feature vector as a scalar, then assign weights to each value of feature. To better aggregate the features of neighbouring points and dynamically adjust the relationship between weights and features, we first explore the 3D vector representation of the value of features to incorporate semantic information. This section presents details of vector representation and feature aggregation. The detail of our VPFA module is shown in the Figure \ref{fig3}
\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.9\linewidth]{figure/architecture/VPFA.jpg}
  \caption{The process of VPFA module. FC means Fully-Connect layer. As shown in Figure \ref{fig4}, Point-Vector representation and Vector triplet representation are identical.}
  \label{fig3}

\end{figure}
\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.6\linewidth]{figure/architecture/vector_representation.jpg}
  \caption{Illustrate the point-vector expression. For the explanation of each attribute, see Section \ref{3.2}}
  \label{fig4}
\end{figure}
\paragraph{Point-Vector representation.}The point cloud input is ${\bf{P}} \in {{\mathbb R}^{{\bf{N}} \times 3}}$, for each value on the \emph{c} channel of the point feature vector $F \in {{\mathbb R}^{{\bf{N}} \times c}}$, we consider that each value should be the projection of a three dimensional vector into one dimensional space. The operation of projection is formulated as:
\begin{equation}\label{equal_6}
f_{i}^{k}=W^{k} *[x, y, z],(x, y, z) \in \mathbb{R}^{ 3}, k=1,2, \ldots, c,
\end{equation}
where $(x, y, z)$ is the universal expression of our assumed three-dimension vector in the Cartesian coordinate system and \emph{c} is the number of channels, $W^{k}$ denotes the learnable parameter matrix, $*$ means the value of \emph{k}-th channel of point \emph{i}. Because the point cloud exists in Three-dimensional space, we associate three-dimensional vectors to represent features. From there, in our model, a three-dimensional vector will be obtained from the value of the point feature. It is expressed in Figure \ref{fig4}. We denote $r$ as the modulus of the vector, $\alpha$ as the angle between the projection of the vector in the \emph{x0y} plane of the Cartesian coordinate system and the \emph{x}-axis, and $\beta$ as the angle between the vector and the \emph{z}-axis. Another representation of the orthogonal basis of a vector is analysed in detail in the Section \ref{4.2}. The whole point feature is formulated as:
\begin{equation}\label{equal_8}
\vec{r}_{i}=\left(r_{i} \odot \sin \beta_{i} \odot \cos \alpha_{i}, r_{i} \odot \sin \beta_{i} \odot \sin \alpha_{i}, r_{i} \odot \cos \beta_{i}\right), i \in N,
\end{equation}
where $\vec{r}_{i}$ is the \emph{c}-dimensional vector stitched together in channel dimension from $\vec{r}_{i}^{k}$, $\odot$ denotes the product by element, $r_{i}$ consists of the modulous of the vectors in each channel, $\alpha_{i}$ and $\beta_{i}$ are the \emph{c}-dimensional vectors stitched together from $\alpha_{i}^{k}$ and $\beta_{i}^{k}$ respectively.

When aggregating two point features, the angle between them regulates the aggregation method. Now we assume that two vectors $\vec{r_1}$ and $\vec{r_2}$ are added to obtain the result $\vec{r}=\vec{r_1}+\vec{r_2}$ (for simplicity, we set the weight of the sum of the two vectors to 1), several intuitive situations are shown in the Figure \ref{fig5}, the modulus of $\vec{r}$ in the Euclid Space and the angle between the two vectors can be calculated as following :
\begin{equation}\label{equal_9}
|\vec{r}|=\sqrt{|\vec{r_1}|^{2}+|\vec{r_2}|^{2}+2\left|\vec{r_1}\right| \cdot\left|\vec{r_2}\right| \cos <\vec{r_1}, \vec{r_2}>},
\end{equation}
\begin{equation}\label{equal_10}
<\vec{r}_{1}, \vec{r}_{2}>=\arccos \left(\frac{\vec{r}_{1} \cdot \vec{r}_{2}}{\left|\vec{r}_{1}\right| *\left|\vec{r}_{2}\right|}\right),
\end{equation}
where $<\vec{r}_{1}, \vec{r}_{2}>$ is the angle between the vector $\vec{r}_1$ and the vector $\vec{r}_2$, and $\arccos \left( \cdot \right)$ denotes the inverse of the cos function. As shown from the two equations above, the angle between two vectors has a huge effect on the result of adding the vectors. When the two vectors are in the same direction, $<\vec{r}_{1}, \vec{r}_{2}>=0+i * 2 \pi$, the final result is the sum of their two modulus $|\vec{r}|=\left|\overrightarrow{r_{1}}\right|+\left|\overrightarrow{r_{2}}\right|$ as Figure \ref{fig5} \emph{(a)}, and Figure \ref{fig5} \emph{(b)} shows the two vectors are reversed, $<\vec{r}_{1}, \vec{r}_{2}>=0+i * \pi, i=\pm(2 k+1), k=0,1,2 \ldots \ldots$, the final result is the difference between the two vector modulus $|\vec{r}|=\left|\left|\overrightarrow{r_{1}}\right|-\left|\overrightarrow{r_{2}}\right|\right|$. When the angle between the two vectors is otherwise like Figure \ref{fig5} \emph{(c)}, the enhancement or weakening of the two features depends on the angle between the two vectors when they are aggregated. For consistency, the final vector needs to be projected into a one-dimensional space.
\begin{figure}[htbp]
\centering
\subfigure[]{
\includegraphics[width=0.3\linewidth]{figure/architecture/add_a.jpg}
}
\subfigure[]{
\includegraphics[width=0.3\linewidth]{figure/architecture/add_b.jpg}
}
\subfigure[]{
\includegraphics[width=0.3\linewidth]{figure/architecture/add_c.jpg}
}
\caption{Illustrate the different cases of two vectors summation: $\vec{r}=\vec{r_1}+\vec{r_2}$. The sum of two vectors is calculated by the parallelogram rule. The dashed lines of different colors represent the components of different vectors. \emph{(a)} shows two vectors in the same direction. \emph{(b)} shows two vectors in opposite directions. \emph{(c)} shows the general case.}
\label{fig5}
\end{figure}
\paragraph{Modulus of vector.}The value of vector now should be the projection of a three-dimensional vector in one-dimensional space, if $X, Y \in \mathbb{R}^{c}$, the transformation matrix can be formulated as following:
\begin{equation}\label{equal_11}
A=\frac{Y X^{T}}{\|X\|^{2}},
\end{equation}
where $A$ satisfies $A X=Y$, $X$ denotes the origin feature vector and is not zero vectors, $Y$ denotes the transformed vector as same as the actual feature in the other models. According to Equation \ref{equal_6} and Equation \ref{equal_11}, we can prove that the transformation matrix does exist. So we were able to approximate this transformation matrix by MLP. Denoting $X=\left[\mathcal{X}_{1}, \mathcal{X}_{2}, \cdots \cdot \mathcal{X}_{k}\right]$ as the input of a block, then we can get the vector modulus $|\vec{r}_i|$ based on the plain Channel-FC in Equation \ref{equal_2} i.e.,
\begin{equation}\label{equal_12}
\left|\vec{r}_{i}\right|=\text{Channel-FC}\left(W_{i}, X\right), i=1,2, \ldots , N,
\end{equation}

\paragraph{Direction of vector.}The direction represents the influence of semantic information on feature aggregation. We use the angles $\alpha$ and $\beta$ in Figure \ref{fig4} to define the vector direction. For the calculation of the angle, we consider two strategies. The first is the static angle generation strategy, which uses fixed parameters to represent the angle of vector. This also distinguishes between different types of points, but ignores the variability of the input point cloud. Another is dynamic estimation that the angle of vector is dynamically related to the input features, i.e., $\alpha \text{or} \beta=\Theta\left( X,W^{\theta}\right),$ where $W^{\theta}$ as the learnable parameter. We have tentatively chosen Channel-FC for $\Theta \left( \cdot \right)$. In order to keep the simplicity of MLP structure, we did not design a very complicated prediction function. We will explore the importance of the angle later on in the Section \ref{4.2}.

\paragraph{Feature Aggregation.} After we get the Point-Vector representation, we convert it to a triplet like Equation \ref{equal_8}. Then the vectors $\vec{r_j}$ of the neighbouring points of point $i$ are summed as following:
\begin{equation}\label{equal_14}
\resizebox{0.9\hsize}{!}{$
\begin{aligned}
\vec{r_i}&=\text{Token-FC}(\vec{r},W)_i \\
&=\left(\sum_{j}^{j \in N_{i}} {W_{j}}^1 \odot r_{j} \odot \sin \beta_{j} \odot \cos \alpha_{j}, \sum_{j}^{j \in N_{j}} {W_{j}}^2 \odot r_{j} \odot \sin \beta_{j} \odot \sin \alpha_{j}, \sum_{j}^{j \in N_{j}} {W_{j}}^3 \odot r_{j} \odot \cos \beta_{j}\right),
\end{aligned}$}
\end{equation}

where $N_{i}$ is the set of neighbors of point \emph{i} to be aggregated, ${W_{j}}^1$ is the \emph{c}-dimensional learnable weight matrix, and $r_j$ means \emph{c}-dimensional vector that consists of the modulus.

We can see that the vectors obtained are in the form of a triplet representation. To maintain consistency in the format of the input and output and thus easier to construct blocks, we generate the result by Channel-FC to project the vector into a one-dimensional space, i.e., $\text{result}=\vec{r} W$, where $W$ is a $3*1$ matrix, $\vec{r}$ we regard as a $c*3$ matrix. 

In our proposed Point2Vector MLP model, the values of each channel in the feature vector are viewed as three-dimensional vector. A representation of the 3D vectors is first obtained by using the above equations to obtain $r$ and $\alpha$ and $\beta$ respectively, and then the point features are aggregated using the weighted sum of this set of 3D vectors like Equation\ref{equal_14}. Then by projecting the three-dimensional vector to the one-dimensional space, we obtain the results of neighbor feature aggregation. The feature representation is then enhanced by a Channel-FC. We used a skip-connection to enhance the network robustness.
\subsection{Point Feature Generator}\label{3.3}
Due to the influence of the sparse and irregular structure of the point cloud, our module is difficult to converge and does not achieve very good results with the origin input feature. It is difficult for us to make the network fit the relationship between several coordinates. The influence of the large space occupation and uneven distribution of point clouds does pose a great challenge. To solve this problem, we use furthest sampling to select the centroids. This operation maximize the preservation of the point cloud the overall structure while preserving more of the sparse regions, and mitigate the uneven distribution while reducing computational difficulty. Let $\left\{f_{i, j} \mid j=1, \ldots, k\right\} \in \mathbb{R}^{k \times c}$ be the grouped local neighbors of $f_{i} \in \mathbb{R}^c$ containing k points, each neighbor point $f_{i,j}$ is a \emph{c}-dimensional vector. It can be formulated as:
\begin{equation}\label{equal_15}
f_{i}=\text{Maxpool}\left(\text{Channel-FC}(\text{Batchnorm} \left[\left(f_{i, j}-f_{i}\right) ,\left(f_{i}\right)\right])\right), j=1,2, \ldots, k, f_{i, j} \in \mathbb{R}^{k \times c},
\end{equation}
where Batchnorm is a normalization method. To maintain the simple nature of the MLP structure, we have used Channel-FC and Max-pooling to process, thus, retain most of the features of the original point cloud while highlighting the salient features. The differences in the construction of features show in the supplementary materials.

\section{Experiments}

In this section, we evaluate our Point2Vector model on several benchmarks, and provide a detailed ablation experiment to quantitatively and qualitatively analyze the effectiveness of our model.
\subsection{Shape Classification On ScanObjectNN}
\begin{table}[htbp]
	\centering
	\caption{Classification result on ScanObjectNN dataset.}
	\label{tab1}
	
	\begin{tabular}{lcc}
  \toprule
  Method&mACC$(\%)$&OA$(\%)$ \\
  \midrule
  PointNet\cite{2017.PointNet}&63.4&68.2 \\
  SpiderCNN\cite{2018.SpriderCNN}&69.8&73.7 \\
  PointNet++\cite{2017.PointNet++}&75.4&77.9 \\
  DGCNN\cite{2019.DGCNN}&73.6&78.1 \\
  PointCNN\cite{2018.PointCNN}&75.1&78.5 \\
  DRNet\cite{2021.DR-Net}&78.0&80.3 \\
  SimpleView\cite{2021.Simple-View}&-&80.5 \\
  GBNet\cite{2022.GB-Net}&77.8&80.5 \\
  PRA-Net\cite{2021.PRA-Net}&79.1&82.1 \\
  MVTN\cite{2021.MVTN}&-&82.8 \\
  Point-BERT\cite{2021.PointBERT}&-&83.1 \\
  Point-MAE\cite{2022.pointMAE}&-&85.2 \\
  PointMLP\cite{2022.PointMLP}&$83.9\pm0.5$&$85.4\pm0.3$ \\
  \midrule
  Point2Vector MLP(ours)&$\textbf{84.9}\pm\textbf{0.3}$&$\textbf{86.4}\pm\textbf{0.3}$ \\
  \bottomrule
	\end{tabular}
\end{table}
Many 3D object classification methods report high performance on CAD model datasets such as ModelNet40\cite{2015.3dshapenet} benchmark. Meanwhile other methods (PACon\cite{2021.PAConv}, PointMLP\cite{2022.PointMLP} etc.) mention that the accuracy of ModelNet40 fluctuates particularly. So we conduct experiments on the ScanObjectNN\cite{2016.Scan} benchmark and report the results.

The dataset is a scanned dataset of real-world indoor scenes and contains about 15,000 objects that are divided into 15 categories and cover 2902 unique objects. Since real-world scanned objects are usually mixed with the background or incomplete due to occlusion, this poses a huge challenge for point cloud analysis. We use the most difficult variant $PB\_T50\_RS$ in our experiments. We train 200 epochs using SGD optimizer with a batch size of 32. For the sake of fairness, our parameters are set exactly as the baseline PointMLP. To increase reproducibility, we fix the random seed to be \emph{1}.For comparison we still use the results given in the paper as a baseline. To accurately illustrate the effectiveness of our model, we train and test 4 rounds and report the mean $\pm$ standard deviation in Table \ref{tab1}.

According to the experiments, \textbf{our method has a significant improvement on both class mean accuracy (mAcc) and overall accuracy (OA) metrics compared to all other methods}. For example, we outperform PointMLP by $0.6\%$ mAcc and $1.0\%$ OA. \emph{We make this comparison without the voting strategy\cite{2019.RS-CNN}}. Such a comparison is not so fair to us, but we still perform better. We achieve higher accuracy, although we are about 1/3 slower than baseline in inference. Moreover, our method achieves the smallest gap between class mean accuracy and overall accuracy. This phenomenon indicates that our method is more robust and not biased towards specific classes in comparison.
\subsection{Ablation Studies}\label{4.2}
To better demonstrate our approach, we design several sets of ablation experiments to demonstrate the effectiveness of the components of our model. The experiments are conducted on ScanObjectNN dataset. If the difference between the comparison results is too large, we do not use mean $\pm$ standard deviation to present the results of our experiments. For detailed ablation experimental setup and more ablation studies, refer to the supplementary material.
\begin{table}[htbp]
\centering
\caption{The difference between different vector representations. For more information on each representation, see \ref{4.2}}
\label{tab2}
  \begin{tabular}{lcc}
  \toprule
  Representation&mAcc$(\%)$&OA$(\%)$ \\
  \midrule
  coordinate projection&$83.4\pm0.4$&$85.1\pm0.3$ \\
  orthogonal coordinate&$83.4\pm0.6$&$85.0\pm0.6$ \\
  planar projection&$\textbf{84.9}\pm\textbf{0.3}$&$\textbf{86.4}\pm\textbf{0.3}$ \\
  \bottomrule
  \end{tabular}
\end{table}
\paragraph{The representation of vector.}In section \ref{3.2}, we give the point-vector representation of the triplet form. We chose $(rsin{\beta}cos{\alpha},rsin{\beta}sin{\alpha},rcos{\beta})$ instead of $(x,y,z)$ or $(rcos{\alpha},rcos{\beta},rcos{\gamma})$. We consider the former as the planar projection representation and the latter two as the orthogonal coordinate representation, and the coordinate projection representation, respectively. When the latter two representations are taken, their aggregation operations are shown in the supplementary material. The comparison results of the representations are shown in the Table \ref{tab2}. It can be seen that the planar projection representation performs far better $(\approx1\%)$ than the other two representations. And the deviation value of the latter two is larger. The reason is that the latter two representations have \emph{no constraints} on the components of the triplet, so the components learned by the network may not be orthogonal. 
\begin{table}[htbp]
\centering
\caption{Effectiveness of model components. Component definition reference in Section \ref{3}}
\label{tab3}
  \begin{tabular}{lccccc}
  \toprule
  VPFA&Channel MLP&PFG(Layernorm)&PFG(Batchnorm)&mAcc$(\%)$&OA$(\%)$ \\
  \midrule
  \color{red}\XSolidBrush&\color{green}\Checkmark&\color{red}\XSolidBrush&\color{green}\Checkmark&$76.3$&$79.2$ \\
  \color{green}\Checkmark&\color{red}\XSolidBrush&\color{red}\XSolidBrush&\color{green}\Checkmark&$82.6$&$84.8$ \\
  \color{green}\Checkmark&\color{green}\Checkmark&\color{red}\XSolidBrush&\color{red}\XSolidBrush&$81.7$&$84.0$ \\
  \color{green}\Checkmark&\color{green}\Checkmark&\color{green}\Checkmark&\color{red}\XSolidBrush&$84.0\pm0.4$&$85.7\pm0.3$ \\
  \midrule
  \color{green}\Checkmark&\color{green}\Checkmark&\color{red}\XSolidBrush&\color{green}\Checkmark&$\textbf{84.9}\pm\textbf{0.3}$&$\textbf{86.4}\pm\textbf{0.3}$ \\
  \bottomrule
  \end{tabular}
\end{table}
\paragraph{Effectiveness of model components.}The table \ref{tab3} reports the classification accuracy of the model on ScanObjectNN dataset after removing any of the independent components. PFG(Layernorm) means Point Feature Generator with Layernorm. Not using PFG means directly splicing features without using normalization, more details can be found at Section \ref{3.3}. We find that the difference brought by using different normalization methods is not particularly significant when constructing the input features. Normalization can reduce features of different magnitudes to the same range without changing their properties, thus promote network converge speed. The difference between the two accuracies ($OA-mAcc$) changes $2\%$ to $1\%$, shows that normalization also enhances the stability of the network. After removing the VPFA module, the network performance drop a lot ($\approx8\%$ mAcc and $7\% $OA). It shows that this representation can guide the aggregation of neighboring point features well. Channel MLP increases network depth and enhances expressiveness.
\begin{table}[htbp]
\centering
\caption{The module for estimating angle.}
\label{tab4}
  \begin{tabular}{lcc}
  \toprule
  module&mACC$(\%)$&OA$(\%)$ \\
  \midrule
  No angle&$76.3$&$79.2$ \\
  Identity&$$82.6$$&$84.5$ \\
  Fixed Parameter&$83.4$&$85.2$ \\
  Dynamic(Group Conv)&$84.8\pm0.4$&$86.1\pm0.4$ \\
  \midrule
   Dynamic(Channel-FC)&$\textbf{84.9}\pm\textbf{0.3}$&$\textbf{86.4}\pm\textbf{0.3}$ \\
  \bottomrule
  \end{tabular}
\end{table}
\paragraph{The effectiveness of angle.}We give the meaning of 2 angles and explain their necessity in the previous section. The difference with the angle estimation can be seen in the table \ref{tab4}. No angle means that our model without VPFA. Even the ability is weaker than other models. It shows that it is unreliable when the fixed parameters is used to estimate the direction of the vector corresponding to each point feature. Different point features contain different semantic information, our estimate method of the angle should be dynamic. As the table shown, the difference between the effect of Group Conv and Channel-FC is relatively small. We set the number of channels to groups when we use Group Conv, which indicates that the angle is strongly correlated with its own channel instead of other channels. 
\subsection{Part Segmentation.}\label{sec4.3}
\begin{table}[htbp]

  \centering
  \caption{Part segmentation results($\%$) on the ShapeNetPart dataset.}
  \label{tab5}
  \begin{adjustbox}{width=1\textwidth}
  \begin{tabular}{lcccccccccccccccccc}
    \toprule 
     Method& Cls.mIoU& Inst.mIoU&aero &bag &cap &car &chair &aerp-hone &guitar &knife &lamp &laptop & motor-bike &mug&pistol &rocket & skate-board & table \\
     \midrule
     PointNet\cite{2017.PointNet}&80.4&83.7 &83.4 &78.7 &82.5 &74.9 &89.6 &73.0 &91.5 &85.9 &80.8 &95.3 &65.2 &93.0 &81.2 &57.9 &72.8 &80.6 \\
     PointNet++\cite{2017.PointNet++}&81.9&85.1 &82.4 &79.0 &87.7 &77.3 &90.8 &71.8 &91.0 &85.9 &83.7 &95.3 &71.6 &94.1 &81.3 &58.7 &76.4 &82.6 \\
     Kd-Net\cite{2017.Kd-Net}&-&82.3 &80.1 &74.6 &74.3 &70.3 &88.6 &73.5 &90.2 &87.2 &81.0 &94.9 &57.4 &86.7 &78.1 &51.8 &69.9 &80.3 \\
     PCNN\cite{2018.PCNN}&81.8&85.1 &82.4 &80.1 &85.5 &79.5 &90.8 &73.2 &91.3 &86.0 &85.0 &95.7 &73.2 &94.8 &83.3 &51.0 &75.0 &81.8 \\
     DGCNN\cite{2019.DGCNN}&82.3&85.2 &84.0 &83.4 &86.7 &77.8 &90.6 &74.7 &91.2 &87.5 &82.8 &95.7 &66.3 &94.9 &81.1 &63.5 &74.5 &82.6 \\
     P2Sequence\cite{2019.Point2Sequence}&-&85.2 &82.6 &81.8 &87.5 &77.3 &90.8 &77.1 &91.1 &86.9 &83.9 &95.7 &70.8 &94.6 &79.3 &58.1 &75.2 &82.8 \\
     AdaptConv\cite{2021.adaptconvpoint}&83.4&86.4 &84.8& 81.2& 85.7 &79.7& 91.2& 80.9 &91.9& 88.6& 84.8 &96.2 &70.7& 94.9 &82.3& 61.0 &75.9 &84.2 \\
     PointCNN\cite{2018.PointCNN}&84.6&86.1&84.1 &86.5 &86.0 &80.8 &90.6 &79.7 &92.3 &88.4 &85.3 &96.1 &77.2 &95.2 &84.2 &64.2 &80.0 &83.0 \\
     PointASNL\cite{2020.PointASNL}&-&86.1 &84.1 &84.7 &87.9 &79.7 &92.2 &73.7 &91.0 &87.2 &84.2 &95.8 &74.4 &95.2 &81.0 &63.0 &76.3 &83.2 \\
     RS-CNN\cite{2019.RS-CNN}&84.0&86.2 &83.5 &84.8 &88.8 &79.6 &91.2 &81.1 &91.6 &88.4 &86.0 &96.0 &73.7 &94.1 &83.4 &60.5 &77.7 &83.6 \\
     SPLATNet\cite{2018.SPLATNet}&83.7&85.4&83.2 &84.3 &89.1 &80.3 &90.7 &75.5 &92.1 &87.1 &83.9 &96.3 &75.6 &95.8 &83.8 &64.0 &75.5 &81.8 \\
     SpiderCNN\cite{2018.SpriderCNN}&82.4&85.3 &83.5 &81.0 &87.2 &77.5 &90.7 &76.8 &91.1 &87.3 &83.3 &95.8 &70.2 &93.5 &82.7 &59.7 &75.8 &82.8 \\
     KPConv\cite{2019.KPConv}&85.1&86.4 &84.6 &86.3 &87.2 &81.1 &91.1 &77.8 &92.6 &88.4 &82.7 &96.2 &78.1 &95.8 &85.4 &69.0 &82.0 &83.6 \\
     GDANet\cite{xu2021gdanet}&85.0& 86.5 &84.2& 88.0 &90.6& 80.2& 90.7& 82.0 &91.9& 88.5& 82.7& 96.1& 75.8& 95.7& 83.9& 62.9& 83.1& 84.4 \\
    PointMLP\cite{2022.PointMLP}&84.6 &86.1 &83.5 &83.4 &87.5 &80.54 &90.3 &78.2 &92.2 & 88.1 &82.6 & 96.2 &77.5 &95.8 &85.4 &64.6 & 83.3 &84.3 \\
    Spherical Kernel\cite{2021.SK-GCN}&84.9&86.8&84.4 &86.2& 89.2& 81.2& 91.5& 77.4& 92.5& 88.2 &85.7& 96.7& 78.6 &95.6 &84.7 &63.9& 78.5& 84.0 \\
    \midrule
    Point2Vector MLP (Ours)&84.3&85.9&83.4&81.8&88.0&80.2&90.2&79.7&92.0&87.3&82.9&95.9&76.6&95.1&82.9&66.7&82.8&84.0 \\
  \bottomrule
  \end{tabular}
\end{adjustbox}
\end{table}

We extend the proposed presentation to the part segmentation task, and evaluate it on the ShapeNetPart\cite{2016.shapenet} benchmark. The ShapeNetPart dataset contains 16881 objects divided into 16 categories. There are 50 categories of parts labels in total. Each shape contains 2 \verb|~| 6 part categories. We use the PointNet++ setting that random select 2048 points as input points. The results are displayed in the Table \ref{tab5}, some visualization results are shown in Supplementary material. Our feature representation is still competitive against other MLP-like structures. 

Experiment shows that our method is not good enough to identify a small number of outliers, because of the lack of semantic information in the regions where the outliers are located. It shows that our semantic-driven aggregation method is difficult to adapt to this situation. We find it difficult to converge to a smooth local minimum by directly generalizing the Point-Vector representation to dense prediction tasks. In addition our original design of the VPFA module does not take into account the effect of position coding on feature aggregation, and does not specifically design the upsampling and downsampling module. Location information and geometry of points are critical for dense prediction tasks, but our method is not good enough for local geometry extraction. We will subsequently think about adding position information explicitly to the point-vector representation.
\section{Conclusion}
In this paper, we propose a novel Point-Vector representation, which focuses on the impact of semantic information on feature aggregation. In this model, semantic information is introduced to improve the feature aggregation. The modulus of this representation represents actual point feature, and the angle represents the influence of semantic information. Based on this representation, a MLP-like architecture for point cloud analysis is designed. The Experiments show that our Point-Vector feature representation improves greatly on the object classification task and is well adapted to global feature extraction. We will subsequently try to incorporate the effect of location on feature aggregation in the feature representation to accommodate dense prediction tasks. It is also promising to express the impact of semantic information on feature aggregation by designing feature representations. Our work can inspire people to pay attention to improve the quality of feature expression.
\begin{ack}
\paragraph{Acknowledgment.}
This work was supported in part by the National Key
Research and Development Program of China under Grant
2020YFB2103803 and by the National Natural Science Foundation
of China under Grant 62072425 and Grant 61672485.
\end{ack}


\medskip

{
\small
\bibliographystyle{unsrt}
