Method for point cloud registration in three-dimensional model reconstruction, electronic equipment and storage medium
The final transformation matrix of each first point set is obtained through iterative calculation, which solves the calculation error problem of the two-axis rotary table method during point cloud registration, and improves the accuracy of three-dimensional model reconstruction.
Patent Information
- Application Number
- CN202411890097.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2044-12-20
AI Technical Summary
During the three-dimensional model reconstruction process, the two-axis rotary table method based on the rotation of the stepper motor is prone to calculation errors during point cloud registration, resulting in inaccurate registration.
By obtaining the first point set from multiple local perspectives and the second point set from the global perspective, iteratively calculates based on the coordinates of the initial transformation matrix, the first point set and the second point set corresponding to each first point set, and obtaining the final transformation matrix of each first point set, thereby improving the accuracy of registration.
The accuracy of the transformation matrix and the accuracy of point cloud registration are improved, thereby improving the accuracy of the reconstructed three-dimensional model.
Smart Images

Figure CN119832040A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of image processing, and in particular to a method, electronic equipment and storage medium for point cloud registration in three-dimensional model reconstruction. Background Art
[0002] In the field of image processing technology, 3D model reconstruction technology plays a vital role in the application scenarios of dental diagnosis and treatment. Scanners based on structured light 3D reconstruction technology have become an indispensable tool for obtaining 3D data of dental models. This scanner uses advanced optical or laser technology to accurately capture detailed information such as the shape, color and texture of teeth, and converts this information into a digital 3D model. This digital 3D model not only helps dentists make more accurate diagnoses and treatment plans, but can also be used in a variety of scenarios such as teaching, research and remote consultation, providing strong support for the digital development of the dental field.
[0003] At present, scanners on the market generally use a two-axis turntable driven by a stepper motor to scan dental models, and then stitch multiple scan data together. This method uses a two-axis turntable driven by a stepper motor to rotate the scanned object to obtain data from different angles, and then stitches these data together to form a complete three-dimensional model. In this process, the point cloud obtained from a local perspective needs to be registered with the point cloud obtained from a global perspective.
[0004] However, when using the two-axis turntable method based on the rotation of a stepper motor, during the point cloud registration process, calculation errors will inevitably occur during the registration due to errors in the rotation parameters of the two-axis turntable. Summary of the invention
[0005] In response to the shortcomings of the prior art, the present application provides a method, electronic device and storage medium for point cloud registration in three-dimensional model reconstruction. By iteratively calculating based on the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set and the coordinates of all points in the second point set, the final transformation matrix corresponding to each first point set is obtained. This can improve the accuracy of the transformation matrix and the accuracy of registering each first point set with the second point set according to the transformation matrix.
[0006] To solve the above problems, the present invention provides the following technical solutions:
[0007] In a first aspect, an embodiment of the present application provides a method for point cloud registration in three-dimensional model reconstruction, comprising: obtaining first point sets at multiple local perspectives obtained by scanning a target object at multiple scanning positions and an initial transformation matrix corresponding to each of the first point sets, each of the first point sets corresponding to one of the scanning positions;
[0008] Obtain a second point set from a global perspective;
[0009] Iteratively calculate based on an initial transformation matrix corresponding to each of the first point sets, coordinates of all points in the first point set, and coordinates of all points in the second point set to obtain a final transformation matrix corresponding to each of the first point sets;
[0010] Each of the first point sets is registered with the second point set based on a final transformation matrix corresponding to each of the first point sets.
[0011] In some implementations, the iterative calculation based on the initial transformation matrix corresponding to each of the first point sets, the coordinates of all points in the first point set, and the coordinates of all points in the second point set to obtain the final transformation matrix corresponding to each of the first point sets includes:
[0012] For each of the first point sets, based on the coordinates of each point in the first point set and the initial transformation matrix corresponding to the first point set, a calculation point is obtained by transforming each point to the global perspective;
[0013] Iteratively calculating the transformation matrix according to the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set;
[0014] When the iteration stop condition is reached, the final transformation matrix corresponding to each of the first point sets is obtained.
[0015] In some implementations, the iterative calculation of the transformation matrix based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set includes:
[0016] Calculate a corresponding weight based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set;
[0017] Substituting the distance and weight between the calculated point of each point in the first point set and the corresponding matching point into the error formula, calculating a matrix that minimizes the value of the error formula and using it as the transformation matrix obtained after the current calculation;
[0018] Based on the coordinates of each point in the first point set and the transformation matrix obtained after the current calculation, each point is transformed into the calculation point under the global perspective, and then the corresponding weight is calculated based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set, until the iterative calculation of the transformation matrix is stopped when the iterative stop condition is reached.
[0019] In some implementations, the value of the error formula is the sum of the distance between the calculation point of each point in the first point set and the corresponding matching point multiplied by the value of the corresponding weight.
[0020] In some implementations, the iteration stopping condition is that the value of the error formula is less than a preset registration error threshold or the number of calculations of the iterative calculation reaches a maximum number of iterations.
[0021] In some implementations, the calculating of the corresponding weight based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set includes:
[0022] When the distance between the calculated point and the corresponding matching point is greater than a similarity threshold, determining the weight corresponding to the calculated point as a first weight value;
[0023] When the distance between the calculated point and the corresponding matching point is not greater than the similarity threshold, the weight corresponding to the calculated point is determined as a second weight value.
[0024] In some implementations, when the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, determining the weight corresponding to the calculation point as a second weight value includes:
[0025] When the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, calculating the second weight value based on the distance and a preset adjustment parameter;
[0026] The weight corresponding to the calculation point is determined as a second weight value.
[0027] In some implementations, when the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, calculating the second weight value based on the distance and a preset adjustment parameter includes:
[0028] When the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, calculating an exponent in the second weight value formula based on the distance and the adjustment parameter;
[0029] The second weight value is calculated based on the base and the exponent in the second weight value formula.
[0030] In a second aspect, an embodiment of the present application provides an electronic device, the electronic device comprising:
[0031] at least one processor; and,
[0032] a memory communicatively connected to the at least one processor; wherein,
[0033] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can perform the method for point cloud registration in three-dimensional model reconstruction as described in the first aspect.
[0034] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores an executable program, and the executable program is executed by a processor to implement the method for point cloud registration in three-dimensional model reconstruction as described in the first aspect.
[0035] The present application provides a method, electronic device and storage medium for point cloud registration in three-dimensional model reconstruction. The present application obtains a final transformation matrix corresponding to each first point set by iterative calculation based on an initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set and the coordinates of all points in the second point set. This can improve the accuracy of the transformation matrix and the accuracy of registering each first point set with the second point set according to the transformation matrix. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 It is a flow chart of the method for point cloud registration in three-dimensional model reconstruction provided in an embodiment of the present application.
[0037] Figure 2 yes Figure 1 Detailed flowchart of step S300 in FIG.
[0038] Figure 3 yes Figure 2 Detailed flowchart of step S320 in FIG.
[0039] Figure 4 It is a schematic diagram of the structure of the device for point cloud registration in three-dimensional model reconstruction provided in an embodiment of the present application.
[0040] Figure 5 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application.
[0041] Figure 6 It is a structural block diagram of a computer-readable storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION
[0042] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0043] 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 one or more of the features. In the description of the present invention, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0044] The present application provides a method, electronic device and storage medium for point cloud registration in three-dimensional model reconstruction, which can improve the accuracy of the transformation matrix and the accuracy of registering each first point set with the second point set according to the transformation matrix by iteratively calculating the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set and the coordinates of all points in the second point set, and further improve the accuracy of the three-dimensional model reconstructed after registering each first point set with the second point set.
[0045] The method for point cloud registration in three-dimensional model reconstruction provided by the present application will be described in detail below with reference to the accompanying drawings.
[0046] See also Figure 1 , Figure 1 Schematic diagram of the process of point cloud registration in 3D model reconstruction provided by the embodiment of the present application. Figure 1 As shown, the method for point cloud registration in three-dimensional model reconstruction includes: steps S100 to S400.
[0047] Step S100: Acquire first point sets at multiple local perspectives obtained by scanning a target object at multiple scanning positions and an initial transformation matrix corresponding to each first point set.
[0048] Each first point set corresponds to a scanning position.
[0049] In some embodiments, the target object is a dental restoration.
[0050] Optionally, dental restorations include dentures, braces, fixed bridges, implants and veneers, etc.
[0051] In some embodiments, the user places the target object on a multi-axis turntable (e.g., a two-axis turntable), and then controls the movement of the multi-axis turntable so that a three-dimensional scanner at a fixed position scans the target object at multiple scanning positions to obtain a first point set at multiple local perspectives.
[0052] In some implementations, at each scanning position, an initial transformation matrix corresponding to each first point set may be determined according to the offset and rotation angle of each axis of the multi-axis turntable.
[0053] Step S200: Acquire a second point set from a global perspective.
[0054] Step S300: performing iterative calculation based on the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set and the coordinates of all points in the second point set to obtain a final transformation matrix corresponding to each first point set.
[0055] In some implementations, an iterative calculation is performed each time based on an initial transformation matrix corresponding to a first point set, coordinates of all points in the first point set, and coordinates of all points in the second point set to obtain a final transformation matrix corresponding to the first point set.
[0056] See also Figure 2 , Figure 2 yes Figure 1 The detailed flow chart of step S300 in FIG. Figure 2 As shown, in some implementations, step S300 includes steps S310 to S330.
[0057] Step S310: For each first point set, based on the coordinates of each point in the first point set and the initial transformation matrix corresponding to the first point set, a calculation point is obtained by transforming each point to a global perspective.
[0058] In some implementations, the calculation formula for the calculation point corresponding to a point in the first point set is:
[0059]
[0060] Where k represents the number of iterative calculations. represents the coordinate vector of the calculated point of the i-th point in the first point set during the k-1th iterative calculation, and Tk-1 represents the transformation matrix corresponding to the first point set where the i-th point is located during the k-1th iterative calculation. Represents the coordinate vector of the calculation point of the i-th point in the k-th iteration calculation. The initial value of k is 1 and k is a positive integer.
[0061] In step S310 , k=1. In subsequent steps, k is a positive integer greater than 1.
[0062] When k = 1, for is the coordinate vector determined based on the coordinates of the i-th point in the first point set. That is, The initial value of is a coordinate vector determined according to the coordinates of the i-th point in the first point set.
[0063] Optionally, the coordinates of the i-th point are determined The coordinates of the i-th point can be expressed as (xi,yi,zi), then
[0064] When k=1, Tk-1 is T0, and T0 is the initial transformation matrix corresponding to the first point set where the i-th point is located. That is, the initial value of Tk-1 is the initial transformation matrix corresponding to the first point set where the i-th point is located.
[0065] Optionally, T0=[R0, t0], R0 represents the initial rotation matrix, and t0 represents the initial translation matrix.
[0066] Step S320: iteratively calculate the transformation matrix according to the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set.
[0067] See also Figure 3 , Figure 3 yes Figure 2 The detailed flow chart of step S320 in FIG. Figure 3 As shown, in some embodiments, step S320 includes steps S321 to S323.
[0068] Step S321: Calculate the corresponding weight based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set.
[0069] In this way, the weight corresponding to the calculated point can reflect the specific situation of the distance between the calculated point and the corresponding matching point, thereby improving the accuracy of subsequent registration of each first point set with the second point set.
[0070] Optionally, each point in the first point set has a corresponding matching point in the second point set, so the calculation point of each point in the first point set also corresponds to a matching point in the second point set.
[0071] In some implementations, how the corresponding weight is specifically calculated is determined based on the degree of similarity between the calculated point and the corresponding matching point.
[0072] Optionally, the distance between the calculated point and the corresponding matching point may be used to indicate the degree of similarity between the calculated point and the corresponding matching point.
[0073] In some embodiments, when the distance between the calculated point and the corresponding matching point is greater than the similarity threshold, the weight corresponding to the calculated point is determined as the first weight value. When the distance between the calculated point and the corresponding matching point is not greater than the similarity threshold, the weight corresponding to the calculated point is determined as the second weight value. In this way, the weight corresponding to the calculated point can reflect the specific situation of the similarity between the calculated point and the corresponding matching point, thereby further improving the accuracy of the subsequent registration of each first point set with the second point set.
[0074] In some implementations, the first weight value is less than the second weight value.
[0075] Optionally, when the distance between the calculated point and the corresponding matching point is greater than the similarity threshold, it means that the distance between the calculated point and the corresponding matching point is large, and the calculated point and the corresponding matching point may not match, so the weight corresponding to the calculated point is determined to be a first weight value that is smaller than the second weight value.
[0076] Optionally, the first weight value is a first preset value.
[0077] Preferably, the first weight value is 0.
[0078] In some implementations, when the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, a second weight value is calculated based on the distance and a preset adjustment parameter, and the weight corresponding to the calculation point is determined as the second weight value.
[0079] Optionally, when the distance between the calculated point and the corresponding matching point is not greater than the similarity threshold, it means that the distance between the calculated point and the corresponding matching point is small, and the calculated point is relatively matched with the corresponding matching point, so the weight corresponding to the calculated point is determined as the second weight value.
[0080] Optionally, the second weight value is a second preset value.
[0081] Furthermore, the second weight value is calculated according to the distance between the calculation point and the corresponding matching point, so that the second weight value is larger when the distance is larger.
[0082] Optionally, the decay speed of the second weight value as the distance increases is adjusted by setting an adjustment parameter.
[0083] In some embodiments, when the distance between the calculated point and the corresponding matching point is not greater than the similarity threshold, the exponent in the second weight value formula is calculated based on the distance and the adjustment parameter, and the second weight value is calculated based on the base and the exponent in the second weight value formula.
[0084] In some embodiments, the weight calculation formula is:
[0085]
[0086] in, It represents the weight value corresponding to the calculation point of the i-th point in the k-th iteration calculation, Gi represents the matching point corresponding to the calculation point of the i-th point, di represents the Euclidean distance between the calculation point of the i-th point and the corresponding matching point, dT represents the similarity threshold, and δ represents the adjustment parameter.
[0087] Optionally, the numerical range of the adjustment parameter is an interval (0, 1).
[0088] In some embodiments, if the value of the adjustment parameter is large, the distance has a small effect on the weight, and a higher second weight value will be calculated when the distance is large. If the value of the adjustment parameter is small, the distance has a large effect on the weight, and the second weight value will decay rapidly to near zero when the distance becomes slightly larger.
[0089] Step S322: Substitute the distance and weight between the calculated point of each point in the first point set and the corresponding matching point into the error formula, calculate the matrix that minimizes the value of the error formula and use it as the transformation matrix obtained after the current calculation.
[0090] In some implementations, the value of the error formula is the sum of the distance between the calculated point of each point in the first point set and the corresponding matching point multiplied by the value of the corresponding weight.
[0091] In some embodiments, the error formula is:
[0092]
[0093] Where ek represents the value of the error formula, Represents the number of all points in the first point set.
[0094] In some implementations, the transformation matrix is calculated as follows:
[0095]
[0096] Among them, Tk represents the transformation matrix obtained in the kth iteration calculation (that is, the transformation matrix obtained after the calculation), and argmin represents Tk so that Get the minimum value.
[0097] Step S323: Based on the coordinates of each point in the first point set and the transformation matrix obtained after the current calculation, each point is transformed into a calculated point under the global perspective, and then the process returns to step S321 to stop iteratively calculating the transformation matrix until the iteration stop condition is reached.
[0098] In some embodiments, in step S323, let k=k+1, and then use the calculation formula for the calculation point corresponding to a point in the first point set as described above, calculate the calculation point of each point transformed to the global perspective based on the coordinates of each point in the first point set and the transformation matrix obtained after the current calculation, and then return to execute step S321, and then continue to execute steps S322 and S323, so as to iteratively calculate the transformation matrix.
[0099] Step S330: When the iteration stop condition is reached, the final transformation matrix corresponding to each first point set is obtained.
[0100] In some implementations, the iteration stopping condition is that the value of the error formula is less than a preset registration error threshold or the number of iterative calculations reaches a maximum number of iterations.
[0101] In some implementations, in step S322, when the value of the error formula is less than a preset registration error threshold, Tk is no longer calculated, but Tk-1 at this time is used as the final transformation matrix corresponding to the first point set.
[0102] In some implementations, in step S322, when k reaches the maximum number of iterations, Tk calculated at this time is used as the final transformation matrix corresponding to the first point set.
[0103] Step S400: aligning each first point set with the second point set based on the final transformation matrix corresponding to each first point set.
[0104] In some embodiments, referring to the calculation formula of the calculation point corresponding to a point in the first point set, the final transformation matrix corresponding to the first point set is multiplied on the left by the coordinate vector of each point in the first point set to obtain the aligned coordinate vector of each point in the first point set, and then the aligned coordinates of each point in the first point set are obtained, thereby converting all points in the first point set to a global perspective, thereby achieving alignment of the first point set with the second point set in a global perspective.
[0105] In summary, the method for point cloud registration in 3D model reconstruction provided by the embodiment of the present application has the following advantages:
[0106] 1. By performing iterative calculation based on the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set, and the coordinates of all points in the second point set, a final transformation matrix corresponding to each first point set is obtained, which can improve the accuracy of the transformation matrix and the accuracy of registering each first point set with the second point set according to the transformation matrix. Furthermore, the accuracy of the three-dimensional model reconstructed after registering each first point set with the second point set can also be improved.
[0107] 2. By calculating the corresponding weight based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set, the weight corresponding to the calculation point can reflect the specific situation of the distance between the calculation point and the corresponding matching point, thereby improving the accuracy of subsequent alignment of each first point set with the second point set.
[0108] 3. By determining the weight corresponding to the calculated point as the first weight value when the distance between the calculated point and the corresponding matching point is greater than the similarity threshold, and determining the weight corresponding to the calculated point as the second weight value when the distance between the calculated point and the corresponding matching point is not greater than the similarity threshold, the weight corresponding to the calculated point can reflect the specific situation of the similarity between the calculated point and the corresponding matching point, thereby further improving the accuracy of subsequent registration of each first point set with the second point set.
[0109] See also Figure 4 , Figure 4 Schematic diagram of the structure of the device for point cloud registration in three-dimensional model reconstruction provided in the embodiment of the present application. Figure 4 As shown, the device 300 for point cloud registration in three-dimensional model reconstruction includes an acquisition module 310 and a processing module 320 .
[0110] In some embodiments, the acquisition module 310 is used to acquire first point sets at multiple local perspectives obtained by scanning the target object at multiple scanning positions and the initial transformation matrix corresponding to each first point set, each first point set corresponding to a scanning position; and acquire the second point set at the global perspective.
[0111] In some embodiments, the processing module 320 is used to perform iterative calculations based on the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set, and the coordinates of all points in the second point set to obtain the final transformation matrix corresponding to each first point set; and align each first point set with the second point set based on the final transformation matrix corresponding to each first point set.
[0112] See also Figure 5 , Figure 5 Schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 5 As shown, the electronic device 400 includes: one or more processors 410 and a memory 420, Figure 5 A processor 410 is taken as an example.
[0113] In some implementations, the processor 410 and the memory 420 may be connected via a bus or other means. Figure 5 The example of connecting through bus is taken in the following.
[0114] In some embodiments, the processor 410 is used to obtain first point sets at multiple local perspectives obtained by scanning the target object at multiple scanning positions and an initial transformation matrix corresponding to each first point set, each first point set corresponding to a scanning position; obtain a second point set at a global perspective; perform iterative calculations based on the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set, and the coordinates of all points in the second point set to obtain a final transformation matrix corresponding to each first point set; and align each first point set with the second point set based on the final transformation matrix corresponding to each first point set.
[0115] In some embodiments, the memory 420, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules of the method for point cloud registration in three-dimensional model reconstruction in the embodiment of the present application. The processor 410 executes various functional applications and data processing of the electronic device 400 by running the non-volatile software programs, instructions and modules stored in the memory 420, that is, the method for point cloud registration in three-dimensional model reconstruction in the above method embodiment is implemented.
[0116] In some embodiments, the memory 420 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device 400, etc. In addition, the memory 420 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 420 may optionally include a memory remotely arranged relative to the processor 410, and these remote memories may be connected to the controller via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0117] In some embodiments, one or more modules are stored in the memory 420, and when executed by one or more processors 410, the method of point cloud registration in three-dimensional model reconstruction in any of the above method embodiments is executed, for example, the above described Figure 1 The method comprises steps S100 to S400.
[0118] Please refer to Figure 6 , Figure 6 The computer-readable storage medium 500 stores a program code 510, which can be called by a processor to execute the method for point cloud registration in 3D model reconstruction described in the above method embodiment.
[0119] The computer-readable storage medium 500 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer-readable storage medium includes a non-volatile computer-readable medium (nontransitory computer readable storage medium). The computer-readable storage medium 500 has a storage space for program codes for executing any method steps in the method for point cloud registration in three-dimensional model reconstruction described above. These program codes may be read from or written to one or more computer program products. The program code may be compressed, for example, in an appropriate form.
[0120] In some implementations, the embodiments of the present application further provide a computer program product, including a computer program, which, when executed by a processor, implements the above-mentioned method for point cloud registration in three-dimensional model reconstruction.
[0121] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium 500. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited thereto.
[0122] In summary, the present application provides a method, electronic device and storage medium for point cloud registration in three-dimensional model reconstruction, the method for point cloud registration in three-dimensional model reconstruction includes: obtaining first point sets under multiple local perspectives obtained by scanning a target object at multiple scanning positions and the initial transformation matrix corresponding to each first point set, each first point set corresponding to a scanning position; obtaining a second point set under a global perspective; iteratively calculating based on the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set and the coordinates of all points in the second point set, to obtain the final transformation matrix corresponding to each first point set; aligning each first point set with the second point set based on the final transformation matrix corresponding to each first point set. The present application can improve the accuracy of the transformation matrix by iteratively calculating based on the initial transformation matrix corresponding to each first point set, the coordinates of all points in the first point set and the coordinates of all points in the second point set, to obtain the final transformation matrix corresponding to each first point set, and can improve the accuracy of aligning each first point set with the second point set according to the transformation matrix. Furthermore, it can also improve the accuracy of the three-dimensional model reconstructed after aligning each first point set with the second point set.
[0123] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for point cloud registration in three-dimensional model reconstruction, characterized in that: include: Acquire first point sets at multiple local perspectives obtained by scanning the target object at multiple scanning positions and an initial transformation matrix corresponding to each of the first point sets, each of the first point sets corresponding to one of the scanning positions; Obtain a second point set from a global perspective; Iteratively calculate based on an initial transformation matrix corresponding to each of the first point sets, coordinates of all points in the first point set, and coordinates of all points in the second point set to obtain a final transformation matrix corresponding to each of the first point sets; Each of the first point sets is registered with the second point set based on a final transformation matrix corresponding to each of the first point sets.
2. The method for point cloud registration in three-dimensional model reconstruction according to claim 1, characterized in that: The iterative calculation based on the initial transformation matrix corresponding to each of the first point sets, the coordinates of all points in the first point set, and the coordinates of all points in the second point set to obtain the final transformation matrix corresponding to each of the first point sets includes: For each of the first point sets, based on the coordinates of each point in the first point set and the initial transformation matrix corresponding to the first point set, a calculation point is obtained by transforming each point to the global perspective; Iteratively calculating the transformation matrix according to the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set; When the iteration stop condition is reached, the final transformation matrix corresponding to each of the first point sets is obtained.
3. The method for point cloud registration in three-dimensional model reconstruction according to claim 2, characterized in that: The iterative calculation of the transformation matrix according to the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set comprises: Calculate a corresponding weight based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set; Substituting the distance and weight between the calculated point of each point in the first point set and the corresponding matching point into the error formula, calculating a matrix that minimizes the value of the error formula and using it as the transformation matrix obtained after the current calculation; Based on the coordinates of each point in the first point set and the transformation matrix obtained after the current calculation, each point is transformed into the calculation point under the global perspective, and then the corresponding weight is calculated based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set, until the iterative calculation of the transformation matrix is stopped when the iterative stop condition is reached.
4. The method for point cloud registration in three-dimensional model reconstruction according to claim 3, characterized in that: The value of the error formula is the sum of the distance between the calculation point of each point in the first point set and the corresponding matching point multiplied by the value of the corresponding weight.
5. The method for point cloud registration in three-dimensional model reconstruction according to claim 3, characterized in that: The iteration stopping condition is that the value of the error formula is less than a preset registration error threshold or the number of calculations of the iterative calculation reaches a maximum number of iterations.
6. The method for point cloud registration in three-dimensional model reconstruction according to claim 3, characterized in that: The calculating of the corresponding weight based on the distance between the calculation point of each point in the first point set and the corresponding matching point in the second point set comprises: When the distance between the calculated point and the corresponding matching point is greater than a similarity threshold, determining the weight corresponding to the calculated point as a first weight value; When the distance between the calculated point and the corresponding matching point is not greater than the similarity threshold, the weight corresponding to the calculated point is determined as a second weight value.
7. The method for point cloud registration in three-dimensional model reconstruction according to claim 6, characterized in that: When the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, determining the weight corresponding to the calculation point as a second weight value, comprises: When the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, calculating the second weight value based on the distance and a preset adjustment parameter; The weight corresponding to the calculation point is determined as a second weight value.
8. The method for point cloud registration in three-dimensional model reconstruction according to claim 7, characterized in that: When the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, calculating the second weight value based on the distance and a preset adjustment parameter includes: When the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, calculating an exponent in a second weight value formula based on the distance and the adjustment parameter; The second weight value is calculated based on the base and the exponent in the second weight value formula.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for point cloud registration in three-dimensional model reconstruction as described in any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores an executable program, and the executable program is executed by a processor to implement the method for point cloud registration in three-dimensional model reconstruction as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Three-dimensional measurement point cloud optimization registration method
CN108564605A
Multi-view point cloud registration method and system based on nonlinear optimization
CN109872354A
Multi-view cloud global registration method based on Rodriguez transformation
CN110009667A
Three-dimensional reconstruction method and device for aircraft fuel tank, electronic equipment and storage medium
CN116206052A
Cross-modal point cloud precise registration method applied to biped humanoid robot
CN117670955A