CIRCNET: MESHING 3D POINT CLOUDS WITH CIRCUMCENTER DETECTION

Abstract

Reconstructing 3D point clouds into triangle meshes is a key problem in computational geometry and surface reconstruction. Point cloud triangulation solves this problem by providing edge information to the input points. Since no vertex interpolation is involved, it is beneficial to preserve sharp details on the surface. Taking advantage of learning-based techniques in triangulation, existing methods enumerate the complete combinations of candidate triangles, which is both complex and inefficient. In this paper, we leverage the duality between a triangle and its circumcenter, and introduce a deep neural network that detects the circumcenters to achieve point cloud triangulation. Specifically, we introduce multiple anchor priors to divide the neighborhood space of each point. The neural network then learns to predict the presences and locations of circumcenters under the guidance of those anchors. We extract the triangles dual to the detected circumcenters to form a primitive mesh, from which an edge-manifold mesh is produced via simple post-processing. Unlike existing learning-based triangulation methods, the proposed method bypasses an exhaustive enumeration of triangle combinations and local surface parameterization. We validate the efficiency, generalization, and robustness of our method on prominent datasets of both watertight and open surfaces. The code and trained models are provided at https://github.com/Ruitao-L/CircNet.

1. INTRODUCTION

Point cloud triangulation (Cazals & Giesen 2004) aims at reconstructing triangle meshes of object surfaces by adding edge information to their point cloud representations. The input point clouds are usually produced by either scanning sensors (e.g., LiDAR) or surface sampling methods. Compared to implicit surface reconstruction (e.g., Kazhdan et al. 2006) , explicit triangulation has the advantages of preserving the original input points and fine-grained details of the surface. Moreover, it does not require oriented normals which are difficult to obtain in practice. Recent advances in geometric deep learning have seen widespread applications of neural functions for surface representations (e.g., Park et al. 2019; Sitzmann et al. 2020b; a; Erler et al. 2020; Gropp et al. 2020; Atzmon & Lipman 2020a; b; Ben-Shabat et al. 2022; Ma et al. 2021; 2022) . In comparison, only a few methods have been proposed to directly learn triangulation of point clouds by using neural networks. This is probably attributed to the combinatorial nature of the triangulation task, hindering the uptake of learning-based methods. The existing works have to enumerate combinations of candidate triangles around each input point, and use neural networks to predict their existence in the triangle mesh (Sharp & Ovsjanikov 2020; Liu et al. 2020) . Figure 1 (a) illustrates the local complexity of those combinatorial methods using a point with four neighboring points. Typically, for a point with K neighbors, the combinatorial methods propose K 2 or O(K 2 ) candidate triangles. Different from these methods, we propose to exploit the duality relationship between a triangle and its circumcenter to implement point cloud triangulation. That is, each vertex of a triangle is equally distant to its circumcenter. We use this characteristic to find triangle triplets from their circumcenters. Figure. 1(b) shows the duality based on the same example of Fig. 1(a) . Our method recovers the vertex triplets of triangle (p, q 1 , q 3 ) based on its circumcenter c and the equidistant characteristic, i.e. ∥p -c∥ = ∥q 1 -c∥ = ∥q 3 -c∥. To obtain circumcenters for point cloud triangulation, we introduce a neural network that is able to detect the circumcenters of all triangles in a mesh. To the best of our knowledge, this is the first single-shot detection architecture for point cloud triangulation. We are inspired by the one-stage methods in object detection (e.g., Liu et al. 2016) . Figure 1 : An example of a point p with four neighboring points q 1 , q 2 , q 3 , q 4 . (a) The combinatorial methods propose all of the six triangles incident to p as candidate triangles. They are (p, q 1 , q 2 ), (p, q 1 , q 3 ), (p, q 1 , q 4 ), (p, q 2 , q 3 ), (p, q 2 , q 4 ), (p, q 3 , q 4 ). The neural network has to classify the targeted triangle (p, q 1 , q 3 ) out of the six candidates. (b) The proposed method eliminates the candidate proposals by detecting a circumcenter c and exploiting its duality with the triangle (p, q 1 , q 3 ) to identify the targeted triangle. Unlike previous combinatorial methods, the proposed method removes the requirement for candidate triangles. Specifically, we detect circumcenters in the neighborhood space of each point, under the guidance of a group of anchor priors. The neural network predicts whether a circumcenter exists in the reconstructed mesh, and where it is. We extract triangles induced by the detected circumcenters to obtain a primitive mesh. The final surface mesh is produced by enforcing edgemanifoldness and filling small holes on the primitive mesh. To validate the proposed method, we train the detection neural network on the ABC dataset (Koch et al. 2019 ). The trained model is evaluated on the ABC and other datasets, including FAUST (Bogo et al. 2014 ), MGN (Bhatnagar et al. 2019 ), and Matterport3D (Chang et al. 2017 ). The method not only reconstructs meshes in high quality, but also outperforms the previous learning-based approaches largely in efficiency. It generalizes well to unseen, noisy and non-uniform point clouds. Our main contributions are summarized below: • We introduce the first neural architecture that triangulates point clouds by detecting circumcenters. The duality between a triangle and its circumcenter is exploited afterwards to extract the vertex triplets of each triangle in the mesh. • The proposed neural network is able to reconstruct primitive meshes in milliseconds, due to its single-shot detection pipeline and its removal of candidate proposals. Normals are not required. • The proposed method casts no restriction on the surface topology, e.g., being watertight. Instead, it allows the surfaces to be open and have genus ('hole') larger than one. • The method generalizes well to unseen point clouds including those of large-scale scenes. It is robust to non-uniform and noisy data. These indicate its promise for real-world applications.

