A method for automatically repairing topological errors of a tilt photography three-dimensional model

CN123015320APending Publication Date: 2026-10-30江苏城发数字科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611128650.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-28
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0003]现有修复方式通常依据边界闭合情况或几何阈值识别孔洞,并采用顶点合并、边界缝合或局部补面进行处理,难以结合相邻瓦片、不同细节层级及纹理映射关系准确判定开放边界来源,容易误修合法边界或漏修重建错误

Benefits of technology

1、本发明基于像片外方位元素、像片与瓦片的归属关系以及开放边界环的物方位置,检索具备有效观测角度且实际存在重建面片的覆盖像片,并通过覆盖像片所属瓦片与当前瓦片的对应关系识别截断型边界。该方式能够从真实影像覆盖及重建成果两方面确认开放边界的形成原因,区分瓦片分块造成的截断边界与场景自身开放边界,减少将建筑物真实开口、模型外缘等正常结构误判为拓扑错误的情况,提高拓扑错误识别的准确性,为后续局部修复提供可靠对象。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123015320A_ABST
    Figure CN123015320A_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of three-dimensional model processing, in particular to a kind of topological error automatic repair method of oblique photography three-dimensional model, the present application is by obtaining the picture exterior orientation element and picture attribution relationship corresponding to each tile, identifies triangle net open boundary ring;According to the object side position of open boundary ring, retrieve the coverage picture with effective observation angle and there is effective reconstruction patch, according to the tile belonging to coverage picture determines truncated boundary;Extract the adjustment residual of the tile on the two sides of boundary, implement position compensation to the grid vertex of the boundary to be compensated and generate stitching patch;Using coverage picture projection sampling texture, according to the color difference of shared boundary color tone adjustment is carried out;According to the tile merging mapping relationship between levels, topological cleaning or repeated repair is carried out in other levels.The present application can improve the identification accuracy of cross-tile boundary, maintain the geometric and texture continuity of multi-level model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of 3D model processing technology, specifically to an automatic topological error repair method for oblique photogrammetry 3D models. Background Technology

[0002] Oblique photogrammetry 3D models are typically reconstructed from images and organized as textured triangular meshes in a block-based, hierarchical manner. Due to factors such as image occlusion, matching errors, mesh simplification, tile segmentation, and hierarchical transformations, topological anomalies such as holes, cracks, overhanging surfaces, non-manifold edges, and repeating surfaces can easily appear in the model. Open boundaries may originate from the actual outer contours of ground features, data clipping ranges, or tile boundaries, or they may arise from missing parts of the triangular mesh reconstruction; both are quite similar in local geometry.

[0003] Current repair methods typically identify holes based on boundary closure or geometric thresholds, and then process them using vertex merging, boundary stitching, or local surface patching. However, these methods struggle to accurately determine the source of open boundaries by considering adjacent tiles, different detail levels, and texture mapping relationships, easily leading to the misrepair of legitimate boundaries or the omission of reconstruction errors. Furthermore, the repair process may disrupt cross-tile geometric connections, causing new cracks, surface abrupt changes, texture stretching, or texture misalignment. Therefore, there is an urgent need to address how to accurately determine the source of open boundaries in block-based, multi-level, textured oblique photogrammetric triangulations, and to implement localized automatic repair that maintains cross-tile geometric and texture continuity only for reconstructed topology errors.

[0004] To address this, an automatic topology error repair method for oblique photogrammetry 3D models is proposed. Summary of the Invention

[0005] The purpose of this invention is to provide an automatic topological error repair method for oblique photogrammetry 3D models. By identifying truncated boundaries through image overlay and tile assignment, the method uses adjustment residuals to compensate for boundary positions and generate stitched patches. Combined with texture sampling, tone adjustment, and hierarchical mapping, the method can automatically repair topological errors in 3D models across tiles and multiple levels.

[0006] To achieve the above objectives, the present invention provides the following technical solution: An automatic topology error repair method for oblique photogrammetry 3D models includes: Obtain the exterior orientation elements of the images corresponding to each tile in the block reconstruction and the attribution relationship between the images and tiles, identify the edges in the triangular mesh that are referenced by only a single facet, and cluster the edges into open boundary loops; Based on the object position of the open boundary ring, retrieve the overlay image that has a valid observation angle and a valid reconstructed surface within the assigned tile; if the overlay image belongs to an adjacent tile, then determine that the open boundary ring is a truncated boundary, and record the object position, the assigned adjacent tile, and the overlay image corresponding to the truncated boundary. Extract the adjustment residuals corresponding to the tiles on both sides of the truncated boundary, apply position compensation according to the grid vertex position of the level where the truncated boundary is located, and generate stitched patches; Based on the overlay image, projection sampling is performed on the stitched surface to obtain the texture, and the textures from different sources are adjusted according to the color differences at the shared boundary of the stitched surface. Based on the tile merging mapping relationship between layers, locate the object position corresponding to the truncated boundary in other layers; for other layers, based on the overlay image, repeat position compensation and projection sampling and tone adjustment according to the grid vertex position of the layer itself.

[0007] Preferably, the acquisition of the exterior orientation elements of the images corresponding to each tile in the block reconstruction and the attribution relationship between the images and the tiles is as follows: the survey area is divided into tiles according to the preset spatial range division rules, and all images participating in the reconstruction are assigned to the corresponding tiles according to the tile range to which the corresponding ground shooting position belongs, forming a task allocation record; regional network adjustment is performed on the images assigned to each tile, and the overall calculation is performed with the spatial intersection relationship of the corresponding connection points between images and the coordinates of the field control points as constraints, to obtain the camera position, camera attitude and three-dimensional coordinates of each connection point for each image, and the calculated camera position, camera attitude and the tile number to which the image belongs in the task allocation record are stored according to the image identifier, forming the attribution relationship between the images and the tiles; To identify edges in a triangular mesh that are referenced by only a single facet, and cluster these edges into open boundary loops, the following steps are taken: traverse the three edges of each triangular facet in the current tile triangular mesh, count the number of times each edge is referenced, and determine the edges that are referenced only once as candidate open edges; according to the coincidence of the endpoint coordinates of the candidate open edges, connect the candidate open edges one after the other to form an open boundary loop, and record the object-side three-dimensional coordinates of each point on the open boundary loop.

[0008] Preferably, the process of acquiring the overlay image is as follows: Based on the camera position, camera orientation, and preset camera image size parameters of the image, determine the effective image range of each image in the object space; based on the object space 3D coordinates of each point on the open boundary ring, select points falling within the effective image range of the image as candidate overlay points; calculate the local surface normal of the candidate overlay point based on the vertex coordinates of the triangular facets adjacent to the candidate overlay point; determine the initial overlay images of candidates with overlay points whose angle between the line connecting the candidate overlay point and the corresponding camera position and the local surface normal is less than a preset angle threshold; for each initial overlay image, obtain the tile number to which the initial overlay image belongs based on the relationship between the image and the tile, and determine whether there are triangular facets in the corresponding triangular mesh within the vicinity of the object space 3D coordinates of the candidate overlay point; determine the initial overlay images where triangular facets are found as overlay images.

