With the development of3-dimension scanning equipment, the original point cloud data obtained by scanning equipment are usually over ten thousands, sometimes even millions. Massive point cloud data give a huge load to the following work. While handling massive point cloud data, the way of point cloud processing on CPU costs a very long time, which can’t meet the current demand of point cloud processing. Therefore, this paper uses the methods of parallel computing based on CUDA to improve the core algorithms of point cloud processing and achieves the target of accelerating the point cloud processing. The main work is as follows:(1) In this paper, we study the main course of traditional point cloud processing, including point cloud denoising, point cloud simplification, point cloud segmentation, point cloud splicing and so on. And we describe the mathematical methods of point cloud processing in detail and implement the point cloud denoising and simplification on CPU. Random simplification, average simplification and curvature simplification are used to process the point cloud data.(2) The paper gives K-nearest search algorithm based on CUDA. What’s more, we compare it with K-nearest search algorithm on CPU. According to the parallel nature of GPU, we use two kernel functions to complete the distance calculation and solve the sorting problem in parallel way. Since CUDA doesn’t support recursive calls, we improve the quick sort in a parallel way and implement the acceleration of searching K-nearest neighbours.(3) When processing the point cloud data, many algorithms need to calculate the core attributes of spatial data points, such as normal vector and curvature. The paper uses the inverse power method to solve the smallest eigenvalues and their corresponding eigenvectors. When doing parallel computing on GPU, we combine the calculation of multiple covariance matrix into an inverse power method’s calculation of a large-scale sparse matrix. In the situation of dealing with massive point cloud data, we use CT method to complete the calculation of curvature and change the way of solving linear equation to a parallel one based on CUDA programming model. When calculating, each solution vector is saved in the memory of GPU and Jacobi_kernel function is written to achieve the target.(4) The paper designs a point cloud processing system based on MFC, which includes reading, denoising and simplification of point cloud data. And it presents a comparison before and after the experiment results. In addition, we compare the efficiency of point cloud processing on CPU and GPU, which proves the validity of CUDA parallel computing applied in massive data processing. |