Point cloud data processing method, registration device and intraoral scanning device
By adopting point-to-face registration method in three-dimensional scanning technology, combining the rotation translation matrix and approximation algorithm, the problem of low point-to-face registration speed in the existing technology is solved, efficient three-dimensional reconstruction is achieved, and intraoral improvement is improved Accuracy and stability of scanning devices.
Patent Information
- Application Number
- CN202011613401.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-30
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2040-12-30
AI Technical Summary
In the existing three-dimensional scanning technology, the point-to-face registration speed is low, which affects the efficiency of three-dimensional reconstruction. Especially during real-time scanning, such as intraoral scanning equipment, it makes it difficult to take into account both accuracy and speed.
The initial point cloud and the surface to be registered are determined through point-to-point registration results. The point-to-face registration method is adopted, combined with the rotation translation matrix and approximation algorithm, the point cloud and surface are gradually adjusted until the registration is completed, and the surface fusion is achieved. Improve registration speed and accuracy.
Accurate point-to-face registration is achieved, significantly improving the registration speed, reducing error superposition, and improving the reconstruction accuracy and stability of the three-dimensional model.
Smart Images

Figure CN114693881B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of three-dimensional scanning technology, and in particular to a point cloud data processing method, a point cloud data registration device and an intraoral scanning device. Background Art
[0002] The process of reconstructing the three-dimensional model of an object includes point cloud reconstruction, point cloud registration, point cloud fusion, surface reconstruction, etc. In the related art, the above registration process is usually implemented by point-to-point registration and point-to-surface registration. Among them, the point-to-point registration speed is faster and can be used for three-dimensional reconstruction in the real-time scanning process. For example, the current intraoral scanning equipment uses point-to-point registration to achieve registration during the scanning of the oral cavity, thereby realizing the above three-dimensional reconstruction process. However, since the position of the points is discrete, the accuracy is relatively low when calculating the corresponding points. Compared with the point-to-point registration method, the point-to-surface registration method has higher accuracy, but the registration speed is relatively low, which affects the scope of application of the point-to-surface registration to a certain extent. Summary of the invention
[0003] The present invention aims to solve one of the technical problems in the related art at least to a certain extent. To this end, the first object of the present invention is to propose a method for processing point cloud data to achieve accurate point-to-surface registration and improve the point-to-surface registration speed.
[0004] The second objective of the present invention is to provide a point cloud data registration device.
[0005] The third object of the present invention is to provide an intraoral scanning device.
[0006] To achieve the above-mentioned purpose, the first aspect of the present invention proposes a method for processing point cloud data, comprising the following steps: determining a first registration point cloud for each point cloud based on the point-to-point registration result of the point cloud data; determining a second point cloud to be registered from the point cloud data; determining a surface to be registered based on the surface that has currently completed registration and fusion; performing point-to-surface registration on the first registration point cloud of the second point cloud and the surface to be registered; determining whether the first registration point cloud and the surface to be registered match based on the registration result; if they match, performing surface fusion based on the registration result to obtain a new surface that has completed registration and fusion, and returning to the step of determining the second point cloud to be registered from the point cloud data until all point cloud data are registered and fused.
[0007] According to the method for processing point cloud data of an embodiment of the present invention, the first registration point cloud of each point cloud is determined through the point-to-point registration result of the point cloud data, and the second point cloud to be registered is determined from the point cloud data, and then the surface to be registered is determined based on the surface that has currently completed the registration and fusion, and then the first registration point cloud of the second point cloud and the surface to be registered are point-to-surface registered, and then it is determined whether the first registration point cloud and the surface to be registered match according to the registration result, and if they match, the surfaces are fused according to the registration result to obtain a new surface that has completed the registration and fusion, and then the step of determining the second point cloud to be registered from the point cloud data is returned until all point cloud data are completed The registration and fusion are completed, this method can achieve accurate point-to-surface registration and improve the speed of point-to-surface registration.
[0008] To achieve the above-mentioned purpose, the second aspect of the present invention proposes a point cloud data registration device, including a memory, a processor and a computer program stored in the memory. When the computer program is executed by the processor, the above-mentioned point cloud data processing method is implemented.
[0009] According to the point cloud data registration device of the embodiment of the present invention, accurate point-to-surface registration is achieved through the above-mentioned point cloud data processing method, thereby improving the point-to-surface registration speed.
[0010] To achieve the above-mentioned purpose, a third aspect of the present invention provides an intraoral scanning device, including the above-mentioned point cloud data registration device.
[0011] According to the intraoral scanning device of the embodiment of the present invention, the point cloud data registration device thereon realizes accurate point-to-surface registration through the above-mentioned point cloud data processing method, thereby improving the point-to-surface registration speed.
[0012] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 is a flowchart of a method for processing point cloud data according to an embodiment of the present invention;
[0014] Figure 2 A flowchart of reconstructing an initial surface to be registered according to a specific example of the present invention;
[0015] Figure 3 A point-to-plane registration flow chart according to a specific example of the present invention;
[0016] Figure 4 A flowchart of traversal processing of all neighborhood point clouds of a first point cloud according to a specific example of the present invention;
[0017] Figure 5is a structural block diagram of an intraoral scanning device according to an embodiment of the present invention;
[0018] Figure 6 is an overall flow chart of a point cloud data registration method according to a specific example of the present invention;
[0019] Figure 7 A preprocessing flow chart of a point cloud data registration method according to a specific example of the present invention;
[0020] Figure 8 A first-level judgment flow chart of a point cloud data registration method according to a specific example of the present invention;
[0021] Fig. 9 A point-to-surface registration flow chart of a point cloud data registration method according to a specific example of the present invention;
[0022] Fig.10 A schematic diagram of a curved surface constructed after real-time scanning according to a specific example of the present invention;
[0023] Fig.11 The figure is a schematic diagram of post-processing optimization of a curved surface according to a specific example of the present invention. DETAILED DESCRIPTION
[0024] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present invention, and should not be construed as limiting the present invention.
[0025] The point cloud data processing method, registration device and intraoral scanning equipment according to the embodiments of the present invention are described below with reference to the accompanying drawings.
[0026] Figure 1 FIG. 1 is a flowchart of a method for processing point cloud data according to an embodiment of the present invention. Figure 1 As shown, the method may include the following steps:
[0027] S101, determining a first registration point cloud for each point cloud according to a point-to-point registration result of the point cloud data.
[0028] S102: Determine a second point cloud to be registered from the point cloud data.
[0029] In one embodiment of the present invention, a second point cloud to be registered is determined from point cloud data, comprising: determining a first point cloud, wherein an initial first point cloud and neighborhood point clouds of each point cloud are obtained based on point-to-point registration results of the point cloud data, and an initial surface to be registered is obtained by surface reconstruction based on the initial first point cloud; determining a second point cloud to be registered from the neighborhood point cloud of the first point cloud; wherein, when the neighborhood point cloud of the first point cloud is traversed, the first point cloud is re-determined based on all point-to-surface registration results, and the step of determining a second point cloud to be registered from the neighborhood point cloud of the first point cloud is returned to, until all point cloud data are registered and fused.
[0030] Wherein, the attribute of the initial first point cloud can be set as the first identifier, and the initial attribute of other point clouds can be set as the second identifier; and when the first registration point cloud of the second point cloud is matched with the surface to be registered, the attribute of the second point cloud is set as the first identifier; wherein, from the neighborhood point cloud of the first point cloud, the second point cloud to be registered is determined, including: selecting a point cloud whose attribute is the second identifier from the neighborhood point cloud of the first point cloud, and using the point cloud as the second point cloud to be registered.
[0031] Specifically, the attribute of the initial first point cloud may be set to the first identifier False, and the attributes of other point clouds may be set to the second identifier True.
[0032] In one embodiment of the present invention, the initial first point cloud is obtained according to the following method: determining the first registration return value of each point cloud in the point cloud data from the point-to-point registration result of the point cloud data; and taking the point cloud corresponding to the first registration return value with the smallest value as the initial first point cloud.
[0033] Specifically, during the real-time scanning process, the first registration return value DRT[i] of each point cloud data, such as the i-th point cloud Points[i], can be obtained based on the point-to-point registration result of the point cloud data. Wherein, DRT[i] is the average value of the corresponding point distance between the i-th point cloud Points[i] and the overall point cloud that has completed the registration after the registration is completed. The smaller the value, the higher the registration accuracy. The point cloud corresponding to the smallest first registration return value DRT[i] is taken as the initial first point cloud.
[0034] In one embodiment of the present invention, a neighborhood point cloud of each point cloud is obtained based on the point-to-point registration result of the point cloud data, including: obtaining each point cloud and its corresponding initial rotation and translation matrix based on the point-to-point registration result of the point cloud data; obtaining the centroid coordinates and enclosing grid of the corresponding point cloud according to the initial rotation and translation matrix; and determining the neighborhood point cloud of each point cloud based on the centroid coordinates and the enclosing grid.
[0035] Among them, the neighborhood point cloud of each point cloud is determined according to the centroid coordinates and the surrounding grid, including: calculating the centroid distance between any two point clouds according to the centroid coordinates of the two point clouds, and calculating the overlap of the surrounding grids of the two point clouds; if the centroid distance is less than a preset distance threshold, and the overlap is greater than a preset overlap threshold, then one of the two point clouds is recorded as the neighborhood point cloud of the other.
[0036] Specifically, Figure 2 As shown, based on the point-to-point registration result of the point cloud data, each point cloud data such as the i-th point cloud Points[i] and the initial rotation and translation matrix TFR[i] corresponding to each point cloud data can be obtained. After obtaining the initial rotation and translation matrix TFR[i] of the i-th point cloud Points[i], Points[i] can be transformed according to TFR[i] to obtain the transformed Points'[i], and then the center of gravity of Points'[i] is obtained to obtain the center of gravity coordinates pcenter[i] of Points'[i], and then the network bounding box of pcenter[i] is obtained to obtain the bounding grid pgrid[i].
[0037] Furthermore, the centroid distance between any two point clouds is calculated based on the centroid coordinates of the two point clouds, and the overlap of the enclosing grids of the two point clouds is calculated. If the centroid distance is less than a preset distance threshold (such as 5mm), and the overlap is greater than a preset overlap threshold (such as 50%), one of the two point clouds is recorded as the neighboring point cloud of the other. Among them, the neighboring point clouds can be numbered according to the order of the size of the overlap. For example, if a point cloud has N neighboring point clouds, the N neighboring point clouds can be numbered 0, 1, 2, ..., N-1 from large to small according to the overlap. Then, the point cloud with the smallest registration return value DRT[i] is selected from each point cloud data as the initial first point cloud, and it is marked as False, and then the target surface is reconstructed for the initial first point cloud to obtain the initial surface to be registered.
[0038] Furthermore, after determining the initial first point cloud, the neighborhood point cloud numbered 0 of the initial first point cloud may be preferentially selected as the second point cloud, wherein the point cloud attribute is identified as True and has not participated in the point-to-surface registration in the current traversal process. When all neighborhood point clouds of the initial first point cloud are traversed, the first point cloud may be re-determined based on all point-to-surface registration results corresponding to the initial first point cloud, and the step of determining the second point cloud to be registered from the neighborhood point cloud of the first point cloud is returned until all point cloud data are registered and fused.
[0039] S103: Determine the surface to be registered according to the currently registered and fused surface.
[0040] S104: Perform point-to-surface registration on the first registered point cloud of the second point cloud and the surface to be registered.
[0041] Among them, the first registration point cloud of the second point cloud and the surface to be registered are point-to-surface registered, including: obtaining a first rotation and translation matrix according to the current first registration point cloud of the second point cloud and the surface to be registered; using the first rotation and translation matrix to transform the first registration point cloud of the second point cloud to obtain a first transformed point cloud, and using the first transformed point cloud to update the first registration point cloud of the second point cloud; judging whether the number of current point cloud transformations meets a first preset condition; if so, using an approximation algorithm to obtain an approximation rotation and translation matrix according to the first rotation and translation matrix, using the approximation rotation and translation matrix to continuously transform the first registration point cloud of the second point cloud for multiple times to obtain an approximation transformed point cloud until the second preset condition is met, and using the approximation transformed point cloud to update the first registration point cloud of the second point cloud; judging whether the registration is completed according to the current first registration point cloud of the second point cloud and the surface to be registered, if not completed, returning to the step of obtaining the first rotation and translation matrix according to the current first registration point cloud of the second point cloud and the surface to be registered, until the point-to-surface registration is completed.
[0042] In one embodiment of the present invention, the surface to be registered is determined based on the currently registered and fused surface, including: segmenting the registered and fused surface based on the enclosing grid of the first registered point cloud of the second point cloud to obtain the surface to be registered.
[0043] In this embodiment, after obtaining the first registered point cloud of the second point cloud and the surface that has been registered and fused, the surface that has been registered and fused is segmented according to the enclosing grid of the first registered point cloud of the second point cloud to obtain the surface to be registered, thereby effectively reducing the amount of data processing tasks and improving the registration efficiency of the first registered point cloud of the second point cloud and the current surface to be registered.
[0044] In one embodiment of the present invention, obtaining the first rotation and translation matrix based on the first registration point cloud of the current second point cloud and the surface to be registered may include: segmenting the surface to be registered according to each point in the first registration point cloud of the current second point cloud to obtain the target sub-surface corresponding to each point; obtaining the registration point pairs of the first registration point cloud of the second point cloud according to each point in the first registration point cloud of the second point cloud and its corresponding target sub-surface; and obtaining the first rotation and translation matrix based on the registration point pairs.
[0045] Among them, segmenting the surface to be registered according to each point in the first registered point cloud of the second point cloud to obtain the target sub-surface corresponding to each point may include generating a three-dimensional bounding box around each point in the first registered point cloud of the second point cloud, and segmenting the current surface to be registered according to the three-dimensional bounding box of each point to obtain the target sub-surface corresponding to each point.
[0046] Specifically, during the registration process between the first registered point cloud of the second point cloud and the current surface to be registered, the current surface to be registered can be further segmented. As an example, a 5*5*5mm-sized segment can be generated around each point in the first registered point cloud of the second point cloud. 3 Or 9*9*9mm 3 Then, the segmented surface to be registered is re-segmented according to the 3D bounding box of each point, so as to obtain the target sub-surface corresponding to each point. In this way, the registration accuracy of the point surface can be improved.
[0047] In one embodiment of the present invention, a target sub-surface is obtained based on triangular mesh points, wherein a pair of registration points of the first registration point cloud of the second point cloud is obtained based on each point in the first registration point cloud of the second point cloud and its corresponding target sub-surface, including: projecting each point in the first registration point cloud of the second point cloud onto each triangular mesh of the corresponding target sub-surface to obtain a corresponding projection point; calculating the distance between each point in the first registration point cloud of the second point cloud and the corresponding projection points to obtain a plurality of first distances; and obtaining a pair of registration points of the second point cloud based on the plurality of first distances corresponding to each point in the first registration point cloud of the second point cloud.
[0048] Specifically, after the current surface to be registered obtained according to the triangular mesh points is segmented, the target sub-surface obtained may include multiple triangular mesh surfaces. In this embodiment, each point in the first registration point cloud of the second point cloud, such as point P, may be projected to each triangular mesh surface of its corresponding target sub-surface, such as G[j] (j=0, 1, ..., m), and it is determined whether the corresponding projection point falls within the triangular mesh surface. If so, the distance D[i] from the point P to its projection point is saved, wherein the method for obtaining the projection point may adopt the interior angle sum method, the same direction method, the area method, and the centroid method.
[0049] Among them, according to the multiple first distances corresponding to each point in the first registration point cloud of the second point cloud, the registration point pairs of the second point cloud are obtained, including: for each point in the first registration point cloud of the second point cloud, the projection point corresponding to the first distance with the smallest value is selected from the corresponding multiple first distances to form a point pair with the point to obtain a first point pair; discarding the point pairs in the first point pairs whose distances are greater than the first preset distance to obtain the second point pairs; and obtaining the registration point pairs of the first registration point cloud of the second point cloud according to the second point pairs.
[0050] Specifically, taking point P as an example, among the multiple first distances corresponding to point P and its corresponding projection point, such as D[1], D[2], D[3], ..., D[i], D[5] has the smallest value, then the projection point corresponding to D[5], such as P5, is taken to form a first point pair with P. Since there are multiple points in the first registration point cloud of the second point cloud, multiple first point pairs can be obtained. Figure 3As shown, after obtaining multiple first point pairs, the point pairs whose midpoints in the first point pairs are at a distance from the projection point greater than a first preset distance (such as 0.243-0.3 mm) can be discarded to obtain second point pairs, and the registration point pairs of the point cloud to be registered are obtained based on the second point pairs.
[0051] In this embodiment, the first point pair is formed by selecting the projection point with the minimum distance between the point in the first registration point cloud of the second point cloud and its projection point, and discarding the points in the first point pair whose distance between the point and its projection point is too large, thereby improving the accuracy of the registration point pair and further improving the point-to-surface registration accuracy.
[0052] In one embodiment of the present invention, the second point pair includes a first sub-point cloud and a second sub-point cloud, the points in the first sub-point cloud are all points in the first registration point cloud of the second point cloud, and the points in the second sub-point cloud are all points on the current surface to be registered, wherein the registration point pair of the first registration point cloud of the second point cloud is obtained according to the second point pair, including: determining a first zero point and a second zero point, wherein the coordinate value of the first zero point is the average value of the coordinate values of the points in the first sub-point cloud, and the coordinate value of the second zero point is the average value of the coordinate values of all points in the second sub-point cloud; obtaining a first registration point according to a weighted distance calculation between each point in the first sub-point cloud and the first zero point, obtaining a second registration point according to a weighted distance calculation between each point in the second sub-point cloud and the second zero point, and pairing the first registration point with the second registration point into a registration point pair.
[0053] The above weighted distance can be calculated according to the following formula:
[0054] Weighted value dw[i]=(D-distance[i])*T[i], where distance[i] is the minimum distance of the corresponding point projections, T[i] is the weighting coefficient, and D is the threshold, that is, the first preset distance, such as 0.243-0.3 mm.
[0055] R1[i]=(P1[i]–L1)*dw[i], i=0……N, N is the number of point pairs, R1 is the first registration point, P1 is the first sub-point cloud, and L1 is the first zero point.
[0056] R2[i]=(P2[i]–L2)*dw, i=0……N, N is the number of point pairs, R2 is the second registration point, P2 is the first sub-point cloud, and L2 is the first zero point.
[0057] It can be understood that the acquired second point pairs are composed of points in the first registered point cloud of the second point cloud and their projected points, wherein the projected points are points on the triangular mesh surface of the target sub-surface. Since there are multiple points in the first registered point cloud of the second point cloud, the second point pairs may include the first sub-point cloud and the second sub-point cloud, wherein the points in the first sub-point cloud are all points in the first registered point cloud of the second point cloud, and the points in the second sub-point cloud are all points on the target sub-surface. For example, the first sub-point cloud is A[X]={P1, P2, P3,..., Px}, and the second sub-point cloud is B[X]={P11, P21, P31,..., Px1}, wherein Px1 is the projected point of Px, and the first sub-point cloud A[X] and the second sub-point cloud B[X] may constitute x second point pairs such as (Px, Px1).
[0058] Further, when obtaining the registration point pair of the point cloud data according to the second point pair, the first zero point P0 and the second zero point P0' of the first sub-point cloud A[X] and the second sub-point cloud B[X] can be obtained respectively according to the points P1, P2, P3, ..., Px in the first sub-point cloud A[X] and the points P11, P21, P31, ..., Px1 in the second sub-point cloud B[X], and then each point P1, P2, P3, ..., Px in the first sub-point cloud A[X] is compared with the first sub-point cloud B[X], and the first zero point P0 and the second zero point P0' of the first sub-point cloud A[X] are compared with the first sub-point cloud B[X], and the first zero point P0 and the second zero point P0' of the second sub-point cloud B[X] are obtained respectively. The zero point P0 is weightedly distanced to obtain the first registration point A'[X]={P10, P20, P30, ..., Px0}, and the points P11, P21, P31, ..., Px1 in the second sub-point cloud B[X] are weightedly distanced to the second zero point P0' to obtain the second registration point B'[X]={P110, P210, P310, ..., Px10}, thereby obtaining the registration point pair A'[X]-B'[X], such as (Px0, Px10).
[0059] In this embodiment, the registration point pairs are obtained by performing weighted distance calculations between each point in the first sub-point cloud and the second sub-point cloud and the first zero point and the second zero point, respectively, so that the influence factors of points with closer corresponding points are larger, thereby improving the registration efficiency.
[0060] Furthermore, the first rotation and translation matrix T1 can be obtained based on the registration point pair A'[X]-B'[X] by using the quaternion method, the singular value decomposition method, etc., and then the first sub-point cloud A[X] in the first registration point cloud of the second point cloud is transformed by the first rotation and translation matrix T1 to obtain the first transformed point cloud Q[X], and the registration result of the first registration point cloud of the second point cloud and the current surface to be registered is determined based on the first transformed point cloud Q[X], and the first sub-point cloud A[X] in the first registration point cloud of the second point cloud is updated using the first transformed point cloud Q[X]. If the registration is not completed, the current point cloud transformation times are obtained, and it is determined whether the current point cloud transformation times meet the first preset condition.
[0061] The current point cloud transformation times satisfying the first preset condition may include the current point cloud transformation times being less than or equal to a first preset value (eg, 1 times). If the current point cloud transformation times exceeds the preset times (eg, 5 times), the approximation step is skipped.
[0062] refer to Figure 3 As shown, if the current point cloud transformation times meet the first preset condition, such as the first registered point cloud of the updated second point cloud, i.e., the first transformed point cloud Q[X], is obtained by transforming the first registered point cloud of the second point cloud once, i.e., the first transformed point cloud, an approximation algorithm can be used to iteratively obtain the approximate rotation and translation matrix T according to the first rotation and translation matrix T1. The first registered point cloud of the second point cloud is transformed continuously multiple times using the approximate rotation and translation matrix T to obtain the approximate transformed point cloud until the second preset condition is met, and the approximate transformed point cloud is used to update the first registered point cloud of the second point cloud.
[0063] Among them, using an approximation algorithm to obtain an approximate rotation and translation matrix T according to the first rotation and translation matrix T1 may include: obtaining a rotation angle (θx, θy, θz) and a translation h according to the first rotation and translation matrix T1; calculating a first average distance dMean of the first registration point cloud of the second point cloud before updating and a second average distance dMean′ of the first transformed point cloud Q[X], wherein the first average distance dMean of the first registration point cloud of the second point cloud is the average value of the distances between the points on the first registration point cloud of the second point cloud in the registration point pair and the corresponding points on the surface to be registered, and the second average distance dMean′ of the first transformed point cloud Q[X] is the average value of the distances between the points on the first transformed point cloud Q[X] in the registration point pair and the corresponding points on the surface to be registered; according to the first average distance dMean, the second average distance dMean′, the rotation angle (θx, θy, θz) and the translation h, the approximate rotation and translation matrix T is obtained.
[0064] Among them, according to the first average distance dMean, the second average distance dMean′, the rotation angle (θx, θy, θz) and the translation h, obtaining the approximate rotation transformation matrix T can further include calculating the ratio of the second average distance dMean′ to the first average distance dMean; multiplying the ratio by the rotation angle (θx, θy, θz) and the translation h to obtain the approximate rotation translation matrix T.
[0065] Further, using the approximate rotation and translation matrix to continuously transform the first registered point cloud of the second point cloud for multiple times to obtain the approximate transformed point cloud until the second preset condition is met may include: using the approximate rotation and translation matrix to transform the first registered point cloud of the second point cloud to obtain the second transformed point cloud; calculating the second average distance of the second transformed point cloud, and judging whether the second average distance is less than the second average distance calculated last time, the second average distance of the second transformed point cloud is the average of the distances between the points on the second transformed point cloud and the corresponding points on the current surface to be registered in the registration point pair; if less than, updating the first registered point cloud of the second point cloud with the second transformed point cloud, and returning to the step of transforming the first registered point cloud of the second point cloud with the approximate rotation and translation matrix to obtain the second transformed point cloud; if greater than or equal to, the second preset condition is met.
[0066] For example, the first registration point cloud of the updated second point cloud, i.e., the first transformed point cloud Q[X], is transformed using the approximation rotation and translation matrix T to obtain the second transformed point cloud Q[X]', and then the second average distance dMean' of the second transformed point cloud Q[X]' is calculated, and then it is determined whether the second average distance dMean' is less than the second average distance dMean' calculated last time. If it is less than, the second transformed point cloud Q[X]' is transformed using the approximation rotation and translation matrix T to obtain the first registration point cloud of the updated second point cloud. If the second average distance dMean' is greater than or equal to the second average distance dMean' calculated last time, it indicates that the second average distance dMean' of the first registration point cloud of the updated second point cloud is no longer reduced, and the first registration point cloud of the updated second point cloud meets the second preset condition.
[0067] S105: Determine whether the first registered point cloud matches the surface to be registered according to the registration result.
[0068] Specifically, the first registered point cloud of the second point cloud can be updated to the approximate transformation point cloud, and then it is determined whether the dMean′ at this time is less than the set threshold. If it is less than, it means that the first registered point cloud of the second point cloud and the surface to be registered meet the registration conditions, and the registration ends. Alternatively, it is determined whether the number of iterations is greater than the set number of iterations. If it is greater than, it means that the first registered point cloud of the second point cloud and the surface to be registered do not meet the registration conditions, and the registration ends. If both of the above conditions are not met, the iteration is entered, and then the first rotation and translation matrix is obtained based on the updated first registered point cloud of the second point cloud and the surface to be registered, and then the first rotation and translation matrix is used to transform the updated first registered point cloud of the second point cloud until the transformed first registered point cloud of the second point cloud and the surface to be registered meet the registration conditions or exceed the number of iterations.
[0069] S106, if it matches, then perform surface fusion according to the registration result to obtain a new registered and fused surface, and return to the step of determining the second point cloud to be registered from the point cloud data until all point cloud data are registered and fused.
[0070] In one embodiment of the present invention, the method may further include: when the first registered point cloud of the second point cloud is matched with the surface to be registered, a second registered point cloud corresponding to the second point cloud is obtained, and the average distance between the second registered point cloud and the nearest corresponding point on the surface to be registered is calculated, which is recorded as the nearest point distance; wherein, based on the registration results of all points to the surface corresponding to the first point cloud, the first point cloud is re-determined, including: comparing all currently valid nearest point distances; updating the point cloud corresponding to the nearest point distance with the smallest value to the first point cloud, and setting the nearest point distance with the smallest value to invalid.
[0071] Specifically, a new first point cloud can be selected based on the average distance between the first registered point cloud of the second point cloud and the nearest corresponding point on the current surface to be registered, that is, the value of the nearest point distance. Specifically, the point cloud with a valid nearest point distance and the smallest value in the first registered point cloud of the second point cloud is selected as the first point cloud, and its nearest point distance is set to invalid, and then the step of traversing the neighborhood point cloud of the first point cloud is returned until no neighborhood point cloud with a valid nearest point distance is traversed.
[0072] Among them, Figure 4 As shown, when there is no valid closest point distance, determine whether there is still a point cloud with the attribute of the second identifier Ture; if not, determine that all point cloud data have completed registration and fusion; if so, select one from the currently existing point clouds with the attribute of the second identifier Ture as the second point cloud to be registered. Perform point-to-surface registration on the first registered point cloud of the second point cloud and the current surface to be registered; determine whether the first registered point cloud of the second point cloud matches the surface to be registered based on the registration result; if it matches, perform surface fusion based on the registration result to obtain a new surface to be registered, and set the attribute of the second point cloud to the first identifier False, and use the second point cloud as the first point cloud, and return to the step of determining the second point cloud to be registered from the neighborhood point cloud of the first point cloud; if it does not match, return to the step of determining whether there is still a point cloud with the attribute of the second identifier Ture.
[0073] According to the method for processing point cloud data of an embodiment of the present invention, the first registration point cloud of each point cloud is determined through the point-to-point registration result of the point cloud data, and the second point cloud to be registered is determined from the point cloud data, and then the surface to be registered is determined based on the surface that has currently completed the registration and fusion, and then the first registration point cloud of the second point cloud and the surface to be registered are point-to-surface registered, and then it is determined whether the first registration point cloud and the surface to be registered match according to the registration result, and if they match, the surfaces are fused according to the registration result to obtain a new surface that has completed the registration and fusion, and then the step of determining the second point cloud to be registered from the point cloud data is returned until all point cloud data are completed The registration and fusion are completed, this method can achieve accurate point-to-surface registration and improve the speed of point-to-surface registration.
[0074] Furthermore, the present invention also proposes a point cloud data registration device, including a memory, a processor, and a computer program stored in the memory, and when the computer program is executed by the processor, the above-mentioned point cloud data processing method is implemented.
[0075] According to the point cloud data registration device of the embodiment of the present invention, accurate point-to-surface registration is achieved through the above-mentioned point cloud data processing method, thereby improving the point-to-surface registration speed.
[0076] Furthermore, the present invention also provides an intraoral scanning device. Figure 5 As shown, the intraoral scanning device 1000 may include the above-mentioned point cloud data registration device 100.
[0077] According to the intraoral scanning device of the embodiment of the present invention, the point cloud data registration device thereon realizes accurate point-to-surface registration through the above-mentioned point cloud data processing method, thereby improving the point-to-surface registration speed.
[0078] According to the above embodiment, a preferred example is set, which will be described in detail below.
[0079] During the scanning process, there are often errors in the position of the 3D model data due to errors in the data itself or errors in registration and fusion. If the next registration and fusion is performed in chronological order, the error of the previous one will be superimposed. The best registered spatial position is selected as the first point cloud, and the neighboring point cloud (second point cloud) in the spatial position is found for registration, and the matched point cloud is fused to the first surface until the second point cloud is completely traversed. Then the position with the best registration and fusion result is selected as the new first point cloud, and the neighboring point cloud in the spatial position is continued to be found for registration and fusion. The above steps are repeated until all point clouds are registered and fused to the first surface.
[0080] If the registration effect is not good, there may be a problem with the original data. The original data is affected by many factors, such as reflection, light transmission, movement, excess soft tissue (such as tongue), etc., which lead to errors in stripe extraction. The depth position of the reconstructed point is wrong. This error will be slowly smoothed out during the registration. Therefore, the best registered point cloud is selected to create the initial first surface. Compared with other initial point clouds and initial surfaces, it can reduce the superposition of errors and improve the registration accuracy.
[0081] Combined with the above-mentioned problems in real-time scanning, the advantage of this method is that it combines spatial information with registration and fusion accuracy. On the one hand, the spatial position with the highest accuracy is selected as the first point cloud through the registration and fusion return results, which effectively avoids the increasingly inaccurate position accuracy caused by the superposition of errors of multiple point clouds. On the other hand, the registration and fusion of multiple neighborhood point clouds effectively smooths out the superposition effect of the large error of a single original point cloud on the overall result caused by jitter during the scanning process, hardware jumps, etc.
[0082] The overall process is as follows Figure 6 As shown, the label They correspond to the primary judgment, secondary judgment and tertiary judgment in the following text respectively. Before making the primary judgment, secondary judgment and tertiary judgment, preprocessing is performed first.
[0083] The pre-processing process is as follows Figure 7 As shown, the preprocessing steps are as follows:
[0084] (1) During the real-time scanning process, each point cloud (such as the i-th point cloud Points[i]), the corresponding rotation and translation matrix (such as the i-th rotation and translation matrix TransFromRealTime[i]), and the registration return value of each point cloud (that is, the average value of the distance between the corresponding points of the point cloud and the overall point cloud after the registration is completed, the smaller the value, the better the registration and the more accurate the position, such as the registration return value of the i-th point cloud is DistRealTime[i]) can be obtained in chronological order.
[0085] After the registration is completed, the average value of the distance between the corresponding points of the point cloud and the overall point cloud is taken. The overall point cloud refers to all the point clouds that have completed the registration before the point cloud is registered. The average value of the distance refers to the sum of the distances from each point in the point cloud to its corresponding point in the overall point cloud divided by the number of points in the point cloud. Scanning will continue and new point clouds will continue to participate in the registration.
[0086] It should be noted that the first point cloud is not actually involved in the registration. Registration requires two sets of point clouds (existing point cloud and overall point cloud). There is only one set of point clouds in the first point cloud, so the return value of the first point cloud is 10000 (a set maximum value). The point cloud collected for a single jaw can reach about 2000 points, and this return value is only for selecting the initial position, so it does not matter if the first point cloud is not considered as the initial position.
[0087] (2) Points[i] is transformed into Points′[i] according to the corresponding rotation and translation matrix. The centroid of Points′[i] is obtained to obtain the centroid coordinates pCenter[i], and the MC grid bounding box of Points′[i] is obtained to obtain the bounding grid pGrid[i]. Registration fusion is based on the idea of MC surface reconstruction, which not only requires the location of the point, but also requires the topological relationship for subsequent MC surface reconstruction. Therefore, the MC surface can be directly obtained based on the location of the triangular grid points and their topological information, without the need for complete surface reconstruction.
[0088] (3) Calculate the neighborhood point cloud group of each point cloud: If the distance between the centroid coordinates of a point cloud is less than 5 mm and the overlap of the surrounding grid is greater than 50%, it is a neighborhood point cloud. The neighborhood point clouds are numbered according to the order of the overlap. For example, if the neighborhood point cloud group of a point cloud has N neighborhood point clouds, they are numbered 0, 1, 2...N-1 from large to small according to the overlap.
[0089] The barycentric coordinate distance refers to the distance between the barycentric coordinates of Points[i] and Points[j], and the overlap of the enclosing grid refers to the overlap of pGrid[i] and pGrid[j].
[0090] (4) Select the corresponding point cloud with the smallest DistRealTime[i] as the initial first point cloud, mark the point cloud attribute as False, and mark the other point clouds as True. The first point cloud is reconstructed into the first surface through MC surface reconstruction.
[0091] It should be noted that, through preprocessing, a neighborhood point cloud group (second point cloud) of each point cloud (first point cloud) can be obtained.
[0092] Furthermore, the first-level judgment process is as follows Figure 8 As shown, the first-level judgment steps are as follows:
[0093] Find the second point cloud (neighborhood point cloud) numbered 0 of the first point cloud, and determine whether the point cloud attribute is True. If so, enter the processing module. If not, determine the next second point cloud numbered 1 until all second point clouds are traversed.
[0094] Among them, the processing module steps are as follows:
[0095] Perform the corresponding rotation and translation matrix TransFromRealTime[i] on the second point cloud to obtain the transformed third point cloud. Then perform point-to-surface registration on the third point cloud and the first surface. Then determine whether the third point cloud and the first surface match. If so, perform the registration matrix transformation on the third point cloud to obtain the fourth point cloud, and calculate the average distance between the fourth point cloud and the nearest corresponding point of the first surface, which is Dist[i], and merge the fourth point cloud MC into the first surface, and mark the attribute of the second point cloud as False.
[0096] If not, proceed to determine the second point cloud with the next number.
[0097] It should be noted that, through the first-level judgment, the neighborhood point cloud group of the first point cloud can be registered and fused, thereby effectively smoothing out the superimposed influence of the large error of a single original point cloud caused by jitter in the scanning process, hardware jump, etc. on the overall result of a single image (second point cloud).
[0098] Furthermore, the second-level judgment steps are as follows: After the neighboring point clouds (second point clouds) of the current first point cloud are traversed and processed, enter the second-level judgment, find the corresponding point cloud with valid Dist and the smallest value in the point cloud group, use it as the first point cloud, and set its Dist to invalid. Then return to the first-level judgment to traverse the neighborhood until no valid Dist corresponding point cloud is found, and enter the third-level judgment. The specific judgment steps are as follows:
[0099] Determine whether there is a point cloud with a point cloud attribute of True. If not, all point clouds are registered and fused to generate the final 3D surface model. If yes, randomly select a point cloud with a point cloud attribute of True as the second point cloud, perform point-to-surface registration, and determine whether the registration result meets the registration conditions. If yes, mark the point cloud attribute of the current second point cloud as False, then fuse it to the first surface, and use it as the first point cloud, and return to the first level judgment for neighborhood traversal. If not, re-enter the third level judgment and select other point clouds with point cloud attributes of True.
[0100] Reference Fig. 9 , the point-to-surface registration process used in the above process is as follows:
[0101] (1) According to the bounding grid of the point cloud, a part of the first surface (i.e., the second surface) is segmented to participate in the point-to-surface registration calculation.
[0102] Among them, the first surface is gradually enlarged through multiple registration and fusion, but each step of registration and fusion does not require the participation of all the data of the first surface. For example, if the new point cloud is at the position of the right molar, there is no need to calculate the surface of the left molar, otherwise it will only increase the amount of calculation.
[0103] (2) A small bounding box is formed for each point on the point cloud, and the second surface is divided into third surfaces according to the small bounding box. That is, each point on the point cloud corresponds to a third surface, and the entire point cloud corresponds to a third surface group.
[0104] The small bounding box can be selected according to a threshold value, and the threshold value generally selects a bounding box of 5*5*5 or 9*9*9.
[0105] (3) Project the point P on the point cloud onto each triangular mesh surface G[j] (j = 0, 1, ..., m) of the corresponding third surface to determine whether the projection point falls within the triangular mesh. If so, save the distance D[i] from the point on the point cloud to the projection point and the projection point coordinates Pro[i] (i = 0, 1, ..., n), where n < = m. After each registration, the overall point cloud will be fused. This process is the existing algorithm based on the TSDF fusion of the MC surface. Whether there is a triangle in each mesh, and the relationship between the triangle and the triangle vertex (i.e., the point on the edge of the mesh) is always determined, and the topological relationship is always attached, so which three points form a three-mesh surface is determined.
[0106] The projection point can be obtained by using the interior angle sum method, the same direction method, the area method, the centroid method, etc.
[0107] (4) Select the point with the smallest D[i] as the corresponding point of point P, and remove the point pairs with a distance greater than 0.245 mm (considered to be misregistration points). Finally, the corresponding point pairs are formed: A[i] (valid point on the point cloud) - B[i] (valid point on the third surface).
[0108] (5) Calculate the average coordinates of the two point clouds A[i] and B[i] respectively, and use the average points Point_a and Point_b as the zero points of the two point clouds. Recalculate the point cloud coordinates based on the weighted distance between each point and Point_a and Point_b, that is, the corresponding distance multiplied by the corresponding weight value, as the new corresponding point pair A′[i]-B′[i]. Then, use the quaternion method, singular value decomposition method, etc. to obtain the rotation and translation matrix Transform.
[0109] Wherein, the weighted value dw[i]=(D-distance[i])*T[i], where distance is the minimum distance obtained in step (4), T is the weighting coefficient, and D can be a threshold value determined based on the registration accuracy, similar test results or experience, i.e., the first preset distance, such as 0.243-0.3 mm.
[0110] It should be noted that the purpose of calculating the weighted distance is to control the influence of corresponding points on the rotation and translation matrix, so that the influence factor of points with closer corresponding points is greater, thereby speeding up the number of registration iterations.
[0111] (6) Use the rotation and translation matrix to transform the point cloud and determine whether the distance between the point pairs is small enough. If the conditions are met, the registration is completed. Otherwise, repeat steps (2), (3), (4), (5), and (6) until the registration conditions are met or the set number of iterations is exceeded.
[0112] (7) When performing the rotation and translation matrix transformation for the first time, that is, when the number of iterations is the first time, additional operations are required, as follows: The rotation angle (θx, θy, θz) is calculated through the rotation and translation matrix Transform, and the approximation coefficient is calculated based on the average distance dMean of the point pairs before the rotation transformation and the average distance dMean′ after the rotation transformation: △ = dMean′ / dMean, and the approximation coefficient is multiplied by the rotation angle (θx, θy, θz) and the translation amount (Tx, Ty, Tz) to obtain the inverse rotation and translation matrix ΔTransform. Then, the transformed point cloud is transformed with the rotation and translation matrix ΔTransform for multiple times until dMean′ no longer decreases.
[0113] The purpose of the first rotation and translation processing is to iterate quickly. In actual projects, it is found that multiple iterations are required to match the point cloud and the first surface, that is, the iteration speed is too slow. Through the first rotation and translation matrix transformation processing, the point cloud can quickly approach the first surface, reduce the number of iterations, and speed up the alignment speed.
[0114] like Fig.10 and Fig.11 As shown in the figure, a set of actual scanning data results is given. After real-time scanning, the accuracy is 0.098817mm on average and 0.092013mm on standard deviation. After sorting and optimization, the accuracy is improved to 0.041527mm on average and 0.041207mm on standard deviation. Therefore, the accuracy of the overall model can be effectively improved.
[0115] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection portion with one or more wirings (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or otherwise processing in a suitable manner if necessary, and then stored in a computer memory.
[0116] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0117] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of the present invention, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0118] Although the embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present invention. A person skilled in the art may change, modify, replace and vary the above embodiments within the scope of the present invention.
Claims
1. A method for processing point cloud data, characterized in that: The following steps are involved: Determine a first registration point cloud for each point cloud according to the point-to-point registration result of the point cloud data; Determine a second point cloud to be registered from the point cloud data; According to the currently registered and fused surfaces, the surface to be registered is determined; Performing point-to-surface registration on the first registered point cloud of the second point cloud and the surface to be registered; Determining whether the first registered point cloud matches the surface to be registered according to the registration result; If it matches, then the surface fusion is performed according to the registration result to obtain a new surface that has completed the registration and fusion, and the process returns to the step of determining the second point cloud to be registered from the point cloud data until all the point cloud data have completed the registration and fusion; Determining a second point cloud to be registered from the point cloud data includes: Determine a first point cloud, wherein the initial first point cloud and the neighborhood point clouds of each point cloud are obtained according to the point-to-point registration result of the point cloud data, and the initial surface to be registered is obtained by surface reconstruction according to the initial first point cloud; Determining a second point cloud to be registered from a neighborhood point cloud of the first point cloud; Among them, when the neighborhood point cloud of the first point cloud is traversed, the first point cloud is re-determined according to the registration results of all points to surfaces, and the step of determining the second point cloud to be registered from the neighborhood point cloud of the first point cloud is returned until all point cloud data are registered and fused.
2. The method for processing point cloud data according to claim 1, characterized in that: The method further comprises: Setting the attribute of the initial first point cloud as a first identifier, and setting the initial attributes of other point clouds as second identifiers; and When the first registered point cloud of the second point cloud is matched with the surface to be registered, setting the attribute of the second point cloud to the first identifier; The step of determining a second point cloud to be registered from a neighborhood point cloud of the first point cloud comprises: A point cloud having an attribute of a second identifier is selected from the neighborhood point clouds of the first point cloud, and the point cloud is used as the second point cloud to be registered.
3. The method for processing point cloud data according to claim 1, characterized in that: The initial first point cloud is obtained according to the following method: Determining a first registration return value of each point cloud in the point cloud data from a point-to-point registration result of the point cloud data; The point cloud corresponding to the first registration return value with the smallest value is used as the initial first point cloud.
4. The method for processing point cloud data according to claim 2, characterized in that: The method further comprises: When the first registered point cloud of the second point cloud is matched with the surface to be registered, a second registered point cloud corresponding to the second point cloud is obtained, and an average distance between the second registered point cloud and the nearest corresponding point on the surface to be registered is calculated, which is recorded as the nearest point distance; Wherein, re-determining the first point cloud according to all point-to-plane registration results includes: Compare all currently valid closest point distances; The point cloud corresponding to the smallest closest point distance is updated as the first point cloud, and the smallest closest point distance is set to invalid.
5. The method for processing point cloud data according to claim 4, characterized in that: The method further comprises: When there is no valid closest point distance, determine whether there is still a point cloud with the attribute of the second identifier; If it does not exist, it is determined that all point cloud data have completed registration and fusion; If it exists, select one from the currently existing point clouds whose attribute is the second identifier as the second point cloud to be registered; According to the currently registered and fused surfaces, the surface to be registered is determined; Performing point-to-surface registration on the first registered point cloud of the second point cloud and the surface to be registered; Determining whether the first registered point cloud of the second point cloud matches the surface to be registered according to the registration result; If it is matched, then the surface fusion is performed according to the registration result to obtain a new surface that has completed the registration and fusion, and the attribute of the second point cloud is set to the first identifier, and the second point cloud is used as the first point cloud, and the step of determining the second point cloud to be registered from the neighborhood point cloud of the first point cloud is returned; If they do not match, the process returns to the step of determining whether there is still a point cloud with the attribute of the second identifier.
6. The method for processing point cloud data according to claim 1, characterized in that: The neighborhood point cloud of each point cloud is obtained according to the point-to-point registration result of the point cloud data, including: Based on the point-to-point registration results of the point cloud data, each point cloud and its corresponding initial rotation and translation matrix are obtained; Obtaining the centroid coordinates and the surrounding grid of the corresponding point cloud according to the initial rotation and translation matrix; The neighborhood point cloud of each point cloud is determined according to the barycentric coordinates and the surrounding grid.
7. The method for processing point cloud data according to claim 6, characterized in that: The step of determining the neighborhood point cloud of each point cloud according to the barycentric coordinates and the surrounding grid includes: Calculate the centroid distance between any two point clouds according to their centroid coordinates, and calculate the overlap of the enclosing grids of the two point clouds; If the centroid distance is less than a preset distance threshold, and the overlap degree is greater than a preset overlap degree threshold, one of the two point clouds is recorded as a neighborhood point cloud of the other.
8. The method for processing point cloud data according to any one of claims 1 to 7, characterized in that: The performing point-to-surface registration of the first registration point cloud of the second point cloud and the surface to be registered comprises: Obtain a first rotation and translation matrix according to the first registration point cloud of the current second point cloud and the surface to be registered; Transforming the first registered point cloud of the second point cloud by using the first rotation and translation matrix to obtain a first transformed point cloud, and updating the first registered point cloud of the second point cloud by using the first transformed point cloud; Determine whether the current point cloud transformation times meets the first preset condition; If satisfied, an approximation rotation and translation matrix is obtained according to the first rotation and translation matrix by using an approximation algorithm, and the first registration point cloud of the second point cloud is transformed multiple times continuously by using the approximation rotation and translation matrix to obtain an approximation transformation point cloud until a second preset condition is satisfied, and the first registration point cloud of the second point cloud is updated by using the approximation transformation point cloud; Determine whether the registration is completed based on the first registered point cloud of the current second point cloud and the surface to be registered. If not, return to the step of obtaining the first rotation and translation matrix based on the first registered point cloud of the current second point cloud and the surface to be registered until the point-to-surface registration is completed.
9. The method for processing point cloud data according to claim 8, characterized in that: The step of determining the surface to be registered based on the currently registered and fused surface includes: The surface that has completed the registration and fusion is segmented according to the enclosing grid of the first registered point cloud of the second point cloud to obtain the surface to be registered.
10. The method for processing point cloud data according to claim 9, characterized in that: The step of obtaining a first rotation and translation matrix according to the first registration point cloud of the current second point cloud and the surface to be registered includes: Segment the surface to be registered according to each point in the first registered point cloud of the current second point cloud to obtain a target sub-surface corresponding to each point; Obtaining a registration point pair of the first registration point cloud of the second point cloud according to each point in the first registration point cloud of the second point cloud and its corresponding target sub-surface; The first rotation and translation matrix is obtained according to the registration point pair.
11. The method for processing point cloud data according to claim 10, characterized in that: The step of obtaining an approximated rotation and translation matrix according to the first rotation and translation matrix by using an approximation algorithm includes: Obtaining a rotation angle and a translation amount according to the first rotation and translation matrix; Calculate a first average distance of the first registered point cloud of the second point cloud and a second average distance of the first transformed point cloud before updating, wherein the first average distance of the first registered point cloud of the second point cloud is an average of distances between points in the registered point pairs on the first registered point cloud of the second point cloud and corresponding points on the surface to be registered, and the second average distance of the first transformed point cloud is an average of distances between points in the registered point pairs on the first transformed point cloud and corresponding points on the surface to be registered; The approximate rotation and translation matrix is obtained according to the first average distance, the second average distance, the rotation angle and the translation amount.
12. The method for processing point cloud data according to claim 10, characterized in that: The method of using the approximation rotation and translation matrix to continuously transform the first registration point cloud of the second point cloud for multiple times to obtain the approximation transformation point cloud until a second preset condition is satisfied includes: Transforming the first registered point cloud of the second point cloud using the approximation rotation and translation matrix to obtain a second transformed point cloud; Calculating a second average distance of the second transformed point cloud, and determining whether the second average distance is less than the second average distance calculated last time, the second average distance of the second transformed point cloud being an average of distances between points in the registration point pairs on the second transformed point cloud and corresponding points on the surface to be registered; If it is less than, then using the second transformed point cloud to update the first registered point cloud of the second point cloud, and returning to the step of transforming the first registered point cloud of the second point cloud using the approximate rotation and translation matrix to obtain the second transformed point cloud; If it is greater than or equal to, the second preset condition is met.
13. The method for processing point cloud data according to claim 10, characterized in that: The target sub-surface is obtained according to the triangular mesh points, wherein the registration point pairs of the first registration point cloud of the second point cloud are obtained according to each point in the first registration point cloud of the second point cloud and its corresponding target sub-surface, including: Projecting each point in the first registered point cloud of the second point cloud onto each triangular mesh of the corresponding target subsurface to obtain a corresponding projection point; Calculate the distance between each point in the first registered point cloud of the second point cloud and each corresponding projection point to obtain a plurality of first distances; According to the multiple first distances corresponding to each point in the first registered point cloud of the second point cloud, the registered point pairs of the second point cloud are obtained.
14. The method for processing point cloud data according to claim 13, characterized in that: The obtaining the registration point pairs of the second point cloud according to the plurality of first distances corresponding to each point in the first registration point cloud of the second point cloud comprises: For each point in the first registered point cloud of the second point cloud, select a projection point corresponding to a first distance with a minimum value from the corresponding multiple first distances to form a point pair with the point, so as to obtain a first point pair; Discarding the point pairs whose distances among the first point pairs are greater than the first preset distance, to obtain the second point pairs; A registration point pair of a first registration point cloud of the second point cloud is obtained according to the second point pair.
15. The method for processing point cloud data according to claim 14, characterized in that: The second point pair includes a first sub-point cloud and a second sub-point cloud, points in the first sub-point cloud are all points in a first registered point cloud of the second point cloud, and points in the second sub-point cloud are all points on the surface to be registered, wherein the registration point pair of the first registered point cloud of the second point cloud is obtained according to the second point pair, comprising: Determine a first zero point and a second zero point, wherein a coordinate value of the first zero point is an average value of coordinate values of all points in the first sub-point cloud, and a coordinate value of the second zero point is an average value of coordinate values of all points in the second sub-point cloud; A first registration point is obtained by calculating the weighted distance between each point in the first sub-point cloud and the first zero point, and a second registration point is obtained by calculating the weighted distance between each point in the second sub-point cloud and the second zero point, and the first registration point and the second registration point are paired to form the registration point pair.
16. A point cloud data registration device, comprising a memory, a processor, and a computer program stored in the memory, wherein when the computer program is executed by the processor, the point cloud data processing method according to any one of claims 1 to 15 is implemented.
17. An intraoral scanning device, characterized in that: A point cloud data registration device comprising the point cloud data as claimed in claim 16.
