Point cloud registration method, storage medium, electronic device, and medical imaging device

CN115861035BActive Publication Date: 2026-09-25HEFEI MEIYA OPTOELECTRONICS TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111115703.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-23
Publication Date
2026-09-25
Estimated Expiration
2041-09-23

AI Technical Summary

Technical Problem

[0004]口内扫描仪或口腔CT采用常规的配准方法进行配准,要么配准精度达不到要求,要么配准速度跟不上

Benefits of technology

[0031]根据本发明实施例提供的医疗影像设备,通过获取模块获取待配准点云数据,第一确定模块根据待配准点云数据的每个配准点确定有效点对,第二确定模块根据有效点对确定变换矩阵,变换模块根据变换矩阵对每个配准点进行矩阵变换,获取变换后的有效点对,第三确定模块根据变换后的有效点对确定配上点对,最后配准模块根据有效点对的数量、配上点对的数量和待配准点云数据的配准点总数进行配准成功判断,无需通过法线来判断是否配上,能够大大提高点云配准精度的同时,加快了点云配准速度。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115861035B_ABST
    Figure CN115861035B_ABST
Patent Text Reader

Abstract

The application discloses a point cloud registration method, a storage medium, an electronic device and a medical imaging device, and relates to the technical field of point cloud registration. The point cloud registration method comprises the following steps: determining an effective point pair according to each registration point of obtained point cloud data to be registered; determining a transformation matrix according to the effective point pair; performing matrix transformation on each registration point; obtaining a transformed effective point pair; determining a matched point pair according to the effective point pair; and performing registration success judgment according to the number of the effective point pairs and the total number of the registration points of the matched point pairs. The method can determine whether the projection point of the registration point is in a triangular mesh in advance, and when the projection point of the registration point is in the triangular mesh, the Euclidean distance between the registration point and the projection point meeting the condition is calculated, the point cloud registration is determined to be successful according to the effective point pair rate, the matched point pair rate and the non-matched point pair rate, and the point cloud registration precision is improved and the point cloud registration speed is accelerated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of three-dimensional scanning technology, and in particular to a point cloud registration method, a computer-readable storage medium, an electronic device, and a medical imaging device. Background Technology

[0002] With the continuous development of imaging technology, more and more imaging devices can acquire and display three-dimensional images. In this process, registration technology may be required, for example, in the field of medical imaging, intraoral scanners or dental CT (Computed Tomography).

[0003] Intraoral scanners use techniques of simultaneous reconstruction, registration, and fusion during the scanning process to obtain the fused surface, which is then displayed in real time. Dental CT products employ registration technology to register CT data with data acquired by the intraoral scanner, enabling more image reconstruction or display functions. The two sets of data involved in the registration are both very large in magnitude.

[0004] When using conventional registration methods for intraoral scanners or oral CT scans, the registration accuracy may not meet the requirements, or the registration speed may not be fast enough.

[0005] Therefore, how to simultaneously ensure registration accuracy and registration speed is an urgent problem to be solved. Summary of the Invention

[0006] The present invention aims to at least partially solve one of the technical problems in the related art.

[0007] Therefore, the first objective of this invention is to propose a point cloud registration method that determines registration success by determining the number of valid point pairs and the total number of registration points that match the point pairs. This method can improve the accuracy of point cloud registration while also accelerating the registration speed.

[0008] A second objective of this invention is to provide a computer-readable storage medium.

[0009] The third objective of this invention is to provide an electronic device.

[0010] The fourth objective of this invention is to provide a medical imaging device.

[0011] To achieve the above objectives, a first aspect of the present invention provides a point cloud registration method, comprising: acquiring point cloud data to be registered; determining valid point pairs based on each registration point of the point cloud data to be registered; determining a transformation matrix based on the valid point pairs, and performing a matrix transformation on each registration point based on the transformation matrix to obtain transformed valid point pairs; determining matching point pairs based on the transformed valid point pairs, and determining a registration success determination based on the total number of registration points equal to the number of valid point pairs and the number of matching point pairs.

[0012] According to the point cloud registration method provided in the embodiments of the present invention, after acquiring the point cloud data to be registered, effective point pairs are determined according to each registration point of the point cloud data to be registered, and a transformation matrix is ​​determined according to the effective point pairs to perform matrix transformation on each registration point, and the matched point pairs are determined according to the transformed effective point pairs. Finally, the registration success is judged according to the total number of registration points, including the number of effective point pairs and the number of matched point pairs. Therefore, it is not necessary to judge whether the points are matched by using normals, which can greatly improve the point cloud registration accuracy and speed up the point cloud registration.

[0013] In addition, the point cloud registration method according to the above embodiments of the present invention may also have the following additional technical features:

[0014] Optionally, according to an embodiment of the present invention, determining the registration success based on the number of valid point pairs and the total number of registration points of the matched point pairs includes: determining whether the number of valid point pairs and the total number of registration points meet a preset condition; if they do, then determining that the registration is successful; wherein the preset condition includes: the ratio of the number of matched point pairs to the number of valid point pairs is greater than a second preset value.

[0015] Optionally, according to one embodiment of the present invention, the ratio of the number of valid point pairs to the total number of registration points is greater than a first preset value; and / or, the ratio of the number of valid point pairs minus the number of registered point pairs to the total number of registration points is less than a third preset value.

[0016] Optionally, according to an embodiment of the present invention, obtaining point cloud data to be registered includes: obtaining original point cloud data and performing MC surface reconstruction on the original point cloud data to obtain an initial surface; performing point cloudification processing on the initial surface to obtain initial point cloud data to be registered, wherein each registration point of the initial point cloud data to be registered is a vertex of the triangular mesh of the initial surface.

[0017] Optionally, according to an embodiment of the present invention, determining a valid point pair based on each registration point of the point cloud data to be registered includes: acquiring a target surface, the target surface being composed of a triangular mesh; determining a registration region mesh corresponding to each registration point of the point cloud data to be registered from the target surface; for each registration point and each triangular mesh in the registration region, determining whether the projection point of the registration point is located within the triangular mesh; if so, calculating the Euclidean distance between the registration point and the projection point located within the triangular mesh; for each registration point, determining the projection point with the smallest Euclidean distance based on all Euclidean distances corresponding to the registration point, and forming a valid point pair with the projection point with the smallest Euclidean distance.

[0018] Optionally, according to an embodiment of the present invention, determining the registration region corresponding to each registration point of the point cloud data to be registered from the target surface includes: determining a preset range centered on each registration point of the point cloud data to be registered; and taking the triangular mesh region within the preset range on the target surface as the registration region corresponding to the registration point.

[0019] Optionally, according to an embodiment of the present invention, determining whether the projection point of the registration point is located within the triangular mesh includes: using a combination of the centroid method and the vertical vector method to determine whether the projection point of the registration point is located within the triangular mesh.

[0020] Optionally, according to an embodiment of the present invention, the transformation matrix includes a rotation matrix and a translation matrix, wherein determining the transformation matrix based on the effective point pairs includes: centering the effective point pairs and obtaining the covariance matrix; performing a matrix transformation on the covariance matrix to obtain a real symmetric matrix; calculating the real symmetric matrix using the iterative Jacobi method to obtain a quaternion; converting the quaternion into the rotation matrix, and determining the translation matrix based on the rotation matrix.