2. RELATED WORK

Point cloud triangulation and implicit surface functions are two important research directions surface reconstruction. Their major difference is that the former preserves input points, while the latter does not. Alpha shapes (Edelsbrunner & Mücke 1994) and the ball pivoting algorithm (Bernardini et al. 1999) 2021b) extract KNN patches from the 3D point cloud, and parameterize them into 2D space using neural networks. However, dividing point cloud triangulation into learning-based parameterization and computational triangulation makes their method computationally expensive. Later, Rakotosaona et al. (2021a) also study to differentiate the Delaunay triangulation by introducing weighting strategies. Yet, this method is limited to triangular remeshing of manifold surfaces, and not applicable to triangulation of 3D point clouds. Due to the local computational nature, learning-based triangulation methods generalize well to unseen point clouds of arbitrary shapes and scenes. On the other hand, the implicit neural functions are restricted to shape/surface representations in an instance or category level. It is non-trivial to apply them to cross-category data, e.g. mugs to elephants, cars to indoor rooms. We note that even the local implicit functions often generalize poorly (Tretschk et al. 2020; Chabra et al. 2020 ).

2.3. LEARNING TRIANGULATION VIA CIRCUMCENTER DETECTION

Departing significantly from the learning-based triangulation approaches described above, we exploit the duality between a triangle and its circumcenter, and reformulate the combinatorial triangulation as a detection problem of triangle circumcenters. This would facilitate the geomtric deep learning techniques to be applied. Superior to PointTriNet (Sharp & Ovsjanikov 2020) which necessitates a two-stage design, our method enables the usage of a one-stage detection pipeline which largely contributes to its efficiency. It has a time complexity of only O(tN ) where t indicates the number of anchors. This is significantly less than the O(K 2 N ) of IER (Liu et al. 2020) . Similar to existing learning-based methods, we triangulate point clouds based on local KNN patches.

3. METHOD

