{'fraction_non_alphanumeric': 0.038256376062677115, 'fraction_numerical': 0.012210368394732456, 'mean_word_length': 4.5152838427947595, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Superpoint-guided Semi-supervised Semantic Segmentation of 3D Point Clouds

3D point cloud semantic segmentation is a challenging topic in the computer vision field. Most of the existing methods in literature require a large amount of fully labeled training data, but it is extremely time-consuming to obtain these training data by manually labeling massive point clouds. Addressing this problem, we propose a superpoint-guided semi-supervised segmentation network for 3D point clouds, which jointly utilizes a small portion of labeled scene point clouds and a large number of unlabeled point clouds for network training. The proposed network is iteratively updated with its predicted pseudo labels, where a superpoint generation module is introduced for extracting superpoints from 3D point clouds, and a pseudo-label optimization module is explored for automatically assigning pseudo labels to the unlabeled points under the constraint of the extracted superpoints. Additionally, there are some 3D points without pseudo-label supervision. We propose an edge prediction module to constrain features of edge points. A superpoint feature aggregation module and a superpoint feature consistency loss function are introduced to smooth superpoint features. Extensive experimental results on two 3D public datasets demonstrate that our method can achieve better performance than several state-of-the-art point cloud segmentation networks and several popular semi-supervised segmentation methods with few labeled scenes.

Recently, some weakly supervised segmentation methods [14], [15], [16], [17], [18] for 3D point clouds have been proposed, which could be roughly divided into two groups according to two different kinds of training datasets: (1) weakly supervised methods whose training dataset contains a small portion of labeled points sampled from each 3D training scene; (2) weakly supervised methods (also called semi-supervised methods) whose training dataset contains a small portion of labeled 3D scenes. The former group of methods [15], [18] require point sampling for all 3D scenes, and the point clouds sampled from some dense 3D scenes will still be somewhat dense, and the labor costs of assigning point labels will not be reduced too much. Compared with the former group of methods, the semi-supervised methods [14], [16], [17] are able to significantly reduce labeling costs, hence, we focus on the semi-supervised point cloud segmentation probelm in this paper.
For solving the semi-supervised semantic segmentation problem for 3D point clouds, the two methods [14], [16] introduce additional information of point clouds. Wang et al. [14] utilizes expert knowledge and Mei et al. [16] considers the consistency of scans stream. Besides, the point clouds used by the methods [14], [17] are CAD models, which are much simpler than 3D scenes. All these three methods [14], [16], [17] do not consider the prior geometry and color knowledge of point clouds, which is useful for pseudolabel selecting. In addition, there are some methods [19], [20], [21], [22] to solve the semi-supervised segmentation problem for 2D images. However, since 3D point cloud is an unordered and irregular structure, these methods cannot be applied to 3D point clouds directly.
It is noted that several existing works [5], [8], [23], [18] for 3D point cloud semantic segmentation utilize superpoints to improve their performances. A few methods [5], [23], [18] geometrically partition the point clouds by minimizing a global energy function. These methods do not consider the color information of 3D point clouds, where some classes of objects are only different in color from the surrounding objects (i.e. window and board). And minimizing the global energy function is time-consuming. Landrieu et al. [8] formulates superpoints generation as a deep metric learning problem. But this partition method requires semantic information of the 3D point clouds.
Addressing the aforementioned issues, we propose a superpoint-guided semi-supervised segmentation network for 3D point clouds. The labeled and unlabeled point clouds will be processed in different ways. We use the ground truth labels to supervise the labeled point clouds. And the pseudo labels predicted from unlabeled point clouds are used for self-training. Since the pseudo labels are not completely accurate, we utilize the superpoints to optimize pseudo labels. Specifically, we propose a superpoint generation module, named as SPG module, to combine the superpoints produced by geometry-based and color-based Region Growing algorithms [24], and a pseudo-label optimization module, named as PLO module, to modify and delete pseudo labels with low confidence in each superpoint. There are some 3D points without pseudo-label supervision. We propose an edge prediction module, named as EP module, to constrain the features from edge points of geometry and color. A superpoint feature aggregation module, named as SPFA module, and a superpoint feature consistency loss function are introduced to smooth the point features in each superpoint. In sum, the main contributions of this paper include: • For solving the semi-supervised semantic segmentation problem of 3D point clouds effectively and efficiently, we utilize the superpoints generated by combining geometry-based and color-based Region Growing algorithms to optimize pseudo labels predicted from unlabeled point clouds. • We propose an edge prediction module, a superpoint feature aggregation module and a superpoint feature consistency loss function for constraining point features without pseudo labels. • We propose the superpoint-guided semi-supervised segmentation network for 3D point clouds. The experimental results on two 3D public datasets show that the proposed method outperforms several state-of-the-art point cloud segmentation networks and several popular semi-supervised segmentation methods with few labeled scenes.
II. SUPERPOINT-GUIDED SEMI-SUPERVISED SEGMENTATION NETWORK In this section, we propose the superpoint-guided semisupervised segmentation network for 3D point clouds. Firstly, we introduce the architecture of the proposed network. Secondly, we describe the details of the superpoint generation module (SPG module), the pseudo-label optimization module (PLO module), the edge prediction module (EP module), the superpoint feature aggregation module (SPFA module) and the superpoint feature consistency loss function respectively. Lastly, we end up with the final training loss of the network.

A. Architecture
As shown in Fig. 1, our end-to-end superpoint-guided semi-supervised segmentation network consists of two branches. The inputs of one branch are labeled point clouds and their ground truth labels, and the other branch are unlabeled point clouds and their pseudo labels. The pseudo labels are predicted by our network from unlabeled point clouds. Both branches consist of a superpoint generation module (SPG module), an feature extractor based on U-Net [25], a superpoint feature aggregation module (SPFA module), a fully connected layer (FC), and an edge prediction module (EP module). And their parameters are shared. For the branch of unlabeled point clouds, there is a pseudo-label optimization module (PLO module) to optimize the pseudo labels. The U-Net-based feature extractor consists of four encoder layers and four decoder layers. The encoder layers are Local Feature Aggregation layers in RandLA-Net [9], and the decoder layers are MLPs.

Geometry-based superpoints
Color-based superpoints Combine Output superpoints Optimized pseudo labels Original pseudo labels Ground truth labels When a labeled 3D point cloud P l = {p l 1 , p l 2 , ..., p l N l } ∈ R N l ×6 and its one-hot ground truth labels Y l = {y l 1 , y l 2 , ..., y l N l } ∈ R N l ×C , and an unlabeled point cloud .., y u N u } ∈ R N u ×C are given, where N l and N u are the number of points, 6 denotes the XYZ dimensions and RGB dimensions, and C is the number of semantic classes, we firstly send P l and P u to the SPG module to generate their superpoint collections where M l and M u are the number of superpoints. For the i th superpoint in S l , where n is the number of points in this superpoint, similar in S u . Secondly, we send P l and P u to the U-Net-based feature extractor to construct their high-level representations where C h is the dimension of high-level features. Then we send F l and F u to the SPFA module to get feature maps G l = {g l 1 , g l 2 , ..., g l N l } ∈ R N l ×C h and G u = {g u 1 , g u 2 , ..., g u N u } ∈ R N u ×C h for feature smoothing in superpoints. After a FC layer, we obtain the final feature maps