[0021] Optionally, according to an embodiment of the present invention, before determining the matching point pair based on the transformed valid point pair, the method further includes: calculating the average Euclidean distance of the transformed valid point pair; determining whether the average Euclidean distance is greater than or equal to a first preset distance threshold; when the average Euclidean distance is greater than or equal to the first preset distance threshold, taking each transformed registration point as the point cloud data to be registered, and repeatedly executing the process of determining valid point pairs based on each registration point of the point cloud data to be registered, determining a transformation matrix based on the valid point pair, and performing matrix transformation on each registration point based on the transformation matrix to obtain the transformed valid point pair, until the average Euclidean distance of the transformed valid point pair is less than the first preset distance threshold.

[0022] Optionally, according to an embodiment of the present invention, before calculating the average Euclidean distance, the method further includes: obtaining the number of matrix transformations performed on each registration point, and determining whether the number of matrix transformations performed on each registration point has reached a preset number.

[0023] Optionally, according to an embodiment of the present invention, determining the matching point pair based on the transformed valid point pair includes: determining the matching point pair based on the transformed valid point pair when the average Euclidean distance of the transformed valid point pair is less than a first preset distance threshold or when the number of matrix transformations performed on each registration point reaches a preset number.

[0024] Optionally, according to an embodiment of the present invention, determining the matching point pair based on the transformed valid point pair includes: obtaining the Euclidean distance between the valid registration point and the corresponding projection point in the transformed valid point pair; and taking the point pair with the Euclidean distance between the valid registration point and the corresponding projection point being less than a second preset distance threshold as the matching point pair.

[0025] Optionally, according to an embodiment of the present invention, the first preset value ranges from (0.2, 0.5), the second preset value ranges from (0.5, 0.99), and the third preset value ranges from (0.05, 0.4).

[0026] To achieve the above objectives, a second aspect of the present invention provides a computer-readable storage medium storing a point cloud registration program thereon, which, when executed by a processor, implements the point cloud registration method described in the above embodiments.

[0027] According to the computer-readable storage medium provided in the embodiments of the present invention, when the stored point cloud registration program is executed by the processor, the point cloud registration method described above can be executed, which can greatly improve the point cloud registration accuracy and speed up the point cloud registration.

[0028] To achieve the above objectives, a third aspect of the present invention provides an electronic device, including a memory, a processor, and a point cloud registration program stored in the memory and executable on the processor. When the processor executes the point cloud registration program, it implements the point cloud registration method of the above embodiments.

[0029] According to the electronic device provided in the embodiments of the present invention, when the processor executes the point cloud registration program, by implementing the above-described point cloud registration method, the point cloud registration accuracy can be greatly improved while the point cloud registration speed can be accelerated.

[0030] To achieve the above objectives, a fourth aspect of the present invention provides a medical imaging device, comprising: an acquisition module for acquiring point cloud data to be registered; a first determination module for determining valid point pairs based on each registration point in the point cloud data to be registered; a second determination module for determining a transformation matrix based on the valid point pairs; a transformation module for performing a matrix transformation on each registration point based on the transformation matrix to obtain transformed valid point pairs; a third determination module for determining matched point pairs based on the transformed valid point pairs; and a registration module for determining successful registration based on the total number of registration points, which is the number of valid point pairs and the number of matched point pairs.

[0031] According to the medical imaging device provided in the embodiments of the present invention, the acquisition module acquires point cloud data to be registered, the first determining module determines valid point pairs based on each registration point in the point cloud data to be registered, the second determining module determines a transformation matrix based on the valid point pairs, the transformation module performs matrix transformation on each registration point based on the transformation matrix to obtain the transformed valid point pairs, the third determining module determines the matched point pairs based on the transformed valid point pairs, and finally the registration module determines the registration success based on the number of valid point pairs, the number of matched point pairs, and the total number of registration points in the point cloud data to be registered. This eliminates the need to determine whether a match has been achieved through normals, which can greatly improve the accuracy of point cloud registration while accelerating the point cloud registration speed. Attached Figure Description

[0032] Figure 1 This is a flowchart of a point cloud registration method according to an embodiment of the present invention;

[0033] Figure 2 A flowchart illustrating the process of obtaining point cloud data to be registered according to an embodiment of the present invention;

[0034] Figure 3 A flowchart for determining valid point pairs according to an embodiment of the present invention;

[0035] Figure 4 A flowchart illustrating the determination of the registration region according to an embodiment of the present invention;

[0036] Figure 5 A flowchart illustrating the determination of a transformation matrix according to an embodiment of the present invention;

[0037] Figure 6 A flowchart for quickly calculating quaternions according to an embodiment of the present invention;

[0038] Figure 7 A flowchart illustrating a simplified method for obtaining quaternions according to an embodiment of the present invention;

[0039] Figure 8 This is a flowchart illustrating the determination of the iteration stopping condition based on the average Euclidean distance according to an embodiment of the present invention.

[0040] Figure 9 This is a block diagram of an electronic device according to an embodiment of the present invention;

[0041] Figure 10 This is a block diagram of a medical imaging device according to an embodiment of the present invention. Detailed Implementation

[0042] Embodiments of the present invention are described in detail below. Examples of these embodiments are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.

[0043] To better understand the above technical solutions, the following will provide a detailed explanation of the technical solutions in conjunction with the accompanying drawings and specific implementation methods.

[0044] It should be noted that in the field of point cloud registration technology, a set of point cloud data is registered to a target, which may be a point cloud or a curved surface. In this process, the point cloud data may need to undergo multiple rounds of matrix transformations to be registered to the target. The point cloud data to be registered corresponding to the first round of matrix transformation is the initial point cloud data to be registered. The point cloud data to be registered in the subsequent round can be the point cloud data obtained after the previous round of point cloud data to be registered has undergone matrix transformation.

[0045] The registration method provided in this invention can be applied to medical imaging products such as oral CT, intraoral scanners, orthopedic CT, and surgical navigation equipment, as well as to non-medical fields.

[0046] Figure 1 This is a flowchart of a point cloud registration method according to an embodiment of the present invention.

[0047] like Figure 1 As shown, the point cloud registration method includes the following steps:

[0048] S1, acquire the point cloud data to be registered.

[0049] Optionally, in one embodiment of the invention, such as Figure 2 As shown, the steps to obtain the point cloud data to be registered include:

[0050] S11: Obtain the original point cloud data and perform MC (Marching Cube) surface reconstruction on the original point cloud data to obtain the initial surface.

[0051] S12, perform point cloudification on the initial surface to obtain the initial point cloud data to be registered, wherein each registration point of the initial point cloud data to be registered is a vertex of the triangular mesh of the initial surface.

[0052] Specifically, the acquired raw point cloud data can be reconstructed using the MC surface to obtain an initial surface. The MC algorithm constructs a cube so that the triangular mesh approximates the isosurface, thereby achieving three-dimensional reconstruction. In this way, the vertices of the triangular mesh all fall on the edges of the cube.

