A method for block splicing of a three-dimensional model of a digital countryside
The method addresses the challenge of integrating complex-topology 3D rural scene models by aligning and merging their boundaries with minimal texture distortion, enhancing model integration and rendering efficiency.
Patent Information
- Application Number
- CN202111109054.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-22
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2041-09-22
AI Technical Summary
The existing three-dimensional reconstruction methods are difficult to achieve seamless splicing of adjacent blocks, especially in complex topological grid models with textures. There are problems such as complex topological relationships and poor texture repair, resulting in poor model splicing effect, affecting model loading efficiency and visual effect.
Using model cutting, two-stage line matching, grid segmentation and vertex merging methods, we realize seamless splicing of adjacent blocks by cutting off overlapping areas, matching boundary lines, interpolated vertices and merged vertices, and maintain texture continuity and topological consistency.
It realizes seamless splicing of complex topological mesh models, reduces texture distortion, improves the applicability and loading efficiency of model splicing, and improves visual effects.
Smart Images

Figure CN113838212B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for splicing blocks of a digital rural three-dimensional model using computer technology, which can achieve seamless splicing and merging of three-dimensional grid models of adjacent blocks at the cost of relatively small texture distortion. Background Art
[0002] Currently, in the application construction of digital rural three-dimensional models, three-dimensional reconstruction technology using multi-view aerial photography can obtain three-dimensional models of rural scenes with a large range, high fineness, and including textures, and is widely used.
[0003] Because the accuracy of the three-dimensional model is relatively high, it is difficult for existing three-dimensional reconstruction methods to perform one-time modeling of the entire rural scene, and usually a block modeling method is adopted. Due to the limitation of computer memory, the higher the accuracy requirement, the smaller the range of the block modeling area can only be. On the other hand, the segmented three-dimensional scene is also conducive to combining the strategy of dynamically loading visible areas and dynamically unloading invisible areas, quickly rendering the grid model of the main area to the screen to achieve the purpose of real-time visualization.
[0004] However, although the data volume of each small block is not large, if the number of blocks is very large, it is still easy to cause the problem of lag during the loading stage of the three-dimensional model. Therefore, a method is needed to splice adjacent segmented three-dimensional models to obtain a larger segmented three-dimensional model, which not only does not affect the three-dimensional modeling process but also alleviates the lag problem during the initial loading of a large-scale scene.
[0005] Due to the influence of memory size limitation, aerial photography accuracy, sampling accuracy of the grid model reconstruction algorithm, and object occlusion, etc., errors may occur at the block boundaries in the reconstruction results. Therefore, even for two adjacent blocks, the model shapes in their overlapping areas will still be somewhat different, and sometimes even the topological structures are different. On the other hand, as an important element for expressing the surface color and content details of the model, the texture of the grid model enriches the semantic information of the grid model while restricting the deformation and creation of grid patches. Therefore, the constraints of complex topological shapes and texture information pose a huge challenge to the splicing of grid models.
[0006] At present, from the perspective of the deformation of the splicing surface, the model splicing technology can be divided into two splicing forms: direct splicing and reconstruction and repair splicing. The direct splicing method directly and quickly splices the mesh model by using the boundary conditions or intersection situations of the model. The splicing traces are relatively obvious, and generally, a more natural transition result needs to be obtained through post-processing combined with mesh smoothing. However, its advantage lies in this. Compared with the reconstruction and repair method, this method will not change the vertices of the model to be spliced. Compared with direct splicing, the reconstruction and repair splicing method realizes surface restoration by relying on point clouds or voxels for mesh reconstruction, and can obtain a natural and smooth transition mesh surface. However, its repair details are poor and it cannot guarantee the texture repair result. Therefore, it is only applicable to mesh models without textures.
[0007] Although the research on the above two mesh model splicing methods has been relatively in-depth, the essence of most of the mesh model splicing methods is still the splicing corresponding to the ideal one-to-one mesh topology boundary. In actual situations, the topological relationships faced by the mesh model splicing algorithm are more complex. For example, the splicing between mesh model topologies is no longer a strict one-to-one relationship, but may be one-to-many, or even many-to-many corresponding splicing relationships. Therefore, there is an urgent need for a method for complex topological mesh models with textures to realize the splicing of complex topological and textured mesh models, improve the model reuse rate, and further improve the applicability of mesh model splicing. Summary of the Invention
[0008] To achieve seamless splicing of adjacent regions of a digital rural three-dimensional model with textures and complex topologies, the present invention provides a block splicing method for a digital rural three-dimensional model, which can realize the splicing of a mesh model with complex topologies and achieve the continuity of the mesh model texture with a small amount of texture distortion without changing the texture mapping file of the mesh model.
[0009] The specific steps of this method are as follows:
[0010] Step 1: For the three-dimensional models A and B of adjacent blocks, calculate the overlapping area through the bounding box detection method, calculate the cutting plane using the overlapping area, then use the cutting plane to cut the overlapping area in the three-dimensional models A and B, and then discard the redundant overlapping area.
[0011] Step 2: Calculate the set of model boundary lines E A ={e A i} and E B ={e B j}, where e represents the boundary line, i represents the i-th boundary line in the boundary line set E A and j represents the boundary line set E BThe j-th boundary line in it, and then a two-stage line matching method is used to implement the matching of the corresponding relationship of the boundary line segments.
[0012] Step 3: Splice and merge the boundary line segments that should be merged in the matching result of the previous step, so that the number of boundary lines of the final 3D model A and 3D model B is the same.
[0013] Step 4: After obtaining the boundary lines with the same number and correct correspondence in the previous step, use the method of mesh patch subdivision by vertex interpolation to ensure that the number of vertices between every two corresponding boundary lines is the same.
[0014] Step 5: After obtaining the corresponding boundary lines with the same number of vertices in the previous step, use the method of vertex merging to implement the topological splicing of the mesh models.
[0015] The technical concept of the present invention is: using the method of model cutting to cut off the overlapping parts between the splicing models and obtain appropriate model splicing boundaries; using the two-stage line matching method to achieve the correct topological correspondence of the model boundaries, and at the same time repair the model topological splitting caused by errors; using the method of mesh subdivision to interpolate vertices to avoid the deformation of the mesh texture; using the method of vertex merging to achieve the splicing between models at the cost of minimal texture deformation.
[0016] The advantages of the present invention are: it can adapt to the complex topological forms of mesh models, and can repair the model repair caused by errors, and at the same time achieve the splicing of mesh models with minimal texture deformation. Brief Description of the Drawings
[0017] Figure 1 is the general flow chart of the present invention
[0018] Figure 2 is the schematic diagram of model input
[0019] Figure 3 is the schematic diagram of the result of cutting the overlapping area of the model
[0020] Figure 4 is the local detail comparison diagram of cutting the overlapping area of the model
[0021] Figure 5 Schematic diagram of the two-stage line matching result
[0022] Figure 6 Schematic diagram of inserting weak matching lines into strong matching lines
[0023] Figure 7 is the schematic diagram of mesh subdivision in the model boundary area
[0024] Figure 8 Schematic diagram of vertex merging
[0025] Figure 9Schematic diagram of the model splicing result
[0026] Figure 10 Schematic diagram of the local topology splicing result of the model Specific implementation manner
[0027] With reference to the accompanying drawings, the present invention will be further described:
[0028] A splicing method for a multi-block digital rural grid model includes the following steps:
[0029] Step 1: For the three-dimensional models A and B of adjacent blocks, calculate the overlapping area by the method of bounding box detection, calculate the cutting plane using the overlapping area, then use the cutting plane to cut the overlapping area in the three-dimensional models A and B, and then discard the redundant overlapping area.
[0030] Step 2: Calculate the model boundary line sets E A ={e A i} and E B ={e B j}, where e represents the boundary line, i represents the i-th boundary line in the boundary line set E A and j represents the j-th boundary line in the boundary line set E B . Subsequently, a two-stage line matching method is used to achieve the matching of the corresponding relationship of the boundary line segments.
[0031] Step 3: Splice and merge the boundary line segments to be merged in the matching result of the previous step, so that the number of boundary lines of the final three-dimensional models A and B is the same.
[0032] Step 4: After obtaining the boundary lines with the same number and correct correspondence in the previous step, use the grid patch subdivision method of vertex interpolation to ensure that the number of vertices between every two corresponding boundary lines is the same.
[0033] Step 5: After obtaining the corresponding boundary lines with the same number of vertices in the previous step, use the method of vertex merging to achieve the topological splicing of the grid model.
[0034] Further, in the above step 1, the 3D models A and B have an overlapping area, and the overlapping areas are similar in shape but not exactly the same. First, the AABB bounding box method is used to calculate the common bounding box of the overlapping areas of the 3D models A and B. The plane passing through the center point of the bounding box is selected as the cutting plane for the 3D models A and B, and the 3D models A and B are sliced by this cutting plane, and the redundant overlapping mesh models are discarded (i.e., the meshes of the 3D model A on the side of the 3D model B of the cutting plane and the meshes of the 3D model B on the side of the 3D model A of the cutting plane).
[0035] Further, in the above step 2, in order to perform correct model splicing, boundary matching is first required to confirm the final splicing correspondence. However, since the number of boundaries of adjacent block models is not necessarily the same, a two-stage line matching method is proposed. The first-stage line matching method is to find multiple pairs of lines with relatively close boundary line lengths and relatively high overlapping degrees of the bounding boxes where the boundary lines are located. Among them, first, for each boundary line e A in the boundary line set E A i , find the most similar boundary line of e A i in E B , and thus obtain the most similar corresponding lines of all boundary lines e A in the boundary line set E A i . Subsequently, the same operation is performed on all boundary lines e B in the boundary line set E B to obtain the globally most similar corresponding lines of all boundary lines e B j in the boundary line set E B of the globally most similar corresponding lines of all boundary lines e B j in the boundary line set E A . The global similarity of two boundary lines is determined by the length similarity of these two line segments and the similarity of their bounding boxes. The length similarity is calculated according to the reciprocal of the absolute value of the length difference of these two line segments, and the bounding box similarity is calculated according to the overlapping ratio of the bounding boxes of these two line segments in three-dimensional space. Moreover, we set the length weight to 0.4 and the bounding box weight to 0.6, and perform a weighted sum on them to obtain the global similarity of these two boundary lines. If the most similar boundary line found for e A i in E B is e B j , and at the same time, the most similar boundary line found for e B j in E A is also eA i If their similarity values are all greater than 0.7, then these two boundary lines are determined as a pair of strongly matched lines, and the boundary line matching in the first stage is completed. After obtaining all pairs of strongly matched lines, the remaining lines are called weakly matched lines and enter the second-stage line segment matching.
[0036] The matching in the second stage is to process the weakly matched lines with relatively weak similarity in the global similarity matching stage, find the corresponding target strongly matched lines for the weakly matched lines, and merge the weakly matched lines into the strongly matched lines. In this stage, first, for all weakly matched lines, calculate their one-way Hausdorff distances from all strongly matched lines. The smaller the one-way Hausdorff distance, the more similar a local part of the weakly matched line is to a strongly matched line. When the one-way Hausdorff distance approaches 0, a local part of the weakly matched line is exactly the same as a strongly matched line. However, in actual situations, it is very rare for weakly matched lines on the boundaries of adjacent blocks to be exactly the same. Therefore, an additional artificial control threshold is introduced. When the one-way Hausdorff distance is less than this threshold, it is determined that the current weakly matched line is locally consistent with the current strongly matched line, and the weakly matched line needs to be merged into the corresponding strongly matched line of the strongly matched line. For example, when the weakly matched line e A in the boundary line set E A i is judged for the one-way Hausdorff distance with the strongly matched line e B in the boundary line set E B j (e B j and the strongly matched line e A in E A k form a pair of strongly matched lines), if the one-way Hausdorff distance is less than the threshold, it is confirmed that e A i is a part of the line segment e A k , and e A i needs to be merged into e A k to become a new strongly matched line e B j corresponding to e A i-k .
[0037] Furthermore, step 3 is to realize the merging of the weakly matched line e A i and the strongly matched line e A kmerging to achieve the final topological splicing. To merge the lines, it is necessary to determine the positions where the weakly matched lines should be inserted into the corresponding strongly matched curves, that is, to find the endpoints p0, p1 of the weakly matched line e A i (for a closed-loop weakly matched line, take 2 adjacent vertices) and the 2 closest vertices q0, q1 on the corresponding strongly matched line e A k . The Hausdorff distance is used to calculate the closest points. Then, establish a topological connection between the vertices p0 and q0, connect the vertices p0 and q0 in the same way, then delete the connection relationship between p0 and p1, and also delete the connection relationship between q0 and q1. Finally, insert the two endpoints of the weakly matched line e A i into the strongly matched line e A k to obtain a new strongly matched line e A i-k .
[0038] Furthermore, in step 4, in order to ensure that the splicing boundary lines of the mesh model can be smoothly spliced and at the same time ensure the continuity of the texture, a mesh subdivision using the vertex interpolation method is selected to make the number of vertices of the two corresponding lines the same. First, it is necessary to interpolate the two corresponding boundary lines (e A i and e B j ) to interpolate the vertices on the two boundary lines to the same number of vertices. The vertex interpolation method for the boundary lines in this article is the percentage vertex interpolation, that is, first obtain the percentage positions of all vertices on e A i , and interpolate a new vertex at the corresponding same percentage position on e B j . Then perform the same interpolation operation on e B j to finally obtain boundary lines with the same number of vertices. During the interpolation process of the new vertices, we will calculate the texture coordinates of the vertices. First, obtain the triangular patches corresponding to this vertex, then obtain the 2 vertices of the boundary line corresponding to the triangular patch, and then interpolate the texture coordinates of the new vertex according to the percentage of the new vertex between these 2 vertices. Subsequently, because there are extra vertices, it is necessary to maintain the triangular mesh form of the mesh model. Therefore, the method of subdividing the triangular patches according to the interpolation points is adopted. Such a triangular patch subdivision method will not affect the mesh texture and at the same time ensures the continuity of the texture.
[0039] Further, in step 5, in order to achieve the splicing of the grid model, all vertices on two corresponding boundary lines are moved to the average position of their corresponding vertices. In the previous steps, all boundary lines have been successfully interpolated to the same number of vertices. Therefore, vertices with the same index value on the two boundary lines are selected for vertex merging. During the merging process, the texture coordinates of the vertices are not forced to be merged. The merged vertices can have two or more texture coordinates, and finally the merging of the model is completed.
[0040] Currently, for the consideration of reconstruction and storage of the digital rural three-dimensional grid model, the grid model is divided into multiple scenes for storage. This storage method not only facilitates the storage and reading of scenes, but also facilitates the display and modification between models. However, when it comes to model modification or generating a better LOD model, due to the overlap of the grid models between the two scene areas and the inconsistent grid forms, the editing of the grid model cannot be used, and a rather abrupt merging area is generated during the generation of the LOD model. At the same time, due to the complex topological relationship and the limitation of grid texture, the digital rural grid model cannot use the traditional model splicing method for splicing. Therefore, the splicing between scene models is a very necessary means, enabling the digital rural grid model divided into multiple blocks to be merged into a complete digital rural scene grid model. The present invention proposes a method for splicing blocks of a digital rural three-dimensional model, which can achieve the splicing of the digital rural grid model at the cost of minimal texture distortion and solve the splicing problem of the multi-block digital rural grid model.
[0041] The content described in the embodiments of this specification is only a list of the implementation forms of the inventive concept. The protection scope of the present invention should not be regarded as limited to the specific forms stated in the embodiments. The protection scope of the present invention also extends to equivalent technical means that those skilled in the art can think of based on the inventive concept of the present invention.
Claims
1. A method for block splicing of a digital rural three-dimensional model, comprising the following steps: Step 1: For the three-dimensional models A and B of adjacent blocks, calculate the overlapping area through the method of bounding box detection, calculate the cutting plane using the overlapping area, and then use the cutting plane to divide the overlapping area in the three-dimensional models A and B, and then discard the redundant overlapping area. First, use the AABB bounding box method to calculate the common bounding box of the overlapping area of the three-dimensional models A and B, select the plane passing through the center point of the bounding box as the cutting plane of the three-dimensional models A and B, and use the cutting plane to divide the three-dimensional models A and B, and discard the redundant overlapping mesh models, that is, the meshes of the three-dimensional model A on one side of the cutting plane of the three-dimensional model B and the meshes of the three-dimensional model B on one side of the cutting plane of the three-dimensional model A; Step 2: Calculate the model boundary line sets E of the 3D model A and the 3D model B after removing the redundant overlapping regions A ={e A i} and E B ={e B j}, where e represents the boundary line, i represents the i-th boundary line in the boundary line set E A and j represents the j-th boundary line in the boundary line set E B . Subsequently, use a two-stage line matching method to achieve the correspondence matching of the boundary line segments; Step 3: splice and merge the boundary line segments to be merged in the matching result of the previous step, so that the number of boundary lines of the final 3D model A and 3D model B is the same. In order to realize the weak matching line e in the above step 2 A i and the strong matching line e A k merging, so as to realize the final topological splicing. In order to merge the lines, it is necessary to determine the position where the weak matching line should be inserted into the corresponding strong matching curve, that is, to find the weak matching line e A i end points p0, p 1, That is, for a closed-loop weak matching line, take two adjacent vertices, and the two vertices q0, q1 on the strong matching line e A k closest to them. The Hausdorff distance is used to calculate the closest points. Then establish a topological connection between the p0 and q0 vertices, connect the p0 and q0 vertices in the same way, then delete the connection relationship between p0 and p1, and also delete the connection relationship between q0 and q1. Finally, insert the two end points of the weak matching line e A i into the strong matching line e A k respectively, to obtain a new strong matching line e A i-k ; Step 4. After obtaining the same number of correctly corresponding boundary lines in the previous step, use the mesh patch subdivision method of vertex interpolation to ensure that the number of vertices between every two corresponding boundary lines is the same. To ensure that the stitching boundary lines of the mesh model can be stitched smoothly and at the same time ensure the continuity of the texture, the mesh subdivision of the vertex interpolation method is selected to make the number of vertices of two corresponding lines the same. First, it is necessary to interpolate two corresponding boundary lines (e A i and e B j ), and interpolate the vertices on the two boundary lines to the same number of vertices. The vertex interpolation method for the boundary lines in this paper is the percentage vertex interpolation. That is, first obtain the percentage positions of all vertices on e A i , and interpolate a new vertex at the corresponding same percentage position on e B j . Then perform the same interpolation operation on e B j . Finally, boundary lines with the same number of vertices are obtained. During the interpolation process of the new vertices, we will calculate the texture coordinates of the vertex. First, obtain the triangular patch corresponding to this vertex, then obtain the 2 vertices of the boundary line corresponding to the triangular patch, and then interpolate the texture coordinates of the new vertex according to the percentage of the new vertex located between these 2 vertices. Subsequently, because of the appearance of additional vertices, it is necessary to maintain the triangular mesh form of the mesh model. Therefore, the method of subdividing the triangular patch according to the interpolation points is adopted. Such a triangular patch subdivision method will not affect the mesh texture and at the same time ensures the continuity of the texture; Step 5: After obtaining the corresponding boundary lines with the same number of vertices in the previous step, use the vertex merging method to achieve the topological splicing of the mesh models. To achieve the splicing of the mesh models, move all the vertices on the two corresponding boundary lines to the average position of their corresponding vertices. In the previous steps, all the boundary lines have been successfully interpolated to the same number of vertices. Therefore, select the vertices with the same index value on the two boundary lines for vertex merging. During the merging process, the texture coordinates of the vertices are not forced to be merged. The merged vertices can have two or more texture coordinates, and finally complete the merging of the models.
2. The block splicing method of a digital rural three-dimensional model according to claim 1, characterized in that, Implement the correspondence matching of boundary segments in step 2. Assigning weights to each boundary line of the graph is the key to 3D building segmentation: To enable correct model stitching, boundary matching is first required to confirm the final stitching correspondence. However, since the number of boundaries of adjacent block models is not necessarily the same, a two-stage line matching method is proposed. The first-stage line matching method is to find multiple pairs of lines with relatively close boundary line lengths and a relatively high degree of overlap of the bounding boxes where the boundary lines are located. Among them, first, for each boundary line e A in the boundary line set E A i , find the most similar boundary line of e A i on E B . Thus, obtain the boundary line set E A for all boundary lines e A i . For the most similar corresponding lines of the boundary line set E B , subsequently, perform the same operation on all boundary lines e B of the boundary line set E B j to obtain the boundary line set E B for all boundary lines e B j . For the globally most similar corresponding lines of the boundary line set E A , the global similarity of two boundary lines is determined by the length similarity of these two line segments and the similarity of their bounding boxes. The length similarity is calculated according to the reciprocal of the absolute value of the length difference between these two line segments, and the bounding box similarity is calculated according to the overlap ratio of the bounding boxes of these two line segments in 3D space. Moreover, we set the length weight to 0.4 and the bounding box weight to 0.6, and sum them with weights to obtain the global similarity of these two boundary lines. If the most similar boundary line found for e A i in E B is e B j , and at the same time, the most similar boundary line found for e B j in E A is also e A i , and their similarity values are both greater than 0.7, then these two boundary lines are determined as a strongly matching line pair. After completing the boundary line matching in the first stage and obtaining all strongly matching line pairs, the remaining lines are called weakly matching lines and enter the second-stage line segment matching; The matching in the second stage is to process the weakly matching lines with relatively weak similarity in the global similarity matching stage, find the corresponding target strongly matching lines for the weakly matching lines, and merge the weakly matching lines into the strongly matching lines. In this stage, first, for all the weakly matching lines, calculate their one-way Hausdorff distances from all the strongly matching lines. The smaller the one-way Hausdorff distance, the more similar a local part of the weakly matching line is to a strongly matching line. When the one-way Hausdorff distance approaches 0, a local part of the weakly matching line is exactly the same as a local part of the strongly matching line. Weakly matching lines on the boundaries of adjacent blocks rarely show an exact match. Therefore, an additional artificial control threshold is introduced. When the one-way Hausdorff distance is less than this threshold, it is determined that the current weakly matching line is locally consistent with the current strongly matching line, and the weakly matching line needs to be merged into the corresponding strongly matching line. For example, when the weakly matching line e A in the boundary line set E A i and the strongly matching line e B in the boundary line set E B j , that is, e B j and the strongly matching line e A in E A k form a pair of strongly matching lines. When making a one-way Hausdorff distance judgment, if the one-way Hausdorff distance is less than the threshold, it is confirmed that e A i is a part of the line segment e A k . It is necessary to merge e A i into e A k to become a new strongly matching line e B j corresponding to e A i-k .
Citation Information
Patent Citations
Three-dimensional grid model splicing method based on Cubic B-spline interpolation
CN108711194A
Method and device for forming surface processing data
US20130002670A1