Given a point cloud representation of a surface P = {p n ∈ R 3 } N n=1 , we focus on triangulating the point cloud into a mesh that reconstructs the underlying surface. Unlike implicit surface functions which generate new points for mesh reconstruction (Kazhdan et al., 2006) , point cloud triangulation preserves the input points by only adding edge information to the existing points. Let T = (p n1 , p n2 , p n3 )|n 1 , n 2 , n 3 ∈ {1, 2, . . . , N }, n 1 ̸ = n 2 ̸ = n 3 be an optimal triangulation of P. Typically, it reconstructs the surface as an edge-manifold mesh. This indicates that each edge in the triangulation such as (p n1 , p n2 ) is adjacent to two triangle faces at most. In particular, edges adjacent to one face are the boundary edges. Overview. Based on the local geometrics in §3.1, we detect circumcenters to predict the 1st-order adjacent triangles of each point. In §3.2, we introduce the default anchor priors which help to The triangulation process of our method for point cloud P. We extract KNN patches to obtain the local geometrics of each point p v . The neural network detects circumcenters and identifies the adjacent triangles of each p v based on their patch inputs. The union of all identified triangles forms the primitive mesh, which is post-processed into an edge-manifold surface mesh. guide the detection of circumcenters. Details of the detection architecture are presented in §3.3. We train the neural network with multi-task loss function discussed in §3.4. During inference ( §3.5), it triangulates the input point cloud efficiently into a primitive mesh. We post-process the primitive mesh to be an edge-manifold surface mesh. Figure 2 summarizes our triangulation process. 3.1 LOCAL GEOMETRICS KNN patch. The local geometrics of a point contain rich information for predicting its adjacent triangles. We exploit them as the inputs to our detection network. Specifically, we extract the local geometrics of each point based on their neighborhoods. Let K(p) = {q k |q k ̸ = p} K k=1 be a KNN patch composed of the K-nearest neighborfoot_0 (KNN) points of p ∈ P, and d 0 (p) > 0 be the distance from p to its nearest neighbor in K(p). To make the neural network robust to density variations in the data, we normalize the KNN patch K(p) using a scalar η(p) = η0 d0(p) . Here η 0 is a hyperparameter controlling the spatial resolution of each KNN patch. The normalized patch is represented as K(p) = {q k |q k = η(p)•(q k -p)} K i=1 . We design graph convolution in §3.3 to learn global representations of each patch from the input geometrics K(p) for circumcenter detection. Duality. Taking T as the optimal triangulation of P, we denote the adjacent triangles of point p as T (p) = {T i (p)|p ∈ T i (p)}, and the circumcenters of those triangles as C(p) = {X i (p)}. Our network learns to detect the circumcenters and then extract the adjacent triangles. Let C(p) = { X m (p)} M m=1 , T (p) = { T m (p)|p ∈ T m (p)} M m=1 be their respective predictions. To extract the triangle triplets T m (p) based on X m (p), we follow the characteristic that the three vertices of a triangle are equidistant to its circumcenter. In practice, the equidistant characteristic has to be applied with approximations due to the imperfections of the predicted X m (p). We compute the distance from p and each of its neighbor point q k ∈ K(p) to a detected circumcenter X m (p) as d m (p) = ∥p -X m (p)∥ 2 , d m (q k ) = ∥q k -X m (p)∥ 2 . (1) The triangle vertices are determined by the difference between distances d m (q k ) and d m (p). Let δ m (q k , p) = d m (q k ) -d m (p) , ∆ m (p) = δ m (q k , p)|q k ∈ K(p) . We recover the triangle triplets by selecting the two points q u , q v which induce the two smallest δ m (•, p) in ∆ m (p). Finally, the triangle associated to X m (p) is identified as T m (p) = (p, q u , q v ).

3.2. ANCHOR PRIORS