[0053] In one embodiment, after reconstructing the Mohs surface based on the original point cloud data corresponding to the first point cloud obtained by scanning, the cube partitioning in the Mohs surface reconstruction is used as the partitioning of the basic model cube in infinite space. The TSDF (Truncated Signed Distance Function) method is used to extend the partitioning of the basic model cube to form a basic cube. Subsequent original point cloud data are then reconstructed using the Mohs surface based on the basic cube mesh, and the vertices of the resulting triangular meshes are all on the edges of the basic cube. A basic cube mesh containing triangular meshes is marked TRUE, and a basic cube mesh without triangular meshes is marked FALSE.

[0054] After reconstructing the original point cloud data using the Mohs-Cresc surface, the initial surface is then converted into a point cloud. This involves sampling (or downsampling) points on the initial surface; for example, the vertices of a triangular mesh can be directly used as points in the point cloud. This ensures that all points in the point cloud lie on the edges of the cube in the mesh model, resulting in the initial point cloud data to be registered. Consequently, the registration points in the initial point cloud data are evenly distributed, which improves registration accuracy and efficiency. Furthermore, by adjusting the size of the triangular mesh during the Mohs-Cresc surface reconstruction process, even more uniform registration points can be obtained, further enhancing registration accuracy. It should be noted that the triangular mesh consists of several triangles. After obtaining the initial point cloud data to be registered, a matrix transformation is performed on it to obtain the final point cloud data to be registered.

[0055] S2, determine the valid point pairs based on each registration point of the point cloud data to be registered.

[0056] In one embodiment, a point-to-surface registration method is used to calculate effective point pairs. An effective point pair is a pair consisting of a registration point in the point cloud data to be registered and the target projection point corresponding to the registration point. The registration point is projected onto the plane containing each triangular mesh within a preset range in the target surface. If the projection point is within the corresponding triangular mesh, the Euclidean distance between the registration point and the projection point is calculated, and the projection point corresponding to the minimum Euclidean distance is taken as the target projection point.

[0057] In another implementation, a point-to-point registration method is used to calculate valid point pairs. A valid point pair is a pair consisting of a registration point in the point cloud data to be registered and its corresponding target registration point. The target registration point is a point on the target point cloud, and the distance from this registration point to any point in the target point cloud within a preset range corresponds to a minimum distance. The point corresponding to the minimum distance among all points in the target point cloud within the preset range is the target registration point. Optionally, in one embodiment of the present invention, as... Figure 3 As shown, the steps for determining valid point pairs based on each registration point in the point cloud data to be registered include:

[0058] S21, obtain the target surface, which is composed of a triangular mesh.

[0059] It should be noted that the target surface is the surface to be registered with the point cloud data to be registered, and the target surface is composed of triangular meshes.

[0060] For example, when an intraoral scanner scans teeth in the oral cavity, the resulting surface is constantly increasing in size. In this process, the initial surface corresponding to the first point cloud, which is composed of triangular meshes, is the initial target surface. By fusing the newly scanned point cloud to be registered onto the target surface after registration, a larger target surface can be obtained. Repeating this step achieves the effect of the surface continuously increasing in size.

[0061] For example, the target surface can be obtained from the 3D data of devices such as dental CT, orthopedic CT, and surgical navigation. The target surface is obtained by extracting surface data. If the target surface is not a triangular mesh, it can be obtained by MC surface reconstruction.

[0062] S22. From the target surface, determine the registration region corresponding to each registration point of the point cloud data to be registered. For each registration point and each triangular mesh in the registration region, determine whether the projection point of the registration point is located in the triangular mesh. If so, calculate the Euclidean distance between the registration point and the projection point. The projection point of the registration point is the projection point of the registration point to the plane where the triangular mesh is located.

[0063] Optionally, in one embodiment of the invention, such as Figure 4 As shown, from the target surface, the registration region corresponding to each registration point of the point cloud data to be registered is determined, including:

[0064] S221, Determine a preset range centered on each registration point of the point cloud data to be registered;

[0065] S222, take the triangular mesh area within the preset range on the target surface as the registration area corresponding to the registration point.

[0066] In one embodiment of the present invention, from the target surface, the registration region corresponding to each registration point of the point cloud data to be registered is determined, and for each registration point and each triangular mesh in the registration region, it is determined whether the projection point of the registration point is located within the triangular mesh, including:

[0067] For each registration point, the following method is used:

[0068] (1) Determine the preset range with the point to be registered as the center;

[0069] (2) Determine the basic cube grid within the preset range;

[0070] (3) Traverse each determined base cube grid and determine whether there is a triangular grid in the base cube grid. If there is, determine whether the projection point of the registration point on the plane of the triangular grid is in the triangular grid. All the triangular grids in the base cube grid are the registration areas corresponding to the registration point on the target surface.

[0071] Specifically, a preset range is determined with each registration point as the center and a certain threshold as the radius. Assuming the coordinates of registration point P are (x, y, z) and the radius is threshold, the preset range of registration point P in the X-axis direction is from grid number XL to XR, where... The registration point P has a preset range in the Y-axis direction, from grid number YL to YR, where, The registration point P has a preset range in the Z-axis direction, from grid number ZL to ZR, where, Where guidsize represents the side length of the cube, threshold represents the set threshold (i.e., radius), its size is N times guidsize, float represents the floating-point data type, and ceilf represents the rounding function, for example... Indicates will After removing the decimal part, for The integer part is incremented by one. Therefore, according to embodiments of the present invention, a basic cubic grid and the cubic grid number corresponding to each registration point within the grid can be determined based on a preset range corresponding to each registration point.

[0072] Furthermore, the basic cube mesh within a preset range corresponding to each registration point is traversed, and it is determined whether a triangular mesh exists within that basic cube mesh. The region corresponding to all triangular meshes present in all basic cube meshes within the preset range is the triangular mesh region on the target surface within the corresponding preset range, and this region is used as the registration region corresponding to the registration point. Specifically, basic cube meshes containing triangular meshes are pre-marked as TRUE, and those without triangular meshes are marked as FALSE. Based on this, it can be determined which cube meshes within the preset range corresponding to each registration point contain triangular meshes. These triangular meshes are on the target surface and constitute the registration region of that registration point.

[0073] Optionally, in one embodiment of the present invention, determining whether the projection point of the registration point is located within the triangular mesh includes: using the centroid method and the perpendicular vector method to determine whether the projection point of the registration point is located within the triangular mesh. By determining in advance whether the projection point of the registration point is located within the triangular mesh, the computational steps in the registration process can be reduced, the amount of computation can be reduced, and the point cloud registration speed can be accelerated.

[0074] Specifically, let the three vertices of one triangle in the triangular mesh be A, B, and C, and the two vectors originating from point A in the plane be v1 = BA and v2 = BA. For any point PP inside the triangle, according to the centroid method, A, B, C, and PP have the following relationship:

[0075] PP = A + t1*v1 + t2*v2

[0076] Where t1 and t2 are constants, prove that PP is inside triangle ABC when the three conditions 0≤t1≤1, 0≤t2≤1, and t1+t2<1 are satisfied simultaneously.

