## 2 Methodology
Then, a pooling block is used to downsample the global features to obtain features with the shape \(N\times c\). Our introduction of a graph convolution block to further process the features and its structure is shown in Figure 4.  
Since the point cloud is disordered and does not have a predefined adjacency matrix, we define the adjacency matrix \(N(p)\) by using input point cloud to query the \(k\) nearest neighbors of \(p\). Firstly, we calculate the Euclidean distance between each point in the point cloud and other points, and arrive at the k-nearest neighbors of point \(p_{i}\). Then, the index information of the k neighbors is recorded to obtain the adjacency matrix \(N(p_{i})\) corresponding to the point \(p_{i}\). Finally, according to the neighborhood information defined by the \(N(p_{i})\), the local features corresponding to each point are learned through the convolution operation. The feature calculation method is as follows:  
\[F_{i}^{p}=F_{i}^{p}+\sum_{n=1}^{k}F_{i}^{n},\ k\in N(p) \tag{3}\]  
where \(F_{i}^{n}\) represents the feature of point \(p\) at layer \(i\). To avoid the degradation problem in deep learning network training and speed up the network's training, we introduce a dense connection between each graph convolutional block. Compared with residual links [18], dense connections [19] can enable each layer to receive the features of all previous layers, which can achieve feature reuse, improve training efficiency, and improve the performance of the discriminator. After the graph convolution block, we process the features through a convolutional layer, output the one-dimensional feature values of 256 points, and arrive at the confidence value \(D(Q)\) via averaging them. The network is trained with a patch-based approach, which finds 200 seed positions on each model, and then uses Poisson disk sampling at each point to generate \(rN\) points as a patch, denoted as \(\hat{Q}\). \(N\) points are selected randomly from \(\hat{Q}\) as the input \(P\) of the  
Figure 4: The structure of a graph convolution block. network. The least squares loss is defined as the adversarial loss for the generator network and the discriminator network:  
Figure 1:0  
Figure 1:1  
The generator fools the discriminator by minimizing \(L_{\text{G\_adv}}\), and the discriminator distinguishes between the real point cloud \(\hat{Q}\) and the generated point cloud \(Q\) by minimizing \(L_{D\_adv}\). In order to improve the generated point cloud quality, we introduce the uniform loss proposed by PU-GAN [13]:  
Figure 1:2  
where \(M\) is obtained by farthest sampling the generated point cloud \(Q\). \(S_{j}\) is the point set obtained by using a ball query for each point in M with radius \(r_{d}\), and M is set to 50. \(\hat{n}=\hat{Q}\times r_{d}^{2}\) is the expected number of points in \(S_{j}\). \(d_{j,k}\) is the distance from each point in \(S_{j}\) to its \(k\) nearest neighbors. \(\hat{d}=\sqrt{\frac{2\pi r_{d}^{2}}{|S_{j}|/\sqrt{3}}}\) is the expected distance of the point in the uniform point cloud to its \(k\) nearest neighbors. The deviation of \(S_{j}\) from \(\hat{n}\), \(d_{j,k}\) from \(\hat{d}\) is evaluated using a chi-squared model. Chamfer distance (CD) [9] and Earth mover's distance (EMD) [20] are selected to construct the reconstruction loss to encourage the generated points to lie on the target surface:  
\[L_{rec}=\sum_{q_{i}\in Q}min_{p_{j}\in\hat{Q}}\big{|}\big{|}q_{i}-P_{j}\big{|} \big{|}_{2}^{2}+ \begin{array}{c}min\\ \phi:Q\rightarrow\hat{Q}\end{array} \sum_{q_{i}\in Q}\big{|}\big{|}q_{i}-\phi (q_{i})\big{|}\big{|}_{2} \tag{7}\]  
where \(\phi:Q\rightarrow\hat{Q}\). is the bijection mapping. Finally, the above losses are weighted and summed to obtain the compound loss:  
\[L_{\text{G}}=w_{a}L_{\text{G\_adv}}+w_{u}L_{uni}+w_{r}L_{rec} \tag{8}\]  
\[L_{D}=L_{D\_adv} \tag{9}\]  
where \(w_{a},w_{u},w_{r}\) are weights, \(w_{a}\) is set as 1, \(w_{u}\) is set as 20, and \(w_{r}\) is set as 100. The generator and discriminator are optimized alternatively.