# Point Cloud Segmentation from iPhone-Based LiDAR Sensors Using the Tensor Feature
## 3 Methodology
### Tensor Aggregation Based on Normal Tensor Assembling  
Since the geometric structure of the point \(p\) is unknown and the dimensional information is encoded in the tensor of each point, the tensor information at point \(p\) needs to be aggregated based on the normal tensor from its neighborhood, then the geometric information can be further judged by 1-dimensional, 2-dimensional, and \(N\)-dimensional structures, which will be discussed in Section 3.3. (1) tensor representation in each dimension using normal information  
Using the normal vector computed in Section 3.1, the tensor field of each point \(p\) can be re-encoded based on the normal vector \(\overrightarrow{u}_{1}\), as shown in Equation (5). \[T^{new}=kron\left(\overrightarrow{u}_{1},\overrightarrow{u}_{1}^{T}\right) \tag{5}\]  
Then the tensor \(T^{new}\) is decomposed with eigenvectors \(\left(\overrightarrow{u}_{1},\overrightarrow{\mu}_{2},\cdots,\overrightarrow {u}_{N}\right)\) and eigenvalues \(\left(\xi_{1},\xi_{2},\cdots,\xi_{N}\right)\), where \(\xi_{1}\geq\xi_{2}\geq\cdots\geq\xi_{N}\). The \(d\)-dimensional geometric structure \(D_{d}\) is assembled by the tensor of each eigenvector along with its dimensional saliency \(s\), which is shown in Equation (6). \[D_{d}=\sum_{i=1}^{d}s_{i}\cdot kron\left(\overrightarrow{u}_{i},\overrightarrow {\mu}_{i}^{T}\right) \tag{6}\]  
In Equation (6), the dimension saliency \(s_{i}\) is computed by eigenvalues, as shown in Equation (7). \[s_{i}=\left\{ \begin{array}{cc}\xi_{i}-\xi_{i+1}&,i<N\\ \xi_{N}&i=N\end{array} \right. \tag{7}\]  
(2) geometric structure propagation based on tensor assembling  
Suppose there is a point \(p_{k}\) in the neighborhood of point \(p\), and the \(d\)-dimensional geometric structure \(D_{d}\) of the point \(p\) is going to be propagated to point \(p_{k}\), as depicted in Figure 3, where \(N=2\). Figure 2: The normal vector computation based on the initial tensor encoding. As seen in the figure, the space \(S\) at \(p\) is decomposed into the normal vector \(v_{n}\) and tangent vector \(v_{t}\), and the structure that was encoded by the normal vector is going to be propagated from \(p\) to \(p_{k}\), along a curved path \(c\). Since the normal vector is always orthogonal to the surface, both the normal vector \(v_{n}\) at \(p\) and that propagated to \(p_{k}\) (shown as \(v_{k}\) in Figure 3) share the same curvature, and intersect at the virtual center point \(o\). The angle \(\theta\) is the direction difference between the tangent vector \(v_{t}\) and the directly connected vector \(v\) that starts from point \(p\) to \(p_{k}\), and can be computed based on Equation (8). \[\theta=\text{acos}\left(\text{dot}\left(\frac{v_{k}}{\|v_{k}\|},v_{t}\right)\right) \tag{8}\]  
Hence, other angle relations can be calculated using trigonometric function conversion formula. The normal \(v_{nk}\) vector at point \(p_{k}\) can be computed based on Equation (9). \[v_{nk}=v_{n}\cos(2\theta)-v_{t}\sin(2\theta) \tag{9}\]  
Using Equations (8) and (9), the tensor information propagated from point \(p\) to \(p_{k}\), as shown in Equation (10). \[T_{p->p_{k}}^{d}=\omega(r,\theta)\cdot kron\left(v_{nk},v_{nk}^{T}\right) \tag{10}\]  
\(\omega(r,\theta)=e^{(\frac{r}{2})^{2}}(\cos(\theta))^{4}\) is the decaying function of the tensor information, and \(r\) is the distance between the two points which can be computed by \(\|v\|\). (3) tensor aggregation of each dimensional structure from neighborhood  
In the \(d\)-dimensional space \(S_{d}\) (as shown in Equation (1)), each dimensional geometric structure \(D_{d}\), which is encoded by the base normal vector, should be projected to \(v_{k}\) based on the geometric angle relations. However, the process can be simplified based on the work of [PERSON] [10], if the 1-dimensional basis normal vector \(\overrightarrow{v}_{n,1}\) is chosen to be \(v_{n}\), which is the projection of \(v_{k}\) to \(S_{d}\) (i.e., \(S_{d}v_{k}\)).