[0077] If the projection point of registration point P is PP, then the vector v = P - PP is perpendicular to triangle ABC.

[0078] v·v1=0

[0079] v·v2=0

[0080] According to the above formula, we can obtain:

[0081] t1=(a1*c2-a2*c1) / (b1*c2-c1*c1);

[0082] t2=(a1*c1-a2*b1) / (c1*c1-b1*c2);

[0083] Among them, a1=v3·v1, b1=v1·v1, c1=v2·v1, a2=v3·v2, c1=v2·v2, v3=PA.

[0084] If t1 and t2 simultaneously satisfy the three conditions 0≤t1≤1, 0≤t2≤1, and t1+t2<1, then it proves that the projection point PP of the registration point P lies within the triangular mesh. It should be noted that the projection point corresponding to a registration point is not unique; that is, a registration point can project multiple projection points within multiple triangular meshes, and only some registration points have projection points within the triangular meshes.

[0085] S23. For each registration point, determine the projection point with the smallest Euclidean distance based on all Euclidean distances corresponding to the registration point, and form a valid point pair with the registration point.

[0086] Specifically, if the projection point of the registration point is determined to be within the triangular mesh through the above steps, the coordinates of that projection point can be obtained. This allows us to acquire the coordinates of all projection points within the triangular mesh corresponding to that registration point, and calculate the Euclidean distance between each of these projection points. The projection point with the smallest Euclidean distance is then identified, and this projection point and the registration point are combined to form a valid point pair, denoted as [P1]:[Q1]. It should be noted that a registration point whose projection point falls within the triangular mesh is called a valid registration point.

[0087] Therefore, in the embodiments of the present invention, executing S21, S22 and S23 can determine a valid point pair based on each registration point of the point cloud data to be registered.

[0088] S3. Determine the transformation matrix based on the valid point pairs, and perform matrix transformation on each registration point according to the transformation matrix to obtain the transformed valid point pairs.

[0089] Optionally, in one embodiment of the invention, such as Figure 5 As shown, the transformation matrix may include a rotation matrix and a translation matrix. Determining the transformation matrix based on valid point pairs may include the following steps:

[0090] S31, center the effective point pairs and obtain the covariance matrix.

[0091] S32 performs an effective transformation on the covariance matrix to obtain the real pair matrix.

[0092] S33. The number of four elements is obtained by calculating the real symmetric matrix using the iterative Jacobi method.

[0093] S34 converts the four-element number into a rotation matrix, and determines the translation matrix based on the rotation matrix.

[0094] Specifically, obtain the center points cp and cq of point clouds [P1] and [Q1], respectively, and center the effective point pairs [P1]L[Q1] into [Pc]L[Qc]. Calculate the covariance matrix:

[0095]

[0096] Wherein, PcxQcx represents the X-axis coordinate of [Pc] multiplied by the X-axis coordinate of [Qc]; PcxQcy represents the X-axis coordinate of [Pc] multiplied by the Y-axis coordinate of [Qc]; PcxQcz represents the X-axis coordinate of [Pc] multiplied by the Z-axis coordinate of [Qc]; PcyQcx represents the Y-axis coordinate of [Pc] multiplied by the X-axis coordinate of [Qc]; PcyQcy represents the Y-axis coordinate of [Pc] multiplied by the Y-axis coordinate of [Qc]; PcyQcz represents the Y-axis coordinate of [Pc] multiplied by the Z-axis coordinate of [Qc]; PczQcx represents the Z-axis coordinate of [Pc] multiplied by the X-axis coordinate of [Qc]; PczQcy represents the Z-axis coordinate of [Pc] multiplied by the X-axis coordinate of [Qc]; PczQcz represents the Z-axis coordinate of [Pc] multiplied by the Z-axis coordinate of [Qc].

[0097] Then, the covariance matrix is ​​effectively transformed into a 4x4 real symmetric matrix, which reduces the amount of computation in the calculation process.

[0098]

[0099] Next, the four-element number is quickly calculated using the iterative Jacobi method and symmetry, such as... Figure 6 As shown, the specific steps include:

[0100] S331, Find the largest element M in the upper or lower triangular region of a real symmetric matrix M (excluding the diagonal). ij The largest element M ij It is located in the i-th row and j-th column of a real symmetric matrix M. By determining M... ij To determine if the loop ends, check if the value is 0 or if the loop count has reached the set number of iterations. When M... ij The loop ends when the value is 0 or when the number of iterations reaches the set number of iterations.

[0101] S332, rotate the real symmetric matrix M by an angle θ to diagonalize the real symmetric matrix M.

[0102] Specifically, a 4x4 rotation transformation matrix F is constructed, where F ij =cosθ, F jj =cosθ, F ij =sinθ, F ji = -sinθ, with all other elements on the diagonal set to 1 and the remaining elements set to 0, where the rotation transformation matrix F is:

[0103]

[0104] Then, obtain the transpose F of the rotation transformation matrix F. T for:

[0105]

[0106] Transform the real symmetric matrix M into F T *M*F.

[0107] when When the transformation is complete, the real symmetric matrix M can be completely diagonalized, that is, the transformed real symmetric matrix M is a diagonal matrix.

[0108] Using tan 2θ, sinθ and cosθ can be calculated:

[0109]

[0110]

[0111] S333, the calculation process is simplified based on the properties of the rotation transformation matrix F and the real symmetric matrix M. Since F is a quasi-diagonal matrix, and M has many zero and equal values ​​after the transformation that do not need to be calculated, the calculation process can be simplified. The specific simplification process is as follows: Figure 7 As shown:

[0112] S3331, by transforming the elements of the i-th row and i-th column and the j-th row and j-th column of the real symmetric matrix M, we obtain:

[0113]

[0114]

[0115] Among them, M ii Let ' be the element in the i-th row and i-th column of the transformation matrix M' of a real symmetric matrix M. jj Let ′ be the element in the j-th row and j-th column of the transformation matrix M′ of the real symmetric matrix M.

[0116] S3332 transforms the elements in the k-th row and i-th column and the k-th row and j-th column of a real symmetric matrix M. Where M... kj Let ′ be the element in the k-th row and j-th column of the transformation matrix M′ of the real symmetric matrix M. ki Let ′ be the element in the k-th row and i-th column of the transformation matrix M′ of the real symmetric matrix M, where k = 0 to i-1:

[0117] M kj ′=M ki *sinθ+M kj *cosθ

[0118] M ki ′=M ki *cosθ-Mkj *sinθ

[0119] S3333 transforms the elements in the k-th row and j-th column and the i-th row and k-th column of a real symmetric matrix M. Where M... kj Let ′ be the element in the k-th row and j-th column of the transformation matrix M′ of the real symmetric matrix M. ik Let ′ be the element in the i-th row and k-th column of the transformation matrix M′ of the real symmetric matrix M, where k = i+1 to j-1:

[0120] M kj ′=M ik *sinθ+M kj *cosθ

[0121] M ik =M ik *cosθ-M kj *sinθ

