3D point cloud data splicing method, system and device and storage medium

By combining scanner and binocular optical tracker, the transformation matrix and feature point cloud processing technology are used to realize automatic splicing of three-dimensional point cloud data of the workpiece, solving the splicing error and instability problems caused by manual intervention in the existing technology, and improving splicing accuracy and stability.

CN119809928AActive Publication Date: 2025-04-11SHANDONG MINGJIA TECH

Patent Information

Application Number
CN202510299887.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-14
Publication Date
2025-04-11
Estimated Expiration
2045-03-14

AI Technical Summary

Technical Problem

The prior art relies on manual feature point selection and parameter adjustment in the process of splicing of three-dimensional point cloud data of multiple workpieces, resulting in increased workload, error introduction, stability and accuracy reduction.

Method used

Through the combination of scanner and binocular optical tracker, the spatial transformation equation is constructed using the labeled model body and feature point cloud, the transformation matrix is ​​obtained, and the point cloud data of the object to be measured is unified into the coordinate system of the binocular optical tracker, and the automatic splicing of point cloud data is realized through denoising, filtering, coarse registration and precise registration processing.

Benefits of technology

It improves the accuracy and stability of point cloud splicing, reduces manual intervention, and enhances the reflection of the real shape of the object to be measured after splicing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure QLYQS_1
    Figure QLYQS_1
Patent Text Reader

Abstract

The invention relates to the technical field of depth data splicing in image analysis, in particular to a 3D point cloud data splicing method, system and device and a storage medium, and aims to solve the technical problems of low stability and precision of point cloud splicing in the prior art. The point cloud data of the object to be measured in the coordinate system of the scanner are converted to the coordinate system of the binocular optical tracker, a plurality of groups of point cloud data to be spliced are obtained, and a uniform reference is provided for subsequent point cloud splicing; then, after a plurality of groups of to-be-spliced point cloud data are respectively subjected to denoising, filtering and normalization processing, coarse registration is firstly carried out, the point cloud data are quickly aligned at an approximate position, fine registration is finally carried out, and the residual registration error is finely adjusted, so that the precision and the stability of point cloud splicing are greatly improved; and the spliced point cloud can reflect the real shape of the to-be-measured object more accurately.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of deep data splicing in image analysis, and specifically to a 3D point cloud data splicing method, system, device and storage medium. Background Art

[0002] Three-dimensional measurement has always been a hot topic in computer vision and the research foundation of stereo vision. Compared with other three-dimensional measurement technologies, optical laser scanners are widely used in the field of three-dimensional data reconstruction because of their advantages of flexible and simple operation and strong anti-interference ability.

[0003] However, when optical laser scanners scan large-scale workpieces, due to the size, material and surface complexity of the workpiece, multiple scans at different angles are usually required to obtain complete three-dimensional point cloud data of the workpiece, and then these three-dimensional point cloud data of the workpiece are stitched into a whole. However, at present, in the process of stitching three-dimensional point cloud data of multiple workpieces, manual intervention operations such as feature point selection and parameter adjustment are often relied on, which not only increases the workload, but also may introduce errors due to the subjectivity of manual judgment, reducing the stability and accuracy of point cloud stitching. Summary of the invention

[0004] The purpose of the present invention is to provide a 3D point cloud data splicing method, system, device and storage medium.

[0005] The technical solution of the present invention is as follows: A 3D point cloud data splicing method includes the following operations: S1. The scanner scans the marked model body to obtain the point cloud data of the marked model body in the scanner coordinate system, and obtains the point cloud data of the marked model body; based on several first feature point clouds in the point cloud data of the marked model body, several space transformation equations are constructed to form a transformation linear equation group; based on the transformation linear equation group, a transformation matrix from the scanner to the marked model body is obtained; the binocular optical tracker takes images of the marked model body in different postures to obtain several model body images; the coordinates of the second feature points in each model body image are obtained to obtain the coordinate data of several second feature points in the binocular optical tracker coordinate system; based on the coordinate data of several second feature points in the binocular optical tracker coordinate system and the coordinate data of several second feature points in the marked model body coordinate system, a transformation matrix from the marked model body to the binocular optical tracker is obtained; based on the transformation matrix from the scanner to the marked model body and the transformation matrix from the marked model body to the binocular optical tracker, a transformation matrix from the scanner to the binocular optical tracker is obtained; S2, the scanner scans the object to be measured multiple times by moving the position, obtains the point cloud data of the object to be measured in the scanner coordinate system, and obtains several groups of point cloud data of the object to be measured; based on the conversion matrix from the scanner to the binocular optical tracker, the several groups of point cloud data of the object to be measured are unified into the binocular optical tracker coordinate system to obtain several groups of point cloud data to be spliced; S3. Several groups of point cloud data to be spliced ​​are subjected to denoising, filtering and normalization processing respectively to obtain several groups of optimized point cloud data; after several groups of optimized point cloud data are subjected to coarse alignment and fine alignment, the point clouds in the overlapping areas are fused, and the point clouds in the non-overlapping areas are merged to obtain a three-dimensional point cloud model of the object to be measured.