[0009] Preferably, the object position, the adjacent tiles to which the truncated boundary belongs, and the overlay image are recorded. Specifically, this involves: reading the overlay image and the tile number corresponding to each point on the open boundary ring; comparing the tile number with the current tile number one by one; determining the tile number to which the overlay image belongs that is different from the current tile number as an adjacent tile, and determining the open boundary ring corresponding to the overlay image as a truncated boundary; recording the object position three-dimensional coordinates of each point on the truncated boundary as the object position corresponding to the truncated boundary; and associating and recording the overlay image and adjacent tiles on which the determination result is based to the truncated boundary according to the point correspondence relationship.

[0010] Preferably, the process of generating the stitched patch is as follows: Based on the adjacent tiles recorded by the truncated boundary, read the three-dimensional coordinates of the connection points and the corresponding residuals obtained when performing area network adjustment on the current tile and the adjacent tiles respectively; select the connection points whose three-dimensional coordinates are within the range of the object position corresponding to the truncated boundary as reference connection points; compare the adjustment residuals of the reference connection points on one side of the current tile and the reference connection points on the other side of the adjacent tile, and determine the side with the larger adjustment residual as the boundary to be compensated, and the other side as the reference boundary; apply position compensation to the mesh vertex positions of the boundary to be compensated based on the positional relationship between each point on the boundary to be compensated and the adjacent reference connection points and the residuals of the reference connection points, to obtain the compensated boundary; generate the stitched patch between the compensated boundary and the reference boundary.

[0011] Preferably, color tone adjustment is performed on textures from different sources. Specifically, for the overlay images recorded based on the truncated boundary of the stitched surface, it is determined one by one whether the line connecting the stitched surface and the camera position of the corresponding overlay image is occluded by the triangular surface adjacent to the reference boundary or the compensated boundary, and the overlay images whose observation direction is occluded are excluded; among the overlay images that are not occluded, the overlay image with the smallest angle between the normal of the stitched surface and the line connecting the camera position is selected as the source image of the stitched surface; based on the camera position, camera attitude and camera image size parameters of the source image, the object-space three-dimensional coordinates of the vertices of the stitched surface are converted into pixel coordinates in the plane of the source image, and the image content at the pixel coordinate position is read as the texture of the stitched surface; for adjacent stitched surfaces with different source images, the color values ​​of the corresponding pixels at the shared boundary are compared, and the overall color value adjustment is performed on the side whose color value deviates from the reference boundary and is adjacent to the original surface texture.

[0012] Preferably, locating the object position corresponding to the truncated boundary in other levels specifically involves: during the multi-level detail generation process, merging multiple adjacent tiles in the base level into one tile in other levels according to preset simplification rules, and recording the correspondence between tile numbers before and after merging as an inter-level tile merging mapping relationship; based on the numbers of the assigned tile and adjacent tiles recorded by the truncated boundary, searching for the corresponding tile numbers of the assigned tile and adjacent tiles in other levels in the inter-level tile merging mapping relationship; The specific process for repetitive position compensation, projection sampling, and tone adjustment based on the grid vertex positions of each layer is as follows: If the assigned tile and its adjacent tiles correspond to the same tile number in other layers, then based on the object position recorded by the truncated boundary, the system searches the adjacent range of the grid corresponding to the tile number for duplicate faces generated by tile merging or edges referenced only by a single face, and performs topology cleaning on the retrieved duplicate faces or edges; if the assigned tile and its adjacent tiles correspond to different tile numbers in other layers, then based on the overlay image recorded by the truncated boundary association, the system performs repetitive position compensation, projection sampling, and tone adjustment based on the grid vertex positions of each layer.

[0013] Compared with the prior art, the beneficial effects of the present invention are as follows: 1. This invention, based on the exterior orientation elements of images, the attribution relationship between images and tiles, and the object position of open boundary loops, retrieves overlay images with valid observation angles and actual reconstructed areas. It then identifies truncated boundaries by the correspondence between the tiles to which the overlay image belongs and the current tile. This method can confirm the cause of open boundary formation from both the actual image overlay and the reconstructed results, distinguishing between truncated boundaries caused by tile segmentation and open boundaries inherent to the scene itself. This reduces the likelihood of misclassifying normal structures such as actual building openings and model edges as topological errors, improving the accuracy of topological error identification and providing reliable objects for subsequent local repair.

[0014] 2. This invention extracts the adjustment residuals of the tiles on both sides of the truncated boundary, uses the adjacent connection points of the boundary as references, compares the adjustment residuals on both sides to determine the boundary to be compensated and the reference boundary, and then performs position compensation on the mesh vertices of the boundary to be compensated based on the residuals and spatial positional relationship of the reference connection points. This allows for the correction of geometric offsets between adjacent tiles using error information generated during the regional network adjustment process, and generates stitched patches between the compensated boundary and the reference boundary, avoiding patch distortion, intersections, or local abrupt changes caused by directly connecting misaligned vertices, thus improving the geometric continuity and repair reliability of the cross-tile triangular network.

[0015] 3. This invention performs occlusion judgment and observation angle screening on the overlay images, projects and samples the stitched patch texture from valid source images, and performs tone adjustment based on the color difference at the shared boundary, thereby reducing texture seams caused by different image exposures, viewing angles, and imaging conditions. Simultaneously, it utilizes the inter-layer tile merging mapping relationship to transfer the object position of truncated boundaries to other detail levels. Based on the tile merging results, it performs topology cleaning or recompensation repair, ensuring that the topology, geometric position, and texture representation of different detail levels remain consistent, avoiding crack recurrence, duplicate patches, or significant color differences when switching model layers. Attached Figure Description

[0016] Figure 1This is a schematic diagram of the automatic topology error repair method for oblique photogrammetry 3D models provided by the present invention; Figure 2 This is a schematic diagram of the logic flow for generating stitched facets provided by the present invention; Figure 3 This is a schematic diagram of the logic flow for texture projection and tone adjustment provided by the present invention. Detailed Implementation

[0017] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the invention.

[0018] Example 1: The automatic topological error repair method for oblique photogrammetry 3D models provided in this embodiment can be implemented by a computer device equipped with a processor and memory by executing a computer program stored in the memory. After the computer device reads the triangulation data, aerial triangulation adjustment results data, and original image data corresponding to each tile after block reconstruction, it sequentially performs the following five processing stages: First, establishing the attribution relationship between images and tiles and identifying and clustering open boundary rings; Second, retrieving the overlay images corresponding to the open boundary rings and determining the truncated boundaries; Third, extracting the adjustment residuals and generating stitched patches; Fourth, performing projection sampling and tone adjustment on the stitched patches; Fifth, pushing the above repair conclusions down to other detail levels based on the inter-level tile merging mapping relationship.