We use multiple anchor points to partition the neighborhood space of each point into different cells. The predefined anchor points and cells guide the neural network in its detection of circumcenters. We specify the anchor points in the spherical coordinate system (ρ, θ, ϕ) as it has fixed ranges along the azimuth (θ) and inclination (ϕ) directions, i.e. θ ∈ (- π, π], ϕ ∈ [-π 2 , π 2 ]. Regarding the radius (ρ) direction, we determine its range according to the distributions of circumcenters in the training data, denoted as (0, R]. With known ranges, we split the ρ, θ, ϕ each uniformly using fixed steps ∆ρ, ∆θ, ∆ϕ, respectively. This results in the number of splits for ρ, θ, ϕ to be t ρ = ⌈ R ∆ρ ⌉, t θ = ⌈ 2π ∆θ ⌉, t ϕ = ⌈ π ∆ϕ ⌉ , and a total number of t = t ρ × t θ × t ϕ anchor points. We represent them as A = a j = a ρ j1 , a θ j2 , a ϕ j3 t j=1 , where a ρ j1 , a θ j2 , a ϕ j3 each are explicitly defined as        a ρ j1 = ∆ρ 2 + (j 1 -1)∆ρ, j 1 ∈ {1, • • • , t ρ }, a θ j2 = ∆θ 2 + (j 2 -1)∆θ, j 2 ∈ {1, • • • , t θ }, a ϕ j3 = ∆ϕ 2 + (j 3 -1)∆ϕ, j 3 ∈ {1, • • • , t ϕ }. (4) origin Figure 3 : An example of the anchor priors in 2D. ∆θ = π 6 is used. The anchor points are plotted in red cross, and the anchor cell is colorized as green. For each anchor point a j = (a ρ j1 , a θ j2 , a ϕ j3 ), we associate it with an anchor cell defined by the partitioned space I a j = I ρ j1 × I θ j2 × I ϕ j3 . The anchor cells play an important role in the matching of circumcenters and anchor points ( §3.4). We specify the intervals I ρ j1 , I θ j2 , I ϕ j3 as        I ρ j1 = a ρ j1 -∆ρ 2 , a ρ j1 + ∆ρ 2 , I θ j2 = a θ j2 -∆θ 2 , a θ j2 + ∆θ 2 , I ϕ j3 = a ϕ j3 -∆ϕ 2 , a ϕ j3 + ∆ϕ 2 . (5) See Fig. 3 for an example of the anchor points and cells in 2D (i.e. no elevation direction). With the usage of anchor points and cells, we reduce the combinatorial triangulation of complexity O(K 2 N ) to a dual problem of complexity O(tN ). Empirically, t ≪ K 2 . Alternative methods for defining the anchor points can be in the Cartesian coordinate system or using the data clustering techniques (Bishop & Nasrabadi 2006 ). Yet, they either lead to larger t and hence higher complexity, or make the anchor definition and network training complicated.

3.3. NETWORK DESIGN

Based on the normalized KNN patch K(p) of a point p, we design a neural network that is able to predict the circumcenters for adjacent triangle identification. The input to our network is a star graph which has point p as its internal node and the neighborhoods {q k } as its leaf nodes. We present the graph convolution below to encode local geometrics of p into a global feature representation. The depthwise separable convolution (Chollet 2017) is explored here. Let β be the depth multiplier, h l-1 (q k ) be the input features of point q k at layer l, C in be the dimension of h l-1 (q k ), and C out be the expected dimension of output features. We compute the output features h l (p) of p as h l (p) = K k=1 β i=1 W i2 W i1 h l-1 (q k ) ⊙ h l-1 (q k ) + b. Here W i1 , W i2 , b are learnable parameters in the graph convolution. The sizes of W i1 , W i2 are C in × C in , C out × C in respectively, and the length of b is C out . We use the graph convolution only once to calculate global feature representations of each patch. The positional encoding in (Mildenhall et al., 2020) is also employed to transform the (x, y, z) coordinates into high-frequency input signals. Figure 4 (b) shows the configurations of our neural detection architecture. The ultimate output of our network is a tensor of size t × s × 4, where s indicates the number of circumcenters we predict in each anchor cell, and 4 contains confidence (z) about the existence of circumcenter in a cell and its predicted coordinates in 3D. Because the usage of one-stage pipeline, the proposed network can detect circumcenters and adjacent triangles efficiently.

3.4. TRAINING