[0006] The method for obtaining the first feature point cloud in S1 is specifically as follows: the marked model body point cloud data is subjected to Gaussian filtering and normalization processing to obtain optimized marked model body point cloud data; the curvature of each point cloud in the optimized marked model body point cloud data is obtained; the point cloud with a curvature greater than a curvature threshold is used as a candidate point cloud; and the point cloud with the largest curvature among two adjacent point clouds with a distance less than a distance threshold is retained to obtain a feature point cloud.

[0007] In S1, based on several first feature point clouds, several spatial transformation equations are constructed to form a transformation linear equation group. The specific operations are as follows: from several first feature point clouds, multiple feature point clouds with geometric relationships are selected to form a benchmark feature point cloud group; feature point clouds that match the benchmark feature point cloud group are obtained from several first feature point clouds as the matching benchmark feature point cloud group; based on each corresponding pair of feature point clouds in the benchmark feature point cloud group and the matching benchmark feature point cloud group, several spatial transformation equations are constructed to form a transformation linear equation group.

[0008] The specific operation of coarse registration in S3 is: Step 1: randomly selecting a plurality of point cloud data from the first set of optimized point cloud data as first point cloud data to obtain a first point cloud data set; acquiring point cloud data that are duplicate points of the first point cloud data set from the second set of optimized point cloud data to form a second point cloud data set; the positions of the first set of optimized point cloud data and the second set of optimized point cloud data are adjacent; Step 2: Based on the first point cloud data set and the second point cloud data set, a rotation matrix and a translation matrix are obtained; based on the rotation matrix and the translation matrix, a second set of optimized point cloud data is spatially transformed to obtain a second set of spatially transformed point cloud data; Step 3, obtaining the corresponding point cloud distances of the second set of spatial transformation point cloud data that are duplicate points with the first set of optimized point cloud data, counting the number of point clouds whose point cloud distances are less than the point cloud distance threshold, and obtaining the number of evaluation points; if the number of evaluation points is less than the evaluation point number threshold, recording the rotation matrix and the translation matrix; Repeat steps 1 to 3 several times to obtain several rotation matrices and translation matrices; use the rotation matrix and translation matrix corresponding to the minimum number of evaluation points as the optimal rotation matrix and the optimal translation matrix; based on the optimal rotation matrix and the optimal translation matrix, perform spatial transformation on the second set of optimized point cloud data to obtain the second set of coarse registration point cloud data; By analogy, the remaining adjacent groups of optimized point cloud data perform operations to obtain the optimal rotation matrix and the optimal translation matrix to obtain several remaining groups of roughly aligned point cloud data; the first group of optimized point cloud data and the remaining groups of roughly aligned point cloud data form several groups of roughly aligned point cloud data.

[0009] The specific operation of fine registration in S3 is as follows: taking the point clouds in the first group of coarse registration point cloud data whose normal vectors are greater than the normal vector threshold as geometric feature point clouds, and obtaining a number of first geometric feature point clouds; based on the KD tree structure search method, obtaining a number of corresponding points of the first geometric feature point clouds from the second coarse registration point cloud data, and obtaining a number of second geometric feature point clouds; constructing point cloud change error terms based on the first geometric feature point clouds and the second geometric feature point clouds; minimizing the point cloud change error terms to obtain a rigid body transformation matrix; based on the rigid body transformation matrix, performing spatial transformation on the second group of coarse registration point cloud data to obtain a second group of fine registration point cloud data; and so on, the remaining adjacent groups of coarse registration point cloud data perform the operation of obtaining the rigid body transformation matrix to obtain a number of remaining groups of fine registration point cloud data; the first group of coarse registration point cloud data and the remaining groups of fine registration point cloud data form a number of groups of fine registration point cloud data.

[0010] The point cloud change error term is obtained by the following formula: , is the variation error term, , , They are Euclidean distance weight, plane distance weight, and normal vector consistency weight. n is the total number of the first geometric feature point cloud, For the i The first geometric feature point cloud, For the i The second geometric feature point cloud, is the rigid body transformation matrix, , , , Based on the rigid body transformation matrix Will The horizontal coordinate coefficient, vertical coordinate coefficient, vertical coordinate coefficient and constant term of the spatial plane equation after spatial transformation. , , They are The horizontal, vertical and vertical coordinate components of for The normal vector of Based on the rigid body transformation matrix Will The normal vector after the space transformation.

[0011] Point cloud fusion in S3 is achieved through weighted averaging method.