[0122] S3334 transforms the elements in the j-th row and k-th column and the i-th row and k-th column of a real symmetric matrix M. Where M... jk Let ′ be the element in the j-th row and k-th column of the transformation matrix M′ of the real symmetric matrix M. ik Let ′ be the element in the i-th row and k-th column of the transformation matrix M′ of the real symmetric matrix M, where k = j+1 to 3:

[0123] M jk ′=M ik *sinθ+M jk *cosθ

[0124] M ik ′=M ik *cosθ-M jk *sinθ

[0125] S3335, construct a 4x4 matrix S, where the elements of matrix S are the values ​​from each transformation. Here, k = 0 to 3, and matrix S is the identity matrix. ki S kj S represents the current value. ki ′, S kj ' represents the value updated iteratively:

[0126] S kj ′=S ki *sinθ+S kj *cosθ

[0127] S ki ′=S ki *cosθ-S kj *sinθ

[0128] S3336, repeats S3331, S3332, S3333, S3334, and S3335, and exits the loop after satisfying the required number of iterations. Thus, we find the largest element M on the diagonal of matrix M'. II ′, to obtain the four-element number (S) 0I S 1I S 2I S 3I ).

[0129] It should be noted that S 0I S 1I S 2I and S 3I This represents the elements in the i-th column of matrix S during the last update after the iteration stops. The real symmetric matrix in this specific embodiment is only one form of matrix and does not limit the specific form of the matrix to be solved; it can be a regular square matrix.

[0130] The above steps yield a four-element number, which can then be converted into a rotation matrix.

[0131]

[0132] Next, obtain the translation matrix T based on the rotation matrix R:

[0133]

[0134] Wherein, cpx is the x-axis coordinate of the center point cp of point cloud [P1], cpy is the y-axis coordinate of the center point cp of point cloud [P1], cpz is the z-axis coordinate of the center point cp of point cloud [P1], cpx is the x-axis coordinate of the center point cq of point cloud [Q1], cqy is the y-axis coordinate of the center point cq of point cloud [Q1], and cqz is the z-axis coordinate of the center point cq of point cloud [Q1].

[0135] Therefore, in the embodiments of the present invention, by executing S31, S32, S33 and S34, that is, centering the effective point pairs and obtaining the covariance matrix, then performing matrix transformation on the covariance matrix to obtain a real symmetric matrix, then calculating the real symmetric matrix according to the iterative Jacobi method to obtain the quaternion number, finally converting the quaternion number into a rotation matrix, and determining the translation matrix according to the rotation matrix, the transformation matrix is ​​obtained.

[0136] It should be noted that in practical applications, the process of implementing steps S1, S2, and S3 can be executed in one round or repeatedly. If it is executed repeatedly, the loop can be exited after a preset condition is met. Specifically, this includes steps S1, S2, S3, S1, S2, S3... until the loop is exited. During this process, steps S1, S2, and S3 can be executed once or multiple times.

[0137] In one embodiment, when executing steps S1, S2, and S3 in a loop, after obtaining the transformation matrix, when performing matrix transformation on each registration point according to the transformation matrix (i.e., transforming the point cloud data of the point cloud to be registered), it is also necessary to obtain the number of times the matrix transformation is performed on the registration point and determine whether the number of times the matrix transformation is performed on the registration point has reached a preset number. That is, when performing matrix transformation on each registration point, the number of times the matrix transformation is performed on each registration point is also obtained. When the number of transformations reaches the set number, matrix transformation is no longer performed on the registration point, and the average Euclidean distance of the transformed effective points is no longer calculated.

[0138] According to one embodiment of the present invention, such as Figure 8 As shown, after determining the transformation matrix based on the valid point pairs and performing matrix transformation on each registration point according to the transformation matrix to obtain the transformed valid point pairs, the following steps are still required:

[0139] S100 calculates the average Euclidean distance between valid point pairs after transformation.

[0140] S200, determine whether the average Euclidean distance is greater than or equal to the first preset distance threshold.

[0141] S300, when the average Euclidean distance is greater than or equal to a first preset distance threshold, each transformed registration point is used as the point cloud data to be registered, and the process of determining valid point pairs based on each registration point in the point cloud data to be registered is repeated, determining the transformation matrix based on the valid point pairs, and performing matrix transformation on each registration point based on the transformation matrix to obtain the transformed valid point pairs, until the average Euclidean distance of the transformed valid point pairs is less than the first preset distance threshold. The first preset distance threshold can be calibrated according to actual conditions.

[0142] S4. Determine the matching point pairs based on the transformed valid point pairs, and judge the registration success based on the total number of registration points (the number of valid point pairs and the number of matching point pairs).

[0143] Specifically, when the average Euclidean distance of the transformed valid point pairs is less than the first preset distance threshold or the number of matrix transformations performed on the registration points reaches the preset number, the matching point pairs are determined based on the transformed valid point pairs, and the registration success is judged based on the total number of registration points, which is the number of valid point pairs and the number of matching point pairs.

[0144] In other words, when acquiring the transformed valid point pairs, the transformed registration point [P′] is also calculated to determine the valid point pairs. Then, the Euclidean distance of all valid point pairs is calculated, and the average value is obtained. When the average value is greater than or equal to a first preset distance threshold, the condition is considered not met. At this time, it is necessary to redetermine the valid point pairs based on each transformed registration point [P′] so that the previously transformed point cloud data, i.e., the redetermined point cloud data to be registered, can be matrix transformed again. When the average Euclidean distance of all valid point pairs is less than the first preset distance threshold, the condition is considered met. At this time, the matching point pairs are determined based on the transformed valid point pairs, and the registration success is judged based on the total number of registration points equal to the number of valid point pairs and the number of matching point pairs. Alternatively, when performing matrix transformation on each registration point, if the number of transformations reaches the set maximum number, matrix transformation is no longer performed. The matching point pairs are directly determined based on the transformed valid point pairs, and the registration success is judged based on the total number of registration points equal to the number of valid point pairs and the number of matching point pairs.

[0145] Using an intraoral scanner to scan teeth within the oral cavity yields multiple frames of point cloud data. A registration method is then used to fuse the matched point cloud data onto a target surface, thus enabling the scanning and acquisition of a tooth model. During this process, if a match is not found when registering each point cloud image with the target surface, that image is discarded, and new point cloud data to be registered is obtained from the point cloud data corresponding to the multiple frames. Because the point cloud data of adjacent frames overlap, a complete tooth model can be reconstructed.

[0146] According to one embodiment of the present invention, determining matching point pairs based on transformed valid point pairs includes: obtaining the Euclidean distance between the valid registration point and the corresponding projection point in the transformed valid point pair; and selecting point pairs whose Euclidean distance between the valid registration point and the corresponding projection point is less than a second preset distance threshold as matching point pairs. The second preset distance threshold can be calibrated according to actual conditions. That is, in the transformed valid point pair, the registration point and the projection point whose Euclidean distance between the valid registration point and the corresponding projection point is less than the second preset distance threshold are selected as matching point pairs.

[0147] According to one embodiment of the present invention, determining successful registration based on the number of valid point pairs and the total number of registration points (the number of matched point pairs) includes: determining whether the number of valid point pairs and the total number of registration points meet preset conditions; if they do, registration is determined to be successful. The preset conditions include: the ratio of the number of matched point pairs to the number of valid point pairs is greater than a second preset value. The second preset value can be calibrated according to actual conditions. For example, the range of the second preset value can be (0.5, 0.99), such as 0.8.