We train the neural network based on multi-task loss functions, similar to those exploited in object detection (Liu et al. 2016 ). The binary cross-entropy is used for classifying the anchor cells, and the smooth L1 loss (Girshick 2015) is applied for localizing the circumcenters. Matching strategy. To train the network accordingly, we have to match the ground-truth circumcenters to the anchor points. Thus, we transform the ground-truth circumcenters C(p) = {X i (p)} into a spherical coordinate system centered at p, denoted as S(p) = {(ρ i , θ i , ϕ i )} where (ρ i , θ i , ϕ i ) are the spherical coordinates of X i (p) -p. For each X i (p), we match it to the anchor point a * = (a ρ * 1 , a θ * 2 , a ϕ * 3 ) if (ρ i , θ i , ϕ i ) ∈ I a * . In this way, it is possible that an anchor point is matched to multiple circumcenters. That is why we allow multiple circumcenters (s) to be detected in a single anchor cell. The proposed network detects each ground-truth circumcenter X i (p) ∈ C(p) by predicting its parameterized offsets g i (p) = (g ρ i , g θ i , g ϕ i ), defined as g ρ i = ρ i -a ρ * ∆ρ , g θ i = θ i -a θ * ∆θ , g ϕ i = ϕ i -a ϕ * ∆ϕ . ( ) The predicted offsets are ( g ρ m , g θ m , g ϕ m ). We recover its associated circumcenter prediction X m (p) ∈ C(p) with proper coordinate transformation. Furthermore, by analyzing the distributions of circumcenters in the training set, we find that two predictions per anchor cell (i.e. s = 2) reaches a good balance between performance and efficiency. Binary cross-entropy loss. For each anchor cell, whether it contains any ground-truth circumcenters or not is a binary classification task. We predict a confidence z for each of them to indicate the existence of circumcenters. It can be seen from §3.2 that we define the anchor points compactly in the neighborhood space of a point. In reality, the circumcenters of adjacent triangles for each individual point distribute closely around the surface manifold. Such facts result in the majority of anchor cells to be unoccupied. They comprise the negative samples N neg in our classification, while the occupied cells comprise the positive samples N pos . Assume |N pos | = N p , |N neg | = N n , and p is the probability correlated to the confidence z, we compute the binary cross-entropy as L 1 = - 1 N p Np i=1 log(p i ) - 1 N n Nn i=1 log(1 -p i ), where p i = 1 1 + exp(-z i ) . ( ) We employ hard negative mining for better training (Liu et al. 2016) . Smooth L1 loss. As mentioned above, we predict s = 2 circumcenters inside each cell. Let G i = {g i1 , • • • , g iτ } be the ground-truth offset coordinates of all circumcenters in the ith cell, and { g i1 , g i2 } be the predicted offsets in the same cell produced by the network. Their computations are consistent with Eq. ( 7). If a positive cell contains only one circumcenter (i.e. τ = 1), we consider it as having two identical circumcenters inside. If it contains τ ≥ 2 circumcenters, we match the two predictions to the ground-truth circumcenters that contribute to the minimum loss. The localization error is defined as an average of the smooth L1 loss between all pairs of matched g, g, i.e. L 2 = 1 N p Np i=1 min (a,b)∈P (τ,2) smooth L1 (g ia , g i1 ) + smooth L1 (g ib , g i2 ) . (9) P (τ, 2) represents the permutation of all 2 selections from τ elements, e.g., P (2, 2) = {(1, 2), (2, 1)}. For the special case of τ = 1, we define P (1, 2) = {(1, 1)}. The smooth L1 (g i , g i ) is calculated by summing the scalar losses from each dimension of g i . Eventually, the multi-task loss function of our neural network is formulated as L = L 1 +λL 2 , where λ is a hyperparameter for balancing the different loss terms.

3.5. INFERENCE

We train the network on local patches, but performing the inference on the complete point cloud. After predicting the adjacent triangles of each point, we take their union to form the primitive trian-gulation (mesh). Since the primitive mesh is produced regardless of topological constraint, we apply post-processing to make it edge-manifold and fill the small holes. For convenience, we provide C implementations with Python interface for the post-processing.

4. EXPERIMENT