[0012] A 3D point cloud data stitching system, used to implement the above-mentioned 3D point cloud data stitching method, comprising: The conversion matrix generation module from scanner to binocular optical tracker is used for the scanner to scan the marked model body, obtain the point cloud data of the marked model body in the scanner coordinate system, and obtain the marked model body point cloud data; based on several first feature point clouds in the marked model body point cloud data, construct several space transformation equations to form a transformation linear equation group; based on the transformation linear equation group, obtain the conversion matrix from scanner to marked model body; the binocular optical tracker takes images of the marked model body in different postures to obtain several model body images; obtain the coordinates of the second feature point in each model body image to obtain the coordinate data of several second feature points in the binocular optical tracker coordinate system; based on the coordinate data of several second feature points in the binocular optical tracker coordinate system and the coordinate data of several second feature points in the marked model body coordinate system, obtain the conversion matrix from the marked model body to the binocular optical tracker; based on the conversion matrix from scanner to marked model body and the conversion matrix from marked model body to binocular optical tracker, obtain the conversion matrix from scanner to binocular optical tracker; The module for generating point cloud data to be spliced ​​is used for the scanner to scan the object to be measured multiple times by moving the position, obtain the point cloud data of the object to be measured in the scanner coordinate system, and obtain several groups of point cloud data of the object to be measured; based on the conversion matrix from the scanner to the binocular optical tracker, unify the several groups of point cloud data of the object to be measured into the binocular optical tracker coordinate system, and obtain several groups of point cloud data to be spliced; The module for generating the three-dimensional point cloud model of the object to be measured is used to perform denoising, filtering and normalization on several groups of point cloud data to be spliced, so as to obtain several groups of optimized point cloud data; after the several groups of optimized point cloud data are roughly aligned and finely aligned, the point clouds in the overlapping areas are fused, and the point clouds in the non-overlapping areas are merged to obtain the three-dimensional point cloud model of the object to be measured.

[0013] A 3D point cloud data stitching device comprises a processor and a memory, wherein the processor implements the above-mentioned 3D point cloud data stitching method when executing a computer program stored in the memory.

[0014] A computer-readable storage medium is used to store a computer program, wherein the computer program is executed by a processor to implement the above-mentioned 3D point cloud data stitching method.

[0015] The beneficial effects of the present invention are: The present invention provides a 3D point cloud data stitching method. First, based on scanning a marked model body with a scanner, the optimal conversion relationship that can align the point cloud in the scanner coordinate system with the coordinate system of the marked model body itself is found, and a conversion matrix from the scanner to the marked model body is obtained; at the same time, based on the coordinates of feature points in the marked model body image at different postures captured by a binocular optical tracker, the optimal conversion relationship between the coordinate points in the binocular optical tracker coordinate system and the coordinate system of the marked model body itself is obtained, and a conversion matrix from the marked model body to the binocular optical tracker is obtained; and through the conversion matrix from the scanner to the marked model body and the conversion matrix from the marked model body to the binocular optical tracker, the scanner coordinate system and the binocular optical tracker are established. The relationship between the scanner and the tracker coordinate system is used to obtain the conversion matrix from the scanner to the binocular optical tracker; then, based on the conversion matrix from the scanner to the binocular optical tracker, the point cloud data of the object to be measured in the scanner coordinate system is converted to the binocular optical tracker coordinate system to obtain several groups of point cloud data to be spliced, which provides a unified benchmark for subsequent point cloud splicing; finally, after several groups of point cloud data to be spliced ​​are denoised, filtered and normalized, they are first coarsely registered to quickly align the point cloud data in the approximate position, and then finely registered to finely adjust the remaining registration errors, thereby greatly improving the accuracy and stability of point cloud splicing, so that the spliced ​​point cloud can more accurately reflect the true shape of the object to be measured. DETAILED DESCRIPTION

[0016] The applicable scenario of this embodiment is to use a binocular scanning system composed of a scanner and a binocular optical tracker to obtain three-dimensional point cloud data of the object to be measured. The scanner is located between the binocular cameras in the binocular optical tracker, the scanner is used to obtain three-dimensional point cloud data of the target object, and the binocular optical tracker is used to obtain a photo of the target object.

[0017] S1. The scanner scans the marked model body to obtain the point cloud data of the marked model body in the scanner coordinate system, and obtains the point cloud data of the marked model body; based on several first feature point clouds in the marked model body point cloud data, several space transformation equations are constructed to form a transformation linear equation group; based on the transformation linear equation group, a transformation matrix from the scanner to the marked model body is obtained. The binocular optical tracker takes images of the marked model body in different postures to obtain several images of the model body; the coordinates of the second feature points in each model body image are obtained to obtain the coordinate data of several second feature points in the binocular optical tracker coordinate system; based on the coordinate data of several second feature points in the binocular optical tracker coordinate system and the coordinate data of several second feature points in the marked model body coordinate system, a transformation matrix from the marked model body to the binocular optical tracker is obtained; Based on the transformation matrix from the scanner to the marking model body and the transformation matrix from the marking model body to the binocular optical tracker, a transformation matrix from the scanner to the binocular optical tracker is obtained.

[0018] The scanner is used to scan the marked model body to find the best conversion relationship that can align the point cloud in the scanner coordinate system with the coordinate system of the marked model body itself, and the conversion matrix from the scanner to the marked model body is obtained; at the same time, based on the coordinates of the feature points in the marked model body image under different postures captured by the binocular optical tracker, the best conversion relationship between the coordinate points in the binocular optical tracker coordinate system and the coordinate system of the marked model body itself is obtained, and the conversion matrix from the marked model body to the binocular optical tracker is obtained; and through the conversion matrix from the scanner to the marked model body and the conversion matrix from the marked model body to the binocular optical tracker, the relationship between the scanner coordinate system and the binocular optical tracker coordinate system is established, and the conversion matrix from the scanner to the binocular optical tracker is obtained, which is convenient for the subsequent conversion of the point cloud data obtained by the scanner to the binocular optical tracker coordinate system.

[0019] S1.1. Get the transformation matrix from the scanner to the marked model body.