B. Superpoint Generation Module
We propose a novel superpoint generation module, named as SPG, to produce superpoints effectively and efficiently. The geometric and color characteristics of classes of objects in scenes are different. Some classes of objects are different in geometry and color from the surrounding objects (i.e. chair and table). But there are also some classes of objects are only different in geometry from the surrounding objects (i.e. beam and column), or only different in color from the surrounding objects (i.e. window and board). Some existing superpoint generation methods [5], [23], [18] can only geometrically partition the 3D point clouds, which ignore the color information. The proposed SPG module combines geometrybased and color-based superpoints produced by the Region Growing algorithm [24], which has low computational complexity.
In each iteration of the geometry-based Region Growing algorithm, there is a point with minimum curvature value to be selected as a seed and added to a seeds set and a superpoint. Then, the following three steps are repeated until there are no point in the seeds set: (1) Finding the neighbouring points of seeds and testing their angles between their normals, these neighbouring points will be added to the current superpoint if the angles are less than the threshold value t ang . (2) If the curvatures of these neighbouring points are less than the threshold value t cvt , then these points are added to the seeds set. (3) Current seeds are removed from the seeds set. If there are no unsegmented points whose curvatures are smaller than the threshold value t cvt in the scene, the process of iterations is terminated. Due to the curvature threshold t cvt , some points will not be clustered to superpoints.
The color-based Region Growing algorithm is similar to the geometry-based ones. There are two main differences in the color-based algorithm. The first one is that it uses color instead of normals. The color threshold value is t clr . The second one is that it uses the merging algorithm for segmentation control. Two neighbouring clusters with a small difference between average color are merged together. The color-based Region Growing algorithm has no curvature threshold, so every point can be clustered.
After obtaining the superpoints from the geometry-based and color-based Region Growing algorithms, we oversegment every geometry-based superpoint based on the color-based superpoints, which can be seen in Fig. 2. It is noted that the geometric edge points will not be clustered as superpoints due to the curvature threshold t cvt . The final merged superpoints S l and S u could be used by the PLO module, the SPFA module, and the superpoint feature consistency loss function.

