Method for point cloud registration in three-dimensional model reconstruction, electronic device and storage medium
By iteratively calculating the transformation matrix, the problem of point cloud registration error in the two-axis turntable method is solved, and higher-precision three-dimensional model reconstruction is achieved.
Patent Information
- Application Number
- CN202411890097.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-12-20
AI Technical Summary
The two-axis turntable method based on stepper motor rotation in the existing technology has calculation errors in the point cloud registration process, resulting in inaccurate three-dimensional model reconstruction.
By iteratively calculating the initial transformation matrix corresponding to each first point set and the coordinates of the first point set and the second point set, a final transformation matrix of each first point set is obtained, thereby improving the precision of the transformation matrix and the accuracy of registration.
The accuracy of point cloud registration is improved, thereby improving the accuracy of the reconstructed 3D model.
Smart Images

Figure CN119832040B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of image processing technology, and in particular to a method, electronic device and storage medium for point cloud registration in three-dimensional model reconstruction. Background Art
[0002] In the field of image processing, 3D model reconstruction technology plays a crucial role in dental diagnosis and treatment. Scanners based on structured light 3D reconstruction technology have become indispensable tools for acquiring 3D data from dental models. Leveraging advanced optical or laser technology, these scanners accurately capture detailed information such as tooth shape, color, and texture, converting this information into digital 3D models. These digital 3D models not only help dentists make more accurate diagnoses and treatment plans, but can also be used in a variety of scenarios, including teaching, research, and remote consultations, providing strong support for the digital development of dentistry.
[0003] Currently, scanners on the market generally use a two-axis turntable driven by a stepper motor to scan dental models, then stitch together the data from multiple scans. This method uses a two-axis turntable driven by a stepper motor to rotate the scanned object, acquiring data from different angles. This data is then stitched together to form a complete 3D model. This process requires registration of the point cloud obtained from a local perspective with the point cloud obtained from a global perspective.
[0004] However, when using a two-axis turntable method based on stepper motor rotation, calculation errors will inevitably occur during point cloud 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 existing technology, 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, 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.
[0006] In order 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, wherein each of the first point sets corresponds to one of the scanning positions;
[0008] Obtain the second point set from a global perspective;
[0009] performing iterative calculation based on an initial transformation matrix corresponding to each 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 each first point set;
[0010] Each first point set is registered with the second point set based on a final transformation matrix corresponding to each first point set.
[0011] In some embodiments, the 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 the final transformation matrix corresponding to each first point set includes:
[0012] For each of the first point sets, calculating a calculated point in the global perspective from the coordinates of each point in the first point set and an initial transformation matrix corresponding to the first point set;
[0013] Iteratively calculating 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;
[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 embodiments, iteratively calculating 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] Calculating 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 and the corresponding matching point of each point in the first point set 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 corresponding to the distance calculation between the calculation point of each point in the first point set and the corresponding matching point in the second point set is returned to be executed until the iterative calculation of the transformation matrix is stopped when the iterative stop condition is reached.
[0019] In some embodiments, 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 embodiments, 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 embodiments, 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 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 embodiments, 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 the 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 embodiments, 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 a 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, 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 to enable the at least one processor to 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, which 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 the final transformation matrix corresponding to each first point set by 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. This can improve the accuracy of the transformation matrix and the accuracy of aligning 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.
[0038] Figure 3 yes Figure 2 Detailed flowchart of step S320 in FIG.
[0039] Figure 4 It is a structural diagram of the device for point cloud registration in three-dimensional model reconstruction provided in an embodiment of the present application.
[0040] Figure 5 This is a structural diagram of an electronic device provided in an embodiment of the present application.
[0041] Figure 6 This 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 this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0043] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature identified as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present invention, "plurality" means two or more, unless otherwise specifically defined.
[0044] The present application provides a method, electronic device, and storage medium for point cloud registration in three-dimensional model reconstruction. By performing iterative calculations 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 a second point set, a final transformation matrix corresponding to each first point set is obtained. This method can improve the precision of the transformation matrix and the accuracy of registering each first point set with the second point set based on the transformation matrix. Furthermore, it can also improve the accuracy of the three-dimensional model reconstructed after registering each first point set with the second point set.
[0045] The following will describe in detail the method for point cloud registration in three-dimensional model reconstruction provided by this application 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, among others.
[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 under 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 embodiments, an iterative calculation is performed each time based on an initial transformation matrix corresponding to a 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 the first point set.
[0056] See also Figure 2 , Figure 2 yes Figure 1 The detailed flow chart of step S300 is shown in FIG. Figure 2 As shown, in some embodiments, 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 embodiments, 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. It 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. The coordinate vector representing the calculated point of the i-th point during the k-th iteration. 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 the 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, where 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], where R0 represents the initial rotation matrix and t0 represents the initial translation matrix.
[0066] Step S320: iteratively calculating a 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.
[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 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 a calculated point and a corresponding matching point is greater than a similarity threshold, the weight corresponding to the calculated point is determined to be 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 to be a second weight value. In this manner, the weight corresponding to the calculated point can reflect the specific degree of 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.
[0074] In some embodiments, 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 embodiments, 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 the interval (0, 1).
[0088] In some embodiments, if the value of the adjustment parameter is large, the influence of distance on the weight is small, and a higher second weight value is calculated even when the distance is large. If the value of the adjustment parameter is small, the influence of distance on the weight is large, and the second weight value will quickly decay to near zero when the distance increases slightly.
[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 embodiments, 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.
[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:
[0095]
[0096] Among them, Tk represents the transformation matrix obtained when the kth iteration is calculated (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, calculate the transformation of each point to the calculated point under the global perspective, and then return to execute step S321 until the iterative calculation of the transformation matrix is stopped when the iterative stop condition is met.
[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 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 embodiments, 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, and 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: registering 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, and realizing the alignment of the first point set with the second point set under the global perspective.
[0105] In summary, the method for point cloud registration in 3D model reconstruction provided by the embodiments of the present application has the following advantages:
[0106] 1. By iteratively calculating the final 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 improves the precision of the transformation matrix and the accuracy of registering each first point set with the second point set based on the transformation matrix. Furthermore, the accuracy of the 3D model reconstructed after registering each first point set with the second point set can 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 calculation point as a first weight value when the distance between the calculation point and the corresponding matching point is greater than the similarity threshold, and determining the weight corresponding to the calculation point as a second weight value when the distance between the calculation point and the corresponding matching point is not greater than the similarity threshold, the weight corresponding to the calculation point can reflect the specific situation of the similarity between the calculation point and the corresponding matching point, thereby further improving the accuracy of subsequent alignment 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 3D model reconstruction provided by 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 a second point set at a 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 This is a 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 embodiments, the processor 410 and the memory 420 may be connected via a bus or other means. Figure 5 The bus connection is taken as an example.
[0114] In some embodiments, the processor 410 is configured to acquire a plurality of first point sets in a plurality of local perspectives obtained by scanning the target object at a plurality of scanning positions, and an initial transformation matrix corresponding to each first point set, each first point set corresponding to a scanning position; acquire a second point set in a global perspective; perform iterative calculation based on the initial transformation matrix corresponding to each 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 each first point set; and register 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 is a non-volatile computer readable storage medium configured 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 according to the embodiments of the present application. The processor 410 executes various functions and data processing of the electronic device 400 by running the non-volatile software programs, instructions and modules stored in the memory 420, i.e., implements the method for point cloud registration in three-dimensional model reconstruction according to the above method embodiments.
[0116] In some embodiments, the memory 420 can include a program storage area and a data storage area, wherein the program storage area can store an operating system and application programs required by at least one function; and the data storage area can store data created according to the use of the electronic device 400, etc. In addition, the memory 420 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state memory device. In some embodiments, the memory 420 can optionally include a memory remotely arranged with respect to the processor 410, and these remote memories can be connected to the controller through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0117] In some embodiments, one or more modules are stored in the memory 420, and when executed by the one or more processors 410, perform the method for point cloud registration in three-dimensional model reconstruction according to any of the above method embodiments, for example, perform the method steps S100 to S400 in the above method embodiment. Figure 1
[0118] Please refer to Figure 6 , Figure 6 is a structural block diagram of a computer readable storage medium provided by the embodiments of the present application. The computer readable storage medium 500 stores program code 510, and the program code 510 can be invoked by a processor to execute the method for point cloud registration in three-dimensional model reconstruction described in the above method embodiments.
[0119] The computer-readable storage medium 500 can 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. Alternatively, the computer-readable storage medium includes a non-transitory computer-readable storage medium. The computer-readable storage medium 500 has storage space for program code that executes any of the method steps in the above-described method for point cloud registration in three-dimensional model reconstruction. These program codes can be read from or written to one or more computer program products. The program code can be compressed, for example, in an appropriate form.
[0120] In some embodiments, 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 skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented 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 memory, database or other media used in the embodiments provided in this application may 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), magnetic 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. By way of 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 the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.
[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 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, each first point set corresponding to a scanning position; obtaining a second point set at 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 a final transformation matrix corresponding to each first point set; and 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 based on 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 them. 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 3D 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; Get the second point set from the global perspective; performing iterative calculation based on an initial transformation matrix corresponding to each 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 each first point set; The 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 the final transformation matrix corresponding to each first point set includes: For each of the first point sets, calculating a calculated point in the global perspective from the coordinates of each point in the first point set and an initial transformation matrix corresponding to the first point set; Calculating 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 and the corresponding matching point of each point in the first point set 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; Calculating the transformation of each point to the calculated point under 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 returning to calculate the corresponding weight based on the distance between the calculated 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 an iterative stopping condition is met; When the iteration stop condition is reached, obtaining the final transformation matrix corresponding to each of the first point sets; Each first point set is registered with the second point set based on a final transformation matrix corresponding to each first point set.
2. The method for point cloud registration in 3D model reconstruction according to claim 1, 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.
3. The method for point cloud registration in 3D model reconstruction according to claim 1, 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.
4. The method for point cloud registration in 3D model reconstruction according to claim 1, 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 includes: 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.
5. The method for point cloud registration in 3D model reconstruction according to claim 4, 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 includes: 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.
6. The method for point cloud registration in 3D model reconstruction according to claim 5, 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.
7. 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 to enable the at least one processor to perform the method for point cloud registration in three-dimensional model reconstruction as described in any one of claims 1 to 6.
8. 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 according to any one of claims 1 to 6.
Citation Information
Patent Citations
Three-dimensional reconstruction method and device for aircraft fuel tank, electronic equipment and storage medium
CN116206052A