A real scene three-dimensional model optimization method based on double buffering constraint
By using a double-buffered constraint-based method, the local real-world 3D model is processed and corrected in a partitioned manner, which solves the problems of 3D structure offset and texture inconsistency caused by local updates. This achieves accurate registration and smooth transition of the model, and improves the spatial consistency and reusability of the real-world 3D model.
Patent Information
- Application Number
- CN202611184406.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-06
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2046-08-06
AI Technical Summary
When embedding the original large-scale real-world 3D model into the local reconstruction model, improper handling of the change area, the preserved area and the transition area leads to 3D structure offset, affecting spatial consistency and the reusability of the results. In addition, the local model and the original model have problems such as coordinate misalignment, patch breakage and texture inconsistency at the boundary.
A method based on double buffer constraints is adopted to process the original global and local update models in partitions, generating an updated core area, candidate anchoring area, geometric edge buffer, and texture lighting transition buffer. By acquiring and filtering registration reference data, coordinate transformation parameters are calculated to correct the local model. The seam distance field is used to process the edge and texture transition of the buffer, generating an optimized realistic 3D model.
Without disturbing the stable region of the original model, accurate registration of the locally updated model is achieved, maintaining geometric continuity and smooth texture and lighting transitions, thus improving the spatial consistency and reusability of the model.
Smart Images

