## 3 Methods
### Boundary-Detecting  
Now that we obtain the Outlier-Removed input point cloud \(\mathcal{P}_{C}\) with a point-wise feature \(\mathcal{F}_{C}\), our next goal is to find the geometric characteristics of \(\mathcal{P}_{C}\) on the 2D plane. We firstly remove the third dimension of \(\mathcal{P}_{C}\) to turn it into a two-dimensional point cloud \(\mathcal{P}_{2D}\) on the X-Y plane. Note that we design a proper Pytorch function with backpropagation to achieve three-dimensional to two-dimensional projection to ensure the continuity and backwardness of the data during training. The projected point cloud \(\mathcal{P}_{2D}\) will be of size \(N\times 2\). In the same way as the 3D inputs, we treat the kNN-sampling process as an essential way to process point clouds in the lower dimension, so we apply kNN-sampling on the projected point cloud \(\mathcal{P}_{2D}\) to find neighbors for each point on 2D plane, and the 2D kNN feature \(\mathcal{F}_{2D}\) is extracted by applying several layers (see the 2D-Detection Block in Figure 4):  
\[\mathcal{F}_{2D}=T(\psi(\text{PAConv}[\mathcal{P}_{2D},\ \varphi(\mathcal{P}_{2D})\cdot(1+dist)])) \tag{11}\]  
Here, the projected point cloud \(\mathcal{P}_{2D}\) is kNN-sampled. As in the Feature Extractor, we utilize the kNN neighborhood distances as a weight to split the network's attention to features of kNN neighbors with different distances to center. After an MLP layer \(\varphi\) and the PAConv block, the size of the output feature will be \(N\times D\times k\), where \(D\) is the channel of feature, and \(k\) is the kNN-sampling number. We reshape this feature to size \(N\times(kD)\), making it suitable for an extra MLP layer \(\psi\) with the kernel size the same as the kNN-sampling number to combine the distributed neighborhood features, eliminating the need for max-pooling. We utilize another Point Transformer block \(T\) to process the combined kNN-neighborhood feature, just as in the Encoder. Here we modify some layers in the block to adapt to the input two-dimensional point cloud coordinate reference. The output feature \(\mathcal{F}_{2D}\) with size \(N\times D\) now contains 2D region distribution information. It is not enough to just use the point cloud feature on the two-dimensional plane. To solve the previously mentioned problem of determining the hull-wrapping method, it is also necessary to combine the previously extracted three-dimensional feature of the point cloud. Here, we propose a Transformer structure (see the Cross Transformer in Figure 4) to make cross-attention between 2D and 3D coordinates and features. As is illustrated in Figure 4, we firstly make the 3D point-wise feature \(\mathcal{F}_{C}\) as the query vector, and the 2D point-wise feature \(\mathcal{F}_{2D}\) as the key vector to establish cross-modal associations between 3D structures and the 2D projection. The initial value vector is composed of a combination of 2D and 3D features and encoded by an MLP layer. After a Point Transformer block, the network looks for relevant information in the 2D point-wise feature \(\mathcal{F}_{2D}\) based on the 3D point-wise feature \(\mathcal{F}_{C}\), and the 3D query is able to focus on relevant 2D key points, effectively capturing essential spatial and semantic correlations between the original 3 Dpoint cloud and its 2D projection. The value output at this time serves as an enhancement of the 3D features, providing a 3D representation with 2D details. In order to extract the projection boundary, we swap the roles of query and key in the next step, as shown in Figure 4, the 3D point-wise feature \(\mathcal{F}_{C}\) now serves as the key vector, while the 2D point-wise feature \(\mathcal{F}_{2D}\) serves as the query vector. Through this process, we let the 2D feature actively seek relevant information in the 3D feature space, and the network now focuses more on the refinement and enhancement of the 2D point-wise feature to meet the needs of the final extraction of the projection boundary.