[0020] First, use a scanner calibrated with external parameters to scan the marked model body, obtain the point cloud data of the marked model body in the scanner coordinate system, and obtain the point cloud data of the marked model body. It is preferred to scan the marked model body multiple times from different angles and positions to obtain more comprehensive point cloud information of the marked model body, ensuring that the features of the marked model body can be accurately captured.

[0021] Then, based on the first characteristic point clouds in the mark model body point cloud data, several spatial transformation equations are constructed to form a transformation linear equation group. The first characteristic point cloud has uniqueness and identifiability, such as specific patterns and corner points on the mark model body.

[0022] Among them, the method for obtaining the first feature point cloud is specifically as follows: the point cloud data of the marked model body is subjected to Gaussian filtering and normalization processing, and the coordinate values ​​of the point cloud data are mapped to a suitable range after denoising to eliminate the influence of data dimensions of different dimensions, so as to facilitate subsequent calculations and obtain the optimized marked model body point cloud data; the curvature of each point cloud in the optimized marked model body point cloud data is obtained; point clouds with curvature greater than the curvature threshold, which usually correspond to feature positions such as edges and corners of the marked model body, are taken as candidate point clouds; in order to avoid the candidate point clouds being too concentrated, the point cloud with the largest curvature between two adjacent point clouds whose distance is less than the distance threshold is retained, that is, if the distance between two adjacent point clouds is less than the distance threshold, the point cloud with the largest curvature between the two adjacent point clouds is retained to obtain several feature point clouds.

[0023] The curvature of the above point cloud can be obtained by fitting the quadratic surface formed by the current point cloud and the point clouds in the neighborhood using the least squares method.

[0024] In addition, based on several first feature point clouds, several space transformation equations are constructed to form the transformation linear equation group. The specific operation is as follows: from several first feature point clouds, multiple feature point clouds with geometric relationships are selected. These feature point clouds have unique spatial positions and geometric features and can be accurately identified under different viewing angles to form a benchmark feature point cloud group; based on the matching method of the descriptor, feature point clouds matching the benchmark feature point cloud group are obtained from several first feature point clouds as the matching benchmark feature point cloud group; based on each pair of feature point clouds corresponding to the benchmark feature point cloud group and the matching benchmark feature point cloud group, several space transformation equations are constructed. The formula of the space transformation equation is: , To match the first i feature point cloud, The first i feature point cloud, for matching point, is the rotation matrix, is the translation vector and several space transformation equations, forming a transformation linear equation group.

[0025] Finally, based on the transformation linear equations, the transformation matrix from the scanner to the marking model body is obtained. Specifically, the transformation linear equations are processed by the least squares method to obtain the rotation matrix and translation vectors , based on the rotation matrix and translation vectors , get the transformation matrix from the scanner to the marked model body.

[0026] S1.2. Obtain the transformation matrix from the marked model body to the binocular optical tracker.

[0027] First, the binocular optical tracker takes images of the marked model body in different positions to ensure that all angles and features of the marked model body can be clearly captured during shooting, and the lighting conditions are relatively stable to avoid shadows or reflections that affect the image quality, and obtain several images of the model body. Specifically, the binocular optical tracker takes images of the marked model body from different positions, thereby indirectly obtaining images of the marked model body in different positions, and obtaining several images of the model body.

[0028] Then, the coordinates of the second feature point in each model body image are obtained to obtain the coordinate data of several second feature points in the binocular optical tracker coordinate system. The second feature point can be a corner point on the marked model body, which can be obtained by processing the model body image (a random model body image among several model body images, or the first model body image obtained by shooting) by a corner point detection method (including but not limited to the Harris corner point detection method). In order to accurately extract the second feature point, before the corner point detection method processes the model body image, it also includes graying the model body image, converting the color image into a grayscale image, reducing the amount of data, and obtaining a grayscale image of the model body; the grayscale image of the model body is processed by median filtering to improve the clarity and quality of the image, and a filtered image of the model body is obtained; the filtered image of the model body is processed by an edge detection algorithm to highlight the contour and features of the marked model body, and an edge-enhanced image of the model body is obtained, which is used to perform operations processed by the corner point detection method.

[0029] Finally, based on the coordinate data of several second feature points in the binocular optical tracker coordinate system and the coordinate data of several second feature points in the marker model body coordinate system, the transformation matrix from the marker model body to the binocular optical tracker is obtained. Specifically, based on the coordinate data of each second feature point in the binocular optical tracker coordinate system and the coordinate data of each second feature point in the marker model body coordinate system, several linear equations are constructed to form a linear equation system; the linear equation system is subjected to singular value decomposition to obtain the transformation matrix parameters; based on the transformation matrix parameters, the transformation matrix from the marker model body to the binocular optical tracker is obtained.

[0030] In addition, in order to improve the accuracy of the conversion matrix from the marked model body to the binocular optical tracker, it also includes using an iterative algorithm (including but not limited to the Levenberg-Marquardt algorithm) to optimize the conversion matrix from the marked model body to the binocular optical tracker, improve the accuracy of the conversion matrix, and obtain the optimized conversion matrix from the marked model body to the binocular optical tracker, which is used to perform the subsequent operation of obtaining the conversion matrix from the scanner to the binocular optical tracker.