[0019] Please see Figure 1 This invention provides an automatic topological error repair method for oblique photogrammetry 3D models. The technical solution is as follows: Obtain the exterior orientation elements of the images corresponding to each tile in the block reconstruction and the attribution relationship between the images and tiles; identify edges in the triangulation network that are referenced only by a single facet, and cluster these edges into open boundary loops; based on the object position of the open boundary loop, retrieve overlay images that have a valid observation angle and a valid reconstructed facet within the assigned tile; if the overlay image belongs to an adjacent tile, determine that the open boundary loop is a truncated boundary, and record the object position corresponding to the truncated boundary and the associated adjacent tile. The process involves: extracting adjustment residuals corresponding to tiles on both sides of the truncated boundary; applying position compensation based on the mesh vertex positions of the layer containing the truncated boundary to generate stitched patches; performing projection sampling on the stitched patches to obtain textures based on the overlay images; and adjusting the tones of textures from different sources based on color differences at the shared boundaries of the stitched patches; locating the object positions corresponding to the truncated boundary in other layers based on the tile merging mapping relationship between layers; and repeating position compensation, projection sampling, and tone adjustment based on the mesh vertex positions of other layers according to the overlay images.

[0020] Furthermore, the exterior orientation elements of the images corresponding to each tile in the segmented reconstruction and the attribution relationship between the images and the tiles are obtained. Specifically, the survey area is divided into tiles according to the preset spatial range division rules, and all images participating in the reconstruction are assigned to the corresponding tiles according to the tile range to which the corresponding ground shooting position belongs, forming a task allocation record; regional network adjustment is performed on the images assigned to each tile, and the overall solution is performed with the spatial intersection relationship of the corresponding connection points between images and the coordinates of the field control points as constraints, to obtain the camera position, camera attitude and the three-dimensional coordinates of each connection point for each image. The calculated camera position, camera attitude and the tile number to which the image belongs in the task allocation record are stored according to the image identifier, forming the attribution relationship between the images and the tiles; To identify edges in a triangular mesh that are referenced by only a single facet, and cluster these edges into open boundary loops, the following steps are taken: traverse the three edges of each triangular facet in the current tile triangular mesh, count the number of times each edge is referenced, and determine the edges that are referenced only once as candidate open edges; according to the coincidence of the endpoint coordinates of the candidate open edges, connect the candidate open edges one after the other to form an open boundary loop, and record the object-side three-dimensional coordinates of each point on the open boundary loop.

[0021] Specifically, before implementing block reconstruction, the survey area is divided into multiple tiles according to a preset spatial division rule. In one possible implementation, this spatial division rule determines the tile boundaries based on a unified geographic coordinate system (such as the Gauss-Krüger projection coordinate system) through gridding. The tile size is determined comprehensively based on the ground resolution of the aerial photographs and the upper limit of the number of triangular facets that a single tile can support (this upper limit is limited by the scale of the regional network adjustment and the performance requirements of subsequent graphics rendering). Typically, a pyramid-shaped tile organization structure is generated using a quadtree hierarchical partitioning method. This division rule is pre-set and solidified as a production configuration parameter in the project technical design stage according to the project technical design document, and remains unchanged during subsequent block reconstruction and boundary repair processing, without being adjusted according to the processing results of individual tiles. After the survey area is divided, all images participating in the reconstruction are assigned to corresponding tiles according to their corresponding ground shooting location (i.e., the projected coordinates of the camera's 3D position on the horizontal plane in the image's exterior orientation elements), forming a task assignment record. If the projected coordinates happen to fall on the common boundary line of two adjacent tiles, a unique tile is determined according to a preset assignment priority rule (such as assignment by tile number order or assignment based on proximity to the tile center) to avoid duplicate assignment of the same image. The uniquely assigned tile serves only as a task index for regional network adjustment and data scheduling, and is not used as a separate criterion for image object coverage or truncated boundaries; the coverage relationship of an image to a certain object location is still determined based on the exterior orientation elements, effective image range, and ray visibility.

[0022] A regional network adjustment (bundle adjustment) is performed on the images assigned to each tile. Using the spatial forward intersection relationship of corresponding connection points between images and the coordinates of field control points as constraints, a global least squares solution is performed to obtain the camera position, camera attitude (i.e., exterior orientation elements), and the object-space 3D coordinates of each connection point for each image. After the solution, the image plane reprojection residuals, observation weights, and the corresponding exterior orientation elements of each connection point in each image are read. A 3D coordinate correction vector is then calculated in a unified object-space coordinate system to reduce the overall reprojection deviation of multiple observation rays at the same connection point, and the posterior uncertainty of this vector is output. The adjustment residuals mentioned in this application refer to this 3D coordinate correction vector, not the 2D reprojection residuals in a single image; only the adjustment residuals that meet the project model accuracy requirements after removing outlier observations are retained for subsequent position compensation. The calculated camera position and camera orientation are stored one-to-one with the tile number to which the image belongs in the task allocation record, forming a record table of image and tile ownership. Each entry in the record table contains the image identifier, exterior orientation element and the tile number to which it belongs, for subsequent retrieval and comparison when overriding images.

[0023] For the mesh data after dense matching and triangulation construction of each tile, traverse the three edges of each triangular facet in the current tile's triangulation and count the number of times each edge is shared (referenced) by the triangular facet. Since the triangulation within the same tile uses a unified vertex index method to express topological adjacency, that is, two topologically adjacent faces express their adjacency by sharing the same vertex number rather than their own independent coordinate values, the reference count of edges can be directly counted by vertex index pairs (rather than coordinate values), and edges that are referenced only once are identified as candidate open edges. Based on the vertex index overlap of the candidate open edge endpoints, the candidate open edges are sequentially concatenated end-to-end: candidate open edges sharing the same endpoint are represented by the same endpoint index in the data structure, and concatenation can be completed accordingly without additional coordinate tolerance comparison; for cases where vertices at theoretically the same position are stored as duplicate vertices with similar coordinate values ​​but different indices due to independent generation of local meshes, vertex merging preprocessing is performed before endpoint concatenation. The merging criterion is that the object distance between the endpoints of the candidate open edges is less than a preset vertex merging tolerance. This tolerance value is less than the average triangle side length of the local area of ​​the current tile mesh, to ensure that only duplicate vertices that should be in the same position are merged, avoiding the erroneous merging of vertices that are not actually adjacent. After endpoint concatenation, only the edge sequence where each endpoint is adjacent to two candidate open edges and the beginning and end are closed is determined as the open boundary loop described in this application, and the object-side three-dimensional coordinates of each point on the open boundary loop are recorded; boundary components that cannot be closed, have branches, or have non-manifold endpoints are not entered into automatic stitching, the original mesh is retained, and they are transferred to manual review.

[0024] Furthermore, the image acquisition process specifically involves: determining the effective image range of each image in the object space based on the camera position, camera orientation, and preset camera image size parameters; selecting points falling within the effective image range of the image based on the object-space 3D coordinates of each point on the open boundary ring as candidate coverage points; calculating the local surface normal of the candidate coverage point based on the vertex coordinates of the adjacent triangular facets; identifying images where the angle between the line connecting the candidate coverage point and the corresponding camera position and the local surface normal is less than a preset angle threshold as initial candidate coverage points; for each initial candidate image, obtaining the tile number to which the initial candidate image belongs based on the relationship between the image and the tile, and determining whether there are triangular facets in the vicinity of the object-space 3D coordinates of the candidate coverage point in the corresponding triangular network; and identifying the initial candidate image to which triangular facets are found as coverage images.