C. Pseudo-label Optimization Module
Since the pseudo labels Y u predicted by the network are not completely accurate, and the points in same superpoint should have same semantic labels in most cases, we utilize the superpoints to optimize pseudo labels. We propose a novel pseudo-label optimization module, named as PLO module, to modify and delete pseudo labels with low confidence.
As shown from the red circle areas in the second row of Fig. 3, incorrect pseudo labels generally have no geometric and color rules. So we can constrain pseudo labels by the geometry and color-based superpoints. Specifically, for a superpoint S u i (i = 1, 2, ..., M u ) with n points, we first count the number of points contained in each semantic category n j (∑ C j=1 n j = n). Then we find the category c i that contains the most points, which can be formulated as: If n c i > t plo × n, where t plo is a ratio parameter, we modify all the pseudo labels in superpoint S l i to c i , otherwise all the pseudo labels in this superpoint will be deleted. We also delete the pseudo labels of points which are not clustered as superpoints in the geometry-based Growing Region algorithm [24]. After above operations being done on all superpoints in the unlabeled point clouds, the optimized pseudo labelsȲ u = {ȳ u 1 ,ȳ u 2 , ...,ȳ u N u } ∈ R N u ×C are shown in the second row of Fig. 3.

D. Edge Prediction Module
The geometry-based Region Growing algorithm [24] does not contain edge points due to the curvature threshold setting. And the predicted pseudo labels of geometric edge points are usually unstable, which can be seen from the area inside the blue circle in the second row of Fig. 3. So we design an edge prediction module, named as EP module, to constrain the features of edge points. We consider not only geometric edge points, but also color edge points. The geometric edge points are composed of points that are not clustered by the geometry-based region growing algorithm. The color edge points are those points whose neighboring points do not belong to the same color-based superpoint.
The EP module consists of two FC layers, which reduce the number of feature channels to two. The activation function of the first FC layer is Leaky ReLU (LReLU) [26]. The activation function of the second FC layer is Sigmoid. For the features of unlabeled point cloud X u , the outputs of the EP module are E u = {e u 1 , e u 2 , ..., e u N u } ∈ R N u ×2 , which can be formulated as: where e u i is the i-th element of E u . The labels of EP module for the unlabeled point cloud P u areÊ u = {ê u 1 ,ê u 2 , ...,ê u N u } ∈ R N u ×2 , where the values of edge points are 1, otherwise 0. So the edge prediction loss function for the unlabeled point cloud Loss u edge is: where e u i,c is the c-th channel of e u i . The edge prediction loss function for the labeled point cloud Loss l edge is obtained by the same way.