[0031] S1.3. Obtain the transformation matrix from scanner to binocular optical tracker.

[0032] Based on the transformation matrix from the scanner to the marker model body and the transformation matrix from the marker model body to the binocular optical tracker, the transformation matrix from the scanner to the binocular optical tracker is obtained. Specifically, the transformation matrix from the scanner to the marker model body is multiplied by the transformation matrix from the marker model body to the binocular optical tracker to obtain the transformation matrix from the scanner to the binocular optical tracker.

[0033] S2. The scanner scans the object to be measured multiple times by moving its position to obtain point cloud data of the object to be measured in the scanner coordinate system, and obtains several groups of point cloud data of the object to be measured; based on the conversion matrix from the scanner to the binocular optical tracker, the several groups of point cloud data of the object to be measured are unified into the binocular optical tracker coordinate system to obtain several groups of point cloud data to be spliced.

[0034] Based on the conversion matrix from scanner to binocular optical tracker, the point cloud data of the object to be measured in the scanner coordinate system is converted to the binocular optical tracker coordinate system to obtain several groups of point cloud data to be stitched, which provides a unified benchmark for subsequent point cloud stitching, facilitates the precise positioning and matching of point cloud data acquired at different positions and angles in the same coordinate system, reduces the error accumulation caused by inconsistent coordinate systems, and improves the accuracy of stitching.

[0035] The scanner scans the object to be measured multiple times by moving its position to obtain point cloud data of the object to be measured in the scanner coordinate system, and obtains several groups of point cloud data of the object to be measured to ensure the integrity of the point cloud data of the object to be measured.

[0036] Based on the conversion matrix from the scanner to the binocular optical tracker, several groups of point cloud data of the objects to be measured are unified into the binocular optical tracker coordinate system to obtain several groups of point cloud data to be spliced. Specifically, several groups of point cloud data of the objects to be measured are multiplied by the conversion matrix from the scanner to the binocular optical tracker to obtain several groups of point cloud data to be spliced.

[0037] S3. Several groups of point cloud data to be spliced ​​are subjected to denoising, filtering and normalization processing respectively to obtain several groups of optimized point cloud data; after several groups of optimized point cloud data are subjected to coarse alignment and fine alignment, the point clouds in the overlapping areas are fused, and the point clouds in the non-overlapping areas are merged to obtain a three-dimensional point cloud model of the object to be measured.

[0038] After several groups of point cloud data to be spliced ​​are denoised, filtered and normalized, they are first coarsely registered to quickly align the point cloud data in approximate positions, and then finely registered to fine-tune the remaining registration errors, thereby greatly improving the accuracy of point cloud splicing and making the spliced ​​point cloud more accurately reflect the true shape of the object to be measured.

[0039] Firstly, several groups of point cloud data to be spliced ​​are subjected to denoising, filtering and normalization respectively. After smoothing the point cloud data and reducing the noise, the coordinate values ​​of the point cloud data are mapped to a certain range to obtain several groups of optimized point cloud data.

[0040] Then, several groups of optimized point cloud data are coarsely registered to effectively process point cloud data containing noise and outliers. The specific operation of coarse registration is as follows.

[0041] Step 1: randomly select multiple point cloud data from the first set of optimized point cloud data as the first point cloud data to obtain a first point cloud data set; obtain point cloud data that are duplicate points of the first point cloud data set from the second set of optimized point cloud data to form a second point cloud data set.

[0042] Step 2: Based on the first point cloud data set and the second point cloud data set, obtain a rotation matrix and a translation matrix; based on the rotation matrix and the translation matrix, perform spatial transformation on the second set of optimized point cloud data to obtain a second set of spatially transformed point cloud data.

[0043] Step 3, obtain the corresponding point cloud distances of the second set of spatially transformed point cloud data that are duplicate points with the first set of optimized point cloud data, count the number of point clouds whose point cloud distances are less than the point cloud distance threshold, and obtain the number of evaluation points; if the number of evaluation points is less than the evaluation point number threshold, record the rotation matrix and the translation matrix.

[0044] Repeat steps 1 to 3 several times to obtain several rotation matrices and translation matrices; take the rotation matrix and translation matrix corresponding to the minimum number of evaluation points as the optimal rotation matrix and the optimal translation matrix; based on the optimal rotation matrix and the optimal translation matrix, perform spatial transformation on the second group of optimized point cloud data to obtain the second group of coarsely aligned point cloud data, and achieve coarse alignment between the first group of optimized point cloud data and the second group of optimized point cloud data.

[0045] By analogy, the remaining adjacent groups of optimized point cloud data perform operations to obtain the optimal rotation matrix and the optimal translation matrix to obtain several remaining groups of roughly aligned point cloud data; the first group of optimized point cloud data and the remaining groups of roughly aligned point cloud data form several groups of roughly aligned point cloud data.

[0046] Next, several groups of roughly registered point cloud data are finely registered, and the fine registration operation can be achieved through the ICP (iterative closest point) method.

