Rock mass point cloud registration method, device, equipment and storage medium thereof
By obtaining the concave and convex descriptor of the rock body point cloud, screening feature points and using the singular value decomposition algorithm to calculate the transformation matrix, the point cloud data registration problem with low overlap rate and large angle deflection is solved, and the accuracy of the three-dimensional model of the rock body is improved, and it is suitable for geological disaster monitoring and mineral exploration.
Patent Information
- Application Number
- CN202510638277.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-19
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2045-05-19
AI Technical Summary
The existing point cloud registration technology cannot effectively process three-dimensional point cloud data of rock body with low overlap rate and large angle deflection, resulting in low registration accuracy and the inability to generate high-precision three-dimensional rock body models.
By obtaining the concave and convex descriptors of the source point cloud and the target point cloud, filtering the concave and convex feature points, using the singular value decomposition algorithm to calculate the transformation matrix for pose transformation, combining editing distance and KD tree technology, a congruent triangle matching point pair is constructed to achieve high-precision registration of point cloud data.
The point cloud data registration accuracy with low overlap rate and large angle deflection is improved, and the accuracy of the three-dimensional model is ensured, providing accurate data support for geological disaster monitoring, rock structure analysis and mineral exploration.
Smart Images

Figure CN120163858B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of rock body point cloud registration, and in particular to a rock body point cloud registration method, device, equipment and storage medium thereof. Background Art
[0002] High-precision three-dimensional point cloud data plays an important role in geological disaster monitoring, rock structure analysis, mineral exploration, engineering surveying and mapping, and virtual terrain reconstruction.
[0003] The structure of the rock body is complex, and it is difficult to obtain complete rock body point cloud data through scanning from a single perspective only. The existing technology is to scan the rock body from multiple perspectives and batches to obtain multiple batches of three-dimensional point cloud data about the rock body, and then align the multiple batches of three-dimensional point cloud data of the rock body to obtain a three-dimensional model of the rock body. However, the overlap rate between the three-dimensional point cloud data of the rock body obtained from multiple perspectives and batches is low and the angular deflection is large. The existing point cloud registration technology relies on the absolute coordinates of the point cloud data to align the point cloud data, and can only achieve point cloud data registration with a high overlap rate and a small angular deflection. Using the existing point cloud registration technology to align multiple batches of three-dimensional point cloud data of the rock body results in low registration accuracy of the multiple batches of three-dimensional point cloud data, and low accuracy of the three-dimensional model of the rock body obtained based on the point cloud registration results. Summary of the Invention
[0004] The present invention aims to solve at least one of the technical problems existing in the prior art. To this end, the present invention provides a rock point cloud registration method, apparatus, device, and storage medium thereof, which can improve the registration accuracy between point cloud data with low overlap and large angular deflection.
[0005] In a first aspect, an embodiment of the present invention provides a rock point cloud registration method, comprising:
[0006] Acquire source point cloud data and target point cloud data, wherein the source point cloud data and the target point cloud data each include a plurality of point cloud points;
[0007] Performing a target operation based on the source point cloud data to obtain a plurality of source concave-convex descriptors, and performing the target operation based on the target point cloud data to obtain a plurality of target concave-convex descriptors, wherein the target operation includes: determining a corresponding geometric center, determining a normal vector based on a KD tree, unifying the direction of the normal vector, adjusting the orientation of the normal vector based on the geometric center, screening a plurality of concave-convex feature points from the corresponding point cloud points based on the normal vector, and filtering out noise points in the concave-convex feature points by clustering;
[0008] Determine, from the source concave-convex descriptor and the target concave-convex descriptor, a plurality of available matching point pairs whose edit distances satisfy a first preset threshold;
[0009] Select three target matching point pairs that can construct congruent triangles in their respective point clouds from all the available matching point pairs, and calculate a transformation matrix based on the target matching point pairs and the singular value decomposition algorithm, where the transformation matrix is used to indicate the mapping from the source point cloud data to the target point cloud data;
[0010] Determine an optimal transformation matrix based on all the transformation matrices, control the source point cloud data to perform a pose transformation based on the optimal transformation matrix to obtain an initial registration result, and adjust the initial registration result based on the transformation matrix to obtain a target registration result.
[0011] According to some embodiments of the present invention, screening out a plurality of concave and convex feature points from the corresponding point cloud points based on the normal vector includes:
[0012] Obtain the centroid of the point cloud point and the local neighborhood of the point cloud point, and determine a first eigenvector based on the point cloud point and the centroid, where the local neighborhood includes a plurality of neighboring points of the point cloud point;
[0013] Obtain the normal vector of the point cloud point, and decompose the first eigenvector along the normal vector into a first vertical component and a first horizontal component;
[0014] Based on any one of the neighboring points, determine a first vector, decompose the first vector along the vertical direction and the horizontal direction respectively to obtain a second vertical component and a second horizontal component respectively, add the first vertical component and the second vertical component to obtain a third vertical component, add the first horizontal component and the second horizontal component to obtain a third horizontal component, and obtain a second eigenvector based on the third vertical component and the third horizontal component;
[0015] Obtain a plurality of the second eigenvectors, perform dot products of all the second eigenvectors with the normal vector respectively to obtain a plurality of first dot product values, and when the absolute value of the first dot product value is greater than a second preset threshold and the length of the second eigenvector is greater than a third preset threshold, the point cloud point corresponding to the first dot product value is the concave and convex feature point.
[0016] According to some embodiments of the present invention, before decomposing the first vector along the vertical direction and the horizontal direction respectively, it further includes:
[0017] Perform dot products of all the first vectors with the normal vector respectively to obtain a plurality of second dot product values, and divide all the first vectors into a first vector group and a second vector group based on the positive and negative of all the second dot product values;
[0018] Obtaining a first proportion and a second proportion, wherein the first proportion is a proportion of the number of the first vectors in the first vector group to the total number of the first vectors, and the second proportion is a proportion of the number of the first vectors in the second vector group to the total number of the first vectors;
[0019] Substitute the first proportion and the second proportion into the first formula to obtain a first weight and a second weight, respectively, and assign the first weight and the second weight to each of the first vectors in the first vector group and the second vector group, respectively, wherein the first formula is: , e is the natural exponent, and β is the noise suppression coefficient.
[0020] According to some embodiments of the present invention, filtering out noise points in the concave-convex feature points by clustering includes:
[0021] Acquire all the concave-convex feature points, and obtain a point cloud cluster based on all the concave-convex feature points;
[0022] Setting the domain radius, the minimum number of sample points, and the maximum number of sample points of the DBSCAN algorithm, and performing point cloud clustering on the point cloud cluster based on the domain radius by the DBSCAN algorithm to obtain multiple initial clusters;
[0023] Obtaining the number of the concave-convex feature points in the initial cluster, and deleting the initial cluster when the number of the concave-convex feature points in the initial cluster is less than the minimum number of sample points, wherein the concave-convex feature points in the initial cluster are the noise points;
[0024] Alternatively, when the number of the concave-convex feature points in the initial cluster is greater than the minimum number of sample points and less than the maximum number of sample points, retaining the initial cluster;
[0025] Alternatively, when the number of the concave-convex feature points in the initial cluster is greater than the maximum number of sample points, the curvature of the initial cluster is obtained based on the KD tree, and the initial cluster whose curvature does not meet the first preset condition is deleted, wherein the concave-convex feature points in the initial cluster whose curvature does not meet the first preset condition are the noise points.
[0026] According to some embodiments of the present invention, after filtering out noise points in the concave-convex feature points by clustering, the method further includes:
[0027] Obtain k neighboring points of the concave-convex feature point through a KD tree, obtain the concave-convexity of the concave-convex feature point, and characterize the concave-convexity of the concave-convex feature point through a first concave-convex code;
[0028] Calculate the Euclidean distance between each of the neighboring points and the concave-convex feature point respectively, and obtain multiple second concave-convex encodings based on all the concave-convex feature points and the corresponding Euclidean distances. Among them, when the concave-convex feature point is a concave feature point, the second concave-convex encoding is equal to the negative value of the numerical form of the Euclidean distance between the neighboring point and the concave-convex feature point; when the concave-convex feature point is a convex feature point, the second concave-convex encoding is equal to the numerical form of the Euclidean distance between the neighboring point and the concave-convex feature point.
[0029] Obtain a concave-convex descriptor based on the first concave-convex encoding and the k second concave-convex encodings, where the expression of the concave-convex descriptor is: , is the concave-convex descriptor of the i-th concave-convex feature point, is the first concave-convex encoding corresponding to the concave-convex feature point, is the second concave-convex encoding corresponding to the first neighboring point of the i-th concave-convex feature point, is the second concave-convex encoding corresponding to the second neighboring point of the i-th concave-convex feature point, is the second concave-convex encoding corresponding to the k-th neighboring point of the i-th concave-convex feature point, i is a positive integer, and k is a positive integer.
[0030] According to some embodiments of the present invention, determining multiple pairs of available matching point pairs with the edit distance satisfying the first preset threshold from the source concave-convex descriptor and the target concave-convex descriptor includes:
[0031] Change the data types of the source concave-convex descriptor and the target concave-convex descriptor to strings, and obtain a source string and a target string respectively. Among them, the expression of the source string is: , is the source string, is the character form of the first concave-convex encoding of the source concave-convex descriptor, is the character form of the first second concave-convex encoding of the source concave-convex descriptor, is the character form of the second second concave-convex encoding of the source concave-convex descriptor, is the character form of the k-th second concave-convex encoding of the source concave-convex descriptor. The expression of the target string is: , is the target string, is the character form of the first concave-convex encoding of the target concave-convex descriptor, is the character form of the first second concave-convex encoding of the target concave-convex descriptor, is the character form of the second second concavity and convexity encoding of the target concavity and convexity descriptor, is the character form of the k-th second concavity and convexity encoding of the target concavity and convexity descriptor. The second concavity and convexity encoding of the source string is determined based on source concavity and convexity feature points and source neighboring points. The source concavity and convexity feature points are the concavity and convexity feature points obtained by performing the target operation on the source point cloud data. The source neighboring points are the neighboring points of the source concavity and convexity feature points. The second concavity and convexity encoding of the target string is determined based on target concavity and convexity feature points and target neighboring points. The target concavity and convexity feature points are the concavity and convexity feature points obtained by performing the target operation on the target point cloud data. The target neighboring points are the neighboring points of the target concavity and convexity feature points;
[0032] When satisfies the second preset condition, the corresponding source neighboring point and the target neighboring point are corresponding points. When does not satisfy the second preset condition, the corresponding source neighboring point and the target neighboring point are invalid points. Among them, the second preset condition is when and , is the fourth preset threshold;
[0033] When the edit distance satisfies the first preset threshold, the source string and the target string are respectively adjusted based on the corresponding points or the invalid points through the edit distance algorithm. Based on the adjusted source string and the adjusted target string, the neighboring point sets of the corresponding source concavity and convexity feature points and the neighboring point sets of the target concavity and convexity feature points are obtained. Among them, the neighboring point sets of the source concavity and convexity feature points and the neighboring point sets of the target concavity and convexity feature points jointly form a set of matching point pairs, and the set of matching point pairs includes multiple pairs of available matching point pairs.
[0034] According to some embodiments of the present invention, three target matching point pairs that can construct congruent triangles in their respective point clouds are selected from all the available matching point pairs, and a transformation matrix is calculated based on the target matching point pairs and the singular value decomposition algorithm, including:
[0035] Arbitrarily obtain two available matching point pairs in the set of matching point pairs. If the two available matching point pairs satisfy the third preset condition, the available matching point pair is the target matching point pair, and a candidate line segment pair is constructed based on the two target matching point pairs. Among them, the third preset condition is , is the r-th source concavity and convexity feature point, is the s-th source concavity and convexity feature point, is the r-th target concavity and convexity feature point, is the s-th target concavity and convexity feature point, r is a positive integer, and s is a positive integer;
[0036] Arbitrarily obtain one of the available matching point pairs from the set of matching point pairs. If the available matching point pair and two of the target matching point pairs satisfy the fourth preset condition, the available matching point pair is the target matching point pair. Based on the available matching point pair and the candidate line segment pair, a congruent triangle is constructed, where the fourth preset condition is , is the t-th source concave-convex feature point, is the t-th target concave-convex feature point, and t is a positive integer;
[0037] Obtain all the congruent triangles, and generate multiple transformation matrices based on all the congruent triangles through the singular value decomposition algorithm.
[0038] In a second aspect, an embodiment of the present invention provides a rock body point cloud registration device, including at least one control processor and a memory communicatively connected to the at least one control processor; the memory stores instructions executable by the at least one control processor, and the instructions are executed by the at least one control processor to enable the at least one control processor to execute the rock body point cloud registration method as described in the first aspect above.
[0039] In a third aspect, an embodiment of the present invention provides an electronic device, including the rock body point cloud registration device as described in the second aspect above.
[0040] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, storing computer-executable instructions for executing the rock body point cloud registration method as described in the first aspect above.
[0041] The embodiment of the present invention provides a rock body point cloud registration method, apparatus, device and storage medium thereof, wherein the rock body point cloud registration method comprises: obtaining source point cloud data and target point cloud data, wherein the source point cloud data and the target point cloud data each include multiple point cloud points; performing a target operation based on the source point cloud data to obtain multiple source concave-convex descriptors, and performing the target operation based on the target point cloud data to obtain multiple target concave-convex descriptors, wherein the target operation comprises: determining a corresponding geometric center, determining a normal vector based on a KD tree, unifying the direction of the normal vector, adjusting the orientation of the normal vector based on the geometric center, screening multiple concave-convex feature points from the corresponding point cloud points based on the normal vector, and performing the target operation based on the target point cloud data. Clustering filters out noise points in the concave-convex feature points; determining multiple pairs of available matching point pairs whose edit distances meet a first preset threshold from the source concave-convex descriptor and the target concave-convex descriptor; selecting three target matching point pairs that can construct congruent triangles in their respective point clouds from all the available matching point pairs, and calculating a transformation matrix based on the target matching point pairs and a singular value decomposition algorithm, wherein the transformation matrix is used to indicate the mapping from the source point cloud data to the target point cloud data; determining an optimal transformation matrix based on all the transformation matrices, controlling the source point cloud data to perform posture transformation based on the optimal transformation matrix, obtaining an initial registration result, and adjusting the initial registration result based on the transformation matrix to obtain a target registration result. According to the technical solution of an embodiment of the present invention, a plurality of source concave-convex descriptors representing the concave-convex features of the source point cloud data are obtained based on the source point cloud data, a plurality of target concave-convex descriptors representing the concave-convex features of the target point cloud data are obtained based on the target point cloud data, a plurality of pairs of available matching point pairs whose edit distances satisfy a first preset threshold are determined based on all the source concave-convex descriptors and all the target concave-convex descriptors, the source point cloud data is controlled to perform posture transformation by a transformation matrix generated based on the target matching point pairs to achieve large-angle deflection of the source point cloud data, the source point cloud data and the target point cloud data are aligned through the geometric similarity of the concave-convex features between the source point cloud data and the target point cloud data, thereby ensuring the accuracy of the target alignment result, thereby improving the alignment accuracy between the target point cloud data and the source point cloud data with low overlap rate and large angular deflection. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 This is a flow chart of a rock point cloud registration method provided by one embodiment of the present invention;
[0043] Figure 2 is a schematic diagram of unregistered source point cloud data and target point cloud data provided by another embodiment of the present invention;
[0044] Figure 3 is a schematic diagram of concave and convex feature points provided by another embodiment of the present invention;
[0045] Figure 4It is a schematic diagram of the clustering result provided by another embodiment of the present invention;
[0046] Figure 5 It is a schematic diagram of the target registration result provided by another embodiment of the present invention;
[0047] Figure 6 It is a structural diagram of the rock body point cloud registration device provided by another embodiment of the present invention. Detailed implementation manners
[0048] The embodiments of the present invention will be described in detail below. Examples of the embodiments are shown in the drawings, where the same or similar reference numerals indicate the same or similar elements or elements with the same or similar functions from beginning to end. The embodiments described below with reference to the drawings are exemplary and are only used to explain the present invention and should not be construed as a limitation of the present invention.
[0049] In the description of the present invention, it should be understood that the orientation or positional relationship indicated by terms such as up, down, front, back, left, right, etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the present invention.
[0050] In the description of the present invention, the meaning of several is one or more, the meaning of multiple is more than two, and understandings such as greater than, less than, exceeding, etc. do not include the present number, and understandings such as above, below, within, etc. include the present number. If there is a description of first and second, it is only for the purpose of distinguishing technical features and should not be construed as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features or implicitly indicating the sequence relationship of the indicated technical features.
[0051] In the description of the present invention, unless otherwise clearly defined, words such as setting, installing, connecting, etc. should be understood in a broad sense, and those skilled in the art can reasonably determine the specific meanings of the above words in the present invention in combination with the specific content of the technical solution.
[0052] Embodiments of the present invention provide a method, apparatus, device, and storage medium for registering rock body point clouds. The method for registering rock body point clouds includes: obtaining source point cloud data and target point cloud data, where the source point cloud data and the target point cloud data each include a plurality of point cloud points; performing a target operation on the source point cloud data to obtain a plurality of source concave-convex descriptors, and performing the target operation on the target point cloud data to obtain a plurality of target concave-convex descriptors, where the target operation includes: determining a corresponding geometric center, determining a normal vector based on a KD tree, after unifying the direction of the normal vector, adjusting the orientation of the normal vector based on the geometric center, screening out a plurality of concave-convex feature points from the corresponding point cloud points based on the normal vector, and filtering out noise points in the concave-convex feature points through clustering; determining a plurality of available matching point pairs from the source concave-convex descriptors and the target concave-convex descriptors whose edit distances satisfy a first preset threshold; selecting three target matching point pairs from all the available matching point pairs that can construct congruent triangles in their respective point clouds, calculating a transformation matrix based on the target matching point pairs and the singular value decomposition algorithm, where the transformation matrix is used to indicate the mapping from the source point cloud data to the target point cloud data; determining an optimal transformation matrix based on all the transformation matrices, controlling the source point cloud data to perform a pose transformation based on the optimal transformation matrix to obtain an initial registration result, and adjusting the initial registration result based on the transformation matrix to obtain a target registration result. According to the technical solution of the embodiments of the present invention, a plurality of source concave-convex descriptors characterizing the concave-convex features of the source point cloud data are obtained based on the source point cloud data, a plurality of target concave-convex descriptors characterizing the concave-convex features of the target point cloud data are obtained based on the target point cloud data, a plurality of available matching point pairs whose edit distances satisfy a first preset threshold are determined based on all the source concave-convex descriptors and all the target concave-convex descriptors, the source point cloud data is controlled to perform a pose transformation through the transformation matrix generated based on the target matching point pairs to achieve a large-angle deflection of the source point cloud data, and the registration between the source point cloud data and the target point cloud data is performed through the geometric similarity of the concave-convex features between the source point cloud data and the target point cloud data, ensuring the accuracy of the target registration result, thereby improving the registration accuracy between the target point cloud data and the source point cloud data with a low overlap rate and a large angle deflection.
[0053] The control method according to the embodiments of the present invention will be further described below with reference to the accompanying drawings.
[0054] Refer to Figures 1 to 3 and Figure 5 , Figure 1 is a flowchart of a method for registering rock body point clouds provided by an embodiment of the present invention, Figure 2 is a schematic diagram of unregistered source point cloud data and target point cloud data provided by another embodiment of the present invention, Figure 3 is a schematic diagram of concave-convex feature points provided by another embodiment of the present invention, Figure 5It is a schematic diagram of the target registration result provided by another embodiment of the present invention. The embodiment of the present invention provides a method for registering point clouds of a rock mass, including but not limited to the following steps:
[0055] S10. Obtain source point cloud data and target point cloud data, where the source point cloud data and the target point cloud data each include a plurality of point cloud points;
[0056] S20. Perform a target operation on the source point cloud data to obtain a plurality of source concave-convex descriptors, and perform a target operation on the target point cloud data to obtain a plurality of target concave-convex descriptors. The target operation includes: determining the corresponding geometric center, determining the normal vector based on the KD tree, after unifying the direction of the normal vector, adjusting the orientation of the normal vector based on the geometric center, screening out a plurality of concave-convex feature points from the corresponding point cloud points based on the normal vector, and filtering out the noise points in the concave-convex feature points through clustering;
[0057] S30. Determine multiple pairs of available matching point pairs from the source concave-convex descriptors and the target concave-convex descriptors whose edit distances satisfy a first preset threshold;
[0058] S40. Select three target matching point pairs from all the available matching point pairs that can construct congruent triangles in their respective point clouds, and calculate a transformation matrix based on the target matching point pairs and the singular value decomposition algorithm, where the transformation matrix is used to indicate the mapping from the source point cloud data to the target point cloud data;
[0059] S50. Determine an optimal transformation matrix based on all the transformation matrices, control the source point cloud data to perform a pose transformation based on the optimal transformation matrix to obtain an initial registration result, and adjust the initial registration result based on the transformation matrix to obtain a target registration result.
[0060] It should be noted that the point cloud data is a set used to represent three-dimensional space data, and is composed of a plurality of point cloud points with three-dimensional coordinates and possibly attached attributes such as color and intensity. The point cloud data can be generated by lidar, depth cameras or photogrammetry techniques.
[0061] It should be noted that the KD tree (K-Dimension tree, abbreviated as KD tree) is a data structure used for organizing and searching high-dimensional space data. The KD tree recursively divides the data into hyperplanes, making the query operation more efficient. The query operations include k-nearest neighbor search and range search. Compared with traditional linear search, the KD tree can significantly improve the search speed in low-dimensional cases.
[0062] It should be noted that in this application, a multi-view, multi-batch laser radar scan of a rock mass is performed to obtain 3D point cloud data of multiple rock masses. The source point cloud data and the target point cloud data are the point cloud data to be registered. To achieve point cloud registration between the source point cloud data and the target point cloud data, the input batches of point cloud data are first manually sorted to ensure that there is an overlapping area between the two point cloud data to be registered.
[0063] It should be noted that changes in the point cloud data's pose can affect the determination of its concavity and convexity, leading to a shift in the positions of concave and convex feature points. When the number of matching point pairs is insufficient, the difference between the normal vectors of the source and target point cloud data to be registered causes the concavity and convexity encoding directions in the overlapping areas to be opposite, making it impossible to correctly register the source and target point cloud data. By flipping the source point cloud data, recalculating its concavity and convexity information, and then re-registering the source and target point cloud data, the success rate of registration between the source and target point cloud data can be improved.
[0064] It should be noted that the normal vector of the source point cloud data is determined based on the source point cloud data and the KD tree, including: storing the source point cloud data through the KD tree to obtain a source storage structure, obtaining multiple neighboring points of the geometric center based on the source storage structure, and determining the normal vector of the source point cloud data through a geometric surface generated by the multiple neighboring points, wherein the source storage structure stores all point cloud points of the source point cloud data.
[0065] It should be noted that the normal vector of the target point cloud data is determined based on the target point cloud data and the KD tree, including: storing the target point cloud data through the KD tree to obtain a target storage structure, obtaining multiple neighboring points of the geometric center based on the target storage structure, forming a geometric surface based on the multiple neighboring points, and determining the normal vector of the target point cloud data based on the geometric surface, wherein the target storage structure stores all point cloud points of the target point cloud data.
[0066] It should be noted that based on the source point cloud data or the target point cloud data, multiple concave-convex feature points are screened out from the corresponding point cloud points based on the normal vector, and the noise points in the concave-convex feature points are filtered out by clustering, thereby filtering out areas where the concave-convex features are not obvious or point cloud points located in areas where the concave-convex features are not obvious, extracting point cloud points with more obvious concave-convex features as concave-convex feature points to be registered, and generating concave-convex descriptors based on the local neighborhood of the concave-convex feature points. This application utilizes the geometric similarity characteristics of the concave-convex features of the rock body as the basis for registration to achieve registration between multiple batches of point cloud data obtained based on rock body scanning, thereby improving the registration accuracy and accuracy between point cloud data.
[0067] It should be noted that the edit distance algorithm is an algorithm for measuring the similarity between two strings, representing the minimum number of edit operations required to convert one string into another. Edit operations usually include: insertion, deletion, and replacement. The edit distance algorithm is widely used in fields such as spelling correction, natural language processing, and text similarity calculation. The smaller the edit distance, the higher the similarity between the two strings.
[0068] It should be noted that since the data types of the source concavity-convex descriptor and the target descriptor are not strings, before determining the geometric similarity between the source concavity-convex descriptor and the target descriptor through the edit distance algorithm, the data types of all the source concavity-convex descriptors and all the target descriptors are changed to strings, respectively obtaining the source string and the target string; obtain any source string and any target string, calculate the edit distance between the source string and the target string through the edit distance algorithm, if the edit distance meets the first preset threshold, that is, the geometric similarity between the source concavity-convex feature points corresponding to the source string and the target concavity-convex feature points corresponding to the target string meets the requirements, and the source concavity-convex feature points and the target concavity-convex feature points jointly form a pair of matching point pairs.
[0069] It should be noted that the available matching point pairs include source concavity-convex feature points and target concavity-convex feature points, and the geometric similarity between the local neighborhoods of the source concavity-convex feature points and the local neighborhoods of the target concavity-convex feature points meets the requirements.
[0070] It should be noted that three target matching point pairs are obtained from all the available matching point pairs. The three target matching point pairs include three source concavity-convex feature points and three target concavity-convex feature points. A source triangle is constructed by connecting the three source concavity-convex feature points, and a target triangle is constructed by connecting the three target concavity-convex feature points. The source triangle and the target triangle are congruent triangles.
[0071] It should be noted that a transformation matrix is calculated through the singular value decomposition algorithm based on the obtained congruent triangles. Among them, the singular value decomposition algorithm is a prior art, and this application does not make any form of improvement to the singular value decomposition algorithm, so it will not be elaborated here.
[0072] It should be noted that the transformation matrix is a rigid transformation matrix. How to control the point cloud data for pose transformation through the rigid transformation matrix is a prior art, and this application does not make any form of improvement to the pose transformation of the point cloud data by the rigid transformation matrix, so it will not be elaborated here.
[0073] It should be noted that based on all source concavo-convex descriptors and all target concavo-convex descriptors, multiple pairs of available matching point pairs are determined. Multiple pairs of congruent triangles are generated based on the target matching point pairs in all available matching point pairs. Among them, the target matching point pairs can be reused, that is, the source concavo-convex feature points and target concavo-convex feature points in a pair of target matching point pairs can be the vertices of multiple congruent triangles. A transformation matrix is generated based on a congruent triangle. When the number of overlapping concavo-convex feature points corresponding to the vertices of a congruent triangle is the largest, the transformation matrix of this congruent triangle is the optimal transformation matrix. The optimal transformation matrix is the transformation matrix with the largest number of overlapping concavo-convex feature points, that is, the optimal transformation matrix is the mapping of the region with the highest geometric similarity between the source point cloud data and the target point cloud data. After controlling the source point cloud data to perform pose transformation based on the optimal transformation matrix, the source point cloud data is subjected to pose transformation based on the overlapping situation of the initial registration result to obtain the target registration result.
[0074] It should be noted that to achieve efficient registration, during the process of controlling the source point cloud data to perform pose transformation based on the optimal transformation matrix, the target point cloud data remains stationary. Among them, the pose transformation includes rotation and translation. The region with the highest geometric similarity between the source point cloud data and the target point cloud data is determined based on the concavo-convex features of the source point cloud data and the target point cloud data. The source point cloud data is controlled to perform pose transformation to an intermediate reference position with a lower rotation error based on the optimal transformation matrix to obtain the initial registration result. Then, the source point cloud data is controlled to perform pose transformation based on the remaining transformation matrix, and fine-tuning is performed on the basis of the initial registration result to gradually optimize the positional relationship between the source point cloud data and the target point cloud data.
[0075] It should be noted that the source point cloud data and the target point cloud data are obtained, and the target registration result is output, that is, the source point cloud data and the target point cloud data are completed. Using the target registration result as the new target point cloud data, an unprocessed point cloud data is obtained as the new source point cloud data to achieve point cloud registration between three batches of point cloud data. Among them, there is an overlapping region between the target registration result and the unprocessed point cloud data. And so on, multiple batches of three-dimensional point cloud data of rock masses are obtained in sequence, and the registration between all batches of three-dimensional point cloud data of rock masses is completed through the point cloud registration method of the present application, and the registration between point cloud data with a low overlap rate and a large angular deflection can be improved.
[0076] It should be noted that in the existing point cloud registration technology, it is only applicable to the registration between point cloud data with a high overlap rate, a small angular deflection, and a smooth surface. However, the point cloud data of the present application is obtained by scanning a rock mass. The source point cloud data and the target point cloud data to be registered in the present application have a low overlap rate, a large angular deflection, and a rough surface. If the source point cloud data and the target point cloud data of the present application are registered through the existing point cloud registration technology, the accuracy of the obtained three-dimensional point cloud registration result is low, which is not conducive to generating a three-dimensional model of the rock mass based on the obtained three-dimensional point cloud registration model for analysis.
[0077] It should be noted that in the present application, the source point cloud data and the target point cloud data are based on the concavo-convex features between the source concavo-convex descriptors and the target concavo-convex descriptors as the registration basis. Based on all the source concavo-convex descriptors, all the target concavo-convex descriptors, and the edit distance algorithm, multiple pairs of available matching point pairs are determined. Based on at least three target matching point pairs, congruent triangles are constructed to calculate multiple transformation matrices; based on the transformation matrices, the registration between the source point cloud data and the target point cloud data is completed in two stages; first, based on the optimal transformation matrix in all the transformation matrices, the pose transformation of the large angular deflection of the source point cloud data is realized, and the initial registration between the source point cloud data and the target point cloud data is completed to obtain an initial registration result; based on the remaining transformation matrices, the initial registration result is fine-tuned to obtain a target registration result, that is, the registration between the source point cloud data and the target point cloud data is completed. According to the technical solution of the embodiment of the present invention, the registration between the source point cloud data and the target point cloud data with a low overlap rate is realized through the concavo-convex feature matching between the source point cloud data and the target point cloud data. The transformation matrix generated by the target matching point pairs obtained based on the concavo-convex descriptors controls the pose transformation of the source point cloud data to realize the large angular deflection of the source point cloud data, so as to realize the three-dimensional point cloud registration of the rock mass with a low overlap rate, a large angular deflection, and a rough surface, and can improve the registration accuracy, reliability, and practicability between the source point cloud data and the target point cloud data, which is conducive to generating a three-dimensional model of the rock mass based on the obtained three-dimensional point cloud registration model for analysis, provides accurate and efficient technical support for practical applications such as topographic survey, and at the same time reduces the complexity of subsequent data processing, and has strong engineering application value.
[0078] In addition, referring to Figure 2 and Figure 3 , Figure 2 is a schematic diagram of the unregistered source point cloud data and target point cloud data provided by another embodiment of the present invention. Figure 3 is a schematic diagram of the concavo-convex feature points provided by another embodiment of the present invention. In one embodiment, in S20, based on the normal vector, multiple concavo-convex feature points are screened out from the corresponding point cloud points, and further includes but is not limited to the following steps:
[0079] S21. Obtain the centroid of the point cloud point and the local neighborhood of the point cloud point. Based on the point cloud point and the centroid, determine the first eigenvector, where the local neighborhood includes a plurality of adjacent points of the point cloud point;
[0080] S22. Obtain the normal vector of the point cloud point. The first eigenvector is decomposed along the normal vector into a first vertical component and a first horizontal component;
[0081] S23. Based on any adjacent point, determine a first vector. Decompose the first vector along the vertical direction and the horizontal direction respectively to obtain a second vertical component and a second horizontal component. Add the first vertical component and the second vertical component to obtain a third vertical component, and add the first horizontal component and the second horizontal component to obtain a third horizontal component. Based on the third vertical component and the third horizontal component, obtain the second eigenvector;
[0082] S24. Obtain a plurality of second eigenvectors. Perform dot products of all the second eigenvectors with the normal vector respectively to obtain a plurality of first dot product values. When the absolute value of the first dot product value is greater than a second preset threshold and the length of the second eigenvector is greater than a third preset threshold, the point cloud point corresponding to the first dot product value is a concave-convex feature point.
[0083] It should be noted that to obtain the centroid of the point cloud point and the local neighborhood of the point cloud point, the coordinates of the first eigenvector are obtained through a formula, and the first eigenvector is obtained based on the coordinates of the first eigenvector, where the formula is: , is the centroid coordinate, is the coordinate of the point cloud point, is the coordinate of the first eigenvector, that is, the coordinate of the centroid of the local neighborhood of the point cloud point is equal to the coordinate of the point cloud point plus the coordinate of the first eigenvector.
[0084] It should be noted that for the point cloud points without adjacent points, they are deleted and the specific steps of this embodiment are not executed, so as to reduce the influence of noise.
[0085] It should be noted that by obtaining the second eigenvector and the second dot product value, the relationship between the point cloud point and the normal vectors of the surrounding adjacent points is judged, so as to judge the surface change trend and degree of the local neighborhood of the point cloud point. Based on the judgment result, the point cloud points located in the plane area and the point cloud points whose concave-convex features do not meet the requirements, that is, the concave-convex features are not obvious, are filtered out to obtain the concave-convex feature points.
[0086] It should be noted that the second preset threshold is used to represent the direction of the concave-convex area of the local neighborhood of the point cloud point, that is, to judge whether the geometric surface of the local neighborhood of the point cloud point is a concave surface or a convex surface; if the absolute value of the first dot product value is greater than the second preset threshold, it means that the geometric surface of the local neighborhood of the point cloud point is a concave surface or a convex surface, and the local neighborhood of the point cloud point has concave-convex features.
[0087] It should be noted that the third preset threshold is used to characterize the degree of change in the concave and convex regions of the local neighborhood of the point cloud points, that is, the curvature size of the geometric surface of the local neighborhood of the point cloud points; if the length of the second eigenvector is greater than the third preset threshold, it indicates that the concave and convex characteristics of the geometric surface of the local neighborhood of the point cloud points are obvious. The second preset threshold and the third preset threshold can be set based on actual requirements.
[0088] Through the specific method of this embodiment, all point cloud points are traversed to obtain a plurality of concave and convex feature points. Among them, all point cloud points in the source point cloud data are traversed, and a plurality of source concave and convex feature points are obtained based on the source point cloud data. All point cloud points in the target point cloud data are traversed, and a plurality of target concave and convex feature points are obtained based on the target point cloud data; it can reduce the influence of noise and provide high-quality input data and an implementation basis for extracting concave and convex features based on concave and convex feature points subsequently.
[0089] In addition, in one embodiment, in S23, after determining the first vector based on any adjacent point, the following steps are further included but not limited to:
[0090] S231, respectively dot-multiply all the first vectors with the normal vector to obtain a plurality of second dot product values, and divide all the first vectors into a first vector group and a second vector group based on the positive and negative of all the second dot product values;
[0091] S232, obtain a first ratio and a second ratio, where the first ratio is the ratio of the number of first vectors in the first vector group to the total number of first vectors, and the second ratio is the ratio of the number of first vectors in the second vector group to the total number of first vectors;
[0092] S233, substitute the first ratio and the second ratio into the first formula respectively to obtain a first weight and a second weight respectively, and assign the first weight and the second weight to each first vector in the first vector group and the second vector group respectively, where the first formula is , e is the natural exponent, and β is the noise suppression coefficient.
[0093] It should be noted that before determining the concave and convex feature points based on the point cloud points, the first vector is first denoised, and then the first eigenvector is added to the denoised first vector to obtain the second eigenvector, so as to reduce the influence brought by the noise point cloud points.
[0094] It should be noted that all the first vectors are divided into a first vector group and a second vector group based on the positive and negative of all the second dot products. Among them, the point cloud points corresponding to the first vectors in the first vector group and the point cloud points corresponding to the first vectors in the second vector group are respectively adjacent points on one side of the tangent plane of the point cloud points. If the number of first vectors in the same group is larger, the point cloud points corresponding to the first vectors in this vector group are more likely to be correct point cloud points; if the number of first vectors in the same group is smaller, the point cloud points corresponding to the first vectors in this vector group are more likely to be noise point cloud points, and should be given a lower weight during the calculation of the centroid, so as to reduce the influence caused by the noise point cloud points.
[0095] It should be noted that when the first ratio is equal to the second ratio, the first weight is equal to the second weight; when the first ratio is greater than the second ratio, the first weight is greater than the second weight; when the first ratio is less than the second ratio, the first weight is less than the second weight. The size of the noise suppression coefficient can be adaptively set according to actual needs. β is the noise suppression coefficient, and the noise suppression coefficient can control the sensitivity of the first formula to suppress noise.
[0096] It should be noted that before adding the first eigenvector and the first vector, the first vector is weighted by the first formula to suppress the noise in the first vector, reduce the influence brought by the noise point cloud points, so as to improve the robustness of the second eigenvector, and determine the concave-convex feature points based on the noise-reduced point cloud points.
[0097] In addition, referring to Figure 3 and Figure 4 , Figure 3 is a schematic diagram of the concave-convex feature points provided by another embodiment of the present invention, Figure 4 is a schematic diagram of the clustering result provided by another embodiment of the present invention. In one embodiment, in S20, filtering the noise points in the concave-convex feature points by clustering further includes but is not limited to the following steps:
[0098] S25, obtaining all the concave-convex feature points, and obtaining a point cloud cluster based on all the concave-convex feature points;
[0099] S26, setting the neighborhood radius, minimum sample number, and maximum sample number of the DBSCAN algorithm, and performing point cloud clustering on the point cloud cluster based on the neighborhood radius by the DBSCAN algorithm to obtain a plurality of initial clusters;
[0100] S27, obtaining the number of concave-convex feature points in the initial cluster. When the number of concave-convex feature points in the initial cluster is less than the minimum sample number, deleting the initial cluster, where the concave-convex feature points in the initial cluster are noise points;
[0101] S28, or, when the number of concave-convex feature points in the initial cluster is greater than the minimum sample number and less than the maximum sample number, retaining the initial cluster;
[0102] S29, or, when the number of concave and convex feature points in the initial clustering is greater than the maximum number of sample points, obtain the curvature of the initial clustering based on the KD tree, and delete the initial clustering whose curvature does not meet the first preset condition, where the concave and convex feature points in the initial clustering whose curvature does not meet the first preset condition are noise points.
[0103] It should be noted that the DBSCAN (Density-Based Spatial Clustering of Applications with Noise) algorithm is a density-based clustering algorithm used to discover high-density regions in data and is widely applied in fields such as point cloud processing, anomaly detection, geographic information analysis, and pattern recognition. Different from K-Means, DBSCAN does not require specifying the number of clusters and can effectively handle clusters of arbitrary shapes and noise data. The DBSCAN algorithm defines density through the neighborhood radius ε and the minimum number of points. The DBSCAN algorithm defines three types of points: core points, border points, and noise points. The DBSCAN algorithm starts from core points and expands to the regions where density is reachable to form clusters until all core points are visited.
[0104] It should be noted that by optimizing the concave and convex feature points through the DBSCAN algorithm, the noise data in the concave and convex feature points is further removed, improving the data quality and reliability of the concave and convex descriptors.
[0105] It should be noted that through density-based clustering of the discrete point cloud clusters, the obtained initial clustering reduces the impact of outlier initial clusters on the whole based on the minimum and maximum number of sample points of the DBSCAN algorithm, thereby reducing the impact of outlier concave and convex feature points on the whole, while retaining the regions with obvious concave and convex features of the point cloud data and enriching the concave and convex feature information of the overall point cloud data. Through the DBSCAN algorithm, the main structural features of the point cloud data can be effectively retained, and at the same time, noise interference is eliminated, providing a quality guarantee for subsequent data analysis and processing.
[0106] In addition, in an embodiment, in S20, after filtering out the noise points in the concave and convex feature points through clustering, the following steps are included but not limited to:
[0107] S201, obtain k neighboring points of the concave and convex feature points through the KD tree, obtain the concavity and convexity of the concave and convex feature points, and represent the concavity and convexity of the concave and convex feature points through the first concave and convex coding;
[0108] S202. Calculate the Euclidean distance between each neighboring point and the concave-convex feature point respectively. Based on all the concave-convex feature points and the corresponding Euclidean distances, obtain multiple second concave-convex encodings respectively. Among them, when the concave-convex feature point is a concave feature point, the second concave-convex encoding is equal to the opposite number of the numerical form of the Euclidean distance between the neighboring point and the concave-convex feature point. When the concave-convex feature point is a convex feature point, the second concave-convex encoding is equal to the numerical form of the Euclidean distance between the neighboring point and the concave-convex feature point.
[0109] S203. Obtain the concave-convex descriptor based on the first concave-convex encoding and k second concave-convex encodings. The expression of the concave-convex descriptor is: , is the concave-convex descriptor of the i-th concave-convex feature point, is the first concave-convex encoding corresponding to the concave-convex feature point, is the second concave-convex encoding corresponding to the first neighboring point of the i-th concave-convex feature point, is the second concave-convex encoding corresponding to the second neighboring point of the i-th concave-convex feature point, is the second concave-convex encoding corresponding to the k-th neighboring point of the i-th concave-convex feature point. i is a positive integer, and k is a positive integer.
[0110] It should be noted that the concavity and convexity of the concave-convex feature point are characterized by the first concave-convex encoding. When the concave-convex feature point is a concave feature point, the first concave-convex encoding is equal to 0. Or when the concave-convex feature point is a convex feature point, the first concave-convex encoding is equal to 1.
[0111] It should be noted that the Euclidean distance is a common method to measure the straight-line distance between two points and is calculated based on the Pythagorean theorem. For points in two-dimensional or three-dimensional space, it calculates the square sum of the coordinate differences in each dimension and then takes the square root to obtain the shortest distance between the two points. In higher-dimensional spaces, the Euclidean distance can be extended to any dimension through a similar formula. This distance metric is widely used in clustering analysis, pattern recognition, machine learning and other fields to measure the similarity or difference between samples.
[0112] It should be noted that the concave-convex descriptor can characterize the concave-convex features of the local neighborhood of the concave-convex feature point. The first concave-convex encoding and the second concave-convex encoding are obtained through feature encoding based on the Euclidean distance between multiple neighboring points and the concave-convex feature point and the concavity and convexity of the concave-convex feature point. The concave-convex descriptor generated based on the first concave-convex encoding and the second concave-convex encoding can effectively reflect the local geometric structure of the concave-convex feature points in the point cloud data, ensure the scientificity of subsequent registration through concave-convex features, and provide a clearer and more effective data structure for subsequent processing.
[0113] It should be noted that the second concave-convex encoding characterizes the Euclidean distance between the neighboring point and the concave-convex feature point through its absolute value, and characterizes the concavity and convexity of the concave-convex feature point through its positive and negative.
[0114] In addition, in one embodiment, S30 also includes but is not limited to the following steps:
[0115] S31, changing the data types of the source concave-convex descriptor and the target concave-convex descriptor to strings, respectively obtaining a source string and a target string, wherein the expression of the source string is: , is the source string, is the character form of the first bump code of the source bump descriptor, The character form of the first and second bump codes of the source bump descriptor. The character form of the second bump code of the source bump descriptor. is the character form of the kth second bump code of the source bump descriptor. The expression of the target string is: , is the target string, The character form of the first bump code of the target bump descriptor, The character form of the first and second bump code of the target bump descriptor, The character form of the second bump code of the target bump descriptor, is the character form of the kth second concave-convex code of the target concave-convex descriptor, the second concave-convex code of the source character string is determined based on the source concave-convex feature point and the source neighboring points, the source concave-convex feature point is the concave-convex feature point obtained by performing the target operation based on the source point cloud data, and the source neighboring points are the neighboring points of the source concave-convex feature point; the second concave-convex code of the target character string is determined based on the target concave-convex feature point and the target neighboring points, the target concave-convex feature point is the concave-convex feature point obtained by performing the target operation based on the target point cloud data, and the target neighboring points are the neighboring points of the target concave-convex feature point;
[0116] S32, when The second preset condition is met, and the corresponding source adjacent points and target adjacent points are corresponding points. If the second preset condition is not met, the corresponding source adjacent point and target adjacent point are invalid points, wherein the second preset condition is when and , is a fourth preset threshold;
[0117] S33. When the edit distance meets the first preset threshold, based on the edit distance algorithm, adjust the source string and the target string respectively based on the corresponding points or invalid points, and obtain the adjacent point sets of the source concave-convex feature points and the adjacent point sets of the target concave-convex feature points based on the adjusted source string and the adjusted target string. Among them, the adjacent point sets of the source concave-convex feature points and the adjacent point sets of the target concave-convex feature points together form a set of matching point pairs, and the set of matching point pairs includes multiple pairs of available matching point pairs.
[0118] It should be noted that since the edit distance algorithm is applied to the similarity judgment of strings, the data types of the source concave-convex descriptor and the target concave-convex descriptor are changed to strings to obtain the source string and the target string respectively, and the similarity of the source string and the target string is judged through the edit distance algorithm, so as to transform the similarity judgment of the source concave-convex descriptor and the target concave-convex descriptor into the similarity judgment of the source string and the target string.
[0119] It should be noted that the edit distance calculation uses the dynamic programming method to judge the similarity of the minimum number of edit operations required to convert the source string into the target string; among them, the smaller the edit distance, the higher the similarity of the two strings.
[0120] It should be noted that through the edit distance algorithm, calculate the edit distance between the source string and the target string. If the edit distance meets the first preset threshold, that is, the edit distance is less than the first preset threshold, then adjust the source concave-convex descriptor corresponding to the source string and the target concave-convex descriptor corresponding to the target string according to the edit steps to obtain the adjacent point sets of the source concave-convex feature points and the adjacent point sets of the target concave-convex feature points. Among them, the edit steps include insertion, deletion, replacement, and matching.
[0121] It should be noted that after obtaining the adjacent point sets of the source concave-convex feature points and the adjacent point sets of the target concave-convex feature points, calculate the transformation matrices between the adjacent point sets of the source concave-convex feature points and the adjacent point sets of the target concave-convex feature points respectively to obtain the source transformation matrix and the target transformation matrix. If the source transformation matrix can be obtained after transformation to get the target transformation matrix, then the source transformation matrix and the target transformation matrix are correctly corresponding, the adjacent point sets of the source concave-convex feature points and the adjacent point sets of the target concave-convex feature points are correctly corresponding, and the source concave-convex feature points and the target concave-convex feature points are correctly corresponding.
[0122] It should be noted that traverse all the obtained source concave-convex descriptors and all the target concave-convex descriptors to obtain multiple pairs of available matching point pairs.
[0123] It should be noted that by using the edit distance algorithm to judge the similarity between the source concavity-convexity descriptor and the target concavity-convexity descriptor based on the source string and the target string, the tightness and rationality of the corresponding relationship between the source point cloud data and the target point cloud data can be effectively evaluated, the geometric similarity difference of the corresponding regions between the source point cloud data and the target point cloud data can be effectively quantitatively analyzed to ensure the scientificity and reliability of the registration result, and the influence of incorrect corresponding relationships on the registration result can be reduced.
[0124] It should be noted that the set of matching point pairs includes the neighboring point sets of the source concavity-convexity feature points and the neighboring point sets of the target concavity-convexity feature points. The set of matching point pairs includes multiple pairs of matching point pairs, and a matching point pair includes a source neighboring point and a target neighboring point.
[0125] In addition, in one embodiment, in S40, among all available matching point pairs, three target matching point pairs that can construct congruent triangles in their respective point clouds are selected, and the transformation matrix is calculated based on the target matching point pairs and the singular value decomposition algorithm. The following steps are also included but not limited to:
[0126] S41, randomly obtain two available matching point pairs in the set of matching point pairs. If the two available matching point pairs meet the third preset condition, the available matching point pairs are target matching point pairs, and a candidate line segment pair is constructed based on the two target matching point pairs. Among them, the third preset condition is , is the r-th source concavity-convexity feature point, is the s-th source concavity-convexity feature point, is the r-th target concavity-convexity feature point, is the s-th target concavity-convexity feature point, r is a positive integer, and s is a positive integer;
[0127] S42, randomly obtain an available matching point pair in the set of matching point pairs. If the available matching point pair and the two target matching point pairs meet the fourth preset condition, the available matching point pair is a target matching point pair, and a congruent triangle is constructed based on the available matching point pair and the candidate line segment pair. Among them, the fourth preset condition is , is the t-th source concavity-convexity feature point, is the t-th target concavity-convexity feature point, and t is a positive integer;
[0128] S43, obtain all congruent triangles, and generate multiple transformation matrices based on all congruent triangles through the singular value decomposition algorithm.
[0129] It should be noted that in this application, three available matching point pairs are obtained in the set of matching point pairs. By proving that the side lengths of the two triangles constructed by the three available matching point pairs are equal, the three available matching point pairs are determined to be target matching point pairs, and congruent triangles are obtained.
[0130] It should be noted that by gradually constructing congruent triangles, the pose transformation between the source point cloud data and the target point cloud data is solved, significantly improving the data quality and reliability. By gradually going from points to lines to planes between available matching point pairs, and then solving for the transformation matrix through the singular value decomposition algorithm, an effective pose transformation between the source point cloud data and the target point cloud data can be obtained, the data obtained through the aforementioned method can be effectively utilized, and at the same time, the steps for solving the transformation matrix are optimized, reducing the error for registering the source point cloud data and the target point cloud data.
[0131] In addition, to better illustrate the technical solution of this embodiment, refer to Figures 1 to 5 , Figure 1 which is a flowchart of a rock body point cloud registration method provided by an embodiment of the present invention, Figure 2 which is a schematic diagram of unregistered source point cloud data and target point cloud data provided by another embodiment of the present invention, Figure 3 which is a schematic diagram of concave and convex feature points provided by another embodiment of the present invention, Figure 4 which is a schematic diagram of a clustering result provided by another embodiment of the present invention, Figure 5 which is a schematic diagram of a target registration result provided by another embodiment of the present invention, and the following specific examples are provided:
[0132] S501, Obtain the source point cloud data and the target point cloud data. The source point cloud data includes a plurality of source point cloud points, and the target point cloud data includes a plurality of target point cloud points;
[0133] S502, Determine the source geometric center based on the source point cloud data, and determine the target geometric center based on the target point cloud data, where the source geometric center is the geometric center of the source point cloud data, and the target geometric center is the geometric center of the target point cloud data;
[0134] S503, Store the source point cloud data through a KD tree to obtain a source storage structure, and obtain the source normal vector based on the source storage structure, where the source normal vector is the normal vector of the source point cloud data; store the target point cloud data through a KD tree to obtain a target storage structure, and obtain the target normal vector based on the target storage structure, where the target normal vector is the normal vector of the target point cloud data;
[0135] S504, Make the directions of the source normal vector and the target normal vector consistent, and adjust the orientation of the source normal vector based on the source geometric center, and adjust the orientation of the target normal vector based on the target geometric center;
[0136] S505. Obtain any source point cloud point. Based on the source point cloud point and the centroid of the local neighborhood of the source point cloud point, determine the first source feature vector. Based on the source point cloud point, determine the first source vector. Perform noise reduction processing on the first source vector through the first formula to obtain the second source vector. Based on the second source vector and the first source feature vector, determine the source concave-convex feature points for the source point cloud points that satisfy the second preset threshold and the third preset threshold.
[0137] S506. Obtain any target point cloud point. Based on the target point cloud point and the centroid of the local neighborhood of the target point cloud point, determine the first target feature vector. Based on the target point cloud point, determine the first target vector. Perform noise reduction processing on the first target vector through the first formula to obtain the second target vector. Based on the second target vector and the first target feature vector, determine the target concave-convex feature points for the target point cloud points that satisfy the second preset threshold and the third preset threshold.
[0138] S507. Traverse all source point cloud points and all target point cloud points to obtain multiple source concave-convex feature points and multiple target concave-convex feature points. Filter out the noise points of all source concave-convex feature points and all target concave-convex feature points through the DBSCAN algorithm.
[0139] S508. Traverse the source concave-convex feature points to obtain multiple source concave-convex descriptors. Traverse the target concave-convex feature points to obtain multiple target concave-convex descriptors.
[0140] S509. Obtain any source concave-convex descriptor and any target concave-convex descriptor. Convert the data types of the source concave-convex descriptor and the target concave-convex descriptor into strings to obtain the source string and the target string respectively. When the edit distance between the source string and the target string satisfies the first preset threshold, adjust the source string and the target string through the edit distance algorithm. Based on the adjusted source string and target string, obtain the neighboring point sets of the corresponding source concave-convex feature points and the neighboring point sets of the target concave-convex feature points. The neighboring point sets of the source concave-convex feature points and the neighboring point sets of the target concave-convex feature points jointly form a matching point pair set, and the matching point pair set includes multiple available matching point pairs.
[0141] S510. Select three target matching point pairs from the multiple available matching point pairs in the matching point pair set that can construct congruent triangles in their respective point clouds. Calculate the transformation matrix based on the target matching point pairs and the singular value decomposition algorithm.
[0142] S511. Determine the optimal transformation matrix based on all the transformation matrices. Control the source point cloud data to perform pose transformation based on the optimal transformation matrix to obtain the initial registration result. Adjust the initial registration result based on the transformation matrix to obtain the target registration result.
[0143] According to the technical solution of the embodiment of the present invention, the registration between the source point cloud data and the target point cloud data with a low overlap rate is realized through the concavo-convex feature matching between the source point cloud data and the target point cloud data. The transformation matrix generated based on the target matching point pairs obtained from the concavo-convex descriptors controls the pose transformation of the source point cloud data to achieve a large-angle deflection of the source point cloud data, thereby improving the three-dimensional point cloud registration accuracy of rock masses with a low overlap rate, a large-angle deflection, and a rough surface.
[0144] As Figure 6 shown, Figure 6 FIG. is a structural diagram of a rock mass point cloud registration device provided by an embodiment of the present invention. The present invention also provides a rock mass point cloud registration device, including:
[0145] A processor 601, which can be implemented by using a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present application;
[0146] A memory 602, which can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM), etc. The memory 602 can store an operating system and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 602 and are called by the processor 601 to execute the rock mass point cloud registration method of the embodiments of the present application;
[0147] An input / output interface 603, which is used to implement information input and output;
[0148] A communication interface 604, which is used to implement the communication interaction between this device and other devices, and can implement communication through a wired method (such as USB, network cable, etc.) or through a wireless method (such as mobile network, WIFI, Bluetooth, etc.);
[0149] A bus 605, which transmits information between the various components of the device (such as the processor 601, the memory 602, the input / output interface 603, and the communication interface 604);
[0150] Among them, the processor 601, the memory 602, the input / output interface 603, and the communication interface 604 are communicatively connected to each other inside the device through the bus 605.
[0151] An embodiment of the present application also provides an electronic device, including the rock body point cloud registration device as described above.
[0152] An embodiment of the present application also provides a storage medium, which is a computer-readable storage medium. The storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned rock body point cloud registration method is implemented.
[0153] As a non-transitory computer-readable storage medium, the memory can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor through a network. Examples of the above network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and may be located in one place, or may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0154] Those of ordinary skill in the art can understand that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or can be implemented as hardware, or can be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes but is not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, as is well known to those of ordinary skill in the art, a communication medium generally includes computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium.
[0155] The above is a specific description of the preferred embodiment of the present invention. However, the present invention is not limited to the above-mentioned embodiments. Those skilled in the art can also make various equivalent deformations or substitutions without departing from the spirit of the present invention. These equivalent deformations or substitutions are all included within the scope defined by the claims of the present invention.
Claims
1. A point cloud registration method for rock masses, characterized in that, Including: Obtain source point cloud data and target point cloud data, where the source point cloud data and the target point cloud data each include a plurality of point cloud points; Perform a target operation on the source point cloud data to obtain a plurality of source concavity-convexity descriptors, and perform the target operation on the target point cloud data to obtain a plurality of target concavity-convexity descriptors, where the target operation includes: determining a corresponding geometric center, determining a normal vector based on a KD tree, after unifying the direction of the normal vector, adjusting the orientation of the normal vector based on the geometric center, screening out a plurality of concavity-convexity feature points from the corresponding point cloud points based on the normal vector, and filtering out noise points among the concavity-convexity feature points through clustering; Determine multiple pairs of available matching point pairs with an edit distance satisfying a first preset threshold from the source concavity-convexity descriptors and the target concavity-convexity descriptors; Select three target matching point pairs that can construct congruent triangles in their respective point clouds from all the available matching point pairs, and calculate a transformation matrix based on the target matching point pairs and the singular value decomposition algorithm, where the transformation matrix is used to indicate the mapping from the source point cloud data to the target point cloud data; Determine an optimal transformation matrix based on all the transformation matrices, control the source point cloud data to perform a pose transformation based on the optimal transformation matrix to obtain an initial registration result, and adjust the initial registration result based on the transformation matrix to obtain a target registration result; Wherein, after filtering out noise points among the concavity-convexity feature points through clustering, it further includes: Obtain k neighboring points of the concavity-convexity feature points through a KD tree, obtain the concavity-convexity of the concavity-convexity feature points, and represent the concavity-convexity of the concavity-convexity feature points through a first concavity-convexity encoding; Calculate the Euclidean distance between each of the neighboring points and the concavity-convexity feature points respectively, and obtain a plurality of second concavity-convexity encodings respectively based on all the concavity-convexity feature points and the corresponding Euclidean distances. Wherein, when the concavity-convexity feature point is a concave feature point, the second concavity-convexity encoding is equal to the opposite number of the numerical form of the Euclidean distance between the neighboring point and the concavity-convexity feature point, and when the concavity-convexity feature point is a convex feature point, the second concavity-convexity encoding is equal to the numerical form of the Euclidean distance between the neighboring point and the concavity-convexity feature point; An uneven descriptor is obtained based on the first uneven code and the k second uneven codes, where the expression of the uneven descriptor is: , is the uneven descriptor of the i-th uneven feature point, is the first uneven code corresponding to the uneven feature point, is the second uneven code corresponding to the first neighboring point of the i-th uneven feature point, is the second uneven code corresponding to the second neighboring point of the i-th uneven feature point, is the second uneven code corresponding to the k-th neighboring point of the i-th uneven feature point, i is a positive integer, and k is a positive integer.
2. The method for registering point clouds of a rock mass according to claim 1, wherein, Screening out a plurality of concavity-convexity feature points from the corresponding point cloud points based on the normal vector includes: Obtain the centroid of the point cloud point and the local neighborhood of the point cloud point, and determine a first eigenvector based on the point cloud point and the centroid, where the local neighborhood includes a plurality of neighboring points of the point cloud point; Obtain the normal vector of the point cloud point, and decompose the first eigenvector along the normal vector into a first vertical component and a first horizontal component; Based on any one of the neighboring points, determine a first vector, decompose the first vector along the vertical direction and the horizontal direction respectively to obtain a second vertical component and a second horizontal component, add the first vertical component and the second vertical component to obtain a third vertical component, add the first horizontal component and the second horizontal component to obtain a third horizontal component, and obtain a second eigenvector based on the third vertical component and the third horizontal component; Obtain multiple of the second feature vectors, perform dot products of all the second feature vectors with the normal vector respectively to obtain multiple first dot product values. When the absolute value of the first dot product value is greater than a second preset threshold and the length of the second feature vector is greater than a third preset threshold, the point cloud point corresponding to the first dot product value is the concave-convex feature point.
3. The method for registering point clouds of a rock mass according to claim 2, characterized in that, Before decomposing the first vector along the vertical direction and the horizontal direction respectively, it further includes: Perform dot products of all the first vectors with the normal vector to obtain multiple second dot product values, and divide all the first vectors into a first vector group and a second vector group based on the positive and negative of all the second dot product values; Obtain a first ratio and a second ratio, where the first ratio is the ratio of the number of the first vectors in the first vector group to the total number of the first vectors, and the second ratio is the ratio of the number of the first vectors in the second vector group to the total number of the first vectors; Substitute the first proportion and the second proportion into the first formula respectively to obtain the first weight and the second weight respectively, and assign the first weight and the second weight to each of the first vectors in the first vector group and the second vector group, where the first formula is , e is the natural exponent, and β is the noise suppression coefficient.
4. The method for registering point clouds of a rock mass according to claim 1, characterized in that Filter out the noise points in the concave-convex feature points through clustering, including: Obtain all the concave-convex feature points and obtain a point cloud cluster based on all the concave-convex feature points; Set the neighborhood radius, minimum sample number, and maximum sample number of the DBSCAN algorithm, and perform point cloud clustering on the point cloud cluster based on the neighborhood radius through the DBSCAN algorithm to obtain multiple initial clusters; Obtain the number of the concave-convex feature points in the initial cluster. When the number of the concave-convex feature points in the initial cluster is less than the minimum sample number, delete the initial cluster, where the concave-convex feature points in the initial cluster are the noise points; Or, when the number of the concave-convex feature points in the initial cluster is greater than the minimum sample number and less than the maximum sample number, retain the initial cluster; Or, when the number of the concave-convex feature points in the initial cluster is greater than the maximum sample number, obtain the curvature of the initial cluster based on the KD tree, and delete the initial cluster whose curvature does not meet the first preset condition, where the concave-convex feature points in the initial cluster whose curvature does not meet the first preset condition are the noise points.
5. The method for registering point clouds of a rock mass according to claim 1, characterized in that, Determine multiple pairs of available matching point pairs with the edit distance meeting the first preset threshold from the source concave-convex descriptor and the target concave-convex descriptor, including: Change the data types of the source concavity descriptor and the target concavity descriptor to strings, respectively obtaining a source string and a target string. The expression of the source string is: , is the source string, is the character form of the first concavity code of the source concavity descriptor, is the character form of the 1st second concavity code of the source concavity descriptor, is the character form of the 2nd second concavity code of the source concavity descriptor, is the character form of the kth second concavity code of the source concavity descriptor. The expression of the target string is: , is the target string, is the character form of the first concavity code of the target concavity descriptor, is the character form of the 1st second concavity code of the target concavity descriptor, is the character form of the 2nd second concavity code of the target concavity descriptor, is the character form of the kth second concavity code of the target concavity descriptor. The second concavity code of the source string is determined based on source concavity feature points and source neighboring points. The source concavity feature points are the concavity feature points obtained by performing the target operation on the source point cloud data, and the source neighboring points are the neighboring points of the source concavity feature points. The second concavity code of the target string is determined based on target concavity feature points and target neighboring points. The target concavity feature points are the concavity feature points obtained by performing the target operation on the target point cloud data, and the target neighboring points are the neighboring points of the target concavity feature points; When meets the second preset condition, the corresponding source adjacent point and the target adjacent point are corresponding points. When does not meet the second preset condition, the corresponding source adjacent point and the target adjacent point are invalid points, where the second preset condition is when and , is the fourth preset threshold value; When the edit distance meets the first preset threshold, adjust the source string and the target string respectively based on the corresponding point or the invalid point through the edit distance algorithm, and obtain the neighboring point set of the corresponding source concave-convex feature points and the neighboring point set of the target concave-convex feature points based on the adjusted source string and the adjusted target string. The neighboring point set of the source concave-convex feature points and the neighboring point set of the target concave-convex feature points together form a matching point pair set, and the matching point pair set includes multiple pairs of the available matching point pairs.
6. The method for registering point clouds of a rock mass according to claim 5, characterized in that Select three target matching point pairs that can construct congruent triangles in their respective point clouds from all the available matching point pairs, and calculate the transformation matrix based on the target matching point pairs and the singular value decomposition algorithm, including: Arbitrarily obtain two of the available matching point pairs from the set of matching point pairs. If the two available matching point pairs meet the third preset condition, the available matching point pair is the target matching point pair, and a candidate line segment pair is constructed based on the two target matching point pairs, where the third preset condition is , is the r-th source concave-convex feature point, is the s-th source concave-convex feature point, is the r-th target concave-convex feature point, is the s-th target concave-convex feature point, r is a positive integer, and s is a positive integer; Arbitrarily obtain one of the available matching point pairs from the set of matching point pairs. If the available matching point pair and two of the target matching point pairs satisfy the fourth preset condition, the available matching point pair is the target matching point pair, and a congruent triangle is constructed based on the available matching point pair and the candidate line segment pair, where the fourth preset condition is , is the t-th source concave-convex feature point, is the t-th target concave-convex feature point, and t is a positive integer; Obtain all the congruent triangles, and generate multiple transformation matrices respectively based on all the congruent triangles through the singular value decomposition algorithm.
7. A point cloud registration device for a rock mass, characterized in that, It includes at least one control processor and a memory for communicatively connecting with the at least one control processor; the memory stores instructions executable by the at least one control processor, and the instructions are executed by the at least one control processor to enable the at least one control processor to execute the rock body point cloud registration method according to any one of claims 1 to 6.
8. An electronic device, characterized in that, It includes the rock body point cloud registration device according to claim 7.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to cause a computer to execute the rock body point cloud registration method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Point cloud coarse registration method based on fast triangular feature histogram
CN116309759A
Three-dimensional point cloud registration method based on rotation invariant feature
CN117710426A