[0148] According to one embodiment of the present invention, the preset conditions further include: the ratio of the number of valid point pairs to the total number of registration points is greater than a first preset value; and / or, the ratio of the number of valid point pairs minus the number of registered point pairs to the total number of registration points is less than a third preset value. The first and third preset values ​​can be calibrated according to actual conditions. For example, the range of the first preset value can be (0.2, 0.5), such as 0.3 or 0.4, and the range of the third preset value can be (0.05, 0.4), such as 0.1.

[0149] Specifically, the rotation matrix R and translation matrix T obtained above are used to perform a matrix transformation on the registration point P, and the transformed registration point P′ is obtained after the matrix transformation:

[0150] P′=P+T

[0151] Repeat steps S21-S22 until the following conditions are met or the number of iterations exceeds a preset maximum value. Then, exit the loop and examine the transformed point clouds [P′] and [Q] to determine if registration was successful. First, considering that when finding projection points falling within the triangular mesh, there may be cases where no projection point exists in the triangular mesh (i.e., no corresponding projection point for the registration point cannot be found), it is necessary to determine that the ratio of the number of valid point pairs to the total number of registration points is greater than the first preset value Y1, where 0.2 < Y1 < 0.5, which is determined based on the overlapping area of ​​the two point clouds. Second, the ratio of the number of matched point pairs to the number of valid point pairs is greater than the second preset value Y2, where 0.5 < Y2 < 0.99. Third, the number of non-matched point pairs / the total number of points in the point cloud [P] needs to be less than the third preset value Y3, where non-matched point pairs = valid point pairs - matched point pairs, 0.05 < Y3 < 0.4. When Y3 is 0.1, it is considered that no more than 10% of the area is not matched.

[0152] Based on the number of matched point pairs, the number of valid point pairs, and the number of unmatched point pairs, the matching conditions are set from multiple dimensions to ensure both matching accuracy and matching speed or efficiency.

[0153] It should be noted that in practical applications, the process of implementing steps S1, S2, S3, and S4 can be executed in a single round or in a loop. A loop execution can include an inner loop of S1, S2, and S3, and an outer loop that executes step S4 after exiting the inner loop.

[0154] Inner loop: The inner loop process can be exited after the preset conditions are met. Specifically, it includes steps S1, S2, S3, S1, S2, S3... until the loop is exited. During this process, steps S1, S2, and S3 can be executed once or multiple times.

[0155] Outer Loop: After exiting the inner loop, execute step S4. If the alignment fails, discard the point cloud data to be aligned, re-obtain the point cloud data to be aligned by scanning or processing the existing data, and then repeat the above steps to achieve the outer loop. For example, the point cloud data can be obtained from a new frame image obtained by an intraoral scanner, or the point cloud data can be extracted again from CT data.

[0156] In one embodiment, the intraoral scanner needs to simultaneously reconstruct, register, and fuse the data during the scanning process, and display the fused surface in real time. Taking a single surface data set of 10,000 patches as an example, based on the registration method provided in this embodiment, even when combined with conventional fusion methods, the registration and fusion accuracy can reach below 10 micrometers, and the total registration and fusion speed can reach approximately 20 ms, thereby achieving fast and accurate scanning. This not only facilitates obtaining high-quality dental models but also greatly enhances the user experience.

[0157] In one embodiment, this registration method applied to oral CT scans can register two homologous data sets acquired using oral CT, or it can register data from different sources acquired using oral CT and intraoral scanners. This can improve both registration accuracy and registration speed or efficiency.

[0158] Oral CT can acquire three-dimensional volumetric data of the skull. Using region growing, a complete tooth model can be extracted from the CT data and converted into first point cloud data. An intraoral scanner can acquire three-dimensional surface data of the teeth and part of the gingiva, converting this surface data into second point cloud data. One of the first and second point cloud data is used as the point cloud data to be registered, and the other is used as the target point cloud, or the corresponding MC reconstructed surface (composed of triangular meshes) is used as the target surface. The registration process is performed on the point cloud data to be registered and the target surface, or on the point cloud data to be registered and the target point cloud, according to the point cloud registration method provided in this embodiment. Furthermore, if registration is determined to be unsuccessful, the first and / or second point cloud data can be discarded, and the first and / or second point cloud data can be acquired again, repeating the registration steps until successful registration is achieved.

[0159] In one embodiment, similar to the application on oral CT, on orthopedic CT, CT data obtained before and after treatment obtained through orthopedic CT can be registered so that the two sets of images can be compared and displayed. The point cloud data extracted from one set of CT data is used as the point cloud data to be registered, and the point cloud data extracted from the other set is used as the target point cloud, or the target surface is obtained based on the target point cloud and the MC surface reconstruction method.

[0160] In surgical navigation equipment, a 3D scanner can be used to scan a bone model to obtain 3D surface data, which is then converted into point cloud data. Alternatively, an orthopedic CT scanner can be used to scan the human body to obtain 3D volume data. From this volume data, bone surface data can be extracted and then converted into point cloud data. Of the two sets of point cloud data, one is the point cloud data to be registered, and the other is the target point cloud, or the target surface can be obtained based on the target point cloud and surface reconstruction methods.

[0161] In summary, the point cloud registration method of this invention reduces the computational load of the point cloud registration process by pre-determining whether the projection point of the registration point is within the triangular mesh. When the projection point of the registration point is within the triangular mesh, the Euclidean distance between the registration point and its projection point is calculated, thus improving the accuracy and speed of point cloud registration. Successful point cloud registration is determined based on the effective point-to-point ratio, the matched point-to-point ratio, and the non-matched point-to-point ratio. This method improves the accuracy and speed of point cloud registration. When applied to intraoral scanners, dental CT scanners, orthopedic CT scanners, and surgical navigation devices, it can improve registration accuracy and speed, enabling rapid image acquisition and display, and enhancing the user experience.

[0162] Corresponding to the above embodiments, the present invention also proposes a computer-readable storage medium.

[0163] The computer-readable storage medium of this invention stores a point cloud registration program thereon, which, when executed by a processor, implements the point cloud registration method of the above embodiments.

[0164] According to the computer-readable storage medium provided in the embodiments of the present invention, when the stored point cloud registration program is executed, it determines in advance whether the projection point of the registration point is within the triangular mesh. When the projection point of the registration point is within the triangular mesh, it calculates the Euclidean distance between the registration point and its projection point that satisfies this condition, thereby reducing the computational load of the point cloud registration process. The point cloud registration is determined to be successful based on the effective point pair ratio, the matched point pair ratio, and the non-matched point pair ratio, thereby improving the point cloud registration accuracy and accelerating the point cloud registration speed.

[0165] Corresponding to the above embodiments, the present invention also proposes an electronic device.

[0166] Figure 9 This is a block diagram of an electronic device according to an embodiment of the present invention.