Figure CN122695120B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of real-scene 3D processing technology, specifically to a method for optimizing real-scene 3D models based on double-buffer constraints. Background Technology
[0002] Real-world 3D models are widely used in urban governance, natural resource management, engineering construction, and digital twin platforms. Model updates typically revolve around local changes such as new buildings, road modifications, and terrain alterations. Conventional processing relies on re-acquisition, local reconstruction, coordinate registration, and texture fusion, which can reduce the workload of repetitive modeling of the entire area and ensure the continued use of historical model results.
[0003] Currently, in the process of embedding a local reconstruction model into the original large-scale real-world 3D model, it is easy to mix the changed areas, the preserved areas, and the transition areas together. This causes the 3D structure, which should remain unchanged, to be affected and adjusted by local updates, resulting in the offset of the vertex position, face shape, or texture content of the preserved area. This, in turn, affects the spatial consistency of the large-scale real-world 3D model and the reusability of the results.
[0004] Secondly, the local reconstruction model and the original large-scale real-world 3D model usually come from different acquisition times, different perspectives and different lighting conditions. At the boundary, the two are prone to coordinate misalignment, patch breakage, inconsistent texture brightness and color jump. When simply performing rigid splicing or overall texture coverage, it is difficult to simultaneously take into account the continuity of geometric edges and the smoothness of texture lighting transition. Summary of the Invention
[0005] To address the aforementioned technical problems, this invention provides a method for optimizing real-world 3D models based on double-buffer constraints.
[0006] A method for optimizing a real-world 3D model based on double-buffered constraints, comprising: Based on the collected coordinate reference data and updated boundary lines, the original global real scene 3D model and the locally updated real scene 3D model are partitioned to generate an updated core area, candidate anchoring area, geometric edge buffer, and texture lighting transition buffer. Obtain the geometric deviation value, texture deviation value, and normal deviation value of the candidate anchoring area and filter them to obtain the stable anchoring area. Extract the registration reference data from the stable anchoring area. Based on the registration reference data, the coordinate transformation parameters from the locally updated real-scene 3D model to the original global real-scene 3D model are solved. The locally updated real-scene 3D model is then corrected using the coordinate transformation parameters to generate the registered local model. Based on the registered local model and the original global real-scene 3D model, a seam distance field is generated. The edge coordinate residual of the geometric edge buffer and the transition texture difference of the texture lighting transition buffer are processed according to the seam distance field to generate an updated real-scene 3D model.
[0007] Compared with the prior art, the beneficial effects of the present invention are as follows: This invention distinguishes between the core area, candidate anchoring area, geometric edge buffer, and texture lighting transition buffer, thereby separating the replacement range of the locally updated real-world 3D model, the retention range of the stable anchoring area, and the two types of buffer transition ranges. Without disturbing the stable region of the original global real-world 3D model, it reduces the impact of local updates on the existing 3D structure and provides a stable spatial basis for the reliable solution of coordinate transformation parameters. Furthermore, this invention also enables the local model to complete coordinate residual decay according to spatial distance within the geometric edge buffer and to complete texture sampling value gradual fusion within the texture lighting transition buffer by coordinating constraints among registration reference data, seam distance field, edge coordinate residual and transition texture difference, so that the updated real scene 3D model maintains geometric edge continuity and texture lighting transition smooth after local replacement.
[0008] In summary, this invention achieves accurate registration of locally updated real-world 3D models without disturbing the stable regions of the original global real-world 3D model, while maintaining continuous geometric edges and smooth transitions in texture and lighting. Attached Figure Description
[0009] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0010] Figure 1 The flowchart illustrates a method for optimizing a real-world 3D model based on double-buffered constraints, as provided in this invention. Detailed Implementation
[0011] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0012] Please see Figure 1As shown in the figure, this embodiment discloses a method for optimizing a real-world 3D model based on double-buffer constraints. The method includes: S11: Based on the collected coordinate reference data and updated boundary lines, the original global real scene 3D model and the locally updated real scene 3D model are partitioned to generate an updated core area, candidate anchoring area, geometric edge buffer, and texture lighting transition buffer.
[0013] The original global real-scene 3D model includes the vertex coordinates, triangles, and texture samples of the original global real-scene 3D model. The locally updated real-scene 3D model includes the vertex coordinates, triangles, and texture samples of the locally updated real-scene 3D model. The coordinate reference data includes the coordinate system of the original global real-scene 3D model, the coordinate system of the locally updated real-scene 3D model, and the coordinates of the control points. The updated boundary line includes the boundary sampling points and the boundary arrangement order.
[0014] The original global real-scene 3D model is a historical real-scene 3D model of the city block, and the locally updated real-scene 3D model is a real-scene 3D model reconstructed after re-aerial survey of newly built buildings and surrounding road areas. The vertex coordinates, triangular facets, and texture sampling values of the original global real-scene 3D model are read from the historical real-scene 3D model file. The vertex coordinates, triangular facets, and texture sampling values of the locally updated real-scene 3D model are read from the locally reconstructed model file. The control point coordinates are taken from the spatial coordinates corresponding to road intersections, building corners, or fixed ground markers.
[0015] Specifically, the steps for generating and updating the core region, candidate anchoring region, geometry edge buffer, and texture lighting transition buffer are as follows: S111: Using coordinate reference data, the updated boundary lines are transformed to the original global real scene 3D model and the locally updated real scene 3D model respectively, to obtain the original boundary projection lines and the local boundary projection lines.
[0016] In a specific embodiment, the boundary sampling points are represented as follows: , Number the boundary sampling points. , To determine the number of boundary sampling points, the boundary sampling points are numbered incrementally according to the boundary arrangement order. These boundary sampling points are then converted into original boundary sampling points using the original global reality 3D model coordinate system. By locally updating the coordinate system of the real-world 3D model, the boundary sampling points are transformed into local boundary sampling points. The original boundary sampling points are sequentially connected in the order of boundary arrangement to obtain the original boundary projection line. The local boundary sampling points are sequentially concatenated according to the boundary arrangement order to obtain the local boundary projection line. .
[0017] S112: Based on the original boundary projection lines and the local boundary projection lines, the overlap determination is made between the original global real scene 3D model and the locally updated real scene 3D model to obtain the model overlap area.
[0018] In one specific embodiment, the original global reality 3D model triangles are traversed, and the coordinates of the three vertices of the original global reality 3D model triangles are projected onto the local plane where the original boundary projection line is located. The original global reality 3D model triangles that intersect with the region enclosed by the original boundary projection line are selected to obtain the original overlapping triangles. The locally updated reality 3D model triangles are traversed, and the coordinates of the three vertices of the locally updated reality 3D model triangles are projected onto the local plane where the local boundary projection line is located. The locally updated reality 3D model triangles that intersect with the region enclosed by the local boundary projection line are selected to obtain the local overlapping triangles. The region corresponding to both the original overlapping triangles and the local overlapping triangles is the model overlap area.
[0019] It should be noted that when any vertex of the triangular patch projection area falls into the area enclosed by the boundary projection line, or when any side of the triangular patch projection area intersects with the boundary projection line, the triangular patch is determined to belong to the model overlap area.
[0020] S113: According to the boundary arrangement order, perform boundary encirclement determination on the overlapping area of the model to obtain the updated core area and candidate anchoring area.
[0021] In a specific embodiment, the original boundary projection lines and local boundary projection lines are constructed into closed boundary lines according to the boundary arrangement order. The center points of the triangular facets in the model overlap area are read, and the center points of the facets are determined to be within the closed boundary lines. Triangular facets whose center points are within the closed boundary lines are included in the updated core area. Triangular facets in the model overlap area that are not included in the updated core area are read, and the triangular facets to be anchored are selected according to the number of adjacent layers between the triangular facets and the updated core area. The regions corresponding to the triangular facets to be anchored are used as candidate anchoring regions.
[0022] It should be noted that: the number of adjacent layers of the facet is determined based on the average side length of the triangular facet of the original global real scene 3D model and the distance between the boundary sampling points of the updated boundary line. The updated core area corresponds to the area of ground feature change replaced by the locally updated real scene 3D model. The candidate anchoring area is further screened in S12 to obtain the stable anchoring area.
[0023] S114: Based on the adjacent triangular faces of the updated core area and the candidate anchor area, obtain the geometric edge buffer; based on the adjacent texture sampling points of the updated core area and the candidate anchor area, obtain the texture lighting transition buffer.
[0024] In a specific embodiment, the boundary triangular facets of the updated core region and the candidate anchor region are read. Boundary triangular facets with common edges or common vertices are taken as adjacent triangular facets. The layers of facets are extended by a predetermined number of times along the adjacent triangular facets towards the updated core region and the candidate anchor region, respectively, to obtain a geometric edge buffer. The boundary texture sampling points of the updated core region and the candidate anchor region are read. Boundary texture sampling points whose texture coordinate spacing meets the predetermined sampling interval are taken as adjacent texture sampling points. The layers of facets are extended by a predetermined number of times along the adjacent texture sampling points towards the updated core region and the candidate anchor region, respectively, to obtain a texture lighting transition buffer.
[0025] It should be noted that: the predetermined number of facet layers is determined based on the average side length of the triangular facets of the original global real-scene 3D model and the average side length of the triangular facets of the locally updated real-scene 3D model; the predetermined number of samples is determined based on the texture resolution of the original global real-scene 3D model, the texture resolution of the locally updated real-scene 3D model, and the spacing between boundary sampling points.
[0026] S12: Obtain the geometric deviation value, texture deviation value and normal deviation value of the candidate anchoring area and filter them to obtain the stable anchoring area, and extract the registration reference data from the stable anchoring area.
[0027] In one specific embodiment, the registration reference data includes anchored vertex pairs, anchored contour segment pairs, and anchored normal pairs. The anchored vertex pairs are the original global real-scene 3D model vertex coordinates and the locally updated real-scene 3D model vertex coordinates corresponding to the same spatial location within the stable anchoring area. The anchored contour segment pairs are the original global real-scene 3D model contour segments and the locally updated real-scene 3D model contour segments corresponding to the same ground feature edge within the stable anchoring area. The anchored normal pairs are the original global real-scene 3D model patch normals and the locally updated real-scene 3D model patch normals corresponding to the same sampling location within the stable anchoring area.
[0028] Specifically, the steps for obtaining the stable anchoring region and extracting the registration reference data from the stable anchoring region are as follows: S121: Based on the coordinate reference data, the candidate anchoring areas are mapped to the original global real scene 3D model and the locally updated real scene 3D model respectively to obtain the original candidate area and the local candidate area.
[0029] In one specific embodiment, based on the coordinate system of the original global real-scene 3D model, the spatial position corresponding to the candidate anchoring area is projected onto the original global real-scene 3D model, and the triangular facets of the original global real-scene 3D model covered by the candidate anchoring area are filtered to obtain the original candidate area. Based on the coordinate system of the locally updated real-scene 3D model, the spatial position corresponding to the candidate anchoring area is projected onto the locally updated real-scene 3D model, and the triangular facets of the locally updated real-scene 3D model covered by the candidate anchoring area are filtered to obtain the local candidate area.
[0030] It should be noted that: the original candidate region is the triangular facet region of the candidate anchor region in the original global real scene 3D model, and the local candidate region is the triangular facet region of the candidate anchor region in the locally updated real scene 3D model. The original candidate region and the local candidate region are two corresponding objects for deviation calculation.
[0031] S122: Pair the original candidate region and the local candidate region with triangular patches to obtain the original candidate patch and the local candidate patch.
[0032] In one specific embodiment, the original global real-scene 3D model triangular facets in the original candidate region are read, and the center point of the facets of the original global real-scene 3D model triangular facets is calculated. The locally updated real-scene 3D model triangular facets in the local candidate region are read, and the center point of the facets of the locally updated real-scene 3D model triangular facets is calculated. According to the spatial distance between the center points of the facets, the original global real-scene 3D model triangular facets and the locally updated real-scene 3D model triangular facets are paired one by one. The original global real-scene 3D model triangular facets after one-to-one pairing are the original candidate facets, and the locally updated real-scene 3D model triangular facets after one-to-one pairing are the local candidate facets.
[0033] It should be noted that when one original global reality 3D model triangle corresponds to multiple locally updated reality 3D model triangles, the locally updated reality 3D model triangle with the smaller distance between its center points is selected as the local candidate triangle. When one locally updated reality 3D model triangle corresponds to multiple original global reality 3D model triangles, the original global reality 3D model triangle with the smaller distance between its center points is selected as the original candidate triangle.
[0034] S123: Calculate the geometric deviation value, texture deviation value, and normal deviation value based on the original candidate patch and the local candidate patch.
[0035] In a specific embodiment, geometric deviation value, texture deviation value, and normal deviation value are calculated based on the original candidate patch and the local candidate patch. The geometric deviation value represents the degree of spatial deviation between the original candidate patch and the local candidate patch after coordinate unification. The texture deviation value represents the degree of channel difference between the original candidate patch and the local candidate patch in texture sampling value. The normal deviation value represents the degree of angular deviation between the original candidate patch and the local candidate patch in the patch normal direction.
[0036] Specifically, the steps for calculating the geometric deviation value, texture deviation value, and normal deviation value are as follows: S123.1: Using coordinate reference data, unify the coordinates of the original candidate patches and local candidate patches to obtain unified coordinate original candidate patches and unified coordinate local candidate patches.
[0037] In one specific embodiment, the initial conversion value from the locally updated real-scene 3D model coordinate system to the original global real-scene 3D model coordinate system is calculated using the original global real-scene 3D model coordinate system, the locally updated real-scene 3D model coordinate system, and the control point coordinates in the coordinate reference data. The local candidate patches are then converted to the original global real-scene 3D model coordinate system to obtain the converted local candidate patches. The original candidate patches are used as the unified coordinate original candidate patches, and the converted local candidate patches are used as the unified coordinate local candidate patches.
[0038] Specifically, the steps to obtain the original candidate patch and the local candidate patch in unified coordinates are as follows: S123.1.1: Read the original global real-scene 3D model coordinate system, the locally updated real-scene 3D model coordinate system, and the control point coordinates, and calculate the initial conversion value from the locally updated real-scene 3D model coordinate system to the original global real-scene 3D model coordinate system.
[0039] In a specific embodiment, the original control point coordinates and local control point coordinates are read from the control point coordinates. The original control point coordinates are the coordinates of the control points in the original global reality 3D model coordinate system, and the local control point coordinates are the coordinates of the control points in the locally updated reality 3D model coordinate system. The initial conversion values include the initial scale, initial rotation, and initial translation. The local control point coordinates are represented as follows: The original control point coordinates are represented as ,in, Number the control points. , To determine the number of control points, the initial conversion values are obtained through three-dimensional similarity transformation, ensuring that the coordinates of the local control points correspond to the coordinates of the original control points after transformation.
[0040] S123.1.2: Using the initial conversion value, the local candidate surface is transformed to the original global real scene 3D model coordinate system to obtain the converted local candidate surface.
[0041] In one specific embodiment, the coordinates of three vertices of a local candidate face are read, and these coordinates are substituted into the initial transformation values to obtain the transformed coordinates of the three vertices. Based on these transformed coordinates, the transformed local candidate face is obtained. The vertex coordinates of the local candidate face are represented as follows: The converted vertex coordinates are expressed as ,in, The vertex numbers of the local candidate faces. The initial scale quantity is expressed as The initial rotation amount is expressed as The initial translation is expressed as The converted vertex coordinates are expressed as follows: ; Among them, the initial scale quantity Initial rotation amount and initial translation The initial conversion value is given in S123.1.1.
[0042] S123.1.3: Use the original candidate patches as the unified coordinate original candidate patches, and use the converted local candidate patches as the unified coordinate local candidate patches.
[0043] In one specific embodiment, the original candidate patch is located in the original global real scene 3D model coordinate system. The original candidate patch is used as the unified coordinate original candidate patch, and the converted local candidate patch is used as the unified coordinate local candidate patch. The unified coordinate original candidate patch and the unified coordinate local candidate patch are located in the original global real scene 3D model coordinate system.
[0044] S123.2: Based on the overlapping triangular regions of the original candidate patches and the local candidate patches in unified coordinates, the original candidate sampling points and the local candidate sampling points are obtained.
[0045] In a specific embodiment, a triangle overlap calculation is performed on the original candidate patch and the local candidate patch of unified coordinates to obtain an overlapping triangular region. Sampling points are arranged in the overlapping triangular region according to a predetermined sampling interval. The sampling points located on the original candidate patch of unified coordinates are used as the original candidate sampling points, and the sampling points located on the local candidate patch of unified coordinates are used as the local candidate sampling points.
[0046] It should be noted that the predetermined sampling interval is determined based on the average side length of the triangular facets of the original global real-scene 3D model and the average side length of the triangular facets of the locally updated real-scene 3D model.
[0047] S123.3: Calculate the coordinate distance, texture channel difference, and patch normal angle between the original candidate sampling point and the local candidate sampling point to obtain the geometric deviation value, texture deviation value, and normal deviation value.
[0048] In a specific embodiment, according to the sampling order of the sampling points within the overlapping triangular region, the original candidate sampling points and local candidate sampling points are sequentially mapped. The three-dimensional coordinate distance between the sequentially mapped original candidate sampling points and local candidate sampling points is calculated, and the average value of the three-dimensional coordinate distance is obtained to obtain the geometric deviation value. The original global real scene 3D model texture sampling value corresponding to the original candidate sampling point and the locally updated real scene 3D model texture sampling value corresponding to the local candidate sampling point are read. The red channel difference, green channel difference, and blue channel difference of the sequentially mapped sampling points are calculated, and the average value of the red channel difference, green channel difference, and blue channel difference is obtained to obtain the texture deviation value. The surface normal of the original candidate surface in unified coordinates and the surface normal of the local candidate surface in unified coordinates are read, and the surface normal of the original candidate surface in unified coordinates and the surface normal of the local candidate surface in unified coordinates are normalized. The included angle between the normalized surface normals is calculated, and the average value of the included angle of the surface normals within the same candidate anchoring area is obtained to obtain the normal deviation value.
[0049] The geometric deviation value is expressed as: ; in, This is the geometric deviation value. For the first One original candidate sampling point, For the first Local candidate sampling points, Number the candidate sampling points. , This represents the number of original candidate sampling points and local candidate sampling points. For the first The original candidate sampling points and the first The three-dimensional coordinate distance between local candidate sampling points.
[0050] Texture deviation value is expressed as: ; in, This is the texture deviation value. Assign texture channel numbers, The three texture channels correspond to the red, green, and blue channels, respectively. For the first The original candidate sampling points at the th Texture sampling values of each texture channel. For the first The local candidate sampling points at the th Texture sampling values for each texture channel.
[0051] The normal deviation value is expressed as: ; in, This is the normal deviation value. For the first The normal of the original candidate facet with unified coordinates For the first The normal of a local candidate surface in a unified coordinate system for Normalized surface normals for Normalized surface normals To unify the numbering of original candidate patches and local candidate patches in coordinates, , This represents the number of original candidate patches and local candidate patches in the unified coordinate system used in the calculation.
[0052] S124: The candidate anchoring regions are screened based on the geometric deviation value, texture deviation value and normal deviation value to obtain stable anchoring regions, and registration reference data is extracted from the stable anchoring regions. The registration reference data includes anchoring vertex pairs, anchoring contour segment pairs and anchoring normal pairs.
[0053] In a specific embodiment, the geometric deviation value is compared with the geometric deviation threshold, the texture deviation value is compared with the texture deviation threshold, and the normal deviation value is compared with the normal deviation threshold. Candidate anchoring regions with geometric deviation values less than or equal to the geometric deviation threshold, texture deviation values less than or equal to the texture deviation threshold, and normal deviation values less than or equal to the normal deviation threshold are retained to obtain stable anchoring regions. The geometric deviation threshold, texture deviation threshold, and normal deviation threshold are determined based on experimental data. The vertex coordinates of the original global real-scene 3D model and the vertex coordinates of the locally updated real-scene 3D model corresponding to the same spatial location are extracted from the stable anchoring region to obtain anchored vertex pairs. The contour segments of the original global real-scene 3D model and the contour segments of the locally updated real-scene 3D model corresponding to the same ground feature edge are extracted from the stable anchoring region to obtain anchored contour segment pairs. The normals of the original global real-scene 3D model and the normals of the locally updated real-scene 3D model corresponding to the same sampling position are extracted from the stable anchoring region to obtain anchored normal pairs. The anchored vertex pairs, anchored contour segment pairs, and anchored normal pairs constitute the registration reference data.
[0054] It should be noted that: the unit of the geometric deviation threshold is consistent with the length unit of the vertex coordinates of the original global reality 3D model; the unit of the texture deviation threshold is consistent with the channel unit of the texture sampling value of the original global reality 3D model; and the unit of the normal deviation threshold is the angle unit.
[0055] S13: Solve the coordinate transformation parameters from the locally updated real-world 3D model to the original global real-world 3D model based on the registration reference data, correct the locally updated real-world 3D model through the coordinate transformation parameters, and generate the registered local model.
[0056] In a specific embodiment, the registration reference data is obtained by S124. The registration reference data includes anchored vertex pairs, anchored contour segment pairs, and anchored normal pairs. The coordinate transformation parameters include scale, rotation, and translation. The scale is used to perform scale conversion on the vertex coordinates of the locally updated real-world 3D model. The rotation is used to perform orientation conversion on the vertex coordinates of the locally updated real-world 3D model. The translation is used to perform position conversion on the vertex coordinates of the locally updated real-world 3D model. The vertex coordinates of the locally updated real-world 3D model are substituted into the coordinate transformation parameters in sequence to obtain the vertex coordinates of the registration local model. The vertex coordinates of the registration local model, together with the triangular facets and texture sampling values of the locally updated real-world 3D model, constitute the registration local model.
[0057] Specifically, the steps for generating the registration local model are as follows: S131: Analyze the registration reference data to obtain anchored vertex pairs, anchored profile segment pairs, and anchored normal pairs.
[0058] In a specific embodiment, the anchored vertex pair includes locally updated anchored vertices and original global anchored vertices, the anchored contour segment pair includes locally updated anchored contour segments and original global anchored contour segments, and the anchored normal pair includes locally updated anchored patch normals and original global anchored patch normals. The data is read in the spatial positional order of each anchored object in the registration reference data to obtain the anchored vertex pair, anchored contour segment pair, and anchored normal pair used to solve the coordinate transformation parameters.
[0059] S132: Calculate the initial coordinate transformation parameters based on the anchored vertex pairs.
[0060] In a specific embodiment, the number of anchored vertex pairs is expressed as: Local update of anchored vertices is represented as The original globally anchored vertex is represented as ,in, To anchor the vertex pair numbering, , To determine the number of anchored vertex pairs, initial coordinate transformation parameters are calculated based on locally updated anchored vertices and the original global anchored vertices. These initial coordinate transformation parameters include the first scale. First rotation amount and the first translation .
[0061] Specifically, the steps for calculating the initial coordinate transformation parameters are as follows: S132.1: Based on the anchored vertex pairs, read the locally updated anchored vertices and the original global anchored vertices to obtain the locally updated anchor point group and the original global anchor point group.
[0062] In one specific embodiment, the anchor vertex pairs are numbered. Read and update anchor vertices in sequence and the original global anchored vertex All local updates will be performed on anchor vertices according to their anchor vertex pair numbers. Arrange them in ascending order to obtain the local update anchor point group, and then number all the original global anchor vertices according to the anchor vertex pair. Arrange them in ascending order to obtain the original global anchor point group.
[0063] S132.2: Calculate the coordinate center of the locally updated anchor point group and the coordinate center of the original global anchor point group to obtain the locally updated anchor center and the original global anchor center.
[0064] In a specific embodiment, the local update anchor center is represented as: The original global anchor center is represented as The locally updated anchor center and the original global anchor center are represented as follows: ; ; in, To locally update the anchor center, For the original global anchor center, For the first Locally update anchor vertices For the first A primitive global anchored vertex The number of anchored vertex pairs.
[0065] S132.3: Calculate the initial coordinate transformation parameters based on the locally updated anchor point group, the original global anchor point group, the locally updated anchor center, and the original global anchor center.
[0066] In one specific embodiment, the anchor vertices are locally updated. Subtract local update anchor center This yields locally updated centralized anchored vertices, and the original globally anchored vertices are updated accordingly. Subtract the original global anchor center The original globally centralized anchored vertices are obtained, and the first scale quantity is calculated using the three-dimensional similarity transformation least squares algorithm. and the first rotation amount The first translation is calculated based on the locally updated anchor center and the original global anchor center. First translation amount Represented as: ; in, This is the first translation amount. For the original global anchor center, To locally update the anchor center, This is the first scale quantity. The first rotational quantity, the first scale quantity First rotation amount and the first translation Together they constitute the initial coordinate transformation parameters.
[0067] S133: The local updated anchor profile segment within the anchor profile segment is transformed by the initial coordinate transformation parameters to obtain the trial registration profile segment, and the profile registration error is obtained based on the distance between the trial registration profile segment and the original global anchor profile segment.
[0068] In one specific embodiment, the number of anchored contour segment pairs is expressed as: Local update of the anchored contour segment Each contour sampling point is represented as The first segment of the original global anchored contour Each contour sampling point is represented as ,in, Number the anchor contour segments. , To determine the number of anchored profile segment pairs, Number the contour sampling points, , For the first The number of contour sampling points in each anchored contour segment pair is determined by updating the contour sampling points of the anchored contour segment locally using initial coordinate transformation parameters. The conversion is performed to obtain the sampling points of the trial registration contour segment. And calculate the contour registration error. , is represented as: ; ; in, For the first The first trial registration profile segment One sample point for the registration contour segment. For the first The first original global anchored contour segment One contour sampling point, This represents the contour registration error.
[0069] S134: Correct the initial coordinate transformation parameters based on the contour registration error and anchoring normal pair, obtain the coordinate transformation parameters, and use the coordinate transformation parameters to correct and update the local real-scene 3D model to generate the registered local model.
[0070] In one specific embodiment, the contour registration error is compared with a contour error threshold. When the contour registration error is greater than the contour error threshold, the contour sampling points in the anchored contour segment pair are added to the anchored vertex pair for 3D similarity transformation calculation to obtain candidate coordinate transformation parameters. The local updated anchor patch normal in the anchored normal pair is transformed using the rotation amount in the candidate coordinate transformation parameters. The average angle between the transformed local updated anchor patch normal and the original global anchor patch normal is calculated. Candidate coordinate transformation parameters with an average angle less than or equal to the normal correction threshold are retained as coordinate transformation parameters. The contour error threshold and the normal correction threshold are determined based on experimental data. The coordinate transformation parameters include a second scale quantity. Second rotation amount Second translation amount The vertex coordinates of the locally updated real-world 3D model are represented as follows: The vertex coordinates of the registered local model are represented as ,in, To locally update the vertex numbers of the real-world 3D model, , To locally update the number of vertices in the real-world 3D model, the coordinates of the registered local model vertices are represented as follows: ; in, For the first The coordinates of the local model vertices are registered. For the first Locally update the vertex coordinates of the real-world 3D model, second scale quantity Second rotation amount Second translation amount The coordinate transformation parameters are given.
[0071] S14: Generate a seam distance field based on the registered local model and the original global real scene 3D model. Process the edge coordinate residual of the geometric edge buffer and the transition texture difference of the texture lighting transition buffer according to the seam distance field to generate an updated real scene 3D model.
[0072] In a specific embodiment, the registration local model provides the geometry content to be joined within the updated core area and the geometric edge buffer, the original global realistic 3D model provides the candidate anchoring area and the retained geometry content outside the geometric edge buffer, the seam distance field is used to record the distance values from the vertices of the geometric edge buffer to the seam line, and the distance values from the texture sampling points of the texture lighting transition buffer to the seam line. The seam distance field is used to perform gradient processing on the edge coordinate residuals and transition texture differences to obtain the updated realistic 3D model.
[0073] Specifically, the steps to generate the updated realistic 3D model are as follows: S141: Based on the registered local model and the original global real-world 3D model, read the adjacent triangular faces of the geometric edge buffer to obtain the registered edge face and the original edge face.
[0074] In one specific embodiment, triangular facets located at the edge of the updated core region in the registered local model are read within the geometric edge buffer to obtain the registered edge facets. Triangular facets located at the edge of the candidate anchoring region in the original global reality 3D model are read within the geometric edge buffer to obtain the original edge facets. The registered edge facets and the original edge facets serve as the basis for calculating the seam distance field.
[0075] S142: Generate the seam distance field based on the registered seam patch and the original seam patch.
[0076] In one specific embodiment, registration and original edge lines are extracted based on the registration and original edge patches. Endpoint pairing and equidistant resampling are performed on the registration and original edge lines to obtain registration and original edge sampling points. A seam line is generated based on the registration and original edge sampling points. The distance from the vertex of the geometric edge buffer to the seam line and the distance from the texture sampling point of the texture lighting transition buffer to the seam line are calculated to obtain the seam distance field.
[0077] Specifically, the steps for generating the seam distance field are as follows: S142.1: Based on the registration and original edge patches, extract the registration and original edge lines to obtain the model edge line pairs.
[0078] In one specific embodiment, the edges located at the boundary of the geometric edge buffer in the registration edge patch are read and concatenated in sequence according to the endpoint order of the edges to obtain the registration edge line. The edges located at the boundary of the geometric edge buffer in the original edge patch are read and concatenated in sequence according to the endpoint order of the edges to obtain the original edge line. The registration edge line and the original edge line are paired in spatial proximity order to obtain the model edge line pair.
[0079] S142.2: Perform endpoint pairing and equidistant resampling on the model edge pairs to obtain edge sampling pairs.
[0080] In a specific embodiment, the distances of the registration edge line endpoints and the original edge line endpoints in the model edge line pair are compared. The endpoints with smaller distances are taken as the same-side endpoints. The registration edge line and the original edge line are resampled at equal intervals according to the direction of the same-side endpoints to obtain the registration edge sampling line and the original edge sampling line. The registration edge sampling line and the original edge sampling line are taken as the edge sampling line pair.
[0081] S142.3: Calculate the midpoint coordinates of the in-order sampling points within the edge sampling line pair to obtain the seam line, and calculate the distance from the vertex of the geometric edge buffer to the seam line and the distance from the texture sampling point of the texture lighting transition buffer to the seam line to obtain the seam distance field.
[0082] In a specific embodiment, the number of edge sampling points is expressed as: The registration and edge sampling points are represented as The original edge sampling points are represented as ,in, Number the sampling points at the junction. , To determine the number of edge sampling points, calculate the midpoint coordinates of the registered edge sampling points and the original edge sampling points to obtain the seam line sampling points. And according to the sampling point number at the junction By concatenating the seam sampling points in ascending order, the seam line is obtained. The vertices of the geometric edge buffer are represented as follows: ,in, The vertex numbers are assigned to the geometric edge buffer. , The number of vertices in the geometry boundary buffer, and the surface space coordinates corresponding to the texture sampling points in the texture lighting transition buffer are represented as follows: ,in, This is used to number the texture sampling points in the texture lighting transition buffer. , The number of texture sampling points in the texture lighting transition buffer is represented by the seam distance field. The sampling points of the seam line and the seam distance field are respectively represented as: ; ; ; in, For the first One seam sampling point, The first geometric edge buffer The distance value from each vertex to the seam line. The first of the texture lighting transition buffer The distance value from each texture sampling point to the seam line.
[0083] S143: Based on the seam distance field, spatial attenuation is performed on the edge coordinate residual of the geometric edge buffer to obtain the local residual deformation field.
[0084] In one specific embodiment, the coordinates of the registered local model vertices and the original global real-world 3D model vertices corresponding to the same spatial location within the geometric edge buffer are read. The coordinate difference between the two is calculated to obtain the edge coordinate residual. The distance values of the seam distance field within the geometric edge buffer are normalized to obtain the geometrically normalized distance values. The range of the geometrically normalized distance values is as follows: to Based on the geometrically normalized distance value, spatial attenuation is performed on the edge coordinate residuals to obtain the local residual deformation field. The first residual deformation field within the geometric edge buffer is... The vertex coordinates of the local registration model corresponding to each vertex are represented as follows: The vertex coordinates of the original global reality 3D model are represented as: The edge coordinate residual is expressed as The geometrically normalized distance value is expressed as The local residual deformation field is expressed as The edge coordinate residuals, geometrically normalized distance values, and local residual deformation fields are expressed as follows: ; ; ; in, This represents the maximum distance value of the seam distance field within the geometric edge buffer zone. From each vertex within the geometric edge buffer Take the maximum value to get For the first The geometrically normalized distance values corresponding to each vertex For the first The local residual deformation field corresponding to each vertex.
[0085] S144: Based on the seam distance field, the transition texture difference of the texture lighting transition buffer is gradually assigned to obtain the gradient blended texture, and the updated real-world 3D model is generated based on the local residual deformation field and the gradient blended texture.
[0086] In one specific embodiment, the registered local model texture sampling value and the original global real-scene 3D model texture sampling value corresponding to the same texture sampling point within the texture lighting transition buffer are read. The channel difference between the two is calculated to obtain the transition texture difference value. The distance value of the seam distance field within the texture lighting transition buffer is normalized to obtain the texture normalized distance value. The range of the texture normalized distance value is as follows: to The transition texture difference is gradually assigned based on the texture normalization distance value to obtain a gradient blended texture. The local residual deformation field is written into the geometry boundary buffer, and the gradient blended texture is written into the texture lighting transition buffer. Combined with the registered local model of the updated core area and the original global reality 3D model outside the candidate anchoring area, an updated reality 3D model is generated. The texture lighting transition buffer contains the first... The texture sampling point at the th in the ... The local model texture sample values for each texture channel are represented as follows: The original global reality 3D model texture sampling values are represented as ,in, Assign texture channel numbers, The transition texture difference is represented as The texture normalized distance value is represented as Gradient blend texture is represented as The transition texture difference, texture normalization distance value, and gradient blend texture are respectively represented as: ; ; ; in, This represents the maximum distance value of the seam distance field within the texture lighting transition buffer. Each texture sampling point within the texture lighting transition buffer Take the maximum value to get For the first The texture normalized distance value corresponding to each texture sampling point For the first The texture sampling point at the th in the ... Gradient blending textures across multiple texture channels.
[0087] The above embodiments are only used to illustrate the technical methods of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical methods of the present invention without departing from the spirit and scope of the technical methods of the present invention.
Claims
1. A method for optimizing a real-world 3D model based on double-buffered constraints, characterized in that, The method includes: Based on the collected coordinate reference data and updated boundary lines, the original global real scene 3D model and the locally updated real scene 3D model are partitioned to generate an updated core area, candidate anchoring area, geometric edge buffer, and texture lighting transition buffer. Obtain the geometric deviation value, texture deviation value, and normal deviation value of the candidate anchoring area and filter them to obtain the stable anchoring area. Extract the registration reference data from the stable anchoring area. Based on the registration reference data, the coordinate transformation parameters from the locally updated real-scene 3D model to the original global real-scene 3D model are solved. The locally updated real-scene 3D model is then corrected using the coordinate transformation parameters to generate the registered local model. Based on the registered local model and the original global realistic 3D model, a seam distance field is generated. Then, the edge coordinate residuals of the geometric edge buffer and the transition texture difference of the texture lighting transition buffer are processed according to the seam distance field to generate an updated realistic 3D model, including: Based on the registered local model and the original global real-scene 3D model, the adjacent triangular faces of the geometric edge buffer are read to obtain the registered edge face and the original edge face; Based on the registered seam patch and the original seam patch, a seam distance field is generated, including: Based on the registered joint surface and the original joint surface, the registered joint line and the original joint line are extracted to obtain the model joint line pair; Endpoint pairing and equidistant resampling are performed on the model edge pairs to obtain edge sampling pairs; Calculate the midpoint coordinates of the in-order sampling points within the edge sampling line pair to obtain the seam line, and calculate the distance from the vertex of the geometric edge buffer to the seam line and the distance from the texture sampling point of the texture lighting transition buffer to the seam line to obtain the seam distance field. Based on the seam distance field, the spatial attenuation of the edge coordinate residuals of the geometric edge buffer is performed to obtain the local residual deformation field; Based on the seam distance field, the transition texture difference of the texture lighting transition buffer is gradually assigned to obtain the gradient blended texture, and an updated real-world 3D model is generated based on the local residual deformation field and the gradient blended texture.
2. The method for optimizing a real-world 3D model based on double-buffer constraints according to claim 1, characterized in that, The original global real-scene 3D model includes the vertex coordinates, triangles, and texture samples of the original global real-scene 3D model. The locally updated real-scene 3D model includes the vertex coordinates, triangles, and texture samples of the locally updated real-scene 3D model. The coordinate reference data includes the coordinate system of the original global real-scene 3D model, the coordinate system of the locally updated real-scene 3D model, and the coordinates of the control points. The updated boundary line includes the boundary sampling points and the boundary arrangement order.
3. The method for optimizing a real-world 3D model based on double-buffer constraints according to claim 2, characterized in that, The steps for generating and updating the core region, candidate anchoring region, geometry edge buffer, and texture lighting transition buffer are as follows: Using coordinate reference data, the updated boundary lines are transformed into the original global real scene 3D model and the local updated real scene 3D model respectively, to obtain the original boundary projection lines and the local boundary projection lines; Based on the original boundary projection lines and the local boundary projection lines, the overlap of the original global real scene 3D model and the locally updated real scene 3D model is determined to obtain the model overlap area. According to the boundary arrangement order, the boundary enclosure determination of the overlapping area of the model is performed to obtain the updated core area and candidate anchoring area; Based on the adjacent triangular faces of the updated core region and the candidate anchor region, a geometric edge buffer is obtained, and based on the adjacent texture sampling points of the updated core region and the candidate anchor region, a texture lighting transition buffer is obtained.
4. The method for optimizing a real-world 3D model based on double-buffered constraints according to claim 3, characterized in that, The steps for obtaining the stable anchorage region and extracting the registration reference data from it are as follows: Based on the coordinate reference data, the candidate anchoring areas are mapped to the original global real scene 3D model and the locally updated real scene 3D model respectively to obtain the original candidate area and the local candidate area; Pair the original candidate region and the local candidate region with triangular patches to obtain the original candidate patch and the local candidate patch; Based on the original candidate patches and local candidate patches, calculate the geometric deviation value, texture deviation value, and normal deviation value; Candidate anchoring regions are screened based on geometric deviation, texture deviation, and normal deviation values to obtain stable anchoring regions. Registration reference data is then extracted from the stable anchoring regions, including anchoring vertex pairs, anchoring contour segment pairs, and anchoring normal pairs.
5. The method for optimizing a real-world 3D model based on double-buffer constraints according to claim 4, characterized in that, The steps for calculating the geometric deviation value, texture deviation value, and normal deviation value are as follows: Using coordinate reference data, the coordinates of the original candidate patches and local candidate patches are unified to obtain unified coordinate original candidate patches and unified coordinate local candidate patches; Based on the overlapping triangular region of the original candidate patch and the local candidate patch in unified coordinates, the original candidate sampling point and the local candidate sampling point are obtained. Calculate the coordinate distance, texture channel difference, and patch normal angle between the original candidate sampling point and the local candidate sampling point to obtain the geometric deviation value, texture deviation value, and normal deviation value.
6. The method for optimizing a real-world 3D model based on double-buffered constraints according to claim 5, characterized in that, The steps to obtain the original candidate patch and the local candidate patch in unified coordinates are as follows: Read the original global real scene 3D model coordinate system, the locally updated real scene 3D model coordinate system and the control point coordinates, and calculate the initial conversion value from the locally updated real scene 3D model coordinate system to the original global real scene 3D model coordinate system; By using the initial conversion values, the local candidate patches are transformed to the original global real scene 3D model coordinate system to obtain the converted local candidate patches; The original candidate patches are used as the unified coordinate original candidate patches, and the transformed local candidate patches are used as the unified coordinate local candidate patches.
7. The method for optimizing a real-world 3D model based on double-buffered constraints according to claim 4, characterized in that, The steps to generate a registered local model are as follows: Analyze the registration reference data to obtain anchored vertex pairs, anchored contour segment pairs, and anchored normal pairs; Calculate the initial coordinate transformation parameters based on the anchored vertex pairs; The local updated anchor profile segment within the anchor profile segment is transformed by the initial coordinate transformation parameters to obtain the trial registration profile segment, and the profile registration error is obtained based on the distance between the trial registration profile segment and the original global anchor profile segment. The initial coordinate transformation parameters are corrected based on the contour registration error and the anchoring normal pair to obtain the coordinate transformation parameters. The local update of the real scene 3D model is then corrected using the coordinate transformation parameters to generate the registered local model.
8. The method for optimizing a real-world 3D model based on double-buffered constraints according to claim 7, characterized in that, The steps for calculating the initial coordinate transformation parameters are as follows: Based on the anchored vertex pairs, read the locally updated anchored vertices and the original global anchored vertices to obtain the locally updated anchored point group and the original global anchored point group; Calculate the coordinate center of the locally updated anchor point group and the coordinate center of the original global anchor point group to obtain the locally updated anchor center and the original global anchor center; Calculate the initial coordinate transformation parameters based on the locally updated anchor point group, the original global anchor point group, the locally updated anchor center, and the original global anchor center.
Citation Information
Patent Citations
Multi-source data fusion high-resolution satellite image three-dimensional modeling integrated processing method
CN120807826A
Local updating and incremental storage method and system for live-action three-dimensional model
CN120997421A
Dynamic SLAM method based on static semantic anchor points
CN121280528A