[0025] Specifically, for each image in the image and tile attribution record table, the effective image range of the image in the object space is determined based on its exterior orientation elements and preset camera image frame parameters (image frame width and height, principal point position, focal length, and lens distortion parameters). These camera image frame parameters are camera calibration results, pre-acquired through calibration field calibration or self-calibration adjustment before aerial photography, and stored as project-level fixed calibration data in the camera parameter file. They are, in nature, predetermined calibration data, unlike the preset thresholds determined by experience or statistical methods in this method. During the method execution, they are directly read without recalculation. The specific determination method is as follows: using the camera position as the projection center, based on the camera attitude and the line-of-sight directions corresponding to the four corners of the image frame, extend the line of sight to intersect with the ground surface or reconstructed grid surface within the current tile and adjacent tile areas. The polygonal area enclosed by the intersection point is the effective image range of the image.

[0026] Based on the object-space 3D coordinates of each point on the open boundary ring, points falling within the effective image range of a certain image are selected as candidate coverage points for that image. For each candidate coverage point, the local surface normal of that point is calculated based on the vertex coordinates of its neighboring triangular facets. Specifically, a weighted average of the normals of the neighboring triangular facets can be used as the local surface normal estimate. Images where the angle between the line connecting the candidate coverage point and the corresponding image camera position and the local surface normal of that point is less than a preset angle threshold are determined as the initial selection images for that candidate coverage point. This angle threshold is used to exclude images where the angle between the observation direction and the surface normal is too large (too large grazing angle), avoiding images that, although geometrically covering the point, may suffer from texture projection distortion or insufficient matching reliability due to the excessive incident angle. Before project implementation, this threshold is comprehensively selected based on the imaging distortion characteristics of the camera lens used for aerial photography and empirical statistical results of texture projection quality and dense matching reliability under different incident angles in historical projects. It is written into the production processing configuration file as a fixed engineering parameter for direct reading and calling during method execution, without needing to be recalculated each time.

[0027] For each initially selected image, its corresponding tile number is obtained from the attribution record table. The triangulation network corresponding to that tile number is then searched for a validly reconstructed triangular facet within the vicinity of the candidate coverage point's object-side 3D coordinates. This vicinity is determined based on the average side length of the triangles in the local mesh of the tile to be searched, using a multiple of the average side length as the search radius to balance finding valid reconstructions of the actual mesh at that location with avoiding the erroneous search of irrelevant distant facets. For initially selected images where valid triangular facets are found, ray intersection detection is performed from the camera position towards the candidate coverage point. Only when the object-side distance between the first valid ray intersection point and the candidate coverage point is within the accuracy tolerance of the tile model, the normal of the intersection facet is compatible with the normal of the local surface of the candidate coverage point, and the intersection facet and the boundary point belong to the same continuous local surface, is the initially selected image determined as a coverage image. If facets exist only in the vicinity but do not meet the above conditions, they are not considered evidence of coverage.

[0028] Furthermore, the object position, the adjacent tiles to which they belong, and the overlay image corresponding to the truncated boundary are recorded. Specifically, the overlay image and the tile number corresponding to each point on the open boundary ring are read, and the tile number is compared with the current tile number one by one. The tile number to which the overlay image belongs, which is different from the current tile number, is determined to be an adjacent tile, and the open boundary ring corresponding to the overlay image is determined to be a truncated boundary. The object three-dimensional coordinates of each point on the truncated boundary are recorded as the object position corresponding to the truncated boundary, and the overlay image and adjacent tiles on which the determination result is based are associated and recorded to the truncated boundary according to the point correspondence relationship.

[0029] Specifically, the system reads the overlay images and their corresponding tile numbers for each sampling point on the open boundary ring and compares them one by one with the current tile number. Different tile numbers are only used to identify adjacent tiles to be checked. Only when a corresponding edge segment that is spatially adjacent to the current sampling point, normal compatible, and continuous along the boundary is obtained in the triangulation of adjacent tiles is the corresponding continuous sub-segment determined as a truncated boundary. Sampling points for which no corresponding edge segment is obtained remain in an undetermined state and are transferred to manual review. In practice, a boundary record table is established for the open boundary ring, corresponding one-to-one with the order of its sampling points. Each row in the table records the object-side 3D coordinates of a sampling point, a list of overlay image identifiers for that point, and the tile number to which each overlay image belongs. When a row contains an overlay image whose tile number is different from the current tile number, the overlay image identifier and the corresponding adjacent tile number are recorded together in that row, thus completing the point correspondence record of the truncated boundary's object-side location, its associated adjacent tiles, and the overlay image. It should be noted that adjacent tile numbers corresponding to different sampling points on the same open boundary ring may be different (for example, part of the boundary ring is adjacent to tile A, and another part is adjacent to tile B). In this case, based on the distribution of adjacent tile numbers in the boundary record table, the open boundary ring is divided into multiple sub-sections according to the location where the adjacent tile numbers change. Subsequent stitching patch generation processing is performed on each sub-section according to its corresponding adjacent tiles and overlay images to avoid the same stitching patch being incorrectly associated with overlay images of multiple adjacent tiles. If no overlay image satisfying the valid observation angle conditions can be found at any sampling point on the open boundary ring, the boundary ring is determined to be a data intrinsically missing boundary, and subsequent stitching processing is not performed. The original mesh is retained and marked as awaiting manual review.

[0030] Furthermore, referring to Figure 2 The process of generating the stitched patch is as follows: Based on the adjacent tiles recorded by the truncated boundary, the three-dimensional coordinates of the connection points and the corresponding residuals obtained when performing the area network adjustment on the current tile and the adjacent tiles are read respectively; the connection points whose three-dimensional coordinates are located in the vicinity of the object position corresponding to the truncated boundary are selected as reference connection points; the adjustment residuals of the reference connection points on one side of the current tile and the reference connection points on the other side of the adjacent tile are compared, and the side with the larger adjustment residual is determined as the boundary to be compensated, and the other side is determined as the reference boundary; based on the positional relationship between each point on the boundary to be compensated and the adjacent reference connection points and the residuals of the reference connection points, position compensation is applied to the mesh vertex positions of the boundary to be compensated to obtain the compensated boundary; a stitched patch is generated between the compensated boundary and the reference boundary.

[0031] Specifically, based on the adjacent tile numbers recorded in the truncated boundary record, the 3D coordinates of the connection points and the corresponding adjustment residuals obtained from the area network adjustment of the current tile and its adjacent tiles are read respectively. Connection points whose 3D coordinates are within the vicinity of the object position corresponding to the truncated boundary are selected as reference connection points. This vicinity range is determined based on the average spacing of the vertices of the grid at the level where the truncated boundary is located and the density of connection point distribution. The value should ensure that there are a sufficient number of reference connection points within the range to support subsequent deformation trend estimation. If the number is less than the preset minimum requirement, the vicinity range is gradually expanded by a preset step size until the requirement is met or the preset maximum search range is reached but still not met. In the latter case, the location is marked as insufficient deformation compensation basis and transferred to the manual review process.