[0167] This invention also provides an electronic device 100, including a memory 101, a processor 102, and a point cloud registration program stored in the memory and executable on the processor. When the processor 102 executes the point cloud registration program, it implements the point cloud registration method described in the above embodiments.

[0168] According to the electronic device provided in the embodiments of the present invention, when the processor executes the point cloud registration program, it determines in advance whether the projection point of the registration point is within the triangular mesh. When the projection point of the registration point is within the triangular mesh, it calculates the Euclidean distance between the registration point and its projection point that meets this condition, thereby reducing the amount of computation in the point cloud registration process. The point cloud registration is determined to be successful based on the effective point pair rate, the matched point pair rate, and the non-matched point pair rate. The electronic device improves the point cloud registration accuracy and speeds up the point cloud registration process.

[0169] Corresponding to the above embodiments, the present invention also proposes a medical imaging device, which may be an intraoral scanner or an oral CT, but is not limited thereto.

[0170] Figure 10 This is a block diagram of a medical imaging device according to an embodiment of the present invention.

[0171] like Figure 10 As shown, the medical imaging device 1 includes: an acquisition module 10 for acquiring point cloud data to be registered; a first determination module 20 for determining valid point pairs based on each registration point in the point cloud data to be registered; a second determination module 30 for determining a transformation matrix based on the valid point pairs; a transformation module 40 for performing matrix transformation on each registration point based on the transformation matrix to obtain transformed valid point pairs; a third determination module 50 for determining matched point pairs based on the transformed valid point pairs; and a registration module 60 for determining successful registration based on the total number of registration points, including the number of valid point pairs and the number of matched point pairs.

[0172] According to one embodiment of the present invention, the registration module 60 determines the registration success based on the number of valid point pairs and the total number of registration points of the number of registered point pairs. Specifically, it is used to: determine whether the number of valid point pairs and the total number of registration points meet preset conditions. If they do, the registration is determined to be successful. The preset conditions include: the ratio of the number of registered point pairs to the number of valid point pairs is greater than a second preset value.

[0173] According to one embodiment of the present invention, the preset conditions further include: the ratio of the number of valid point pairs to the total number of registration points is greater than a first preset value; and / or, the ratio of the number of valid point pairs minus the number of registered point pairs to the total number of registration points is less than a third preset value.

[0174] According to an embodiment of the present invention, the acquisition module 10 acquires point cloud data to be registered, specifically for: acquiring original point cloud data, and performing MC surface reconstruction on the original point cloud data to obtain an initial surface; performing point cloudification processing on the initial surface to obtain initial point cloud data to be registered, wherein each registration point of the initial point cloud data to be registered is a vertex of the triangular mesh of the initial surface.

[0175] According to an embodiment of the present invention, the first determining module 20 determines a valid point pair based on each registration point of the point cloud data to be registered, specifically for: acquiring a target surface composed of triangular meshes; determining the registration region corresponding to each registration point of the point cloud data to be registered from the target surface; for each registration point and each triangular mesh in the registration region, determining whether the projection point of the registration point is located within the triangular mesh; if so, calculating the Euclidean distance between the registration point and the projection point; for each registration point, determining the projection point with the smallest Euclidean distance based on all Euclidean distances corresponding to the registration point, and forming a valid point pair with the projection point with the smallest Euclidean distance.

[0176] According to an embodiment of the present invention, the first determining module 20 determines the registration region corresponding to each registration point of the point cloud data to be registered from the target surface, specifically used for: determining a preset range with each registration point of the point cloud data to be registered as the center; and taking the triangular mesh region within the preset range on the target surface as the registration region corresponding to the registration point.

[0177] According to an embodiment of the present invention, the first determining module 20 determines whether the projection point of the registration point is located within the triangular mesh, specifically by using the centroid method and the vertical vector method to determine whether the projection point of the registration point is located within the triangular mesh.

[0178] According to one embodiment of the present invention, the transformation matrix includes a rotation matrix and a translation matrix, wherein the second determining module 30 determines the transformation matrix based on valid point pairs, specifically for: centering the valid point pairs and obtaining the covariance matrix; performing matrix transformation on the covariance matrix to obtain a real symmetric matrix; calculating the real symmetric matrix according to the iterative Jacobi method to obtain a quaternion number; converting the quaternion number into a rotation matrix, and determining the translation matrix based on the rotation matrix.

[0179] According to an embodiment of the present invention, the registration module 60 is further configured to: calculate the average Euclidean distance of the transformed valid point pairs; determine whether the average Euclidean distance is greater than or equal to a first preset distance threshold; when the average Euclidean distance is greater than or equal to the first preset distance threshold, re-determine valid point pairs for each transformed registration point as point cloud data to be registered, and repeatedly execute the following steps: determine valid point pairs based on each registration point of the point cloud data to be registered, determine a transformation matrix based on the valid point pairs, and perform matrix transformation on each registration point based on the transformation matrix to obtain transformed valid point pairs, until the average Euclidean distance of the transformed valid point pairs is less than the first preset distance threshold.

[0180] According to one embodiment of the present invention, the registration module 60 is further configured to: obtain the number of times the registration point is subjected to matrix transformation, and determine whether the number of times the registration point is subjected to matrix transformation has reached a preset number.

[0181] According to an embodiment of the present invention, the third determining module 50 determines the matching point pair based on the transformed valid point pair, specifically used to: determine the matching point pair based on the transformed valid point pair when the average Euclidean distance of the transformed valid point pair is less than a first preset distance threshold or when the number of matrix transformations performed on the registration points reaches a preset number.

[0182] According to an embodiment of the present invention, the third determining module 50 determines the matching point pairs based on the transformed valid point pairs, specifically used for: obtaining the Euclidean distance between the valid registration point and the corresponding projection point in the transformed valid point pairs; and taking the point pairs whose Euclidean distance between the valid registration point and the corresponding projection point is less than a second preset distance threshold as matching point pairs.

[0183] It should be noted that for details not disclosed in the medical imaging device of this embodiment, please refer to the details disclosed in the point cloud registration method of this embodiment, which will not be repeated here.

[0184] According to the medical imaging device provided in the embodiments of the present invention, the acquisition module acquires point cloud data to be registered, the first determining module determines valid point pairs based on each registration point in the point cloud data to be registered, the second determining module determines a transformation matrix based on the valid point pairs, the transformation module performs matrix transformation on each registration point based on the transformation matrix to obtain the transformed valid point pairs, the third determining module determines the matched point pairs based on the transformed valid point pairs, and finally the registration module judges the registration success based on the total number of registration points (the number of valid point pairs and the number of matched point pairs). This eliminates the need to determine whether a match has been made using normals, which can greatly improve the accuracy of point cloud registration while accelerating the point cloud registration speed.

[0185] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0186] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0187] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0188] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0189] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0190] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this invention and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.

[0191] Furthermore, the terms "first," "second," etc., used in the embodiments of this invention are for descriptive purposes only and should not be construed as indicating or implying relative importance, or implicitly specifying the number of technical features indicated in this embodiment. Therefore, features defined with terms such as "first" and "second" in the embodiments of this invention can explicitly or implicitly indicate that the embodiment includes at least one of those features. In the description of this invention, the word "multiple" means at least two or more, such as two, three, four, etc., unless otherwise explicitly specified in the embodiments.