[0047] In addition, in order to improve the registration accuracy, the specific operation of the fine registration can also be: taking the point clouds whose normal vectors are greater than the normal vector threshold in the first group of coarse registration point cloud data (the first group of optimized point cloud data) as geometric feature point clouds, these point clouds have obvious geometric features, and obtain a number of first geometric feature point clouds; based on the KD tree structure search method, obtain a number of corresponding points of the first geometric feature point clouds from the second coarse registration point cloud data, these points have feature space similarity with the geometric feature point clouds, and obtain a number of second geometric feature point clouds; based on the first geometric feature point clouds and the second geometric feature point clouds, obtain a number of corresponding points of the first ... any feature point cloud, construct a point cloud change error term; minimize the point cloud change error term to obtain a rigid body transformation matrix; based on the rigid body transformation matrix, perform spatial transformation on the second group of coarsely registered point cloud data to achieve fine registration of the second group of coarsely registered point cloud data, and obtain a second group of finely registered point cloud data; and so on, the remaining adjacent groups of coarsely registered point cloud data perform the operation of obtaining the rigid body transformation matrix to obtain several remaining groups of finely registered point cloud data; the first group of coarsely registered point cloud data (the first group of optimized point cloud data) and the remaining groups of finely registered point cloud data form several groups of finely registered point cloud data.

[0048] The point cloud change error term is obtained by the following formula: , is the variation error term, , , They are Euclidean distance weight, plane distance weight, and normal vector consistency weight. n is the total number of the first geometric feature point cloud, For the i The first geometric feature point cloud, For the i The second geometric feature point cloud, is the rigid body transformation matrix, , , , Based on the rigid body transformation matrix Will The horizontal coordinate coefficient, vertical coordinate coefficient, vertical coordinate coefficient and constant term of the spatial plane equation after spatial transformation. , , They are The horizontal, vertical and vertical coordinate components of is the distance from the first geometric feature point cloud to the plane where the second geometric feature point cloud after the corresponding spatial transformation is located; wherein, for each second geometric feature point cloud after the spatial transformation, a plane is fitted through its neighborhood points to obtain the plane equation 0, the least square method can be used to fit the plane (the spatial coordinate position of the second geometric feature point cloud is different, then the plane is fitted , , , The value of is different), then for the first geometric feature point cloud, according to the distance formula from the point to the plane, we can get , for The normal vector of Based on the rigid body transformation matrix Will The normal vector after the space transformation.

[0049] Finally, the point clouds in the overlapping areas of several sets of precisely aligned point cloud data are fused (which can be achieved based on the weighted average method), and the point clouds in the non-overlapping areas are merged to obtain a three-dimensional point cloud model of the object to be measured.

[0050] This embodiment further provides a 3D point cloud data stitching system, which is used to implement the above-mentioned 3D point cloud data stitching method, including: The conversion matrix generation module from scanner to binocular optical tracker is used for the scanner to scan the marked model body, obtain the point cloud data of the marked model body in the scanner coordinate system, and obtain the marked model body point cloud data; based on several first feature point clouds in the marked model body point cloud data, construct several space transformation equations to form a transformation linear equation group; based on the transformation linear equation group, obtain the conversion matrix from scanner to marked model body; the binocular optical tracker takes images of the marked model body in different postures to obtain several model body images; obtain the coordinates of the second feature point in each model body image to obtain the coordinate data of several second feature points in the binocular optical tracker coordinate system; based on the coordinate data of several second feature points in the binocular optical tracker coordinate system and the coordinate data of several second feature points in the marked model body coordinate system, obtain the conversion matrix from the marked model body to the binocular optical tracker; based on the conversion matrix from scanner to marked model body and the conversion matrix from marked model body to binocular optical tracker, obtain the conversion matrix from scanner to binocular optical tracker; The module for generating point cloud data to be spliced ​​is used for the scanner to scan the object to be measured multiple times by moving the position, obtain the point cloud data of the object to be measured in the scanner coordinate system, and obtain several groups of point cloud data of the object to be measured; based on the conversion matrix from the scanner to the binocular optical tracker, unify the several groups of point cloud data of the object to be measured into the binocular optical tracker coordinate system, and obtain several groups of point cloud data to be spliced; The module for generating the three-dimensional point cloud model of the object to be measured is used to perform denoising, filtering and normalization on several groups of point cloud data to be spliced, so as to obtain several groups of optimized point cloud data; after the several groups of optimized point cloud data are roughly aligned and finely aligned, the point clouds in the overlapping areas are fused, and the point clouds in the non-overlapping areas are merged to obtain the three-dimensional point cloud model of the object to be measured.

[0051] This embodiment further provides a 3D point cloud data stitching device, including a processor and a memory, wherein the processor implements the above-mentioned 3D point cloud data stitching method when executing a computer program stored in the memory.

[0052] This embodiment further provides a computer-readable storage medium for storing a computer program, wherein the computer program is executed by a processor to implement the above-mentioned 3D point cloud data stitching method.

