Multi-frame point cloud fusion method and device based on K-means clustering
By processing multi-frame point cloud data using a K-means clustering method, overlapping regions are identified, and spherical region division and iterative optimization are performed. This solves the problem of low point cloud fusion accuracy in existing technologies and achieves high-precision point cloud data fusion.
Patent Information
- Application Number
- CN201910284779.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-04-10
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2039-04-10
AI Technical Summary
In existing technologies, multi-frame point cloud fusion methods suffer from low fusion accuracy and poor data quality. In particular, the stratification of point cloud data is severe due to the influence of noise, matching errors, and the accuracy of single-frame point cloud reconstruction.
A K-means clustering method is adopted. By identifying overlapping regions and processing the data, spherical regions are divided, the weighted average of the cluster centers is calculated, and the K-means algorithm is used to iteratively optimize the cluster centers, eliminating the stratification phenomenon caused by errors and achieving redundancy-free unification of point cloud data.
It improves the accuracy and reliability of point cloud fusion, generating a three-dimensional point set with no redundancy and uniform point cloud density, making the fusion result more reliable.
Smart Images

Figure CN110147815B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of image processing, and particularly relates to a multi-frame point cloud fusion method and device based on K-means clustering. BACKGROUND
[0002] In three-dimensional imaging, due to mutual occlusion of objects and limitation of field of view, a single frame of three-dimensional point cloud usually cannot completely reflect the complete three-dimensional information of the object surface, so it is necessary to match single-frame point clouds obtained under different viewing angles. Through matching, the transformation relationship between multi-frame point clouds under different viewing angles can be obtained, but after transforming these point cloud data to a unified coordinate system, the point cloud data under different viewpoints often have overlapping regions, and they also need to be fused together to form a unified, ordered and non-redundant three-dimensional object surface data representation.
[0003] Point cloud fusion is one of the most critical technologies for determining the success of three-dimensional model construction. Due to the influence of noise, matching errors, and single-frame point cloud reconstruction accuracy, different frames of point cloud data may have a layered phenomenon. At present, there are many methods for point cloud fusion, among which the commonly used method is the boundary weighted average method, which can smooth the steps caused by the layered phenomenon by weighting the overlapping corresponding points in different proportions, but its fusion accuracy is low and the data quality is low. In view of this, it is necessary to provide a multi-frame point cloud fusion method and device based on K-means clustering to overcome the above defects. SUMMARY
[0004] The present application provides a multi-frame point cloud fusion method and device based on K-means clustering which can improve the fusion accuracy.
[0005] In order to achieve the above purpose, the present application provides a multi-frame point cloud fusion method based on K-means clustering, comprising the following steps:
[0006] Obtain the first frame of point cloud data and the second frame of point cloud data to be fused, wherein the first frame of point cloud data is single-frame point cloud data that has not been fused or at least two frames of point cloud data that have been fused, and the second frame of point cloud data is single-frame point cloud data that has not been fused;
[0007] Identify the overlapping region and the non-overlapping region of the first frame of point cloud data and the second frame of point cloud data;
[0008] Perform data processing on the overlapping region and divide it into multiple spherical regions, and calculate the point data of the cluster center initialization according to the point data in the spherical region;
[0009] According to the K-means algorithm, the clustering centers are iteratively optimized, and the weighted average value of each cluster is calculated as the updated clustering center until each clustering center no longer moves, to obtain the point data of the completed overlap region fusion;
[0010] The point data of the completed overlap region fusion and the point data of the non-overlapping region are merged together as the first frame point cloud data to be fused next time, and all single-frame point cloud data is fused frame by frame.
[0011] In a preferred embodiment, the identification of the overlapping region and the non-overlapping region of the first frame point cloud data and the second frame point cloud data comprises:
[0012] The first frame point cloud data is rotated and translated to the second frame coordinate system to obtain preprocessed point cloud data;
[0013] All points in the preprocessed point cloud data and the second frame point cloud data are traversed to find overlapping points, and the set of overlapping points in the preprocessed point cloud data forms a first overlapping region, and the set of overlapping points in the second frame point cloud data forms a second overlapping region.
[0014] In a preferred embodiment, the data processing of the overlapping region and the division of the clustering into a plurality of spherical regions, and the calculation of the clustering center initialized point data according to the point data in the spherical region, comprises:
[0015] For each point data in the first overlapping region, a first vector is calculated by finding the nearest point data in the second overlapping region, and each point in the first overlapping region is moved in the opposite direction of its normal vector by a first preset distance to obtain a first moved point, and the first preset distance is 0.5 times the projection of the first vector corresponding to the point data in the first overlapping region in the direction of its normal vector;
[0016] For each point data in the second overlapping region, a second vector is calculated by finding the nearest point data in the first overlapping region, and each point in the second overlapping region is moved in the opposite direction of its normal vector by a second preset distance to obtain a second moved point, and the second preset distance is 0.5 times the projection of the second vector corresponding to the point data in the second overlapping region in the direction of its normal vector;
[0017] All first moved points and second moved points are divided into a plurality of spherical regions, wherein each spherical region has the first moved point as the center and 1.5 times the scanning resolution of the single-frame point cloud data as the radius;
[0018] The weighted average value of each cluster is calculated according to the point data corresponding to all first moved points and second moved points in each spherical region to obtain the clustering center initialized point coordinates and normal vector.
[0019] In a preferred embodiment, the method of calculating the weighted average of each cluster comprises:
[0020] calculating the confidence of the data points belonging to the current cluster in the overlapping region, wherein the confidence of a data point is obtained by calculating the average of the included angle between the normal vector of the adjacent triangular facet of the data point and the line-of-sight direction of the centroid of the triangular facet;
[0021] calculating the point coordinate mean value according to the point coordinates of the data points belonging to the current cluster in the overlapping region, and calculating the normal vector mean value according to the normal vectors of the data points belonging to the current cluster in the overlapping region.
[0022] In a preferred embodiment, the point coordinate mean value and the normal vector mean value are respectively calculated according to the following expressions:
[0023]
[0024]
[0025] wherein C j represents the point coordinate mean value, N j represents the normal vector mean value, and is the point coordinate and the unit normal vector of the data point belonging to the current cluster in the first overlapping region, and is the point coordinate and the unit normal vector of the data point belonging to the current cluster in the second overlapping region, and W1 and W2 are the confidence of the data point belonging to the current cluster in the first overlapping region and the second overlapping region, respectively.
[0026] In a preferred embodiment, the step of traversing all points in the preprocessed point cloud data and the second frame point cloud data and finding overlapping points comprises: for each point in the preprocessed point cloud data, finding the point in the second frame point cloud data closest to the point and the distance between the two points being less than a preset detection threshold, then determining the point as an overlapping point; for each point in the second frame point cloud data, finding the point in the preprocessed point cloud data closest to the point and the distance between the two points being less than a preset detection threshold, then determining the point as an overlapping point.
[0027] In a preferred embodiment, the preset detection threshold is 1.5 times the scanning resolution of a single frame of point cloud data.
[0028] To achieve the above-mentioned purpose, the application further provides a device for multi-frame point cloud fusion based on K-means clustering, which comprises:
[0029] a data acquisition module configured to acquire first frame point cloud data and second frame point cloud data to be fused, wherein the first frame point cloud data is single frame point cloud data that has not been fused or point cloud data fused from at least two frames, and the second frame point cloud data is single frame point cloud data that has not been fused;
[0030] a region identification module configured to identify an overlapping region and a non-overlapping region of the first frame point cloud data and the second frame point cloud data;
[0031] a data calculation module configured to perform data processing on the overlapping region and divide the overlapping region into a plurality of spherical regions, and calculate point data of cluster center initialization according to point data in the spherical regions;
[0032] a point cloud fusion module configured to perform iterative optimization on the cluster centers according to a K-means algorithm and calculate a weighted average value of each cluster as an updated cluster center until each cluster center no longer moves, so as to obtain point data of which the overlapping region fusion is completed;
[0033] a result output module configured to merge the point data of which the overlapping region fusion is completed and point data of the non-overlapping region together as first frame point cloud data to be fused next time, and fuse all single frame point cloud data frame by frame.
[0034] The application further provides a computer device including a memory and a processor, the memory has a computer program stored therein, and the computer program, when executed by the processor, causes the processor to perform steps in the above method.
[0035] The application further provides a computer readable storage medium having a computer program stored thereon, and the computer program, when executed by one or more processors, causes the one or more processors to perform steps in the above method.
[0036] Compared with the prior art, the application has the beneficial effects that: by using the K-means clustering method to fuse the multi-frame point cloud data, the fusion layering phenomenon caused by errors of single frame reconstruction and multi-frame matching can be eliminated, and a three-dimensional point set without redundancy and with uniform point cloud density is finally generated; and in the cluster center updating process, different confidence weights can be considered, so that the fusion result is more reliable and the fusion precision is higher.
[0037] In order to make the above objectives, characteristics and advantages of the application more apparent and understandable, the following describes preferred embodiments of the application in detail with reference to the accompanying drawings.
BRIEF DESCRIPTION OF DRAWINGS
[0038] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0039] Figure 1 A flowchart of a multi-frame point cloud fusion method based on K-means clustering provided in an embodiment of the present invention;
[0040] Figure 2 for Figure 1 The sub-flowchart of step S102 is shown below;
[0041] Figure 3 for Figure 1 The sub-flowchart of step S103 is shown below;
[0042] Figure 4 This is a structural block diagram of a device for multi-frame point cloud fusion based on K-means clustering provided in an embodiment of the present invention.
Detailed Implementation Methods
[0043] To make the objectives, technical solutions, and beneficial effects of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described in this specification are merely for explaining the invention and are not intended to limit the invention.
[0044] Please see Figure 1 This invention provides a multi-frame point cloud fusion method based on K-means clustering, used to fuse matched multi-frame point cloud data, specifically including the following steps:
[0045] Step S101: Obtain the first frame point cloud data and the second frame point cloud data to be fused.
[0046] In step S101, the first frame of point cloud data is either an unfused single frame of point cloud data or at least two frames of fused point cloud data, and the second frame of point cloud data is also an unfused single frame of point cloud data. Both the first and second frame of point cloud data acquired include 3D coordinate information and normal vector information.
[0047] Specifically, the normal vector of a 3D point is generated using the ordered distribution of the two-dimensional pixels in the camera's imaging. It can be obtained by weighting and summing the normal vectors of each triangular facet sharing the 3D point according to their respective weights. The normal vector of a triangular facet is a straight line perpendicular to the triangular facet, and the weight is the area of the corresponding triangular facet. The triangular facets are obtained by dividing the point cloud from a point array.
[0048] Step S102, identifying the overlapping region and the non-overlapping region of the first frame point cloud data and the second frame point cloud data.
[0049] In step S102, the overlapping region of the first frame point cloud data and the second frame point cloud data is identified first, and the remaining data point set is the non-overlapping region. Please refer to Figure 2 In an embodiment, step S102 specifically includes the following steps:
[0050] Step S201, rotating and translating the first frame point cloud data to the second frame coordinate system to obtain preprocessed point cloud data.
[0051] The preprocessed point cloud data is the point cloud data obtained by matching the first frame point cloud data to the coordinate system unified with the second frame point cloud data through the rigid body transformation parameter, and if the first frame point cloud data is at least two frames of fused point cloud data, it includes the three-dimensional coordinate information and the normal vector information of the latest fused point.
[0052] Step S202, traversing all points in the preprocessed point cloud data and the second frame point cloud data and finding overlapping points, the first overlapping region is composed of the set of overlapping points in the preprocessed point cloud data, and the second overlapping region is composed of the set of overlapping points in the second frame point cloud data.
[0053] The step of traversing all points in the preprocessed point cloud data and finding overlapping points includes: for each point in the preprocessed point cloud data, finding the point closest to the point in the second frame point cloud data and the distance between the two points is less than the preset detection threshold, then determining that the point is an overlapping point. For example, for a point p in the preprocessed point cloud data, the point q closest to the point p is found in the second frame point cloud data, and if the distance between the point p and the point q is less than the preset detection threshold, then the point p is an overlapping point in the preprocessed point cloud data.
[0054] The step of traversing all points in the second frame point cloud data and finding overlapping points includes: for each point in the second frame point cloud data, finding the point closest to the point in the preprocessed point cloud data and the distance between the two points is less than the preset detection threshold, then determining that the point is an overlapping point. In this embodiment, the above-mentioned preset detection threshold is 1.5 times the scanning resolution of a single frame of point cloud data.
[0055] Step S103, data processing is performed on the overlapping region and the overlapping region is divided into a plurality of spherical regions, and the point data of the cluster center initialization is calculated according to the point data in the spherical region.
[0056] In step S103, the above-mentioned first overlapping region and second overlapping region are taken as the initial point set without clustering, and the initialization cluster center is selected and its point coordinates and normal vector are calculated, please refer to Figure 3 Step S103 further includes the following sub-steps:
[0057] Step S301: Find the nearest point in the second overlapping region from the data of each point in the first overlapping region to calculate the first vector, and move each point in the first overlapping region along the opposite direction of its normal vector by a first preset distance to obtain the first moving point.
[0058] Taking the first overlapping region as an example, for any point in the first overlapping region... Move it along its normal vector Move the first preset distance d1 in the opposite direction to obtain the first moving point. Specifically, it can be expressed by the following formula:
[0059]
[0060] Specifically, the first preset distance d1 is a point in the first overlapping region of the first vector. normal vector The projection in the direction is 0.5 times, and the first vector originates from a point in the first overlapping region. and the point closest to that point in the second overlapping region. Formation, its expression is The calculation process of the first preset distance d1 can be expressed as follows:
[0061]
[0062] Step S302: Find the nearest point in the first overlapping region from the data of each point in the second overlapping region to calculate the second vector, and move each point in the second overlapping region along the opposite direction of its normal vector by a second preset distance to obtain the second moving point.
[0063] The second preset distance is 0.5 times the projection of the second vector corresponding to the point data in the second overlapping region onto the normal vector direction of that point. The second vector is formed by a point in the second overlapping region and the point in the first overlapping region that is closest to that point.
[0064] Step S303: Divide all the first moving points and the second moving points into multiple spherical regions, where each spherical region is centered on the first moving point and has a radius of 1.5 times the scanning resolution of the single frame point cloud data.
[0065] In this process, the initial set of points composed of the first and second overlapping regions is processed and then divided into various neighborhoods according to the nearest neighbor principle for clustering.
[0066] Step S304, calculating the weighted average value of each cluster according to the point data of all first moving points and second moving points in each spherical region to obtain the point coordinates and normal vector of the cluster center initialization.
[0067] Wherein, all the first moving points and second moving points are traversed to find the first moving points and second moving points in the same spherical region, that is, the points in a cluster, the weighted average value of all points in each cluster is calculated, the point coordinate mean value is taken as the point coordinate of the initialized cluster center, and the normal vector mean value is taken as the normal vector of the initialized cluster center.
[0068] Step S104, iteratively optimizing the cluster center according to the K-means algorithm and calculating the weighted average value of each cluster as the updated cluster center until each cluster center no longer moves, so as to obtain the point data of the completed overlap region fusion.
[0069] In step S104, according to the K-means algorithm, the Euclidean distance is selected as the similarity and distance judgment criterion, the distance square sum of each point in each cluster to the cluster center is calculated, the cluster center is updated iteratively, the total distance square sum of each cluster is minimized, that is, the cluster center no longer moves, so as to obtain the final value of the cluster center and obtain the fusion result. Through the clustering method, the fusion result can make the data in each class as similar as possible, and the similarity between different classes as different as possible, so as to eliminate the fusion layering phenomenon caused by the error of single frame reconstruction and multi-frame matching.
[0070] In this embodiment, the calculation of the weighted average value of each cluster in step S304 and step S104 includes the calculation of point coordinates and normal vectors, and the specific method includes:
[0071] The confidence of the data point belonging to the current cluster in the overlap region is calculated, wherein the confidence of the data point is obtained by calculating the average value of the included angle between the normal vector of the adjacent triangular facet of the data point and the line of sight direction of the triangular facet centroid.
[0072] The point coordinate mean value is calculated according to the point coordinates of the current cluster data point with the confidence as the weight, and the normal vector mean value is calculated according to the normal vector of the current cluster data point with the confidence as the weight.
[0073] Wherein, the different confidence weights are considered in the cluster center updating process, so that the fusion result has higher reliability. Specifically, the point coordinate mean value C j and the calculation expression of the normal vector mean value N j are as follows:
[0074]
[0075]
[0076] wherein, and W1 and W2 are the confidence degrees of the point coordinates and unit normals of the current clustering data points in the first and second overlapping regions respectively. and W1 and W2 are the confidence degrees of the point coordinates and unit normals of the current clustering data points in the first and second overlapping regions respectively.
[0077] In step S105, the point data of the completed overlapping region fusion is merged with the point data in the non-overlapping region together as the first frame point cloud data to be fused next time, and all single frame point cloud data is fused frame by frame.
[0078] In step S105, the point data of the completed overlapping region fusion is merged with the point data in the non-overlapping region together as the first frame point cloud data to be fused next time, and all single frame point cloud data is fused frame by frame.
[0079] In the above method embodiment, the K-means clustering-based method is used to fuse the multi-frame point cloud data, which is beneficial to eliminate the fusion layering phenomenon caused by the errors of single frame reconstruction and multi-frame matching, and finally generates a three-dimensional point set without redundancy and with uniform point cloud density; and in the clustering center updating process, different confidence weights can be considered, so that the fusion result is more reliable and the fusion precision is higher.
[0080] Based on the above method embodiment, an embodiment of the present application further provides a device 400 for fusing multi-frame point clouds based on K-means clustering, please refer to Figure 4 The device 400 specifically comprises:
[0081] A data acquisition module 401 is configured to acquire first frame point cloud data and second frame point cloud data to be fused, wherein the first frame point cloud data is single frame point cloud data not fused or at least two frames of fused point cloud data, and the second frame point cloud data is single frame point cloud data not fused.
[0082] A region identification module 402 is configured to identify overlapping regions and non-overlapping regions of the first frame point cloud data and the second frame point cloud data.
[0083] A data calculation module 403 is configured to perform data processing on the overlapping regions and divide the clustering into a plurality of spherical regions, and calculate point data of the clustering center initialization according to the point data in the spherical regions.
[0084] The point cloud fusion module 404 is configured to perform iterative optimization on the clustering centers according to a K-means algorithm and calculate a weighted average value of each cluster as an updated clustering center until each clustering center no longer moves, so as to obtain the point data of the completed fusion of the overlapping area.
[0085] The result output module 405 is configured to merge the point data of the completed fusion of the overlapping area and the point data of the non-overlapping area together as the first frame point cloud data to be fused next time, and fuse all single-frame point cloud data frame by frame.
[0086] In one embodiment, the area identification module 402 is further configured to: rotate and translate the first frame point cloud data to the second frame coordinate system to obtain preprocessed point cloud data; traverse all points in the preprocessed point cloud data and the second frame point cloud data and find overlapping points, and form a first overlapping area from the set of overlapping points in the preprocessed point cloud data and form a second overlapping area from the set of overlapping points in the second frame point cloud data.
[0087] In one embodiment, the data calculation module 403 is further configured to: find, from each point data in the first overlapping area, one point data in the second overlapping area that is closest to the point data to calculate a first vector, move each point in the first overlapping area in the opposite direction of the normal vector of the point by a first preset distance to obtain a first moved point, and the first preset distance is 0.5 times of the projection of the first vector corresponding to the point data in the first overlapping area in the direction of the normal vector of the first vector; find, from each point data in the second overlapping area, one point data in the first overlapping area that is closest to the point data to calculate a second vector, move each point in the second overlapping area in the opposite direction of the normal vector of the point by a second preset distance to obtain a second moved point, and the second preset distance is 0.5 times of the projection of the second vector corresponding to the point data in the second overlapping area in the direction of the normal vector of the second vector; divide all the first moved points and the second moved points into clusters to form a plurality of spherical areas, wherein each spherical area has the first moved point as the center and has a radius of 1.5 times of the scanning resolution of the single-frame point cloud data; and calculate a weighted average value of each cluster according to the point data before the movement of all the first moved points and the second moved points in each spherical area to obtain the point coordinates and the normal vector of the clustering center initialization.
[0088] Further, the embodiment of the present application further provides a computer device. The computer device comprises a memory and a processor, and the memory stores a computer program; the computer program is executed by the processor to enable the processor to perform the steps in the above method embodiments.
[0089] In one embodiment, the present application further provides a computer readable storage medium having a computer program stored thereon. The computer program is executed by one or more processors to enable the one or more processors to perform the steps in the above method.
[0090] Those skilled in the art can understand that all or part of the steps of various methods in the above embodiments can be completed by instructing the relevant hardware through a program, and the program can be stored in a computer readable storage medium, which can include a Read Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, etc.
[0091] The above description is merely preferred embodiments of the present application, and is further detailed in conjunction with specific preferred embodiments of the present application, and cannot be deemed to limit the specific implementation of the present application to these descriptions. Any modification, equivalent replacement, and improvement within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A multi-frame point cloud fusion method based on K-means clustering, characterized in that, The method comprises the following steps: obtaining first frame point cloud data and second frame point cloud data to be fused, wherein the first frame point cloud data is single frame point cloud data not fused or point cloud data fused from at least two frames, and the second frame point cloud data is single frame point cloud data not fused; identifying overlapping regions and non-overlapping regions of the first frame point cloud data and the second frame point cloud data; performing data processing on the overlapping regions and dividing the overlapping regions into a plurality of spherical regions, and calculating point data of cluster center initialization according to point data in the spherical regions; iteratively optimizing the cluster center according to a K-means algorithm and calculating a weighted average value of each cluster as an updated cluster center until each cluster center no longer moves, so as to obtain point data of the overlapping regions fused completely; merging the point data of the overlapping regions fused completely and point data of the non-overlapping regions together as first frame point cloud data to be fused next time, and fusing all single frame point cloud data frame by frame, wherein the identifying the overlapping regions and the non-overlapping regions of the first frame point cloud data and the second frame point cloud data comprises: rotating and translating the first frame point cloud data to a second frame coordinate system to obtain preprocessed point cloud data; traversing all points in the preprocessed point cloud data and the second frame point cloud data and finding overlapping points, wherein a set of the overlapping points in the preprocessed point cloud data forms a first overlapping region, and a set of the overlapping points in the second frame point cloud data forms a second overlapping region, and the performing data processing on the overlapping regions and dividing the overlapping regions into a plurality of spherical regions, and calculating point data of cluster center initialization according to point data in the spherical regions comprises: finding, for each point data in the first overlapping region, a point data in the second overlapping region closest to the point data to calculate a first vector, moving each point in the first overlapping region in a direction opposite to a normal vector of the point by a first preset distance to obtain a first moved point, and the first preset distance is 0.5 times of a projection of the first vector corresponding to the point data in the first overlapping region in a direction of the normal vector of the point; finding, for each point data in the second overlapping region, a point data in the first overlapping region closest to the point data to calculate a second vector, moving each point in the second overlapping region in a direction opposite to a normal vector of the point by a second preset distance to obtain a second moved point, and the second preset distance is 0.5 times of a projection of the second vector corresponding to the point data in the second overlapping region in a direction of the normal vector of the point; dividing all the first moved points and the second moved points into a plurality of spherical regions, wherein each spherical region takes the first moved point as a center and takes 1.5 times of a scanning resolution of single frame point cloud data as a radius; calculating a weighted average value of each cluster to obtain point coordinates and a normal vector of the cluster center initialization according to point data corresponding to all the first moved points and the second moved points in each spherical region before movement, and the method for calculating the weighted average value of each cluster comprises: calculating a confidence of the data points in the current cluster in the overlapping region, wherein the confidence of the data points is obtained by calculating an average of the included angle between the normal vector of the adjacent triangular facet of the data point and the line-of-sight direction of the centroid of the triangular facet; calculating a point coordinate mean value according to the point coordinates of the data points in the current cluster with the confidence as a weight, and calculating a normal vector mean value according to the normal vectors of the data points in the current cluster with the confidence as a weight.
2. The K-means clustering based multi-frame point cloud fusion method of claim 1, wherein, The point coordinate mean value and the normal vector mean value are calculated according to the following expressions respectively: wherein Cj represents the point coordinate mean value, Nj represents the normal vector mean value, and and are the point coordinates and unit normals of the data points in the current cluster in the first overlapping region, and and are the point coordinates and unit normals of the data points in the current cluster in the second overlapping region, and W1 and W2 are the confidence of the data points in the current cluster in the first overlapping region and the second overlapping region respectively.
3. The method of claim 1, wherein, The step of traversing all the points in the preprocessed point cloud data and the second frame point cloud data to find overlapping points comprises: finding, for each point in the preprocessed point cloud data, a point in the second frame point cloud data closest to the point and having a distance less than a preset detection threshold, and determining the point in the preprocessed point cloud data as an overlapping point; finding, for each point in the second frame point cloud data, a point in the preprocessed point cloud data closest to the point and having a distance less than a preset detection threshold, and determining the point in the second frame point cloud data as an overlapping point.
4. The multi-frame point cloud fusion method based on K-means clustering of claim 3, wherein, The preset detection threshold is 1.5 times the scanning resolution of a single frame of point cloud data.
5. An apparatus for multi-frame point cloud fusion based on K-means clustering using the method of claim 1, characterized in that, The device comprises: a data acquisition module configured to acquire first frame point cloud data and second frame point cloud data to be fused, wherein the first frame point cloud data is single frame point cloud data that has not been fused or point cloud data obtained by fusing at least two frames, and the second frame point cloud data is single frame point cloud data that has not been fused; a region identification module configured to identify overlapping regions and non-overlapping regions of the first frame point cloud data and the second frame point cloud data; a data calculation module configured to perform data processing on the overlapping regions and divide the overlapping regions into a plurality of spherical regions, and calculate point data of cluster center initialization according to point data in the spherical regions; a point cloud fusion module configured to iteratively optimize the cluster centers according to a K-means algorithm and calculate a weighted average value of each cluster as an updated cluster center until each cluster center no longer moves, so as to obtain point data of which the overlapping regions have been fused; a result output module configured to merge the point data of which the overlapping regions have been fused and point data of the non-overlapping regions together as first frame point cloud data to be fused in the next time, and fuse all single frame point cloud data frame by frame.
6. A computer device, comprising: The computer device comprises a memory and a processor, and the memory stores a computer program, which, when executed by the processor, causes the processor to perform the steps of the method according to any one of claims 1 to 4.
7. A computer readable storage medium characterized by A computer program is stored thereon, which, when executed by one or more processors, causes the one or more processors to perform the steps of the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Multi-view dense point cloud data fusion method
CN104050640A
Variable-viewing angle obstacle detection method for robot based on outline recognition
CN104484648A