[0192] In this invention, unless otherwise explicitly specified or limited in the embodiments, the terms "installation," "connection," "joining," and "fixing" appearing in the embodiments should be interpreted broadly. For example, a connection can be a fixed connection, a detachable connection, or an integral part; it can also be a mechanical connection, an electrical connection, etc. Of course, it can also be a direct connection, or an indirect connection through an intermediate medium, or it can be the internal communication of two components, or the interaction between two components. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific implementation.

[0193] In this invention, unless otherwise explicitly specified and limited, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact with the second feature through an intermediate medium. Furthermore, "above," "over," and "on top" of the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.

[0194] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A point cloud registration method, characterized in that, include: Obtain the point cloud data to be registered; Determine valid point pairs based on each registration point in the point cloud data to be registered; The transformation matrix is ​​determined based on the effective point pairs, and a matrix transformation is performed on each registration point based on the transformation matrix to obtain the transformed effective point pairs; The matching point pairs are determined based on the transformed valid point pairs, and the registration success is judged based on the number of valid point pairs, the number of matching point pairs, and the total number of registration points. The step of determining successful registration based on the number of valid point pairs, the number of matched point pairs, and the total number of registration points includes: Determine whether the number of valid point pairs and the total number of registration points meet preset conditions. If they do, then registration is confirmed to be successful. The preset conditions include: The ratio of the number of matched point pairs to the number of valid point pairs is greater than a second preset value; The ratio of the number of valid point pairs to the total number of registration points is greater than a first preset value; The ratio of the number of valid point pairs minus the number of matched point pairs to the total number of registration points is less than a third preset value; The step of determining valid point pairs based on each registration point of the point cloud data to be registered includes: Valid point pairs are calculated using a point-to-area registration method. A valid point pair is a pair consisting of the registration point in the point cloud data to be registered and the corresponding target projection point; and / or, If a valid point pair is calculated using a point-to-point registration method, then the valid point pair is a pair consisting of a registration point in the point cloud data to be registered and the target registration point corresponding to that registration point.

2. The point cloud registration method according to claim 1, characterized in that, The acquisition of the point cloud data to be registered includes: Acquire the original point cloud data and perform MC surface reconstruction on the original point cloud data to obtain the initial surface; The initial surface is processed into a point cloud to obtain initial point cloud data to be registered, wherein each registration point of the initial point cloud data to be registered is a vertex of the triangular mesh of the initial surface.

3. The point cloud registration method according to claim 1, characterized in that, Determine valid point pairs based on each registration point in the point cloud data to be registered, including: Obtain the target surface, which is composed of a triangular mesh; From the target surface, determine the registration region corresponding to each registration point of the point cloud data to be registered. For each registration point and each triangular grid in the registration region, determine whether the projection point of the registration point is located in the triangular grid. If so, calculate the Euclidean distance between the registration point and the projection point. For each registration point, based on all Euclidean distances corresponding to that registration point, determine the projection point with the smallest Euclidean distance, and form a valid point pair with that registration point.

4. The point cloud registration method according to claim 3, characterized in that, Determining the registration region corresponding to each registration point of the point cloud data to be registered from the target surface includes: A preset range is determined centered on each registration point of the point cloud data to be registered; The triangular mesh region within a preset range on the target surface is taken as the registration region corresponding to the registration point.

5. The point cloud registration method according to claim 3, characterized in that, The step of determining whether the projection point of the registration point is located within the triangular mesh includes: using the centroid method and the vertical vector method to determine whether the projection point of the registration point is located within the triangular mesh.

6. The point cloud registration method according to claim 1, characterized in that, The transformation matrix includes a rotation matrix and a translation matrix, wherein determining the transformation matrix based on the valid point pairs includes: The effective point pairs are centered, and the covariance matrix is ​​calculated. Perform a matrix transformation on the covariance matrix to obtain a real symmetric matrix; The number of four elements is obtained by calculating the real symmetric matrix using the iterative Jacobi method. The four-element number is converted into the rotation matrix, and the translation matrix is ​​determined based on the rotation matrix.

7. The point cloud registration method according to any one of claims 1-6, characterized in that, Before determining the matching point pairs based on the transformed valid point pairs, the method further includes: Calculate the average Euclidean distance between the transformed valid point pairs; Determine whether the average Euclidean distance is greater than or equal to a first preset distance threshold; When the average Euclidean distance is greater than or equal to a first preset distance threshold, each transformed registration point is used as the point cloud data to be registered, and the process of determining effective point pairs based on each registration point of the point cloud data to be registered is repeated, the transformation matrix is ​​determined based on the effective point pairs, and the matrix transformation is performed on each registration point based on the transformation matrix to obtain the transformed effective point pairs, until the average Euclidean distance of the transformed effective point pairs is less than the first preset distance threshold.

8. The point cloud registration method according to claim 7, characterized in that, Before calculating the average Euclidean distance, the method further includes: The number of matrix transformations performed on the registration point is obtained, and it is determined whether the number of matrix transformations performed on the registration point has reached a preset number.

9. The point cloud registration method according to claim 8, characterized in that, The step of determining the matching point pairs based on the transformed valid point pairs includes: When the average Euclidean distance of the transformed valid point pairs is less than a first preset distance threshold or the number of matrix transformations performed on the registration points reaches a preset number, the matching point pairs are determined based on the transformed valid point pairs.

10. The point cloud registration method according to claim 1, characterized in that, Determine the matching point pairs based on the transformed valid point pairs, including: Obtain the Euclidean distance between the effective registration point and the corresponding projection point in the transformed effective point pair; Point pairs whose Euclidean distance between the effective registration point and the corresponding projection point is less than a second preset distance threshold are considered as the matched point pairs.

11. The point cloud registration method according to claim 1, characterized in that, The first preset value ranges from (0.2, 0.5), the second preset value ranges from (0.5, 0.99), and the third preset value ranges from (0.05, 0.4).

12. A computer-readable storage medium, characterized in that, It stores a point cloud registration program, which, when executed by a processor, implements the point cloud registration method according to any one of claims 1-11.

13. An electronic device, characterized in that, The method includes a memory, a processor, and a point cloud registration program stored in the memory and executable on the processor. When the processor executes the point cloud registration program, it implements the point cloud registration method according to any one of claims 1-11.

14. A medical imaging device, characterized in that, The device is used to perform the point cloud registration method according to any one of claims 1-11, including: The acquisition module is used to acquire the point cloud data to be registered; The first determining module is used to determine valid point pairs based on each registration point of the point cloud data to be registered; The second determining module is used to determine the transformation matrix based on the effective point pairs; The transformation module is used to perform matrix transformation on each registration point according to the transformation matrix to obtain the transformed valid point pair; The third determining module is used to determine the matching point pairs based on the transformed valid point pairs; The registration module is used to determine the registration success based on the number of valid point pairs, the number of matched point pairs, and the total number of registration points.

Citation Information

Patent Citations

  • Quick registration method for three-dimensional point clouds

    CN104217458A

  • Data matching and merging method and device for three-dimensional point cloud, and readable medium

    CN109493375A