[0053] The present embodiment provides a 3D point cloud data stitching method, firstly, based on scanning the marked model body with a scanner, to find the best conversion relationship that can align the point cloud in the scanner coordinate system with the coordinate system of the marked model body itself, and obtain the conversion matrix from the scanner to the marked model body; at the same time, based on the coordinates of the feature points in the marked model body image at different postures captured by the binocular optical tracker, the best conversion relationship between the coordinate points in the binocular optical tracker coordinate system and the coordinate system of the marked model body itself is obtained, and the conversion matrix from the marked model body to the binocular optical tracker is obtained; and the scanner coordinate system and the binocular optical tracker are established through the conversion matrix from the scanner to the marked model body and the conversion matrix from the marked model body to the binocular optical tracker. The relationship between the scanner and the tracker coordinate system is used to obtain the conversion matrix from the scanner to the binocular optical tracker; then, based on the conversion matrix from the scanner to the binocular optical tracker, the point cloud data of the object to be measured in the scanner coordinate system is converted to the binocular optical tracker coordinate system to obtain several groups of point cloud data to be spliced, which provides a unified benchmark for subsequent point cloud splicing; finally, after several groups of point cloud data to be spliced ​​are denoised, filtered and normalized, they are first coarsely registered to quickly align the point cloud data in the approximate position, and then finely registered to finely adjust the remaining registration errors, thereby greatly improving the accuracy and stability of point cloud splicing, so that the spliced ​​point cloud can more accurately reflect the true shape of the object to be measured.

Claims

1. A 3D point cloud data splicing method, characterized in that: The following operations are included: S1. The scanner scans the marked model body to obtain point cloud data of the marked model body in the scanner coordinate system, and obtains the marked model body point cloud data; based on a plurality of first feature point clouds in the marked model body point cloud data, a plurality of space transformation equations are constructed to form a transformation linear equation group; based on the transformation linear equation group, a transformation matrix from the scanner to the marked model body is obtained; The binocular optical tracker takes images of the marked model body in different postures to obtain a plurality of model body images; the coordinates of the second feature points in each model body image are obtained to obtain the coordinate data of the plurality of second feature points in the binocular optical tracker coordinate system; based on the coordinate data of the plurality of second feature points in the binocular optical tracker coordinate system and the coordinate data of the plurality of second feature points in the marked model body coordinate system, a transformation matrix from the marked model body to the binocular optical tracker is obtained; Based on the transformation matrix from the scanner to the marked model body and the transformation matrix from the marked model body to the binocular optical tracker, a transformation matrix from the scanner to the binocular optical tracker is obtained; S2, the scanner scans the object to be measured multiple times by moving the position, obtains the point cloud data of the object to be measured in the scanner coordinate system, and obtains several groups of point cloud data of the object to be measured; Based on the conversion matrix from the scanner to the binocular optical tracker, several groups of point cloud data of the objects to be measured are unified into the binocular optical tracker coordinate system to obtain several groups of point cloud data to be spliced; S3. Several groups of point cloud data to be spliced ​​are subjected to denoising, filtering and normalization processing respectively to obtain several groups of optimized point cloud data; after several groups of optimized point cloud data are subjected to coarse alignment and fine alignment, the point clouds in the overlapping areas are fused, and the point clouds in the non-overlapping areas are merged to obtain a three-dimensional point cloud model of the object to be measured.

2. A 3D point cloud data splicing method according to claim 1, characterized in that: In S1, the method for obtaining the first feature point cloud is specifically as follows: The marked model body point cloud data is subjected to Gaussian filtering and normalization processing to obtain optimized marked model body point cloud data; the curvature of each point cloud in the optimized marked model body point cloud data is obtained; the point cloud with a curvature greater than a curvature threshold is used as a candidate point cloud; the point cloud with the largest curvature among two adjacent point clouds with a distance less than a distance threshold is retained to obtain a feature point cloud.

3. The 3D point cloud data splicing method according to claim 1, characterized in that: In S1, based on a plurality of first feature point clouds, a plurality of spatial transformation equations are constructed to form a transformation linear equation group. The specific operation is: From a number of first feature point clouds, multiple feature point clouds with geometric relationships are selected to form a benchmark feature point cloud group; feature point clouds matching the benchmark feature point cloud group are obtained from a number of first feature point clouds as a matching benchmark feature point cloud group; based on each corresponding pair of feature point clouds in the benchmark feature point cloud group and the matching benchmark feature point cloud group, a number of space transformation equations are constructed to form a transformation linear equation group.

4. The 3D point cloud data splicing method according to claim 1, characterized in that: In S3, the specific operation of coarse registration is as follows: Step 1: randomly select multiple point cloud data from the first set of optimized point cloud data as the first point cloud data to obtain a first point cloud data set; obtain point cloud data that are duplicate points of the first point cloud data set from the second set of optimized point cloud data to form a second point cloud data set; The positions of the first set of optimized point cloud data and the second set of optimized point cloud data are adjacent; Step 2: Based on the first point cloud data set and the second point cloud data set, obtain a rotation matrix and a translation matrix; Based on the rotation matrix and the translation matrix, the second set of optimized point cloud data is spatially transformed to obtain a second set of spatially transformed point cloud data; Step 3, obtaining the corresponding point cloud distances of the second set of spatial transformation point cloud data that are duplicate points with the first set of optimized point cloud data, counting the number of point clouds whose point cloud distances are less than the point cloud distance threshold, and obtaining the number of evaluation points; if the number of evaluation points is less than the evaluation point number threshold, recording the rotation matrix and the translation matrix; Repeat steps 1 to 3 several times to obtain several rotation matrices and translation matrices; take the rotation matrix and translation matrix corresponding to the minimum number of evaluation points as the optimal rotation matrix and optimal translation matrix; Based on the optimal rotation matrix and the optimal translation matrix, the second set of optimized point cloud data is spatially transformed to obtain a second set of roughly registered point cloud data; By analogy, the remaining adjacent groups of optimized point cloud data perform operations to obtain the optimal rotation matrix and the optimal translation matrix to obtain several remaining groups of roughly aligned point cloud data; the first group of optimized point cloud data and the remaining groups of roughly aligned point cloud data form several groups of roughly aligned point cloud data.