E. Smoothing Superpoint Features
In the PLO module, the pseudo labels of some superpoints are deleted, the features in these superpoints are not constrained. Besides, the points within same superpoint should have similar semantic features in most cases. So we propose a superpoint feature aggregation module, named as SPFA module, and a superpoint feature consistency loss function to smooth superpoint features.
We first introduce the SPFA module. For the i-th clustered point in the unlabeled point cloud p u i , we randomly sample K points p u i 1 , p u i 2 , ..., p u i K within the same superpoint as p u i , and thier high-level features f u i 1 , f u i 2 , ..., f u i K . The aggregated feature g u i for the point p u i is obtained by: Obtaining g l i is in the same way. Then we introduce the superpoint feature consistency loss functions Loss l sp and Loss u sp . We use the variance function as the metric criterion of smoothness. For the features of unlabeled point cloud X u , the loss function Loss u sp is formulated as: where w u i is a boolean value whether p u i is within a superpoint. Loss l sp is obtained in the same way.

F. Training Loss
We introduce the final training loss of the superpointguided semi-supervised segmentation network. For the labeled point clouds, we calculate a multi-class cross-entropy loss Loss l seg between Y l and the Softmax of features X l as follows: where y l i,c is the c-th channel of y l i . For the unlabeled point clouds, we calculate a weighted multi-class cross-entropy loss Loss u seg betweenȲ u and features X u as follows: wherew u i is a boolean value whether p u i has an optimized pseudo label after PLO module. The final loss function is formulated as: Loss =Loss l seg + Loss u seg + Loss l edge + Loss u edge + Loss l sp + Loss u sp .

III. EXPERIMENTS
In this section, we firstly introduce the details of experimental setup. Secondly, we evaluate the performances of proposed superpoint-guided semi-supervised segmentation network on two 3D public datasets with a few labeled 3D scenes. Thirdly, we explore the effect of t plo . Finally, we end up with ablation analysis.

A. Experimental Setup
The proposed superpoint-guided semi-supervised segmentation network is evaluated on two 3D public datasets, including S3DIS [28], and ScanNet [29]. In the geometry-based Region Growing algorithm [24], the curvature threshold value t cvt is 1, and the angle threshold value t ang is 3 degree following PCL [30]. In the color-based Region Growing algorithm, the color threshold value t clr is 6 following PCL [31]. In the PLO module, the ratio parameter t plo is 0.8. The U-Net-based feature extractor parameters are consistent with the model before the FC layers in RandLA-Net [9], where C h is 64. The output dimensionality of the first FC layer in EP module is 6. We train the network using the Adam optimizer with initial learning rate 0.01 and batchsize 6 for 100 epochs. In the first 50 epochs, we only optimize the network branch for labeled point clouds. And in the last 50 epochs, we train the whole network. The pseudo labels are updated after each epoch.

B. Evaluation on the S3DIS Dataset
The S3DIS dataset consists of 271 rooms in 6 different areas inside an office building. 13 semantic categories are assigned to each 3D point with XYZ coordinates and RGB features. Since the fifth area with 68 rooms does not overlap with other areas, experiments on Area-5 could better reflect the generalization ability of the framework. So we conducted our experiments on Area-5 validation. We randomly sample about 20% and 10% (40 and 20 rooms) of the 203 rooms respectively in the training set as labeled point clouds, and the remaining rooms in the training set are used as unlabeled point clouds. The evaluation metrics we use are mean class Intersection-over-Union (mIoU), mean class Accuracy (mAcc) and Overall Accuracy (OA).
We compare our superpoint-guided semi-supervised segmentation network to several state-of-the-art point cloud semantic segmentation methods with same labeled and unlabeled data including RandLA-Net [9], GA-Net [13], and SCF-Net [12], and several popular semi-supervised semantic segmentation methods based on RandLA-Net including π-Model [19], Mean Teacher [20], and Pseudo-Labels [27]. In the π-Model and Mean Teacher, the dual inputs are the original point cloud and the point cloud after a random plane rotation and a random mirror transformation. In the Pseudo-Labels, the predicted labels are updated after each epoch. As seen from Table I, π-Model and Mean Teacher only improving mIoU by about 1% based on RandLA-Net indicates that the consistency between geometric transformed point clouds is not enough to constrain the unlabeled point cloud features. The results of Pseudo-Labels are worse than our method, indicating that there are some false-predicted pseudo labels which will affect the learning of network. Our method achieves best on all metrics due to its more effective use of unlabeled data. The results on 20% semi-supervised setting are better than on 10% semi-supervised setting, which may be attributed to more labeled point clouds.

