## 4 Experiments and Results
### The Bound57 Dataset
It is reasonable for the sparse seed points to have fewer neighbors in the same range, while complex structures generally cover a wider range in space. The output point clouds with defects are shown in Figure 9, we successfully introduce suitable defects in the sparse and complex 3D structures, accurately simulating the imaging characteristics of a ToF camera. Figure 8: The method to back-project the boundary point cloud. Figure 9: The simulation of ToF imaging in the Bound57 dataset. Now it's time to add noise to the point cloud. Our method here is also based on point cloud density, as we multiply the previously local 2D density by a constant \(V_{n}\) as a reference value \(\mathcal{N}_{C}\) for adding noise:  
\[\mathcal{N}_{C}=V_{n}\cdot\text{density}(\mathcal{P}_{2D}) \tag{12}\]  
In actual ToF imaging, the ranging accuracy is inversely proportional with the square of the target distance. So, as we add Gaussian noise to the point cloud to simulate the ranging error, we set the standard deviation value of each point as the square of the target point's \(Z\) coordinate multiplied by the reference value \(\mathcal{N}_{C}\). The noise generated in this way has different standard deviations at each point, which can effectively avoid overfitting during training. After proper adjustment, the value of \(V_{n}\) in the proposed dataset is set to 0.15. In addition to random noise on the target point cloud, we also need to introduce outliers for the outlier-removal task. We firstly set the number of outlier points \(O_{N}\) randomly as 5-15% of the total number of points of the input point cloud. This will ensure that we will not generate too many tasks that are too simple or complex, making the proposed dataset suitable for training universal networks. We randomly choose \(O_{N}\) points in the noised point cloud, then generate the outliers by moving these points along a random 3D vector. In ToF imaging, the noise along the depth direction (\(Z\) axis) is significantly higher than the other two axes, so we set the noise level along the \(Z\) axis higher and the other two axes lower. Specifically, we set the \(Z\)-axis noise standard deviation of the outlier movement vector to 50-100 times \(\mathcal{N}_{C}\), and the \(X\) and \(Y\)-axis noise standard deviation 5-20 times \(\mathcal{N}_{C}\). We add another additional dimension to mark the outlier points as the ground truth of the outlier labels \(\mathcal{L}_{O}\). The point cloud shown in Figure 9 proves the authenticity and rationality of the outliers in our dataset, and that our final five-dimensional output is ready for training. We split the objects from ShapeNet in a rough proportion to 8:1:1 for training, validation, and testing. In total, we get 57,449 objects from 57 categories, 45,935 for training, 5800 objects for validation, and 5714 for testing. For each object in the training dataset, we generate data of eight viewpoints, each data pack of a viewpoint contains an input noised point cloud with outliers in.pcd format, a boundary label and outlier label for each point in.npy format, and a ground truth 2D boundary point cloud in.pcd format. If needed, the dataset could also output a de-noised ground truth and an up-sampled ground truth in.pcd format.