ABC dataset. The ABC dataset (Koch et al. 2019 ) is a collection of one million CAD models for deep geometry research. It provides clean synthetic meshes with high-quality triangulations. We use the first five chunks in this dataset to create the training and test sets. Each raw mesh is normalized into a unit sphere and decimated with a voxel grid of 0.01. This results in a total of 9, 026 meshes, and we apply a train/test split of 25%/75% to validate effectiveness of the proposed model. The model is trained on the ABC training set. We assess it on the ABC test set as well as other unseen datasets. The implementation details are discussed in the supplementary. Evaluation criteria. We evaluate the overall surface quality of each reconstructed mesh using Chamfer distances (CD1, CD2), F-Score (F1), normal consistancy (NC), and normal reconstruction error (NR) in degrees. We also evaluate their preservation of sharp details on the surface using Edge Chamfer Distance (ECD1) and Edge F-score (EF1), similar to (Chen et al., 2022) . See the supplementary for computational details about those surface quality metrics. To compare the triangulation efficiency of learning-based methods, we report their inference time on the same machine. The number of points in the point cloud is provided for reference. 4.1 PERFORMANCE ABC test. Table 1 compares the performance of the proposed method, abbreviated as 'CircNet', with those of the traditional triangulation methods, i.e., α-shapes (Edelsbrunner & Mücke 1994 ) and ball-pivot (Bernardini et al. 1999) , the implicit surface method PSR (Kazhdan & Hoppe 2013) and the learning-based triangulation methods (i.e. PointTriNet (Sharp & Ovsjanikov 2020) , IER (Liu et al. 2020) , DSE (Rakotosaona et al. 2021b ). We use the pre-trained weights of other learningbased methods report their results. It is observed that training those methods from scratch on our ABC training set leads to slightly worse performance. We report the performance of α-shapes using α = 3% and α = 5%. We note that ball-pivot requires normals to be estimated first. The performance of PSR is reported by using normals n estimated from the point cloud, and normals n gt computed from the ground-truth mesh. In the efficiency report, we also provide the network inference time of CircNet in brackets [.] . It can be seen that the proposed CircNet is much faster than the other learning methods. Besides, its reconstructed meshes are in high quality. Generalization. We validate generalization of the proposed CircNet using unseen datasets. Those include FAUST (Bogo et al. 2014) , a dataset of watertight meshes of human bodies; MGN (Bhatnagar et al. 2019) , a dataset of open meshes of clothes; and several rooms of Matterport3D (Chang et al. 2017) , a dataset of large-scale scenes reconstructed from RGB-D sequences. In all circumstances, the learning-based methods are evaluated without any fine-tuning. We report the results on FAUST and MGN in Table 2 and Table 3 , respectively. It can be noticed that CircNet outperforms the other approaches most of time, especially in the reconstruction of the open surfaces from MGN. We observe that IER prefers uniform point clouds as inputs. Due to the non-uniformity of point clouds in FAUST and MGN, its performance drops significantly. As a reference, we provide its results on the uniformly resampled point clouds generated by Poisson-disk sampling (Bridson 2007) . For Matterport3D, we report the quantitative results of CircNet over 25 scenes in Table 4 . The input point clouds are generated by uniformly sampling 5 × 10 5 points from the raw meshes. We compare the reconstructed meshes of CircNet with others on a large building in Fig. 5 . Robustness. To test the robustness of CircNet, we generate point clouds that are uniform, noisy and non-uniform using 100 meshes of the ABC test set. Specifically, we apply the Poisson disk sampling to generate uniform point clouds with 10 4 points each. We also add different levels of Gaussian noise (i.e., σ = 0.1, 0.2, 0.3) to the data to obtain noisy point clouds. To get non-uniform point clouds, we vary the densities of the uniform data along an axis, similar to DSE (Rakotosaona et al. 2021b ). The quantitative results of CircNet for each category are provided in Table 4 . We report the quantitative comparisons in the supplementary. Figure 5 shows the reconstructed meshes of CircNet for point clouds of varying densities or with noise using an interesting shape from the Thingi10K dataset (Zhou & Jacobson 2016) . The point cloud data are generated in similar ways. Limitations. We analyze detection accuracy of different triangles according to their maximum interior angles. Figure 6 plots such results for the ABC and FAUST datasets. Without loss of generality, we randomly sample 500 meshes in ABC to plot the results. We compute the detection accuracy as the ratio between the number of detected triangles and the ground-truth number. When the maximum interior angle becomes large, the radii of the triangle circumcircles can be in an intractable (→+∞) range. This makes the circumcenter detection difficult using fixed anchor priors. As expected, the detection accuracy decreases with the increase of the maximum angle. So far, handling edgemanifoldness takes non-trivial amount of time in all learning-based triangulation methods. This is because the classification or detection networks are unaware of any surface topology. 

5. CONCLUSION

By exploiting the duality between a triangle and its circumcenter, we have introduced a neural detection architecture for point cloud triangulation. The proposed network employs a single-shot pipeline, and takes local geometrics as inputs to detect the circumcenters of adjacent triangles of each point. We predefine multiple anchor points to guide the detection process. Based on the detected circumcenters, we reconstruct 3D point cloud into a primitive triangle mesh. It can be simply postprocessed into a surface mesh. Compared to the previous learning-based triangulation methods, the proposed method has lower complexity, single-shot architecture, and does not depend on any traditional method to triangulate the points. We demonstrate that the method, though trained on CAD models, is able to reconstruct unseen point clouds including the large-scale scene data satisfactorily. It is also robust to noisy and non-uniform data.



We assume that K is large enough to cover the 1-ring neighborhood of p in the triangle mesh. This research is funded in part by the ARC Discovery Grant DP220100800 to HL. We thank the anonymous reviewers for their comments on improving the quality of this work.



Figure2: The triangulation process of our method for point cloud P. We extract KNN patches to obtain the local geometrics of each point p v . The neural network detects circumcenters and identifies the adjacent triangles of each p v based on their patch inputs. The union of all identified triangles forms the primitive mesh, which is post-processed into an edge-manifold surface mesh.

Figure 4: The neural network for circumcenter detection. It learns a global feature representation for each patch using multi-layer perceptrons and the proposed graph convolution. The global feature h(p) is used to make predictions of the circumcenters. We show in the right a toy of input patch at p. The detected circumcenters are in red cross and the edges are in blue.

Figure 5: Visualization of the reconstructed meshes. Quantitative results of CD1/CD2/NC/NR and the reconstruction time are reported for different methods over a scene of Matterport3D. The proposed CircNet takes the shortest time but reconstructs the scene in best quality. The bottom two rows demonstrate the robustness of CircNet for the fact that it still reconstructs the underlying shape well when the point cloud becomes highly noisy or the non-uniformity becomes severe.

Figure6: Detection frequency and accuracy with respect to the maximum interior angles (in degree) of ground-truth triangles. We provide results on two datasets, ABC and FAUST. For each dataset, the left plot shows the frequencies of both ground-truth and correctly predicted triangles, while the right plot shows the prediction accuracy. It can be noticed that triangles in ABC are distributed more closely to equilateral triangles, compared to those in FAUST.

are representatives among the traditional methods in point cloud triangulation. The Poisson surface reconstruction(Kazhdan et al. 2006;Kazhdan & Hoppe 2013) is a classical approach in implicit surface functions, but it depends on oriented normals of the input points for good performance. Implicit functions generate volumetric occupancy or distance fields of isosurfaces, and are followed by Marching Cubes for mesh extraction. Methods in this research direction usually require oriented normals of points, and tend to oversmooth sharp details on the surface. In addition, their neural networks have to be trained with careful initialisation, and are slow at inference stage due to the dense point queries.

Surface quality of different triangulation methods on the ABC test set. For each metric, we report the average results across all meshes. The total triangulation time of each learning-based method is reported on the largest point cloud whose size is provided for reference. We also report the network inference time of CircNet in brackets[.].

Method comparison on the watertight meshes of FAUST dataset. The 100 point clouds in this dataset each have 6890 points. We report the average runtime of each method per sample.

Method comparison on the open surfaces of MGN dataset.

Our results on Matterport3D, as well as the uniform, non-uniform and noisy data.