C. Evaluation on the ScanNet Dataset
The ScanNet dataset contains 1,513 3D indoor scenes obtained by scanning and reconstruction, of which 1,201 are used for training and the remaining 312 are used for testing. 20 semantic categories are provided for evaluation. We randomly sample about 20% and 10% (240 and 120 rooms) of the 1201 rooms in the training set as labeled scenes, and the remaining rooms in the training set are used   Table II shows the comparison results. As seen from Table II, the results of π-Model [19], Mean Teacher [20], and Pseudo-Labels [27] have a small improvement on the basis of RandLA-Net, which may be attributed to the fact that there are more semantic categories in ScanNet than S3DIS, which results in a small number of labeled points of some categories. It is not easy to learn the features of these categories by the DNNs. Our method achieves the state-of-the-art performance, probably due to the great pseudo-label filtering and feature constraining abilities.

D. Effect of t plo
The ratio parameter t plo in the PLO module affects the quality of the optimized pseudo labels, and results in affecting the final segmentation performances. Too small value of t plo will result in pseudo labels with lower-confidence being assigned to superpoints, and too large value of t plo will result in many correct pseudo labels being deleted.
Here we conduct experiments to analyze the effect of t plo by setting different values {0.7, 0.75, 0.8, 0.85, 0.9}. We conduct experiments on Area-5 of the S3DIS dataset with the evaluation metrics mIoU, mAcc and OA. The results are listed in Table III. As seen from Table III, the results by setting t plo to 0.8 achieve the best performance, so we use this value as t plo in the PLO module.

E. Ablation Study
For ablation study, we stack the proposed sub-modules on the baseline step-to-step to prove the effectiveness of our method. Our baseline method employs a U-Net-based feature extractor from RandLA-Net [9], and is only trained on the labeled point clouds for 100 epochs. The comparing experiments are (1) baseline method, denoted as "Baseline"; (2) adding the SPG and SPFA modules on baseline and being trained on the labeled point clouds, denoted as "Baseline+SPFA"; (3) adding pseudo labels to unlabeled point clouds for supervision in the last 50 epochs based on (2), denoted as "Baseline+SPFA+PL"; (4) adding the PLO module on (3) for unlabeled point clouds, denoted as "Baseline+SPFA+PLO"; (5) adding the EP module on (4) for all point clouds, denoted as "Baseline+SPFA+PLO+EP"; and (6) adding the superpoint feature consistency loss functions Loss l sp and Loss u sp on (5), denoted as "Ours". We conduct ablation study on Area-5 of the S3DIS dataset with the evaluation metrics mIoU, mAcc and OA. And 20% and 10% of the rooms in the training set are used for labeled point clouds.
As shown in Table IV, the performances on "Base-line+SPFA" being better than "Baseline" demonstrate the importance of smoothing the features in superpoints. "Base-line+SPFA+PL" achieves better than "Baseline+SPFA", which may be attributed to the supervision of unlabeled point clouds. "Baseline+SPFA+PLO" performing better than "Baseline+SPFA+PL" indicates that the superpoints produced by combining geometry-based and color-based Region Growing algorithms [24] can help optimize pseudo labels effectively. The result of "Baseline+SPFA+PLO+EP" achieves better than "Baseline+SPFA+PLO", which may be attributed to edge-point feature learning. "Ours" achieves best, which demonstrates that combining all these modules can reach the best results.

IV. CONCLUSIONS
For using the large amount of unlabeled point clouds which can be easily obtained from sensors or reconstruction, we propose a superpoint-guided semi-supervised segmentation network for 3D point clouds, which jointly utilizes a small portion of labeled scenes and a large number of unlabeled scenes for network training. Specifically, we combine the superpoints produced by geometry-based and color-based Region Growing algorithms [24] to optimize the pseudo labels predicted by unlabeled point clouds. The features of points without pseudo labels are constrained by the superpoint feature aggregation module, the edge prediction module, and the superpoint feature consistency loss function. Our method can learn the discriminative features of unlabeled point clouds and achieve best performance on two 3D public datasets with a few number of labeled scenes in most cases.