[0032] When comparing the adjustment residuals of one side of the current tile with those of the adjacent tile, the same object coordinate reference, observation weight caliber, and outlier removal rules are used on both sides. The root mean square of the three-dimensional adjustment residual modulus of the effective reference connection points is calculated, and the corresponding posterior uncertainty is checked. Only when both the root mean square and posterior uncertainty of one side are greater than those of the other side is the side to be compensated, and the other side is determined as the reference boundary. If the two judgments are inconsistent, or if either side does not meet the requirement for the number of effective reference connection points, the reference side is not forcibly determined based on the residuals, and the process proceeds to the alternative compensation or manual verification in Example 2.

[0033] Based on the positional relationship between each point on the boundary to be compensated and the neighboring reference connection points, as well as the residuals of the reference connection points, positional compensation is applied to the grid vertex positions of the boundary to be compensated: the closer the boundary point is to a certain reference connection point, the closer its compensation amount is to the residual of that reference connection point; the boundary point that is far from the known reference connection point has a compensation amount that tends to the statistical average level of the residuals of multiple neighboring reference connection points in the boundary area of ​​that side tile. That is, by combining the magnitude and direction of the residuals of multiple reference connection points in the vicinity according to the distance attenuation method, the local deformation compensation amount at each sampling point on the boundary ring is estimated, and corresponding positional compensation is applied to each vertex of the boundary to be compensated accordingly to obtain the compensated boundary. After compensation, the remaining distance between the corresponding points of the compensated boundary and the reference boundary is calculated. If the remaining distance is within the preset object accuracy threshold, resampling is performed according to the cumulative arc length of the compensated boundary and the reference boundary to establish corresponding point pairs with consistent order, and stitching patches are generated segment by segment along the corresponding point sequence. Candidate patches with zero area, flipped normal, self-intersecting with the original mesh, or crossing non-corresponding edge segments are discarded. If a complete stitching band cannot be formed, the compensation is cancelled and transferred to manual review. The object accuracy threshold is determined comprehensively based on the unit weight mean square error (post-verification mean square error) given in the aerial triangulation adjustment report of this project and the accuracy level of the model results specified in the survey area technical design book. Several times the adjustment mean square error is taken as the upper limit of the acceptable residual distance after compensation to ensure that the geometric accuracy of the model after compensation stitching is not lower than the original design accuracy index requirements. If the remaining spacing after compensation still exceeds the threshold, it indicates that the adjacent reference connection points are sparse and the basis for calculating the local deformation trend is insufficient. The system marks this location as requiring manual review and does not force the stitching process to avoid more severe geometric distortion than the original open boundary due to misjudgment of the deformation trend. After stitching, the system checks whether the newly added stitched internal edges are shared by two faces with the same direction, and checks non-manifold points and non-manifold edges, repeated faces, degenerate faces, normal flips, and self-intersections. Pre-identified and retained legal outer boundaries are allowed to be referenced by only one face. The stitching is completed after all checks pass; otherwise, the newly added face is canceled and the process is transferred to manual review.

[0034] Furthermore, referring to Figure 3To adjust the tone of textures from different sources, the following steps are taken: For the overlay images recorded based on the truncated boundary of the stitched surface, it is determined one by one whether the line connecting the stitched surface and the camera position of the corresponding overlay image is occluded by the triangular surface adjacent to the reference boundary or the compensated boundary, and the overlay images whose observation direction is occluded are excluded; among the overlay images that are not occluded, the overlay image with the smallest angle between the normal of the stitched surface and the line connecting the camera position is selected as the source image of the stitched surface; based on the camera position, camera attitude and camera image parameters of the source image, the object-space 3D coordinates of the vertices of the stitched surface are converted into pixel coordinates in the plane of the source image, and the image content at the pixel coordinate position is read as the texture of the stitched surface; for adjacent stitched surfaces with different source images, the color values ​​of the corresponding pixels at the shared boundary are compared, and while keeping the relative color relationship within their respective textures unchanged, the overall color value is adjusted on the side with the larger color value of the original surface texture on the side that deviates from the reference boundary, so that the color values ​​on both sides of the shared boundary tend to be consistent after adjustment.

[0035] Specifically, for each stitched facet, based on the corresponding truncated boundary associated record of the overlay image, it is determined whether the line connecting the stitched facet and the camera position of the corresponding overlay image is occluded by a triangular facet adjacent to the reference boundary or the compensated boundary: ray intersection detection is performed along the direction of the line connecting the lines; if an occluding facet exists, the corresponding overlay image is excluded. Among the overlay images that have not been occluded, the overlay image with the smallest angle between the stitched facet normal and the line connecting the camera position (the most direct observation angle) is selected as the source image; if all overlay images are excluded after the occlusion test, the stitched facet is marked as having no usable source image. In one possible implementation, the texture of the adjacent original facet in the original tile texture map set on one side of the reference boundary is read as the temporary texture source of the stitched facet, and simultaneously marked as awaiting manual review to avoid texture loss.

[0036] Based on the camera position, camera pose, and preset camera image parameters of the source image, the object-space 3D coordinates of the three vertices of the stitched patch (partially inherited from the original boundary ring vertices, and partially from newly inserted vertices during deformation compensation and triangulation, all of which have definite object-space 3D coordinates) are converted into pixel coordinates in the plane of the source image. The converted pixel coordinates are used as the texture coordinates of the patch, and the image content of the corresponding pixel position in the source image is read as the texture of the stitched patch.

[0037] For adjacent stitched patches from different source images (where different source images are selected due to the switching of the image with the optimal observation angle along the stitching band), the color values ​​of corresponding pixels at their shared boundary are compared: First, the textures on both sides are converted to a unified linear color space to exclude occluded, saturated, and shadow-abrupt pixels. Then, the robust center values ​​of each color channel in the shared boundary pixel band are statistically analyzed to obtain the color difference amplitude. If the difference amplitude exceeds the preset color difference threshold, it indicates that there is a significant exposure or tone difference between the two source images. This difference amplitude is further compared with the color statistical characteristics of the original patch texture adjacent to the reference boundary. Overall color value adjustment is performed on the side that deviates more from the original texture's color statistical characteristics: the channel gain is determined based on the robust center values ​​of each channel on the reference side and the side to be adjusted, and the gain is limited to the allowable range determined by the project calibration sample. This adjustment is applied only to the texture block to be adjusted and its shared boundary transition band. If the denominator is close to zero, the gain exceeds the allowable range, or channel saturation occurs after adjustment, automatic tone adjustment is not performed and manual review is initiated. In other cases, the output color value is limited to the effective range and smoothly connected within the transition band to reduce the color statistical difference at the shared boundary. The aforementioned preset color difference threshold was determined through comparative testing before project implementation, based on the experience range of color differences that the human eye can distinguish and the allowable standards for visible seams in texture splicing in previous similar project acceptances, and was used as a fixed engineering parameter.