5. The 3D point cloud data splicing method according to claim 1, characterized in that: In S3, the precise registration operation is as follows: The point clouds whose normal vectors are greater than the normal vector threshold in the first group of coarse registration point cloud data are used as geometric feature point clouds to obtain a number of first geometric feature point clouds; based on the KD tree structure search method, a number of corresponding points of the first geometric feature point clouds are obtained from the second coarse registration point cloud data to obtain a number of second geometric feature point clouds; Based on a plurality of first geometric feature point clouds and a second geometric feature point cloud, a point cloud change error term is constructed; and the point cloud change error term is minimized to obtain a rigid body transformation matrix; Based on the rigid body transformation matrix, the second group of coarsely registered point cloud data is spatially transformed to obtain the second group of finely registered point cloud data; By analogy, the remaining adjacent groups of coarsely registered point cloud data perform the operation of obtaining the rigid body transformation matrix to obtain several remaining groups of finely registered point cloud data; the first group of coarsely registered point cloud data and the remaining groups of finely registered point cloud data form several groups of finely registered point cloud data.

6. A 3D point cloud data splicing method according to claim 5, characterized in that: The point cloud change error term is obtained by the following formula: , is the variation error term, , , They are Euclidean distance weight, plane distance weight, and normal vector consistency weight. n is the total number of the first geometric feature point cloud, For the i The first geometric feature point cloud, For the i The second geometric feature point cloud, is the rigid body transformation matrix, , , , Based on the rigid body transformation matrix Will The horizontal coordinate coefficient, vertical coordinate coefficient, vertical coordinate coefficient and constant term of the spatial plane equation after spatial transformation. , , They are The horizontal, vertical and vertical coordinate components of for The normal vector of Based on the rigid body transformation matrix Will The normal vector after the space transformation.

7. The 3D point cloud data splicing method according to claim 1, characterized in that: In S3, point cloud fusion is achieved through weighted averaging method.

8. A 3D point cloud data stitching system, used to implement the 3D point cloud data stitching method according to claim 1, characterized in that: include: The conversion matrix generation module from scanner to binocular optical tracker is used for the scanner to scan the marked model body, obtain the point cloud data of the marked model body in the scanner coordinate system, and obtain the marked model body point cloud data; based on several first feature point clouds in the marked model body point cloud data, construct several space transformation equations to form a transformation linear equation group; based on the transformation linear equation group, obtain the conversion matrix from scanner to marked model body; the binocular optical tracker takes images of the marked model body in different postures to obtain several model body images; obtain the coordinates of the second feature point in each model body image to obtain the coordinate data of several second feature points in the binocular optical tracker coordinate system; based on the coordinate data of several second feature points in the binocular optical tracker coordinate system and the coordinate data of several second feature points in the marked model body coordinate system, obtain the conversion matrix from the marked model body to the binocular optical tracker; based on the conversion matrix from scanner to marked model body and the conversion matrix from marked model body to binocular optical tracker, obtain the conversion matrix from scanner to binocular optical tracker; The module for generating point cloud data to be spliced ​​is used for the scanner to scan the object to be measured multiple times by moving the position, obtaining the point cloud data of the object to be measured in the scanner coordinate system, and obtaining several groups of point cloud data of the object to be measured; Based on the conversion matrix from the scanner to the binocular optical tracker, several groups of point cloud data of the objects to be measured are unified into the binocular optical tracker coordinate system to obtain several groups of point cloud data to be spliced; The module for generating the three-dimensional point cloud model of the object to be measured is used to perform denoising, filtering and normalization on several groups of point cloud data to be spliced, and obtain several groups of optimized point cloud data; After coarse and fine registration of several groups of optimized point cloud data, the point clouds in the overlapping areas are fused, and the point clouds in the non-overlapping areas are merged to obtain a three-dimensional point cloud model of the object to be measured.

9. A 3D point cloud data splicing device, characterized in that: The method comprises a processor and a memory, wherein the processor implements the 3D point cloud data stitching method according to any one of claims 1 to 7 when executing the computer program stored in the memory.

10. A computer-readable storage medium, characterized in that: Used to store a computer program, wherein when the computer program is executed by a processor, the 3D point cloud data stitching method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • High-precision curved surface non-uniform image registration method

    CN112465883A

  • Scanning method, device and system of multiple sets of photographing type scanners

    CN113890955A

  • Calibration model and method of optical tracking three-dimensional scanner and surgical navigation system thereof

    CN114463482A

  • An imaging system and method with stitching of multiple images

    IN202047038337A

Cited By

  • Steel rail profile dynamic detection device and profile data splicing method

    CN121163415A