## 3 Proposed Method
### Semantic Segmentation Based on PointNet  
Semantic segmentation involves classifying each point in a point cloud into a predefined category. Traditional methods rely on hand-crafted features and complex pipelines, which often suffer from limited scalability and accuracy. PointNet, introduced by [PERSON] et al. in 2017, revolutionized this task by directly operating on unordered point sets using deep learning techniques [23]. As illustrated in Figure 5, a point cloud is a collection of points in a 3D space, where each point is defined by its coordinates (x, y, z) and additional attributes such as color or intensity. Unlike structured data such as images, point clouds are unstructured, making them unsuitable for direct processing with conventional convolutional neural networks (CNNs) [24]. Therefore, PointNet processes point clouds by learning spatial features directly from raw point data [25]. As shown in Figure 6, the algorithm is structured with three main components in its architecture. * Input and embedding layers: PointNet takes N points as the inputs and maps each point to a higher-dimensional space through shared multi-layer perceptrons (MLPs). This step ensures that each point is represented by a feature vector. * Symmetric function for aggregation: To handle the unordered nature of point clouds, PointNet employs a symmetric function, specifically max pooling, to aggregate features  
Figure 4: The 3D point cloud data for the aircraft and jetbridge on the apron (ground filtered). from all points. This function ensures that the network is invariant to the permutation of input points. * Output layers: The aggregated global feature vector is processed by further MLPs to produce the final output, which can be classification scores for object recognition or per point scores for semantic segmentation. Figure 5: Real 3D point cloud data (.pcd) format (x, y, z, intensity). Input and embedding layers: Each point in the point cloud is represented by a 3D coordinate (\(x,y,z\)). The embedding layer uses shared MLPs to map each point to a higher-dimensional feature space. This shared MLP is represented as Equation (4), where \(x_{i}\) is the input point and \(h(x_{i})\) is the higher-dimensional feature vector:  
\[h(x_{i})=MLP(x_{i}) \tag{4}\]  
Symmetric function for aggregation: PointNet employs max pooling as a symmetric function to aggregate features from all points. Here, \(g(X)\) is the global feature vector representing the entire point cloud, ensuring invariance to point permutations:  
\[g(X)=\max\{h(x_{1}),h(x_{2}),\ldots,h(x_{N})\} \tag{5}\]  
Output layers: The global feature vector \(g(X)\) is passed through additional MLPs to produce the final output. For semantic segmentation, the output is a per point classification score. The output layer can be represented as Equation (6), where \(\oplus\) denotes concatenation of the global and local features:  
\[y_{i}=MLP(g(X)\oplus h(x_{i})) \tag{6}\]  
Using the previously calculated \(y_{i}\), data augmentation techniques were performed to improve the robustness of the dataset generated for PointNet-based semantic segmentation. Improved robustness: By exposing the model to various transformations of the data, the model becomes more robust to variations in the input. Better generalization: Data augmentation increases the diversity of the training set, which helps in improving the model's generalization to unseen data. Figure 6: Aircraft engine detection model for the PointNet algorithm. Reduced overfitting: Augmenting the data can reduce overfitting by preventing the model from memorizing the training data, encouraging it to learn more general features. These data augmentation techniques were carried out through three theoretical processes--random rotation, scaling, and jittering [22]. Training PointNet for semantic segmentation involves using labeled point cloud datasets. Data augmentation techniques such as random rotation, scaling, and jittering are employed to improve the network's robustness and generalization.