A three-dimensional model registration method and system based on hybrid framework
Through a hybrid framework-based method, the relative poses between images of the three-dimensional model and iterative registration is performed in combination with the dynamic ICP algorithm, which solves the problems of high calculation cost and low accuracy of the three-dimensional model registration in the prior art, and achieves efficient and accurate three-dimensional model registration.
Patent Information
- Application Number
- CN202510193244.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2045-02-21
AI Technical Summary
The existing three-dimensional model registration method uses point cloud registration algorithm after converting the three-dimensional model into a point cloud, resulting in large scale and high computational cost, and the point cloud does not describe the model shape accurately enough and there are noise points.
Using a hybrid framework-based method, the relative poses between images of the three-dimensional model are calculated, and the coarse pose estimation is performed using the maximum and maximum pose algorithms, and iterative registration is performed in combination with the dynamic ICP algorithm to improve registration accuracy and efficiency.
It realizes efficient three-dimensional model registration, reduces calculation costs, improves registration accuracy, and is suitable for scenarios of different scales.
Smart Images

Figure CN119672081B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer vision, and in particular to a three-dimensional model registration method and system based on a hybrid framework. Background Art
[0002] 3D registration is a classic problem in computer vision. Assuming that there are two 3D models in a 3D rectangular coordinate system, and they have the same structure and area, the purpose of 3D registration is to find a 4*4 spatial transformation matrix that includes 3D rotation and 3D translation to align them correctly. For example, if 3D model A represents a complete office, and 3D model B represents a certain workstation in the office, then aligning model B correctly to model A is the task of 3D registration. 3D registration technology has a large number of applications in robotics, intelligent manufacturing, AR / VR and other fields.
[0003] The existing 3D registration methods mainly use point clouds, voxels, etc. as registration objects. Among them, the most advanced method is the GeoTransformer point cloud registration method based on the transformer architecture.
[0004] The common practice at present is to convert the 3D model into a point cloud, and then use a point cloud registration algorithm for registration (such as GeoTransformer). However, this approach faces two major problems. First, the point cloud converted from the 3D model is often large in scale, which causes the time and computing cost of point cloud registration to increase by the cube of the scene scale. Second, the point cloud converted from the 3D model is often not accurate enough in describing the model shape, and there may be a large number of noise points, while accurate shape construction is the basis for the successful application of the point cloud registration algorithm. Summary of the invention
[0005] The present invention aims to address the deficiencies of the prior art and to propose a three-dimensional model registration method and system based on a hybrid framework.
[0006] The object of the present invention is achieved through the following technical solution: a three-dimensional model registration method based on a hybrid framework, the method comprising the following steps:
[0007] S1, inputting a source 3D model and a target 3D model, rendering images according to the established camera poses of the two 3D models, and obtaining a camera pose set of the two models;
[0008] S2, calculating the spatial relative pose set of each source 3D model image relative to the target 3D model image; performing a two-stage clique search on the spatial relative pose set to obtain a rough pose;
[0009] S3, extracting source point cloud and target point cloud from the source 3D model and target 3D model respectively, and performing iterative registration using dynamic ICP, specifically:
[0010] Set the maximum number of iterations, sampling range, rotation error threshold and translation error threshold. During the iteration, use the coarse posture as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, align the target point cloud, update the transformation matrix and calculate the rotation error and translation error thresholds until the maximum number of iterations is reached or the error reaches the threshold. Complete the iterative registration process and obtain the precise registration result.
[0011] Furthermore, in the images rendered according to the camera postures formulated according to the two three-dimensional models, the posture of each image is distributed in a spherical shape.
[0012] Furthermore, the calculation of the spatial relative posture set of each source 3D model image relative to the target 3D model image specifically includes: firstly calculating the relative posture set of each source 3D model image relative to the target 3D model image { }; Then through Calculate the space relative posture set ;in is the camera pose set of the source 3D model, is the camera pose set of the target 3D model.
[0013] Furthermore, the relative posture set { It can be obtained by a set of related point pairs between images, or by using a deep learning model to obtain the relative posture between images end-to-end.
[0014] Further, the two-stage clique search includes a maximum clique search in the first stage and a maximum clique search in the second stage;
[0015] The maximum clique search is specifically as follows: the length is defined as Arithmetic progression as a list of candidate rotation errors, where The maximum value shall not exceed 2.0, and the minimum value shall not be less than 0.0; the length is Arithmetic progression as a list of candidate translation errors, where The maximum value of shall not exceed 1.0, and the minimum value shall not be less than 0.0. Each candidate rotation error is combined with a candidate translation error to form a combination of length The candidate parameter list Candidate_list is then used to build a graph with the spatial relative posture set POSE_spatial as the graph node.
[0016] For each graph, identify all maximal clusters and sort them in descending order by size. Select the top K maximal clusters by leaving one behind. Take the average of the rotation vectors in the cluster and convert them into rotation matrices using the Rodriguez formula. Then take the average of the translation vectors in the cluster and combine the average rotation matrix and the average translation vector to get POSE_candidate. Finally, we get K candidate poses POSE_candidate;
[0017] The maximum clique search is specifically as follows: The mean and The mean of is used as a constraint, and POSE_candidate is used as the node to build the map in the same way as the first stage to find the largest group. The largest group is averaged in the same way as the first stage to get the coarse posture POSE_coarse.
[0018] Furthermore, the step of building a graph with the spatial relative posture set POSE_spatial as a graph node includes:
[0019] For each parameter combination in Candidate_list, the rotation error in the candidate parameter list is , the translation error in the candidate parameter list is , for any two postures and , whose rotation matrices are , , the displacement vectors are and , , if satisfied
[0020] ,
[0021] This means and There is an edge between them, where Rod(·) represents the Rodriguez rotation formula, |·| is the vector modulus length, and & represents the AND operation; after determining the graph nodes and edges, a graph is determined, and the candidate list is passed through candidate parameter combinations, determine A graph where each node is POSE_spatial and the edges are different.
[0022] Furthermore, in the dynamic ICP, the rough posture is used as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, and the target point cloud is registered including:
[0023] For each new source point cloud, find its closest point to the target point cloud and sort them from small to large to find the point The quantile distance prior is found The distance of the quantile is rear, and all point pairs {p,q} with distances between prior and rear are found, where M is the maximum number of iterations, s is the sampling range, and m is the number of iterations this time;
[0024] Calculate the inter-iteration transformation matrix by singular value decomposition for {p,q} , where the rotation part is , the translation part is , calculate the result of the mth iteration, the rotation part is , the translation part is , combined into ;
[0025] like and The rotation error is less than the rotation error threshold and and The translation error is greater than , then and The rotation error assignment ,Will and The translation error assignment , m=m+1, determine whether the maximum number of iterations has been reached; if not, continue iterating, otherwise output , As POSE_fine.
[0026] Furthermore, the calculation of the rotation error includes:
[0027]
[0028] in for The trace value is , ;
[0029] The translation error includes: .
[0030] On the other hand, the specification also provides a three-dimensional model registration system based on a hybrid framework, the system comprising a coarse registration module and a fine registration module;
[0031] The coarse registration module is used to: input a source 3D model and a target 3D model, render images according to the established camera poses of the two 3D models, and obtain a camera pose set of the two models; calculate a spatial relative pose set of each image of the source 3D model relative to the image of the target 3D model; perform a two-stage clique search on the spatial relative pose set to obtain a coarse pose;
[0032] The precise registration module is used to extract source point cloud and target point cloud from the source 3D model and the target 3D model respectively, and perform iterative registration using dynamic ICP, specifically:
[0033] Set the maximum number of iterations, sampling range, rotation error threshold and translation error threshold. During the iteration, use the coarse posture as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, align the target point cloud, update the transformation matrix and calculate the rotation error and translation error thresholds until the maximum number of iterations is reached or the error reaches the threshold. Complete the iterative registration process and obtain the precise registration result.
[0034] On the other hand, the specification also provides a three-dimensional model registration device based on a hybrid framework, including a memory and one or more processors, wherein the memory stores executable code, and when the processor executes the executable code, it implements the three-dimensional model registration method based on a hybrid framework.
[0035] The beneficial effects of the present invention are as follows: 1. The relative posture between images of the three-dimensional model is used for three-dimensional alignment, and an outlier posture rejection algorithm based on the maximum clique and maximal clique algorithms is designed to obtain high-precision postures from a large number of postures. This innovation has the same time complexity for scenes of different scales, and has higher efficiency and lower computing power overhead than the point cloud alignment method; 2. A dynamic ICP algorithm is designed to realize dynamic selection and dynamic convergence of matching points. Compared with other point cloud alignment algorithms, this innovation, in conjunction with innovation point 1, can achieve good alignment effects when the point cloud shape is inaccurate. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 A schematic diagram of a three-dimensional model registration method and system provided by an embodiment of the present invention;
[0037] Figure 2 A comparison chart of the registration results of the present invention and the GeoTransformer method in four different scenes provided in an embodiment of the present invention;
[0038] Figure 3 A schematic diagram of a three-dimensional model registration device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0039] In the following description, many specific details are set forth to facilitate a full understanding of the present invention, but the present invention may also be implemented in other ways different from those described herein, and those skilled in the art may make similar generalizations without violating the connotation of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.
[0040] The present invention provides a 3D model alignment method based on a hybrid framework, which calculates a 3D spatial transformation matrix for two 3D models with overlapping areas to align the two 3D models. The method can be used for indoor and outdoor 3D model scenes and simple 3D models. The camera posture mentioned in the present invention refers to the image acquisition position and angle, the relative posture between images refers to the spatial transformation between the corresponding camera postures of the two images, and the spatial relative posture refers to the spatial transformation between the two 3D models, both of which refer to a 4×4 matrix. , where R is a 3×3 spatial rotation matrix and t is a 3×1 spatial displacement vector. The matrix has different meanings in different contexts, but is essentially a spatial transformation.
[0041] The embodiment of the present invention provides a three-dimensional model registration method and system based on a hybrid framework. The embodiment takes the neural radiation field as an example. Figure 1 As shown, the method comprises the following steps:
[0042] S1, inputting a source 3D model and a target 3D model, rendering images according to the established camera poses of the two 3D models, and obtaining a camera pose set of the two models;
[0043] The present invention uses two three-dimensional models of the same area as input, which become the source model and the target model respectively. The model can be a polygonal mesh, a CAD model, a voxel, a neural radiation field, a 3D Gaussian sputtering, etc. The three-dimensional model must be able to obtain a rendered image from a specified camera posture. The rendering process can be assisted by software tools, which is not within the scope of the present invention. In addition, the present invention also needs to extract a three-dimensional point cloud from the three-dimensional model, which can also be achieved with the help of software tools and is not within the scope of the present invention.
[0044] In this embodiment, the source model and the target model include: Figure 2 The source car model and target car model, the source simple model and the target simple model are shown.
[0045] The rendering of images according to the camera postures of the two three-dimensional models requires rendering N and M images for the source model and the target model respectively. For each model, the posture of each image is required to be distributed as spherically as possible. It is recommended to render at least 14 images, which are located in front of the model, right, above, and right front, and so on. This can avoid ignoring key information of the model as much as possible. The specific operations in this embodiment are as follows:
[0046] 14 images with a size of 800*800 and a white background color are obtained from the source neural radiation field and the target neural radiation field by volume rendering. The rendering angle is as follows: Figure 1 The spheres shown are evenly distributed, located in front of the scene, right, above, right in front of the upper right, and so on. The pose of each viewpoint will be used to calculate the relative pose. The camera position is 5 away from the center of the space. The camera pose of the source scene is { }, the camera pose set of the target scene is { }.
[0047] S2, calculating the spatial relative pose set of each source 3D model image relative to the target 3D model image; performing a two-stage clique search on the spatial relative pose set to obtain a rough pose;
[0048] This step requires calculating the relative pose set of each image from the source 3D model and each image from the target 3D model { Then calculate Get the space relative posture set ; The relative posture of the image can be obtained by various methods, such as obtaining the set of related point pairs between images by other methods ,in is the point of the source 3D model image, is a point of the target 3D model image, or the relative posture between images can be obtained end-to-end using a deep learning model; for the end-to-end method, after obtaining the spatial relative posture set, directly enter step S14, for the method based on the associated point pair set, the basic matrix (Essential Matrix) can be obtained through the OpenCV tool library, and then the relative posture is automatically output.
[0049] Two-stage clique search: This step is divided into the first stage of maximum clique search and the second stage of maximum clique search; in the first stage of maximum clique search, the length is defined as Arithmetic progression as a list of candidate rotation errors, where The maximum value shall not exceed 2.0, and the minimum value shall not be less than 0.0; the length is Arithmetic progression as a list of candidate translation errors, where The maximum value of shall not exceed 1.0, and the minimum value shall not be less than 0.0. Each candidate rotation error is combined with a candidate translation error to form a combination of length The candidate parameter list Candidate_list is then used to build a map based on the POSE_spatial obtained in S13. Specifically, for each parameter combination in Candidate_list, the rotation error is , the translation error is , for any two postures and , whose rotation matrices are , , the displacement vectors are and , , if satisfied
[0050] ,
[0051] This means and There is an edge between them, where Rod(·) represents the Rodrigues rotation formula, which is used to convert the rotation matrix into a three-dimensional rotation vector, and |·| is the vector modulus. Represents AND operation; after determining the graph nodes and edges, a graph can be determined. Candidate_list has candidate parameter combinations, then we can determine graphs, each with POSE_spatial nodes and different edges; for each graph, identify all maximal clusters and sort them in descending order by cluster size (i.e., the number of nodes contained), select the first K maximal clusters by leaving one behind (K is recommended to be 5 for the balance between efficiency and accuracy), take the average of the rotation vectors in the cluster, and convert them into rotation matrices using the Rodriguez formula, then take the average of the translation vectors in the cluster, and combine the average rotation matrix and the average translation vector to get POSE_candidate, and finally get K candidate poses POSE_candidate; then enter the second stage of the maximum clique search, with POSE_candidate as the node of a new graph, specifically using the first stage definition The mean and The mean of is used as a constraint, and the same mapping method as the first stage is used to build the map and then find the largest group. The largest group is averaged in the same way as the same stage to obtain the coarse pose POSE_coarse.
[0052] The specific implementation process of this step in this embodiment is:
[0053] The classic image matching model LoFTR model is selected as the image matching module. The matching points are calculated for each source scene image and each target scene image. The matching points are input into the OpenCV tool to calculate the relative posture between the images. , the relative posture between images can be combined with the posture of the image to obtain the relative posture of the three-dimensional scene, that is, to calculate Get the space relative posture set .
[0054] First, we enter the first stage: for any pair of 3D model scenes, a total of 14*14 image matching will be performed, that is, 14*14 images will be output. Then Build a map for the nodes, and the list of candidate rotation errors for the map is Tα, with a length of , the list of candidate translation errors for mapping is Tδ, with a length of , Tα includes [0.5,1.5,2.0], Tδ includes [1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0], which are combined into the candidate parameter list Candidate_list=[[0.5,1.0],[0.5,1.1],[0.5,1.2]......], a total of 3*11 parameter combinations. For each parameter combination, the rotation error is , the translation error is , for any two postures and , whose rotation matrices are , , the displacement vectors are and , , if satisfied
[0055] ,
[0056] In and The edge is constructed between them, where Rod(·) represents the Rodrigues rotation formula, which is used to convert the rotation matrix into a three-dimensional rotation vector, and |·| is the vector modulus. Represents AND operation. For each graph, select 5 maximal clusters. The selection method is to use the networkx tool library to find all the maximal clusters and sort them from large to small, select the [1,3,5,7,9]th maximal cluster, take the average of the rotation vectors in the cluster, and use the Rodriguez formula to convert it into a rotation matrix, then take the average of the translation vectors in the cluster, and combine the average rotation matrix and the average translation vector to get POSE_candidate, and finally get 3*11*5 candidate poses POSE_candidate.
[0057] Then enter the second stage: take POSE_candidate as the node and 1.0 as the new , with 1.5 as the new Build the map. The map building method is the same as the first stage. Then find the largest cluster of the graph, that is, the largest maximal cluster, and average and recombine its rotation part and translation part to get the rough pose POSE_coarse.
[0058] S3, extracting source point cloud and target point cloud from the source 3D model and the target 3D model respectively, and performing iterative registration using dynamic ICP, including:
[0059] Set the maximum number of iterations, sampling range, rotation error threshold and translation error threshold. During the iteration, use the coarse posture as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, align the target point cloud, update the transformation matrix and calculate the rotation error and translation error thresholds until the maximum number of iterations is reached or the error reaches the threshold. Complete the iterative registration process and obtain the precise registration result.
[0060] Specifically, the specific operation process in the embodiment of the present invention includes:
[0061] Extract accurate point clouds from each scene. For the neural radiation field used in this embodiment, the method is to use existing software or write code, start from any perspective, traverse each spatial point in the neural radiation field. According to the definition of the neural radiation field, each spatial point has a density attribute. Find all spatial points with a density greater than 0.8 as the point cloud of the neural radiation field, and obtain and Then the refined registration operation is performed.
[0062] Dynamic ICP operations are as follows:
[0063] S31. Input is a point cloud extracted from the source 3D model (Right now ), extracted from the point cloud of the target 3D model (Right now ), the coarse transformation matrix Right now( ), set the parameter to set the maximum number of iterations =500, sampling range s=0.25, where s is required to be less than 1 and greater than 0.
[0064] S32. Setting parameters in this embodiment The rotation error threshold in the iteration is positive infinity, and the parameter is set is the translation error threshold in the iteration, the size is negative infinity, and the current iteration number m is set to 1;
[0065] S33. If m is greater than or equal to 1 and m is less than M, jump to the next step, otherwise output , As POSE_fine.
[0066] S34. Transform P through the transformation matrix Transformation, get the new P;
[0067] S35. For each point in P, find its closest point to Q and sort them from small to large. Find the point The quantile distance prior is found The distance of the quantile is rear, and all point pairs {p,q} whose distance is between prior and rear are found;
[0068] S36. Calculate the inter-iteration transformation matrix by singular value decomposition for {p,q} , where the rotation part is , the translation part is , calculate the result of the mth iteration, the rotation part is , the translation part is , combined into ;
[0069] S37. If and The rotation error is less than and and The translation error is greater than , then and The rotation error assignment ,Will and The translation error assignment , m=m+1, jump to step S23, otherwise output , As POSE_fine.
[0070] The calculation of the rotation error includes:
[0071]
[0072] in for The trace value is , .
[0073] The calculation of the translation error includes: .
[0074] In order to verify the registration effect of the 3D model registration method based on the hybrid framework provided by the present invention, the registration result is compared with the result of GeoTransformer under the point cloud extracted from the 3D model. The comparison results are shown in the figure. Figure 2As shown, the first three rows are tests of a simple model, and the fourth row is the implementation of the car model registration. The registration result of the present invention is better than that of the GeoTransformer method.
[0075] The embodiment of the present invention also provides a three-dimensional model registration system based on a hybrid framework, the system comprising a coarse registration module and a fine registration module;
[0076] The coarse registration module is used to: input a source 3D model and a target 3D model, render images according to the established camera poses of the two 3D models, and obtain a camera pose set of the two models; calculate a spatial relative pose set of each image of the source 3D model relative to the image of the target 3D model; perform a two-stage clique search on the spatial relative pose set to obtain a coarse pose;
[0077] The precise registration module is used to extract source point cloud and target point cloud from the source 3D model and the target 3D model respectively, and perform iterative registration using dynamic ICP, specifically:
[0078] Set the maximum number of iterations, sampling range, rotation error threshold and translation error threshold. During the iteration, use the coarse posture as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, align the target point cloud, update the transformation matrix and calculate the rotation error and translation error thresholds until the maximum number of iterations is reached or the error reaches the threshold. Complete the iterative registration process and obtain the precise registration result.
[0079] Corresponding to the aforementioned embodiment of a three-dimensional model registration method based on a hybrid framework, the present invention also provides an embodiment of a three-dimensional model registration device based on a hybrid framework.
[0080] See also Figure 3 A three-dimensional model registration device based on a hybrid framework provided in an embodiment of the present invention includes a memory and one or more processors, wherein the memory stores executable code, and when the processor executes the executable code, it is used to implement a three-dimensional model registration method based on a hybrid framework in the above embodiment.
[0081] An embodiment of a three-dimensional model alignment device based on a hybrid framework provided by the present invention can be applied to any device with data processing capabilities, and the device with data processing capabilities can be a device or apparatus such as a computer. The device embodiment can be implemented through software, or through hardware or a combination of software and hardware. Taking software implementation as an example, as a device in a logical sense, it is formed by the processor of any device with data processing capabilities in which it is located reading the corresponding computer program instructions in the non-volatile memory into the internal memory for execution. From a hardware perspective, if Figure 3As shown, it is a hardware structure diagram of any device with data processing capability where a three-dimensional model registration device based on a hybrid framework provided by the present invention is located, except Figure 3 In addition to the processor, memory, network interface, and non-volatile memory shown, any device with data processing capabilities in which the apparatus in the embodiments is located may also include other hardware, generally based on the actual functions of the device with data processing capabilities, which will not be described in detail.
[0082] The implementation process of the functions and effects of each unit in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.
[0083] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of the present invention. Ordinary technicians in this field can understand and implement it without paying creative work.
[0084] An embodiment of the present invention further provides a computer-readable storage medium having a program stored thereon. When the program is executed by a processor, a three-dimensional model registration method based on a hybrid framework in the above embodiment is implemented.
[0085] The computer-readable storage medium may be an internal storage unit of any device with data processing capability described in any of the aforementioned embodiments, such as a hard disk or a memory. The computer-readable storage medium may also be an external storage device of any device with data processing capability, such as a plug-in hard disk, a smart media card (SMC), an SD card, a flash card, etc. equipped on the device. Furthermore, the computer-readable storage medium may also include both an internal storage unit and an external storage device of any device with data processing capability. The computer-readable storage medium is used to store the computer program and other programs and data required by any device with data processing capability, and may also be used to temporarily store data that has been output or is to be output.
[0086] The present invention also provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the three-dimensional model registration method based on a hybrid framework.
[0087] Those skilled in the art will readily appreciate other embodiments of the present application after considering the description and practicing the contents disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The description and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the claims.
[0088] It should be understood that the above general description and the detailed description below are only exemplary and explanatory and cannot limit the present application. The present application is not limited to the precise structure described above and shown in the drawings, and various modifications and changes can be made without departing from the scope thereof. The scope of the present application is limited only by the attached claims.
Claims
1. A three-dimensional model registration method based on a hybrid framework, characterized in that: The method comprises the following steps: S1, inputting a source 3D model and a target 3D model, rendering images according to the camera poses of the two 3D models, and obtaining a camera pose set of the two models; S2, calculating the spatial relative pose set of each source 3D model image relative to the target 3D model image; performing a two-stage clique search on the spatial relative pose set to obtain a rough pose; The method of calculating the spatial relative posture set of each source 3D model image relative to the target 3D model image specifically comprises: firstly calculating the relative posture set of each source 3D model image relative to the target 3D model image { }; Then through Calculate the space relative posture set ;in is the camera pose set of the source 3D model, is the camera pose set of the target 3D model; The two-stage clique search includes a first-stage maximum clique search and a second-stage maximum clique search; The maximum clique search is specifically as follows: the length is defined as Arithmetic sequence of as a list of candidate rotation errors, where The maximum value shall not exceed 2.0, and the minimum value shall not be less than 0.0; the length is Arithmetic sequence of as a list of candidate translation errors, where The maximum value of shall not exceed 1.0, and the minimum value shall not be less than 0.
0. Each candidate rotation error is combined with a candidate translation error to form a combination of length The candidate parameter list Candidate_list is then used to build a graph with the spatial relative posture set POSE_spatial as the graph node. For each graph, identify all maximal clusters and sort them in descending order by cluster size. Select the top K maximal clusters by leaving one behind. Take the average of the rotation vectors in the cluster and convert them into rotation matrices using the Rodriguez formula. Then take the average of the translation vectors in the cluster and combine the average rotation matrix and the average translation vector to get POSE_candidate. Finally, we get Candidate poses POSE_candidate; The maximum clique search is specifically as follows: The mean and The mean of is used as a constraint, and POSE_candidate is used as the node to build the map in the same way as the first stage, and then the largest group is found. The largest group is averaged in the same way as the first stage to obtain the coarse posture POSE_coarse; S3, extracting source point cloud and target point cloud from the source 3D model and target 3D model respectively, and performing iterative registration using dynamic ICP, specifically: Set the maximum number of iterations, sampling range, rotation error threshold and translation error threshold. During the iteration, use the coarse posture as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, align the target point cloud, update the transformation matrix and calculate the rotation error and translation error thresholds until the maximum number of iterations is reached or the error reaches the threshold. Complete the iterative registration process and obtain the precise registration result.
2. A 3D model registration method based on a hybrid framework according to claim 1, characterized in that: In the images rendered using the camera postures formulated according to the two three-dimensional models, the posture of each image is distributed in a spherical shape.
3. The 3D model registration method based on a hybrid framework according to claim 1, characterized in that: The relative posture set { It can be obtained by a set of related point pairs between images, or by using a deep learning model to obtain the relative posture between images end-to-end.
4. The 3D model registration method based on a hybrid framework according to claim 1, characterized in that: The construction of a graph using the spatial relative posture set POSE_spatial as a graph node comprises: For each parameter combination in Candidate_list, the rotation error in the candidate parameter list is , the translation error in the candidate parameter list is , for any two postures and , whose rotation matrices are , , the displacement vectors are and , , if satisfied , This means and There is an edge between them, where Rod(·) represents the Rodriguez rotation formula, |·| is the vector modulus length, and & represents the AND operation; after determining the graph nodes and edges, a graph is determined, and the candidate list is passed through candidate parameter combinations, determine A graph where each node is POSE_spatial and the edges are different.
5. The 3D model registration method based on a hybrid framework according to claim 1, characterized in that: In the dynamic ICP, the rough pose is used as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, and the target point cloud is registered including: For each new source point cloud, find its closest point to the target point cloud and sort them from small to large to find the point The quantile distance prior is found The distance of the quantile is rear, and all point pairs {p,q} with distances between prior and rear are found, where M is the maximum number of iterations, s is the sampling range, and m is the number of iterations this time; Calculate the inter-iteration transformation matrix by singular value decomposition for {p,q} , where the rotation part is , the translation part is , calculate the result of the mth iteration, the rotation part is , the translation part is , combined into ; like and The rotation error is less than the rotation error threshold and and The translation error is greater than , then and The rotation error assignment ,Will and The translation error assignment , m=m+1, determine whether the maximum number of iterations has been reached; if not, continue iterating, otherwise output , As POSE_fine.
6. A 3D model registration method based on a hybrid framework according to claim 5, characterized in that: The calculation of the rotation error includes: ;in for The trace value is , ; The translation error includes: .
7. A three-dimensional model registration system based on a hybrid framework, characterized in that: The system includes a coarse registration module and a fine registration module; The coarse registration module is used to: input a source 3D model and a target 3D model, render images according to the established camera poses of the two 3D models, and obtain a camera pose set of the two models; calculate a spatial relative pose set of each image of the source 3D model relative to the image of the target 3D model; perform a two-stage clique search on the spatial relative pose set to obtain a coarse pose; The method of calculating the spatial relative posture set of each source 3D model image relative to the target 3D model image specifically comprises: firstly calculating the relative posture set of each source 3D model image relative to the target 3D model image { }; Then through Calculate the space relative posture set ;in is the camera pose set of the source 3D model, is the camera pose set of the target 3D model; The two-stage clique search includes a first-stage maximum clique search and a second-stage maximum clique search; The maximum clique search is specifically as follows: the length is defined as Arithmetic sequence of as a list of candidate rotation errors, where The maximum value shall not exceed 2.0, and the minimum value shall not be less than 0.0; the length is Arithmetic sequence of as a list of candidate translation errors, where The maximum value of shall not exceed 1.0, and the minimum value shall not be less than 0.
0. Each candidate rotation error is combined with a candidate translation error to form a combination of length The candidate parameter list Candidate_list is then used to build a graph with the spatial relative posture set POSE_spatial as the graph node. For each graph, identify all maximal clusters and sort them in descending order by cluster size. Select the top K maximal clusters by leaving one behind. Take the average of the rotation vectors in the cluster and convert them into rotation matrices using the Rodriguez formula. Then take the average of the translation vectors in the cluster and combine the average rotation matrix and the average translation vector to get POSE_candidate. Finally, we get Candidate poses POSE_candidate; The maximum clique search is specifically as follows: The mean and The mean of is used as a constraint, and POSE_candidate is used as the node to build the map in the same way as the first stage, and then the largest group is found. The largest group is averaged in the same way as the first stage to obtain the coarse posture POSE_coarse; The precise registration module is used to extract source point cloud and target point cloud from the source 3D model and the target 3D model respectively, and perform iterative registration using dynamic ICP, specifically: Set the maximum number of iterations, sampling range, rotation error threshold and translation error threshold. During the iteration, use the coarse posture as the initial transformation matrix to transform the source point cloud to obtain a new source point cloud, align the target point cloud, update the transformation matrix and calculate the rotation error and translation error thresholds until the maximum number of iterations is reached or the error reaches the threshold. Complete the iterative registration process and obtain the precise registration result.
8. A three-dimensional model registration device based on a hybrid framework, comprising a memory and one or more processors, wherein the memory stores executable code, characterized in that: When the processor executes the executable code, a three-dimensional model registration method based on a hybrid framework as described in any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Rapid robust initial positioning method based on laser point cloud
CN117291973A
Three-dimensional modeling method and device based on point cloud fusion, terminal equipment and storage medium
CN119359923A