[0038] Furthermore, locating the object position corresponding to the truncated boundary in other levels specifically involves: during the multi-level detail generation process, merging multiple adjacent tiles in the base level into one tile in other levels according to preset simplification rules, and recording the tile number correspondence before and after merging as an inter-level tile merging mapping relationship; based on the numbers of the assigned tile and adjacent tiles recorded by the truncated boundary, searching for the corresponding tile numbers of the assigned tile and adjacent tiles in other levels in the inter-level tile merging mapping relationship; The specific process for repetitive position compensation, projection sampling, and tone adjustment based on the grid vertex positions of each layer is as follows: If the assigned tile and its adjacent tiles correspond to the same tile number in other layers, then based on the object position recorded by the truncated boundary, the system searches the adjacent range of the grid corresponding to the tile number for duplicate faces generated by tile merging or edges referenced only by a single face, and performs topology cleaning on the retrieved duplicate faces or edges; if the assigned tile and its adjacent tiles correspond to different tile numbers in other layers, then based on the overlay image recorded by the truncated boundary association, the system performs repetitive position compensation, projection sampling, and tone adjustment based on the grid vertex positions of each layer.

[0039] Specifically, during the multi-level detail generation process, multiple adjacent tiles in the base level (the highest precision level directly corresponding to the block reconstruction) are merged into a single tile in other levels according to preset simplification rules. These preset simplification rules include mesh simplification algorithm rules (such as mesh thinning rules based on edge folding or vertex clustering, used to reduce the number of triangles while ensuring the model's appearance accuracy meets the rendering requirements of that level) and tile merging rules (used to determine which adjacent tiles in the base level are merged into a single tile in the next higher level, based on the spatial adjacency of adjacent tiles in the pyramid-shaped multi-level detail organization structure and whether the bounding box size of the merged tile meets the rendering performance requirements of that level). Both are pre-set during the project's multi-level detail generation scheme design phase and configured as fixed production parameters in the multi-level detail generation process. After the tile merging process is completed, the correspondence between tile numbers before and after merging is recorded as an inter-level tile merging mapping table. Each entry in the table corresponds to a tile number in the base level and its corresponding tile number in each of the other levels.

[0040] Based on the tile number of the truncated boundary record and the adjacent tile number, the corresponding tile number in other target layers is searched in the inter-layer tile merging mapping table. If they correspond to the same tile number, it means that the original cross-tile boundary at that level has been merged into the same tile at that level. In this case, it is still necessary to search in the adjacent range of the other layer grid corresponding to the tile number, based on the object position of the truncated boundary record, to see if there are duplicate faces or edges referenced by only a single face due to tile merging and grid simplification (this adjacent range is determined based on the average triangle side length of the grid at that level, and the determination method is consistent with the adjacent range described in the previous section). The duplicate faces are deduplicated, and the edges referenced by only a single face and confirmed as abnormal by the aforementioned boundary cause verification are locally triangulated. The pre-marked legal outer boundaries are retained, completing the topology cleanup. This cleanup process targets new topological anomalies that the grid simplification algorithm itself may introduce near the boundary, and is independent of the determination of the cause of the truncated boundary and the stitching process.

[0041] If the assigned tile and its adjacent tiles correspond to different tile numbers in other layers, the baseline layer record is only used to locate candidate regions in the target layer. The corresponding boundaries are redefined based on the edges, faces, and vertices of the target layer itself, and the frustum, ray occlusion, first valid intersection, and projection validity checks are re-executed. The original overlay image can only be reused if it passes the layer-level check; otherwise, the overlay image is retrieved again. Automatic repair is not performed if a unique corresponding boundary cannot be established or the check fails. After passing the check, position compensation, stitched face generation, projection sampling, and tone adjustment are performed according to the grid vertex density of the target layer. After processing at each layer, the processing type (merged region topology cleanup, cross-tile re-stitching, or no processing required) and the topology, geometry, and texture check results for that layer are recorded to form a repair log for subsequent quality verification.

[0042] Example 2: Example 1 has detailed the implementation methods for tile attribution acquisition, open boundary ring identification, overlay image retrieval, truncated boundary determination, stitched patch generation, texture projection and tone adjustment, and other repetitive processing at various detail levels. Example 2 builds upon this, addressing three scenarios: insufficient number of reference connection points, discontinuity between the stitched patch and the original mesh normal, and a single texture source.

[0043] Furthermore, the boundary compensation method for insufficient reference connection points specifically involves: counting the number of reference connection points on one side of the current tile and the side of the adjacent tile; when the number of reference connection points on either side is less than a preset threshold, extracting the grid vertex coordinates of the current tile side and the adjacent tile side within the vicinity of the truncated boundary to form two boundary point sets; using the nearest point iterative matching method, taking the point set on one side of the reference boundary as the target, calculating the similarity transformation matrix for aligning the point set on the side of the boundary to be compensated to the target point set, wherein the similarity transformation matrix includes rotation components, translation components, and scaling components; transforming the grid vertex coordinates of the boundary to be compensated according to the similarity transformation matrix to obtain the compensated boundary, which serves as an alternative compensation method when the residual of the reference connection points is insufficient to support the position compensation calculation.

[0044] Specifically, in Implementation Example 1, the compensation amount is determined based on the three-dimensional adjustment residuals of the reference tie points. When the texture features of the area near the truncated boundary are not obvious or the image overlap is low, the number of tie points participating in the adjustment solution may be insufficient to support reliable error estimation. Therefore, the number of reference tie points on one side of the current tile and the side of the adjacent tile is counted and compared with a preset threshold. This threshold is preset based on the minimum observation sample size usually required to obtain a stable error estimate in the regional network adjustment, combined with the verification results of the compensation effect under different tie point numbers in previous projects.

[0045] When the number of reference connection points on only one side is less than the threshold, the side with the number reaching the threshold is determined as the baseline boundary, and the other side is determined as the boundary to be compensated. When the number on both sides is less than the threshold, based on the number and distribution density of field control points used when the current tile and its adjacent tiles perform regional network adjustment, the side with more control points, relatively uniform distribution, and relatively high reliability of the solution results is determined as the baseline boundary, and the other side is determined as the boundary to be compensated.

[0046] The mesh vertices located within the vicinity of the truncated boundary on both sides are extracted to form a boundary point set. The method for determining the vicinity range is the same as that for determining the vicinity range of the reference connection point. The mesh vertices are directly generated during the 3D reconstruction process, and their density is usually much higher than that of the connection points obtained through the area network adjustment. Therefore, the boundary point set usually still has a sufficient number of non-collinearly distributed points to support the stable solution of subsequent transformation parameters.

[0047] The nearest-point iterative matching method is adopted, with the benchmark boundary point set as the target. For each point in the point set to be compensated, the spatially closest point is retrieved in the target point set, and only corresponding point pairs with consistent bidirectional nearest neighbors and whose distance and normal angle meet the accuracy requirements of the project model are retained. Using the common geographic coordinates of both sides as the initial alignment, the transformation that reduces the corresponding distance is solved based on the coordinate differences between effective corresponding points. A fixed scale is used by default, and only rotation and translation components are solved. The scaling component is only enabled when the common control points or independent checkpoints on both sides prove the existence of a system scale deviation in the same direction, and the scale change is limited to the model accuracy range allowed by the survey area technical design document; if this evidence is lacking, the scale is fixed at one. After obtaining the transformation, the transformation is recalculated based on the new corresponding point pair relationship, and iteratively repeated until the difference between the transformations obtained from two adjacent iterations is less than the preset convergence threshold, or the number of iterations reaches the preset maximum number of iterations, at which point the iteration stops. After each iteration, the absolute accuracy is verified using independent checkpoints; if the effective correspondence ratio is insufficient, the checkpoint accuracy decreases, the scale exceeds the limit, or convergence is not achieved even after reaching the maximum number of iterations, the transformation is canceled and manual review is initiated. The preset convergence threshold and preset maximum number of iterations are used to achieve a balance between registration accuracy and computation time. They can be determined through pre-experimentation based on the magnitude of the deviation of the initial positions of the boundary point sets on both sides, so that the transformation result tends to stabilize within a finite number of iterations.

[0048] The coordinates of the grid vertices of the boundary to be compensated are transformed according to the final obtained similarity transformation matrix to obtain the compensated boundary, which replaces the method of obtaining the compensation amount by weighted synthesis of the three-dimensional adjustment residuals based on the reference connection points.

[0049] Furthermore, the process of generating the stitched facet also includes normal continuity smoothing, specifically: calculating the vertex normals of the original triangular facets adjacent to the compensated boundary and the reference boundary; taking the vertices in the stitched facet, excluding those coinciding with the compensated boundary and the reference boundary, as the center, performing a weighted average of the vertex normals of the adjacent original facets according to a preset weight to obtain the transition normal of this part of the vertices; based on the deviation between the transition normal and the original normal of this part of the vertices, fine-tuning the position of the corresponding vertex along the direction of the transition normal within a preset amplitude threshold range, so that the normal angle between the stitched facet and the adjacent original facet is less than a preset angle threshold, while keeping the vertex positions at the points where the stitched facet coincides with the compensated boundary and the reference boundary unchanged.

[0050] Specifically, in addition to the vertices that coincide with the compensated boundary and the reference boundary, when the distance between corresponding points on both sides of the boundary or the difference in the compensation amount is large, and directly connecting the corresponding points will easily produce a long and narrow triangular facet, a transition vertex will be inserted between the corresponding point pairs on both sides to improve the triangular shape of the stitched facet. These transition vertices are the remaining vertices that need to be normal smoothed. Their positions do not coincide with the original meshes on both sides, so fine-tuning their positions will not destroy the topological closure relationship established between the stitched facet and the two side boundaries.

[0051] For this transition vertex, the normal of each facet is calculated based on the coordinates of its neighboring facet vertices belonging to the original triangulation meshes of the current tile and adjacent tiles, using the same calculation method as for the local surface normal. Then, a weighted average is calculated based on the distance between the vertex and each neighboring original facet; the closer the original facet is, the greater its weight, thus obtaining the transition normal of the vertex. The preset weight, which is the weight allocation method determined by distance, can be pre-set according to the average mesh side length of the current tile triangulation mesh, with the weight decreasing as the distance increases.

[0052] Based on the deviation between the transition normal and the original normal of the vertex, the vertex position is fine-tuned along the transition normal direction. The fine-tuning range is limited to a preset range threshold until the angle between the normal of the facet containing the vertex and the normal of the adjacent original facet is less than a preset angle threshold. The preset range threshold is used to avoid the transition vertex exceeding the effective range of the stitched facet due to excessive movement, resulting in new gaps or intersections with the two side boundaries. It can be preset based on the average width of the stitched facet spanning from the reference boundary to the compensated boundary, according to the principle of not exceeding a certain proportion of this width. After each fine-tuning, the area, direction, self-intersection, and vertex offset relative to the original position of the newly added facet are checked simultaneously. If any of these exceed the accuracy threshold of the project model, the step size is reduced and the retry is performed. If the normal threshold is still not met after reaching the preset maximum number of iterations, the position before fine-tuning is restored and the process is transferred to manual review. During the fine-tuning process, the vertex position at the point where the stitched facet coincides with the compensated boundary and the reference boundary remains unchanged.

[0053] Furthermore, the image content at pixel coordinate positions is read as the texture of the stitched patch. Specifically, from the unoccluded overlay images, multiple overlay images with an angle less than a preset threshold to the normal of the stitched patch are selected as candidate source images. Based on the angle between the direction of the line connecting each candidate source image to the vertex of the stitched patch and the normal of the stitched patch, and the ground resolution corresponding to the candidate source image, the fusion weight of each candidate source image is calculated. The color values ​​of multiple candidate source images at corresponding pixel coordinate positions are weighted and fused according to the fusion weight to obtain the texture of the stitched patch, which serves as an alternative to the single source image value method.

[0054] When a specific single-source image has partial occlusion, significant viewing angle distortion, or lighting conditions that differ from those of adjacent source images, the obtained texture may exhibit localized distortion or color inconsistency with adjacent areas. Therefore, from the unoccluded overlay images, multiple overlay images with an angle less than a preset threshold to the normal of the stitched surface are selected as candidate source images. The preset threshold is determined in the same way as the angle threshold.

[0055] For each candidate source image, the fusion weight is determined based on the angle between the line connecting the image to the vertex of the stitched surface and the normal of the stitched surface, as well as the corresponding ground resolution: the smaller the angle between the observation direction and the normal, the closer the observation at that location is to perpendicular incidence, the lower the probability of distortion and occlusion, and the greater the weight assigned; the higher the ground resolution, the more pixels per unit ground dimension, the clearer the texture details, and the greater the weight assigned. Specifically, the angle and ground resolution are converted to the same dimensionless quality interval according to the valid value range in the project calibration sample, so that the smaller the angle and the more pixels per unit ground length, the greater the quality value; after fusion according to the predetermined fixed ratio of the project texture acceptance sample, the results of all candidate source images are non-negatively normalized to obtain a fusion weight that sums to one. If all candidate image quality values ​​are invalid, automatic fusion is not performed and the image is transferred to manual review. The ground resolution can be calculated by taking the flight altitude obtained from the difference between the camera position corresponding to the image and the elevation of the ground point being photographed, and then combining the camera focal length and sensor pixel size. The parameters involved, such as focal length and pixel size, are components of the camera image frame parameters.

[0056] Based on the camera position, camera pose, camera image parameters, and lens distortion parameters of the source images, the object-space 3D coordinates corresponding to the vertices and internal pixels of the stitched face are converted into pixel coordinates in the plane of each candidate source image using collinearity equation projection and distortion correction. The color value of the corresponding pixel coordinate position is then read. Before fusion, the reprojection consistency of each candidate image is compared at the same 3D position, and images with projection deviations exceeding the project texture accuracy threshold are excluded. According to the fusion weight of each candidate source image, the color values ​​corresponding to multiple candidate source images at the same position are weighted and synthesized to obtain the final texture color value at that position, which serves as an alternative to the direct value taking method from a single source image.

[0057] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for automatic topological error repair of oblique photogrammetry 3D models, characterized in that, include: Obtain the exterior orientation elements of the images corresponding to each tile in the block reconstruction and the attribution relationship between the images and tiles, identify the edges in the triangular mesh that are referenced by only a single facet, and cluster the edges into open boundary loops; Based on the object position of the open boundary ring, retrieve the overlay image that has a valid observation angle and a valid reconstructed surface within the assigned tile; if the overlay image belongs to an adjacent tile, then determine that the open boundary ring is a truncated boundary, and record the object position, the assigned adjacent tile, and the overlay image corresponding to the truncated boundary. Extract the adjustment residuals corresponding to the tiles on both sides of the truncated boundary, apply position compensation according to the grid vertex position of the level where the truncated boundary is located, and generate stitched patches; Based on the overlay image, projection sampling is performed on the stitched surface to obtain the texture, and the textures from different sources are adjusted according to the color differences at the shared boundary of the stitched surface. Based on the tile merging mapping relationship between layers, locate the object position corresponding to the truncated boundary in other layers; for other layers, based on the overlay image, repeat position compensation and projection sampling and tone adjustment according to the grid vertex position of the layer itself.

2. The method for automatic topology error repair of an oblique photogrammetry 3D model according to claim 1, characterized in that: To obtain the exterior orientation elements of each tile in the block reconstruction and the attribution relationship between the image and the tile, the following steps are taken: the survey area is divided into tiles according to the preset spatial range division rules, and all images participating in the reconstruction are assigned to the corresponding tiles according to the tile range of the corresponding ground shooting position to form a task allocation record; regional network adjustment is performed on the images assigned to each tile, and the overall solution is performed with the spatial intersection relationship of the corresponding connection points between images and the coordinates of the field control points as constraints to obtain the camera position, camera attitude and three-dimensional coordinates of each connection point for each image; the calculated camera position, camera attitude and the tile number to which the image belongs in the task allocation record are stored according to the image identifier to form the attribution relationship between the image and the tile. To identify edges in a triangular mesh that are referenced by only a single facet, and cluster these edges into open boundary loops, the following steps are taken: traverse the three edges of each triangular facet in the current tile triangular mesh, count the number of times each edge is referenced, and determine the edges that are referenced only once as candidate open edges; according to the coincidence of the endpoint coordinates of the candidate open edges, connect the candidate open edges one after the other to form an open boundary loop, and record the object-side three-dimensional coordinates of each point on the open boundary loop.

3. The method for automatic topology error repair of a 3D model by oblique photogrammetry according to claim 2, characterized in that: The process of acquiring overlay images is as follows: Based on the camera position, camera orientation, and preset camera image size parameters of the images, the effective image range of each image in the object space is determined; based on the object space 3D coordinates of each point on the open boundary ring, points falling within the effective image range of the images are selected as candidate overlay points; based on the vertex coordinates of the triangular facets adjacent to the candidate overlay points, the local surface normal of the candidate overlay points is calculated; images whose angle between the line connecting the candidate overlay point and the corresponding camera position of the image and the local surface normal is less than a preset angle threshold are selected as preliminary overlay images; for each preliminary overlay image, the tile number to which the preliminary overlay image belongs is obtained based on the relationship between the image and the tile, and it is determined whether there is a triangular facet in the vicinity of the object space 3D coordinates of the candidate overlay point in the corresponding triangular network; the preliminary overlay images to which the triangular facets exist are determined as overlay images.

4. The method for automatic topology error repair of an oblique photogrammetry 3D model according to claim 3, characterized in that: The process of recording the object position, associated adjacent tiles, and overlay images corresponding to the truncated boundary is as follows: Read the overlay images and tile numbers corresponding to each point on the open boundary ring, and compare the tile numbers with the current tile number one by one; determine the tile numbers to which the overlay images belong that are different from the current tile number as adjacent tiles, and determine the open boundary ring corresponding to the overlay images as a truncated boundary; record the object-side three-dimensional coordinates of each point on the truncated boundary as the object-side position corresponding to the truncated boundary, and associate and record the overlay images and adjacent tiles on which the determination result is based with the point correspondence to the truncated boundary.

5. The method for automatic topology error repair of a 3D model by oblique photogrammetry according to claim 4, characterized in that: The process of generating the stitched patch is as follows: Based on the adjacent tiles recorded by the truncated boundary, the three-dimensional coordinates of the connection points and the corresponding residuals obtained when performing the area network adjustment on the current tile and the adjacent tiles are read respectively; the connection points whose three-dimensional coordinates are located in the vicinity of the object position corresponding to the truncated boundary are selected as reference connection points; the adjustment residuals of the reference connection points on one side of the current tile and the reference connection points on the other side of the adjacent tile are compared, and the side with the larger adjustment residual is determined as the boundary to be compensated, and the other side is determined as the reference boundary; based on the positional relationship between each point on the boundary to be compensated and the adjacent reference connection points and the residuals of the reference connection points, position compensation is applied to the mesh vertex positions of the boundary to be compensated to obtain the compensated boundary; a stitched patch is generated between the compensated boundary and the reference boundary.

6. The method for automatic topology error repair of a 3D model by oblique photogrammetry according to claim 5, characterized in that: Tonal adjustment is performed on textures from different sources. Specifically, for each overlay image recorded based on the truncated boundary of the stitched surface, it is determined whether the line connecting the stitched surface and the camera position of the corresponding overlay image is occluded by a triangular surface adjacent to the reference boundary or the compensated boundary, and overlay images whose observation direction is occluded are excluded. Among the overlay images that are not occluded, the overlay image with the smallest angle between the normal of the stitched surface and the line connecting the camera position is selected as the source image of the stitched surface. Based on the camera position, camera attitude, and camera image size parameters of the source image, the object-space 3D coordinates of the vertices of the stitched surface are converted into pixel coordinates in the plane of the source image, and the image content at the pixel coordinate position is read as the texture of the stitched surface. For adjacent stitched surfaces with different source images, the color values ​​of the corresponding pixels at the shared boundary are compared, and the overall color value adjustment is performed on the side with the larger color value deviation from the reference boundary and the adjacent original surface texture.

7. The method for automatic topology error repair of an oblique photogrammetry 3D model according to claim 4, characterized in that: The specific steps for locating the object position corresponding to the truncated boundary in other levels are as follows: During the multi-level detail generation process, multiple adjacent tiles in the base level are merged into one tile in other levels according to preset simplification rules, and the correspondence between the tile numbers before and after the merger is recorded as an inter-level tile merging mapping relationship; based on the numbers of the assigned tile and adjacent tiles recorded by the truncated boundary, the tile numbers corresponding to the assigned tile and adjacent tiles in other levels are searched in the inter-level tile merging mapping relationship; The specific process for repetitive position compensation, projection sampling, and tone adjustment based on the grid vertex positions of each layer is as follows: If the assigned tile and its adjacent tiles correspond to the same tile number in other layers, then based on the object position recorded by the truncated boundary, the system searches the adjacent range of the grid corresponding to the tile number for duplicate faces generated by tile merging or edges referenced only by a single face, and performs topology cleaning on the retrieved duplicate faces or edges; if the assigned tile and its adjacent tiles correspond to different tile numbers in other layers, then based on the overlay image recorded by the truncated boundary association, the system performs repetitive position compensation, projection sampling, and tone adjustment based on the grid vertex positions of each layer.