Deep learning driven ai data annotation quality checking method
By constructing a 3D projection cone and performing equal-depth layered slicing and Boolean topology operations, a geometric constraint tensor is generated and injected into a deep learning network. This solves the problem in existing technologies that cannot distinguish between differences in annotation reference anchor points and mislabeling of categories, and achieves high-precision annotation quality verification.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- QINGDAO SYKES NETWORK TECHNOLOGY SERVICE CO LTD
- Filing Date
- 2026-05-08
- Publication Date
- 2026-06-26
AI Technical Summary
Existing deep learning annotation quality verification methods cannot distinguish the differences in the selection of annotation reference anchor points caused by the separation of the top and bottom projections of buildings due to the off-axis observation angle of the sensor, and the overall misjudgment of the ground feature category by the annotator. This results in a dense distribution of false alarms in the projection separation area, while the mislabeling of the true category outside the projection separation area is not detected in time.
By constructing a 3D projection cone, calculating the cone intersection depth pixel by pixel, performing equal-depth layer slicing and Boolean topological operations, generating a geometric constraint tensor and injecting it into a deep learning classification and verification network, the projection ambiguity region is accurately defined and the labeling confidence is quantified, thus achieving automatic exemption of reasonable labeling differences and accurate identification of mislabeled true categories.
It eliminates the radial aggregation phenomenon in the image space caused by the separation of the building's top and bottom projections, which monotonically increases from the center to the edge. It accurately focuses on the real annotation defect area outside the projection ambiguity range, thus improving the accuracy of annotation quality verification.
Smart Images

Figure CN122286264A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of annotation quality verification, specifically to a method for verifying the quality of AI data annotation driven by deep learning. Background Technology
[0002] In high-resolution satellite remote sensing imagery for land cover classification and annotation, when satellite sensors observe urban built-up areas from a non-directly below angle, features with significant vertical height, such as buildings, exhibit spatial separation between roof projection and ground projection under a central projection imaging model. This means the roof and ground outlines of the same building appear as two polygons in different locations within the image. The spatial offset between these two polygons increases with the product of the building's height and the tangent of the observed zenith angle at the building's pixel location, and the offset direction always points away from the image's nadir point. In collaborative annotation practices, some annotators use the directly visible roof edges as a reference for delineating building outlines, while others infer the building's ground outline position based on the building's shadow location and the spatial relationship with adjacent features. A systematic positional offset, coupled with building height and the observed zenith angle, exists between the annotated polygons generated by these two reference bases. This offset exhibits a monotonically increasing spatial distribution pattern from the image center to the edge.
[0003] Existing deep learning annotation quality verification methods, when assessing the consistency of annotation results from multiple users, fail to distinguish between two fundamentally different types of annotation inconsistencies: 1) Differences in the selection of annotation reference anchor points due to the separation of building top and bottom projections caused by off-axis sensor observation angles, which is a physically acceptable annotation deviation determined by the geometric characteristics of central projection imaging; 2) Annotators' overall misjudgment of the feature category in a certain area, which constitutes a genuine annotation quality defect. Existing verification methods use a uniform verification standard for both types of situations. In areas with building projection separation, reasonable annotation deviations caused by differences in reference anchor points are judged as annotation errors, triggering quality alarms. This results in a dense distribution of false alarms within the projection separation area, while genuine category mislabeling outside the projection separation area fails to be detected in time due to being overwhelmed by the large number of false alarms.
[0004] To address the aforementioned shortcomings, a technical solution is provided. Summary of the Invention
[0005] To address the technical problems raised in the background section, this invention is proposed. This invention provides a method for verifying the quality of AI data annotation driven by deep learning.
[0006] This invention is achieved through the following technical solution: a deep learning-driven AI data annotation quality verification method, the method comprising the following steps:
[0007] A method for verifying the quality of AI data annotation driven by deep learning, the method comprising the following steps:
[0008] The system acquires building annotation vector data, multispectral image data, and sensor observation geometric parameters from remote sensing images. It performs topological envelope analysis on the intersection contour of the projection cone and the ground, generating a building-by-building projection ambiguity envelope polygon and a pixel-by-pixel cone intersection depth map.
[0009] Based on the projected ambiguous envelope polygon and the cone intersection depth map, an equal-depth layered slice sequence is constructed along the cone intersection depth direction. Topological disambiguation processing is performed on the overlapping areas of the projected cones of adjacent buildings. The assignment of labeled polygons is determined and the assignment confidence distribution per pixel is calculated and encoded as a geometric constraint tensor.
[0010] The geometric constraint tensor is injected into a deep learning classification and verification network to perform hierarchical verification of the labeled vector data with projection ambiguity awareness, and output the hierarchical verification results.
[0011] Furthermore, the construction steps of the projection cone are as follows:
[0012] Acquire the three-dimensional spatial coordinates of the sensor projection center and the building height data;
[0013] For each building, the vertex coordinate sequence of the labeled polygon of the building is extracted from the labeled vector data; the projection cone of the building is constructed with the sensor projection center as the cone apex and the roof polygon enclosed by the three-dimensional roof vertex coordinate sequence as the cone base section.
[0014] Furthermore, the steps for generating the projected ambiguous envelope polygon are as follows:
[0015] Extend the projection cone along its edges toward the ground elevation surface, calculate the intersection of each edge with the ground elevation surface, and all intersections form the ground intersection polygon of the projection cone.
[0016] The convex envelope of the ground intersection polygon of the projection cone and the building annotation polygon is obtained by calculating the convex envelope of the projection ambiguity polygon.
[0017] Furthermore, the steps for generating the pixel-by-pixel cone intersection depth map are as follows:
[0018] Starting from the ground 3D coordinates of each pixel position inside the projection ambiguity envelope polygon, a back projection ray is established along the direction pointing to the center of the sensor projection. The intersection point of the back projection ray and the side surface of the projection cone is calculated. The difference between the elevation value of the intersection point and the ground elevation value is taken as the cone intersection depth value at that pixel position, thus forming a pixel-by-pixel cone intersection depth map.
[0019] Furthermore, the analysis steps for the geometric constraint tensor are as follows:
[0020] For each slice in the equal-depth layered slice sequence, the projection cone is horizontally truncated to obtain the horizontal cross-section polygon of the projection cone. The vertices of the horizontal cross-section polygon are projected onto the ground elevation surface through the sensor projection center to obtain the ground projection outline polygon.
[0021] Perform a Boolean intersection operation on the ground projection outline polygon and the building annotation polygon to obtain the anchor point overlapping area, and perform a Boolean symmetric difference operation to obtain the anchor point non-overlapping area.
[0022] Furthermore, the analysis steps of the geometric constraint tensor also include:
[0023] For regions where the projection ambiguity envelope polygons of adjacent buildings spatially overlap, perform topological disambiguation processing and write the corresponding buildings into the building index map;
[0024] For pixel positions inside the projection ambiguity envelope polygon, the layered slice sequence used is determined based on the building index map, the layered slice interval in which the pixel position falls is determined, and it is found whether the pixel position belongs to the anchor point overlapping area or the anchor point non-overlapping area. The belonging status of the upper and lower layers is weighted and fused using the linear interpolation coefficient between the cone intersection depth value and the height threshold of the upper and lower layered slices to obtain the normalized anchor point belonging confidence.
[0025] Furthermore, the analysis steps of the geometric constraint tensor also include:
[0026] The raster layer composed of normalized anchor point assignment confidence is used as the first channel, the raster layer composed of cone intersection depth values normalized to the maximum value is used as the second channel, and the binary mask of the projected ambiguous envelope polygon is used as the third channel. These are spliced together to form a three-channel geometric constraint tensor.
[0027] Furthermore, the process of projecting the horizontal cross-sectional polygon onto the ground coordinate system is as follows: for each vertex of the horizontal cross-sectional polygon, a projection ray is established with the sensor projection center as the ray origin and the direction from the sensor projection center to the vertex as the ray direction. The intersection point of the projection ray and the ground elevation surface is solved, and the horizontal component of the intersection point is taken as the corresponding vertex coordinate of the ground projection contour polygon. The ground projection contour polygon is formed by connecting all the vertex coordinates in the original order.
[0028] Furthermore, the analysis steps for the geometric constraint tensor are as follows:
[0029] A deep learning classification and verification network with a residual convolutional network structure is constructed. A conditional batch normalization layer is embedded in each residual block. The scaling and offset parameters of the conditional batch normalization layer are dynamically generated by the geometric constraint tensor through a pixel-wise fully connected mapping.
[0030] In the loss function, the cross-entropy loss weight is reduced for pixels located inside the projected ambiguous envelope polygon based on their normalized anchor point attribution confidence, while the standard weight is maintained for pixels located outside the projected ambiguous envelope polygon.
[0031] Perform hierarchical judgment on the inference output and output a structured hierarchical verification report.
[0032] Furthermore, the side surface construction steps of the projection cone are as follows:
[0033] Rays are drawn from the sensor projection center to the coordinates of each three-dimensional roof vertex to serve as the edge lines of the projection cone; the triangular facets formed by two adjacent edge lines and the corresponding roof polygonal sides constitute a side facet of the projection cone, and the collection of all side facets constitutes the side surface of the projection cone.
[0034] Furthermore, the construction of the projection ambiguity envelope polygon also includes the expansion processing of building height uncertainty: the original height value is replaced by the building height value plus the height uncertainty value, and the projection cone construction and ground intersection calculation are re-executed to obtain the expanded projection cone ground intersection polygon; the convex envelope is obtained by combining the expanded projection cone ground intersection polygon with the building annotation polygon to obtain the projection ambiguity envelope polygon expanded by height uncertainty.
[0035] Furthermore, the steps for extending the edge lines of the projection cone towards the ground are as follows:
[0036] For each edge line, a parameterized ray equation is established with the sensor projection center coordinates as the ray origin and the direction from the sensor projection center to the corresponding three-dimensional roof vertex as the ray direction;
[0037] The ground elevation surface is expressed as a horizontal plane equation. The intersection parameter values of the ray equation and the horizontal plane equation are solved, and the ray equation is substituted to obtain the three-dimensional coordinates of the intersection point. The horizontal component of the intersection point is taken as the coordinates of the corresponding vertex of the ground intersection polygon of the projection cone.
[0038] Furthermore, the calculation of the normalized anchor point assignment confidence also includes processing the beginning and end boundaries of the layered slice sequence: when the cone intersection depth value of the pixel position is greater than or equal to the maximum height threshold of the equal-depth layered slice sequence, the normalized anchor point assignment confidence at that pixel position is set to zero; when the cone intersection depth value of the pixel position is less than the minimum non-zero height threshold of the equal-depth layered slice sequence, the normalized anchor point assignment confidence at that pixel position is set to one.
[0039] Compared with the prior art, the beneficial effects of the present invention are:
[0040] This invention constructs a projection cone for each building based on a central projection imaging model, extending from the sensor projection center through the roof outline to the ground. The convex envelope of the intersection polygon of the projection cone's edge lines and the ground elevation surface, along with the building's labeled polygon, is calculated to obtain a projection ambiguity envelope polygon. The pixel-by-pixel cone intersection depth is calculated by detecting the intersection of the back-projected ray with the triangular facets on the side surface of the projection cone. Within the projection ambiguity envelope polygon, a sequence of equal-depth layered slices is constructed along the cone intersection depth direction, and Boolean intersection and Boolean symmetric difference operations are performed layer by layer between the horizontal cross-section polygons and the labeled polygons. Discrete anchor point overlap and non-overlapping attribution states are fused into a continuous, normalized anchor point attribution confidence score through linear interpolation. This allows the verification model to quantify the uncertainty of each pixel's labeling attribution point based on the physical ambiguity boundary derived from the three-dimensional projection cone geometry. The difference in the labeled reference anchor points between the roof projection position and the ground projection position caused by the coupling between the sensor's off-axis observation angle and the building height is precisely defined within the range of the projection ambiguity envelope polygon with clear geometric basis.
[0041] This invention encodes the normalized anchor point assignment confidence, normalized cone intersection depth, and binary mask of the projection ambiguity envelope polygon into a three-channel geometric constraint tensor. Through a conditional batch normalization layer, this geometric constraint tensor is injected pixel-by-pixel into the feature normalization stage of a deep learning classification and verification network. This allows the network to adaptively reduce classification sensitivity within the projection ambiguity envelope polygon based on the normalized anchor point assignment confidence to avoid misclassifying reasonable anchor point strategy differences as labeling errors. Outside the projection ambiguity envelope polygon, it maintains complete classification sensitivity to accurately detect true mislabeling. This precisely focuses verification alarms on the true labeling defect areas outside the projection ambiguity range, eliminating the radial clustering phenomenon of false alarms caused by the separation of building top and bottom projections, which monotonically increases from the center to the edge in the image space. Attached Figure Description
[0042] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. The following drawings are not drawn to scale according to the actual size, but are intended to show the main idea of the present invention.
[0043] Figure 1 A flowchart illustrating the method for quality verification of AI data annotations driven by deep learning;
[0044] Figure 2 A schematic diagram of constructing the ambiguous envelope polygon for the building projection;
[0045] Figure 3 This is a schematic diagram showing the overlapping and non-overlapping areas of anchor points.
[0046] Figure 4A schematic diagram showing the overlap and disambiguation of the ambiguous envelope polygons projected by adjacent buildings;
[0047] Figure 5 This is a schematic diagram of the hierarchical verification results;
[0048] Figure 6 This is a schematic diagram of a three-channel geometric constraint tensor structure.
[0049] Figure 7 Flowchart for projection cone construction and topology envelope analysis;
[0050] Figure 8 This is a flowchart for deep learning classification verification and grading determination. Detailed Implementation
[0051] The technical solutions in 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, and 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 also within the scope of protection of the present invention.
[0052] like Figure 1 As shown, this invention provides a deep learning-driven AI data annotation quality verification method, applied to the annotation quality verification scenario of building and ground feature classification and annotation tasks in remote sensing imagery. In this scenario, high-resolution satellite remote sensing imagery observes ground targets from a non-directly below angle. Ground features with significant height, such as buildings, exhibit spatial separation between roof projections and ground projections on the image. Different annotators choose different reference benchmarks for building outlines, leading to numerous false alarms generated by the annotation quality verification model in the projected separation areas. This invention precisely defines the projected ambiguity region and quantifies the annotation confidence of each pixel by constructing a 3D projection cone for each building, calculating the cone intersection depth pixel by pixel, performing equal-depth layered slicing and Boolean topological operations. The results are encoded as a geometric constraint tensor and injected into a deep learning verification network, achieving automatic exemption of reasonable annotation differences within the projected ambiguity region and accurate identification of mislabeled true categories.
[0053] The method includes the following steps: Step S10, acquiring building annotation vector data, multispectral image data, and sensor observation geometric parameters from remote sensing images; constructing a projection cone for each building based on a central projection imaging model, extending from the sensor projection center through the building's roof outline to the ground; performing topological envelope analysis on the intersection contours of the projection cones and the ground, generating a building-by-building projection ambiguity envelope polygon and a pixel-by-pixel cone intersection depth map. In step S10, the multispectral image data does not directly participate in the geometric calculation of the projection cones and ambiguity envelope polygons, but rather serves as the image input to the deep learning classification and verification network in subsequent step S30, participating in the training and inference of the verification network along with the geometric constraint tensor. Sensor observation geometric parameters refer to the set of parameters obtained from the remote sensing image data that describe the spatial geometric relationship between the sensor and the ground target, among which the parameter directly related to this step is the three-dimensional spatial coordinates of the sensor projection center.
[0054] Step S20: Based on the projection ambiguity envelope polygon and the cone intersection depth map, construct an equal-depth layered slice sequence along the cone intersection depth direction inside the projection ambiguity envelope polygon, perform topological disambiguation processing on the overlapping areas of the projection cones of adjacent buildings, perform annotation polygon attribution determination on each layered slice and calculate the attribution confidence distribution pixel by pixel, and encode it as a geometric constraint tensor.
[0055] See Figure 8 In step S30, the geometric constraint tensor is injected into the deep learning classification and verification network to perform hierarchical verification of the labeled vector data with projection ambiguity awareness, and the hierarchical verification result is output.
[0056] The data flow relationship between the three steps is as follows: the output of step S10 is the projection ambiguity envelope polygon for each building and the cone intersection depth map for each pixel. These two outputs serve as inputs to step S20, participating in the construction of the iso-depth layered slice sequence, topology disambiguation processing, and the calculation of attribution confidence. The output of step S20 is a geometric constraint tensor, which, together with the multispectral image data obtained in step S10, is injected into the deep learning classification and verification network as input to step S30, driving the network's projection ambiguity perception verification and classification determination. The three steps strictly follow the data flow logic that the output of the previous step is the input of the next step.
[0057] The objective of step S10 is to construct a 3D projection cone geometry for each building in the remote sensing image based on the central projection imaging model. Through intersection operations between the projection cone and the ground, and topological envelope analysis, a projection ambiguity envelope polygon is generated to define the scope of the labeled ambiguity space. Finally, through intersection detection of back-projected rays passing through the side surface of the projection cone, a cone intersection depth map representing the penetration depth of each pixel in the 3D projection relationship is generated. Step S10 includes steps S11, S12, and S13.
[0058] Step S11: Obtain the three-dimensional spatial coordinates of the sensor projection center and the building height data; for each building, extract the vertex coordinate sequence of the labeled polygon of the building from the labeled vector data, and raise the two-dimensional ground coordinates of each vertex to the height of the building roof to obtain the three-dimensional roof vertex coordinate sequence; construct the projection cone of the building with the sensor projection center as the cone apex and the roof polygon enclosed by the three-dimensional roof vertex coordinate sequence as the cone base section.
[0059] Specifically, the input for step S11 includes two parts: the first part is the three-dimensional spatial coordinates of the sensor projection center, and the second part is the building annotation vector data and building height data. The three-dimensional spatial coordinates of the sensor projection center refer to the spatial position of the imaging sensor carried by the remote sensing satellite at the time of image capture. When expressed in a local northeast-northeast coordinate system, these three-dimensional spatial coordinates contain three components: the first component is the distance of the sensor relative to the reference origin in the east direction; the second component is the distance of the sensor relative to the reference origin in the north direction; and the third component is the distance of the sensor relative to the reference origin in the zenith direction, i.e., the vertically upward direction. When expressed in a geocentric-fixed coordinate system, the three components are the coordinate values of the sensor in the X, Y, and Z axes of the Earth's fixed rectangular coordinate system, respectively. The three-dimensional spatial coordinates of the sensor projection center can be calculated from the satellite orbital and attitude parameters stored in the metadata file of the remote sensing image, or directly obtained from the satellite ephemeris data. The building annotation vector data refers to a vector polygon dataset generated by annotators after outlining the contours of each building area on the remote sensing image. Each polygon corresponds to the planar contour of a building and carries a category label. Each building annotation polygon is defined by an ordered sequence of vertex coordinates, where the coordinates are the two-dimensional planar coordinates of that vertex in the remote sensing image pixel coordinate system or the ground geographic coordinate system. Building annotation vector data can be stored in Shapefile, GeoJSON, or GeoPackage format. The building height data refers to the vertical height of each building from the ground to the roof, in meters. Building height data can be extracted from the difference between the digital surface model and the digital ground model, or calculated from airborne LiDAR point cloud data.
[0060] The process of constructing a projection cone for each building is as follows: First, extract the vertex coordinate sequence of the building's labeled polygon from the building's labeled vector data. Assume the building's labeled polygon has K vertices, and the vertex coordinate sequence is the two-dimensional ground coordinates from the first vertex to the Kth vertex. Second, obtain the ground elevation value of the building's location. This ground elevation value can be obtained from the digital terrain model by querying the centroid coordinates of the building's labeled polygon. In flat urban areas, the ground elevation value can be approximated as a constant. Third, elevate the two-dimensional ground coordinates of each vertex to the building's roof height to obtain a three-dimensional roof vertex coordinate sequence. Specifically, for each vertex in the vertex coordinate sequence, take the two components of its two-dimensional ground coordinates as the first two components of its three-dimensional coordinates, and add the ground elevation value to the building's height as the third component, combining them to obtain the three-dimensional roof vertex coordinates. The K three-dimensional roof vertex coordinates are arranged in their original order to form the three-dimensional roof vertex coordinate sequence. Finally, construct the building's projection cone with the sensor projection center as the apex and the roof polygon enclosed by the three-dimensional roof vertex coordinate sequence as the base section.
[0061] The process of constructing the side surface of the projection cone in step S11 is as follows: rays are drawn from the sensor projection center to the coordinates of each three-dimensional roof vertex as the edge lines of the projection cone; the triangular facets formed by two adjacent edge lines and the corresponding roof polygonal sides constitute a side facet of the projection cone, and the collection of all side facets constitutes the side surface of the projection cone; the side surface is used as the intersection detection target of the reverse projection rays in step S13, and as the intersection calculation target of the horizontal cutting in step S22.
[0062] Specifically, the construction process of the side surface of the projection cone is as follows: Rays are drawn from the sensor projection center to each 3D roof vertex coordinate in the 3D roof vertex coordinate sequence, and each ray constitutes an edge line of the projection cone. For a building with K 3D roof vertex coordinates, the projection cone has K edge lines. For two adjacent edge lines, that is, two rays from the sensor projection center pointing to the h-th 3D roof vertex coordinate and the h+1 3D roof vertex coordinate respectively, these two edge lines, together with the edge of the roof polygon connecting the h-th 3D roof vertex coordinate and the h+1 3D roof vertex coordinate, form a triangular facet, which constitutes a side facet of the projection cone. The last edge line, that is, the ray pointing to the K-th 3D roof vertex coordinate, and the first edge line also form a triangular facet to close the side surface of the projection cone. The collection of all side facets constitutes the side surface of the projection cone. The side surface of the projection cone is used as the intersection detection target of the back projection rays in subsequent step S13, and as the intersection operation target of the horizontal cutting in subsequent step S22. The geometric meaning of the projection cone is as follows: In a central projection imaging model, the sensor images the building roof through all rays within the projection cone. The side surface of the projection cone defines the outer boundary of all spatial rays involved in the sensor's imaging of the building roof. Any ray originating from the sensor's projection center within the projection cone will pass through the building roof polygon and eventually reach the ground. Due to the building's height, there is a spatial offset between the roof position and the ground position, which is the physical root cause of the ambiguity in the annotation reference anchor point. The basis for constructing the projection cone as a three-dimensional geometric entity is that traditional methods only describe the separation of the building's top and bottom projections using displacements on a two-dimensional plane, and two-dimensional displacements cannot express the three-dimensional spatial structure of the projection separation. The projection cone unifies all intermediate states between the roof projection position and the ground projection position into a continuous three-dimensional geometry, allowing subsequent steps to analyze the gradual process of annotation assignment layer by layer by performing layered truncation operations on the projection cone, rather than only obtaining binary judgments of the two extreme positions of the top and bottom.
[0063] For example, the construction process of the projection cone for a building with a rectangular polygon and a height of 20 meters is as follows. The rectangular building's polygon has four vertices. The three-dimensional roof vertex coordinates are obtained by combining the two-dimensional ground coordinates of each vertex with the ground elevation value and the height value of 20 meters. Rays are drawn from the sensor projection center to the four three-dimensional roof vertex coordinates as four edge lines. The four triangular facets formed by adjacent edge lines and the sides of the roof rectangle constitute the side surfaces of the projection cone. In three-dimensional space, the projection cone appears as a square pyramid shape extending from the sensor position towards the ground, with the opening of the cone pointing away from the image's nadir point. The observation zenith angle at the building's location is implicitly determined by the geometric relationship between the three-dimensional spatial coordinates of the sensor projection center and the building's ground coordinates; it is not an independent parameter that needs to be acquired separately. When the zenith direction component (the third component) of the sensor projection center is much larger than the horizontal distance between the sensor projection center and the building, the observed zenith angle is small, the opening of the projection cone is narrow, and the offset between the roof projection position and the ground projection position is small. When the horizontal distance increases, the observed zenith angle increases, the opening of the projection cone widens, and the offset increases accordingly.
[0064] The output of step S11 is the projection cone of each building. The projection cone is stored as a data structure with its cone apex coordinates (i.e., the sensor projection center), edge line set, and side surface triangular facet set. The projection cone is used as input to step S12 for ground intersection calculation, as input to step S13 for cone intersection depth calculation, and as input to step S22 for horizontal cutting operation.
[0065] like Figure 2 The diagram shown is a schematic of the construction of the ambiguous envelope polygon of the building projection.
[0066] Reference Figure 2The diagram illustrates the spatial relationship between the projection cone ground intersection polygon and the building annotation polygon obtained by calculating the convex hull of the two polygons in step S12, resulting in the projection ambiguity envelope polygon. The blue solid line polygon represents the building annotation polygon, indicating the annotation position drawn by the annotator with the building's ground outline as a reference. The brown dashed line polygon represents the projection cone ground intersection polygon, representing the roof projection position formed by the intersection of the projection cone's edge lines and the ground elevation surface; this polygon has undergone spatial offset relative to the building annotation polygon along the offset direction. The brown dotted-dash line polygon represents the projection ambiguity envelope polygon, which is the smallest convex polygon obtained by calculating the convex hull of all vertices of the building annotation polygon and the projection cone ground intersection polygon, simultaneously containing the building outline position under both reference bases. The blue and brown filled areas represent regions belonging only to the building annotation polygon and regions belonging only to the projection cone ground intersection polygon, respectively; the gray filled area between the two polygons represents their spatial overlap. The arrow in the diagram indicates the offset direction, which is determined by the spatial geometric relationship between the sensor projection center and the building in the central projection imaging model.
[0067] See Figure 7 In step S12, the projection cone is extended along its edges toward the ground elevation surface. The intersection of each edge with the ground elevation surface is calculated. All intersections form the ground intersection polygon of the projection cone. The convex envelope of the ground intersection polygon of the projection cone and the building label polygon is obtained to obtain the projection ambiguity envelope polygon.
[0068] Specifically, the input for step S12 is the projection cone of each building and the building label polygon of that building, which are output from step S11.
[0069] In step S12, the process of extending the edge lines of the projection cone towards the ground is as follows: For each edge line, a parameterized ray equation is established with the coordinates of the sensor projection center as the ray starting point and the direction from the sensor projection center to the corresponding three-dimensional roof vertex as the ray direction; the ground elevation surface is expressed as a horizontal plane equation, the intersection parameter values of the ray equation and the horizontal plane equation are solved, and the three-dimensional coordinates of the intersection point are obtained by substituting them into the ray equation; the horizontal component of the intersection point is taken as the corresponding vertex coordinates of the polygon intersecting the ground of the projection cone.
[0070] Specifically, the process of extending the edges of the projection cone towards the ground and calculating the intersection polygon is as follows. Let the three-dimensional spatial coordinates of the sensor projection center be... The coordinates of the 3D roof vertex corresponding to a certain edge line of the projection cone are: , Let be the coordinate value of the sensor projection center along the first axis of the coordinate system. Let be the coordinate value of the sensor projection center along the second axis of the coordinate system. Let be the coordinates of the sensor projection center on the third axis of the coordinate system, i.e., the vertical direction. Let be the coordinate value of the vertex of the 3D roof along the first axis of the coordinate system. Let be the coordinate value of the vertex of the 3D roof along the second axis of the coordinate system. This represents the coordinate value of the 3D roof vertex along the third axis of the coordinate system, equal to the ground elevation plus the building height. and The ray direction vector can be calculated. : ,in, The three components are the differences between the coordinates of the three-dimensional roof vertex and the coordinates of the sensor projection center along the three coordinate axes. Since the sensor is located at a high altitude while the building roof is near the ground, Much larger ,therefore The third component A negative value indicates that the ray direction is downwards from the sensor towards the ground. As the origin of the ray, Establish parameterized ray equations for ray direction vectors ,in, The ray parameter is a real scalar that represents the distance from the starting point to a point on the ray along the ray direction. The relative position of departure. When hour, That is, the point on the ray is located at the center of the sensor projection. When hour, That is, the point on the ray is located at the corresponding three-dimensional roof vertex. When At that time, the point on the ray lies on the extension line of the ray direction from the vertex of the three-dimensional roof, that is, continuing towards the ground. Let the ground elevation be . The ground elevation surface is expressed as a horizontal plane equation: ,in, The third component, or elevation component, represents any point in three-dimensional space. This is used to parameterize the ray equation. Substituting the third component into the ground elevation surface equation, we get: The intersection point parameter values are obtained by solving. ,in, Negative value It is also a negative value, therefore A positive value greater than one confirms that the intersection point is located on the extension line of the 3D roof vertex, i.e., on the ground side. The intersection point parameter value... Substituting into the parameterized ray equation, we obtain the three-dimensional coordinates of the intersection point. Take the horizontal components of the intersection point, i.e., the first two components. The coordinates of the corresponding vertex of the polygon intersecting the ground of the projection cone are given. The geometric basis for finding the intersection of this ray with the horizontal plane is as follows: In the central projection imaging model, the point where the ray extending from the center of the sensor's projection, passing through a vertex of the building's roof, intersects the ground is the projection position of that roof vertex on the ground. Because the sensor performs oblique observation at a certain observation zenith angle rather than a direct vertical observation, the ray direction is not vertically downward. Therefore, there is a horizontal offset between the coordinates of the intersection point of the ray and the ground and the orthogonal projection coordinates of the roof vertex on the ground. The magnitude of this horizontal offset is determined by the ray direction vector. The ratio of the horizontal to the vertical components is determined by the ratio, which is geometrically equivalent to the building height multiplied by the tangent of the zenith angle observed at that location.
[0071] After performing the above ray intersection operation with the horizontal plane on all K edges of the projection cone, the horizontal coordinates of K ground intersection points are obtained. Connecting these K coordinate points in the same order as the roof apex forms the ground intersection polygon of the projection cone. The ground intersection polygon of the projection cone represents the projected position of the building's roof outline on the ground, that is, the position of the outline that should appear in the ground coordinate system when the annotator uses the visible edge of the building's roof as a reference for annotation.
[0072] The process of obtaining the projected ambiguous envelope polygon by calculating the convex hull of the ground intersection polygon of the projected cone and the building annotation polygon is as follows: All vertex coordinates of the ground intersection polygon of the projected cone and all vertex coordinates of the building annotation polygon are merged into a unified set of coordinate points. A convex hull calculation algorithm is then performed on this unified set of coordinate points to obtain the smallest convex polygon that contains all coordinate points. This smallest convex polygon is defined as the projected ambiguous envelope polygon. The convex hull calculation algorithm uses the Graham scan method. The execution process of the Graham scan method is as follows: First, the point with the smallest ordinate in the set of coordinate points is selected as the reference point. If there are multiple points with the smallest ordinate, the point with the smallest abscissa is selected. Then, all other points are sorted in ascending order according to their polar angle relative to the reference point. Finally, each point is traversed sequentially according to the sorting order. The cross product operation is used to determine whether the newly added point causes the convex hull contour to turn to the right. If a rightward turn occurs, the previous point is deleted. This process is repeated until all points have been traversed. The remaining point sequence is the vertex sequence of the convex hull. The time complexity of the Graham scan method is the order of magnitude of the number of points multiplied by its logarithmic value. In this scenario, the total number of vertices of the ground intersection polygon of the projection cone and the building annotation polygon is usually no more than a few dozen, and the computational efficiency is sufficient to meet the requirements. The geometric meaning of the projection ambiguity envelope polygon is that this polygon simultaneously includes the projected position of the building roof in the image and the projected position of the building's ground outline, serving as the spatial outer envelope of the building's outline under two reference datums. Regardless of whether the annotator uses a visual anchoring strategy with the visible edge of the roof as a reference or a geographic anchoring strategy with the ground projection position as a reference, all vertices of their annotation polygon should fall within the scope of the projection ambiguity envelope polygon. The area outside the scope of the projection ambiguity envelope polygon is irrelevant to the projected position of the building, and any inconsistencies in annotation within this area should be identified as genuine category labeling errors. The rationale for using a convex envelope instead of a simple union operation to construct the projection ambiguity envelope polygon is that the spatial relationship between the ground intersection polygon of the projection cone and the building annotation polygon may present a disconnected and separate form in the image edge region. Especially when the observed zenith angle is large and the building height is large, the offset between the two polygons can reach more than ten pixels. If a simple union is used as the ambiguous region, the result may be two separate, disconnected regions, and the gap between the two polygons will be missed. The convex hull operation ensures that the gap is included in the ambiguity, forming a continuous and complete ambiguous region.
[0073] The construction of the projection ambiguity envelope polygon in step S12 also includes the expansion processing of building height uncertainty: the projection cone construction and ground intersection calculation in steps S11 and S12 are re-executed with the building height value plus the height uncertainty value to replace the original height value, and the expanded projection cone ground intersection polygon is obtained; the convex envelope of the expanded projection cone ground intersection polygon and the building annotation polygon is obtained to obtain the projection ambiguity envelope polygon expanded by height uncertainty.
[0074] Specifically, step S12 also includes the expansion processing of building height uncertainty. The uncertainty value of the building height is obtained. This height uncertainty value characterizes the measurement error or estimation error range of the building height data. The method of obtaining the height uncertainty value depends on the source of the building height data. When the building height comes from the difference between the digital surface model and the digital terrain model, the building height is equal to the elevation value of the digital surface model at the building location minus the elevation value of the digital terrain model at the same location. The uncertainty value is calculated through the error propagation relationship: Let the elevation measurement uncertainty of the digital surface model be... The elevation measurement uncertainty of the digital terrain model is Because the propagation of two independent measurement errors in the difference operation follows the root sum of squares rule, the uncertainty of the building height... equal squared plus The square root of the sum of the squares of , that is: ,in, This information can be obtained from the product technical specifications of the digital surface model. This information can be obtained from the product specifications of digital terrain models. For example, data from commonly used space shuttle radar terrain mapping missions... Approximately 1.5 meters, after correction by ground control points. Approximately one meter, substituting into the above formula, we get... Approximately 1.8 meters. When the building height is derived from airborne lidar point cloud data, the building height equals the maximum elevation of the roof point cloud minus the average elevation of the ground point cloud surrounding the building. The uncertainty value is composed of the following two error components: the first component is the ranging accuracy of the lidar system. This value is equal to the nominal ranging accuracy of the lidar device divided by the cosine of the laser incident angle. It can be obtained from the technical parameter manual of the lidar device. In a typical airborne lidar system... The value range is from 0.05 to 0.15 meters; the second component is the classification residual generated in the building edge area when the point cloud filtering algorithm classifies ground points and non-ground points. This value is equal to the root mean square value of the elevation residuals calculated by the filtering algorithm on a validation dataset with known ground truth values. In a typical asymptotic triangulation filtering algorithm... The value ranges from 0.1 to 0.3 meters. The two components are also combined using the square root rule to obtain the uncertainty of the building height: For example, when For 0.1 meters, When the value is 0.2 meters, substituting it into the above formula yields... It is approximately 0.22 meters.
[0075] The original height value is replaced by the building height value plus the height uncertainty value. Step S11, involving the calculation of the 3D roof vertex coordinate sequence and the construction of the projection cone, and step S12, involving the extension of the edge lines to the ground and the calculation of the ground intersection polygon, are then re-executed to obtain the expanded projection cone ground intersection polygon. The vertex coordinates of each vertex of the expanded projection cone ground intersection polygon are offset outwards relative to the vertex coordinates of the unexpanded projection cone ground intersection polygon. The offset is equal to the height uncertainty value multiplied by the ray direction vector. The ratio of the absolute values of the horizontal to the vertical components. The convex envelope of the ground intersection polygon of the expanded projection cone and the building annotation polygon is obtained, resulting in the projection ambiguity envelope polygon expanded by height uncertainty. The basis for performing height uncertainty expansion is that the geometry of the projection cone directly depends on the building height value; errors in the height value will cause the vertex coordinates of the ground intersection polygon of the projection cone to shift. If height uncertainty is not considered, the projection ambiguity envelope polygon may be too small, causing some reasonable annotation deviations caused by height measurement errors to be excluded from the ambiguity region, thus being incorrectly judged as annotation defects by the verification model.
[0076] The output of step S12 is the projected ambiguous envelope polygon and the projected cone ground intersection polygon for each building. The projected ambiguous envelope polygon serves as the spatial basis for determining the cone intersection depth calculation range in step S13, the spatial range basis for layered slicing analysis and geometric constraint tensor encoding in step S20, and the region definition basis for hierarchical determination in step S30.
[0077] Step S13: For each pixel position inside the projection ambiguity envelope polygon, a back projection ray is established with the ground three-dimensional coordinates of the pixel position as the starting point and along the direction pointing to the center of the sensor projection. The intersection point of the back projection ray and the side surface of the projection cone is calculated. The difference between the elevation value of the intersection point and the ground elevation value is taken as the cone intersection depth value at the pixel position. The cone intersection depth values at all pixel positions are used to form a pixel-by-pixel cone intersection depth map.
[0078] Specifically, the input to step S13 is the projection cone of each building output from step S11 and the projection ambiguity envelope polygon output from step S12. For each pixel position inside the projection ambiguity envelope polygon, the ground 3D coordinates of that pixel position are first obtained. Let the ground 2D coordinates corresponding to that pixel in the remote sensing image be... The ground elevation value is Then the ground 3D coordinates of the pixel location are .by As the starting point of the ray, with Pointing to the center of the sensor projection The direction of the ray is defined as the ray direction, and a back-projected ray is established. The direction vector of the back-projected ray is... Parameterized equations for back-projected rays ,in, For non-negative real number parameters, when hour That is, the point on the ray is located at the ground position of the pixel, when As the speed increases, the point on the ray moves in the direction pointing towards the sensor.
[0079] The intersection detection process between the back projection ray and the side surface of the projection cone in step S13 is as follows: traverse all triangular facets on the side surface of the projection cone, and perform ray-triangular facet intersection detection for each triangular facet; when the back projection ray intersects with a certain triangular facet, calculate the three-dimensional coordinates of the intersection point, and take the difference between the elevation value of the intersection point and the ground elevation value as the cone intersection depth value; when the back projection ray intersects with multiple triangular facets, take the cone intersection depth value corresponding to the intersection point with the largest elevation value.
[0080] Specifically, the intersection detection of the back-projected ray and the side surface of the projection cone uses the Moller-Trumbore algorithm, and its calculation process is as follows. Let the three-dimensional coordinates of the three vertices of a certain triangular facet on the side surface of the projection cone be respectively... , , ,in Let be the coordinates of the first vertex of the triangular facet along the first axis of the coordinate system. Let this be the coordinate value of the vertex along the second axis. Let B be the coordinate value of the vertex along the third axis, and let its three components be denoted as follows: The meaning corresponds to the components of A, representing the spatial position of the second vertex of the triangular facet. The three components of C are denoted as follows: The meaning corresponds to each component of A, representing the spatial position of the third vertex of the triangular facet. Among them, The coordinates of the sensor projection center, i.e., the cone apex. and These are the coordinates of the two adjacent 3D roof vertices corresponding to this side facet. Define the two edge vectors of the triangular facet: , ,in, From the vertex Pointing to the vertex The edge vector, From the vertex Pointing to the vertex The edge vectors. Any point on the triangular facet can be expressed parametrically by its centroid coordinates as... ,in and The two components of the centroid coordinates must satisfy the following constraints. , and The parameterization equation of the back-projected ray. Combining the parametric equations of the centroid coordinates of the triangular facets, we obtain: Rearrange the items as follows: The left end is... , , A 3x3 coefficient matrix composed of column vectors and an unknown vector The product of the two, let the right side be... The equation is about three unknowns. , , A system of three-dimensional linear equations is given. Cramer's rule is used to efficiently solve this system of equations. The auxiliary vector is calculated. ,in Represents the cross product operation of three-dimensional vectors. Calculates the determinant value. ,in This represents the dot product operation of three-dimensional vectors. If... If the value is close to zero, it means the ray direction is approximately parallel to the plane containing the triangular facet, and there is no valid intersection point; therefore, skip the triangular facet. Otherwise, calculate the reciprocal of the determinant. .calculate .like or If the intersection point is not within the range of the triangular facet, skip that triangular facet. Calculate the auxiliary vector. .calculate .like or If the intersection point is not within the range of the triangular facet, skip that triangular facet. Calculate... .like and , If all the above constraints are met, then the back-projected ray intersects with the triangular facet. The obtained parameters... Substituting into the parameterized equation of the back-projected ray This yields the three-dimensional coordinates of the intersection point. The third component of the three-dimensional coordinates of the intersection point, i.e., the elevation value, is then subtracted from the ground elevation value. This yields the cone intersection depth value at the pixel location.
[0081] When the back-projected ray intersects multiple triangular facets, the cone intersection depth value corresponding to the intersection point with the largest elevation value is taken. This situation may occur when the side surface of the projection cone has concave bends due to the irregular shape of the building's polygonal designation. Selecting the intersection point with the largest elevation value ensures that the cone intersection depth value reflects the position where the back-projected ray penetrates the deepest layer of the projection cone. The physical meaning of the cone intersection depth value is: the back-projected ray at this pixel location travels from the ground towards the sensor and is intercepted when it passes through the side surface of the projection cone. The elevation of the intersection point reflects the depth to which the ray penetrates the projection cone in three-dimensional space. The larger the cone intersection depth value, the closer the association between the pixel location and the building's roof projection; the smaller the cone intersection depth value but greater than zero, the closer the pixel location is to the edge of the building's ground projection area. For pixel locations outside the projection ambiguity envelope polygon, since the back-projected ray does not intersect the side surface of the projection cone, the cone intersection depth value is set to zero. The cone intersection depth values at all pixel locations are used to construct a pixel-by-pixel cone intersection depth map. The cone intersection depth map is rasterized and stored with the same row and column size and spatial resolution as the remote sensing image, with a non-negative real value stored at each pixel location.
[0082] For example, for the aforementioned building with a height of 20 meters, three pixel positions are selected within the projection ambiguity envelope polygon to illustrate the variation of the cone intersection depth value. A pixel located at the exact center of the building's labeled polygon has an elevation of approximately 18 meters at the intersection point where its back-projected ray crosses the side surface of the projection cone, resulting in a cone intersection depth of approximately 18 meters, close to the building's height. This indicates that the pixel is entirely located within the core area of the roof projection. A pixel located at the edge of the projection cone's ground intersection polygon has an elevation of approximately 3 meters at the intersection point where its back-projected ray crosses the side surface of the projection cone, resulting in a cone intersection depth of approximately 3 meters. This indicates that the pixel is located on the periphery of the projection ambiguity region. A pixel located at the edge of the projection ambiguity envelope polygon has its back-projected ray intersecting the side surface of the projection cone at a point elevation of approximately 0.5 meters, resulting in a cone intersection depth of approximately 0.5 meters. The cone intersection depth values of the three pixels, from 18 meters to 3 meters and then to 0.5 meters, exhibit a spatial distribution pattern of gradually decreasing from the core area of the building towards the periphery.
[0083] The role of the cone intersection depth map is to quantify the penetration depth of each pixel position in the 3D projection relationship with continuous values, transforming the 3D spatial problem of separating the top and bottom projections of a building into a continuous value distribution problem on a 2D grid. Traditional methods can only obtain two discrete boundaries: the roof projection position and the ground projection position, while the cone intersection depth map provides a continuous characterization of all intermediate states between these two boundaries, providing basic data for the iso-depth layered slicing analysis in subsequent step S20. The output of step S13 is the pixel-by-pixel cone intersection depth map. The cone intersection depth map serves as the basis for determining the numerical range of the iso-depth layered slicing sequence in step S21, as the comparison basis for the topology disambiguation processing in step S23, as the search basis for determining the layered slicing interval to which each pixel belongs in step S24, and as the data source for the second channel of the geometric constraint tensor in step S25.
[0084] By constructing the three-dimensional geometry of the projection cone, parametrically intersecting the edge rays with the ground elevation surface, performing convex envelope topological analysis, and detecting the intersection of the back-projected rays with the triangular facets, a complete derivation chain from sensor-observed geometric parameters to pixel-by-pixel projection ambiguity quantification was completed. The output of step S10—the projection ambiguity envelope polygon and the cone intersection depth map—transforms the projection separation relationship in three-dimensional space into two-dimensional rasterized data that can be processed in subsequent steps. Simultaneously, the multispectral image data obtained in step S10 is used as image input to the deep learning classification and verification network in subsequent step S30.
[0085] The objective of step S20 is to discretize the projected cone in the height direction based on the projection ambiguity envelope polygon and cone intersection depth map generated in step S10 by slicing at equal depth levels. At each slice height, Boolean topological operations are performed between the horizontal cross-section polygon and the labeled polygon to determine overlapping and non-overlapping anchor points. This process addresses the ambiguity surrounding the attribution of overlapping areas between adjacent building projected cones. Finally, the normalized anchor point attribution confidence for each pixel is calculated and encoded as a geometric constraint tensor. Step S20 includes steps S21, S22, S23, S24, and S25.
[0086] Step S21: Inside the projection ambiguity envelope polygon of each building, read the maximum and minimum non-zero values of the cone intersection depth in the cone intersection depth map for that region, and divide the interval from the minimum non-zero value to the maximum value at equal intervals with a preset height layering interval to obtain the equal depth layering slice sequence of the building.
[0087] Specifically, the input to step S21 is the projection ambiguity envelope polygon of each building output in step S12 and the cone intersection depth map output in step S13. For each building, first determine the pixel range covered by the projection ambiguity envelope polygon of that building in the cone intersection depth map. Traverse the cone intersection depth values of all pixel positions within this range, and extract the maximum and minimum non-zero values. The maximum value corresponds to the pixel position that penetrates the projection cone the deepest inside the projection ambiguity envelope polygon, usually appearing in the area closest to the roof of the building. The minimum non-zero value corresponds to the pixel position where the back-projection ray intersects the side surface of the projection cone, usually appearing in the edge area of the projection ambiguity envelope polygon. Pixel positions with a cone intersection depth value of zero are not included in the extraction of the minimum value, because a zero value indicates that the back-projection ray of that pixel does not intersect the side surface of the projection cone and is not within the valid range of projection ambiguity.
[0088] The preset height layer spacing is a parameter that controls the accuracy of layered slicing. A smaller height layer spacing allows for a larger number of layered slices and higher accuracy in calculating the attribution confidence, but also increases the computational load. The height layer spacing is determined based on the following: the height layer spacing should be less than the height difference corresponding to the smallest perceptible contour offset by the annotator in the pixel coordinate system, to ensure that the layered slices can capture the gradual change in the annotation attribution status. When the pixel spacing is... meters, observed zenith angle is Under the imaging conditions, the difference in building height corresponding to the ground offset of one pixel is approximately For example, with a pixel pitch of 0.5 meters and an observation zenith angle of 20 degrees, the height difference corresponding to one pixel offset is approximately 1.4 meters. In this case, a height layer spacing of 1 meter is more suitable. In practical applications, the value of the height layer spacing ranges from 0.5 meters to 2 meters.
[0089] The interval between the minimum non-zero value and the maximum value is divided into equal-spaced sections based on a preset height layer spacing. Let the minimum non-zero value be... The maximum value is The height of the layer spacing is Then the number of layers equals minus Difference divided by Round up and add one. The method for constructing equal-depth layered slice sequences is as follows: As the first element of the sequence, For the second element, with The third element is the first, and so on, increasing sequentially until the last element is greater than or equal to the last. Up to this point, each element in the equal-depth layered slice sequence is a height threshold. Each height threshold represents the horizontal cross-sectional position of the projection cone at that height from the ground elevation surface in the three-dimensional space of the projection cone. This height threshold is used in subsequent step S22 to perform horizontal truncation on the projection cone and determine the horizontal cross-sectional shape of the projection cone at that height.
[0090] The output of step S21 is a sequence of equal-depth layered slices for each building. The typical length of the equal-depth layered slice sequence is three to twenty slices, corresponding to a common range of building heights from several meters to tens of meters.
[0091] The design of the equal-depth layered slicing sequence is based on the fact that the projection cone is a continuous three-dimensional geometry. Within a continuous height range from the ground to the roof, the spatial overlap between the horizontal cross-section of the projection cone at each height and the building's labeled polygon gradually changes. Directly analyzing this gradual relationship point-by-point in continuous space is computationally infeasible. Therefore, the continuous interval is transformed into a finite number of height thresholds through equal-interval discretization. Cross-sectional analysis is performed at each height threshold, and then the discretized analysis results are re-integrated into continuous attribution confidence scores through linear interpolation in subsequent step S24. This discretization-recontinuation paradigm ensures computational feasibility while maintaining analytical accuracy by controlling the height layer spacing.
[0092] like Figure 3 The diagram shows the overlapping and non-overlapping areas of anchor points.
[0093] Reference Figure 3 The diagram illustrates the spatial attribution relationship obtained after performing Boolean intersection and Boolean symmetric difference operations on the ground projection outline polygon and the building annotation polygon at a certain layer slice height in step S22. The blue solid line polygons represent the building annotation polygons, and the brown dashed line polygons represent the ground projection outline polygon corresponding to that layer slice. The gray filled area represents the anchor point overlap area, that is, the part that is simultaneously covered by the ground projection outline polygon and the building annotation polygon in space. Pixels within this area are considered to belong to the building area regardless of the anchoring strategy used by the annotator, and the labeling attribution is unambiguous. The diagonally filled areas on the left and right sides of the diagram represent the non-overlapping anchor point areas belonging only to the building annotation polygon and only to the ground projection outline polygon, respectively. The labeling attribution of pixels within this area depends on the anchoring strategy chosen by the annotator.
[0094] Step S22: For each layer slice in the equal depth layer slice sequence, perform a horizontal cut on the projection cone with its height threshold to obtain the horizontal cross-section polygon of the projection cone. Project each vertex of the horizontal cross-section polygon onto the ground elevation surface through the sensor projection center to obtain the ground projection outline polygon. Perform a Boolean intersection operation on the ground projection outline polygon and the building annotation polygon to obtain the anchor point overlapping area. Perform a Boolean symmetric difference operation to obtain the anchor point non-overlapping area.
[0095] Specifically, the input to step S22 is the iso-depth layered slice sequence output from step S21 and the projection cone output from step S11. The following operations are performed on each layered slice in the iso-depth layered slice sequence: The projection cone is horizontally truncated using the height threshold of that layered slice. Specifically, a horizontal plane with an elevation value equal to the ground elevation plus the height threshold of that layered slice is constructed. All triangular faces on the side surface of the projection cone are traversed. For each triangular face, the elevation values of its three vertices are checked to see if they are distributed on both sides of the horizontal plane; that is, whether there exists at least one vertex with an elevation value greater than the horizontal plane elevation value and at least one vertex with an elevation value less than the horizontal plane elevation value. If so, the coordinates of the intersection points between the horizontal plane and each side of the triangular face are calculated using linear interpolation. Two intersection points on the same triangular face are connected to form an intersection line segment. All intersection line segments are spliced together according to spatial adjacency to form a closed polygonal outline, which is the horizontal cross-sectional polygon of the projection cone at that height threshold.
[0096] The process of projecting the horizontal cross-section polygon onto the ground coordinate system in step S22 is as follows: For each vertex of the horizontal cross-section polygon, a projection ray is established with the sensor projection center as the ray origin and the direction from the sensor projection center to the vertex as the ray direction. The intersection point of the projection ray and the ground elevation surface is solved, and the horizontal component of the intersection point is taken as the corresponding vertex coordinates of the ground projection contour polygon. The ground projection contour polygon is formed by connecting all the vertex coordinates in the original order.
[0097] Specifically, the process of projecting the horizontal cross-sectional polygon of the projection cone onto the ground coordinate system to obtain the ground projection outline polygon is as follows. For each vertex of the horizontal cross-sectional polygon, let the three-dimensional coordinates of that vertex be... With the sensor projection center Let be the starting point of the ray, and calculate the ray direction vector as follows: Thus, a projection ray is established. The parameterized equation of this projection ray is: the coordinates of any point on the ray are equal to... The method for finding the intersection of the projected ray and the ground elevation surface is the same as the method for finding the intersection of the edge line and the ground elevation surface in step S12: the third component of the parameterized ray equation is set to be equal to the ground elevation value. The intersection point parameter values are obtained by solving. Then Substituting the parametric ray equations, we obtain the three-dimensional coordinates of the intersection points. The horizontal components of the intersection points, i.e., the first two components, are taken as the corresponding vertex coordinates of the ground projection contour polygon. The ground projection contour polygon corresponding to this layer slice is formed by connecting the vertex coordinates of all ground projection contour polygons in their original order. The geometric basis of this projection process is: the horizontal cross-sectional polygon represents the cross-sectional shape of the building at a certain intermediate height. This cross-section is projected onto the ground through a ray relationship with the sensor projection center, and the resulting ground projection contour polygon represents the contour position that the hypothetical annotator should mark when using this intermediate height layer as a reference. When the height threshold equals the building height, the ground projection contour polygon coincides with the ground intersection polygon of the projection cone; when the height threshold approaches zero, the ground projection contour polygon approaches the building annotation polygon itself.
[0098] This invention performs Boolean intersection and Boolean symmetric difference operations on the ground projection outline polygon and the building annotation polygon. The Vatti clipping algorithm is used to perform these two Boolean operations. The Vatti clipping algorithm works as follows: all edges of the two polygons are arranged in ascending order of their ordinates to form an active edge table. The algorithm scans line by line from bottom to top, maintaining a set of active edges intersecting the scan line at each scan line. Based on the left-right relationship of the active edges and the internal / external state of the two polygons, it determines whether the scan line interval belongs to the intersection region, the difference region, or the external region. Finally, the judgment results of all scan lines are concatenated to form the output polygon. The Vatti clipping algorithm can correctly handle all topological cases between two polygons, including intersection, containment, separation, and partial overlap.
[0099] The result of the Boolean intersection operation is the anchor point overlap region. Geometrically, the anchor point overlap region is the area simultaneously covered by the ground projection outline polygon and the building annotation polygon in space. Pixels within this region are considered part of the building area regardless of the anchoring strategy used by the annotator; the annotation classification is unambiguous. The area of the anchor point overlap region gradually decreases as the height threshold increases. This is because a higher height threshold means the horizontal cross-section polygon is closer to the roof, resulting in a greater displacement of the ground projection outline polygon relative to the building annotation polygon after projection onto the ground, and thus a smaller spatial overlap.
[0100] The result of the Boolean symmetric difference operation is the non-overlapping area of anchor points. The Boolean symmetric difference operation is defined as the union of the area belonging to the ground projection outline polygon but not to the building annotation polygon, and the area belonging to the building annotation polygon but not to the ground projection outline polygon. The geometric meaning of the non-overlapping area of anchor points is: at a given height level, the area is covered by only one of two reference datums and not by the other. The annotation assignment of pixels within this area depends on the anchoring strategy chosen by the annotator. If the annotator uses the projection position corresponding to this height level as a reference, the pixel belongs to the building; if another reference is used, the pixel does not belong to the building. The area of the non-overlapping area of anchor points gradually increases with the increase of the height threshold, opposite to the trend of the overlapping area of anchor points.
[0101] The output of step S22 is the polygon data of the overlapping and non-overlapping anchor points of each building at each layer slice height. By performing Boolean operations layer by layer on the layer slices, ambiguous labeling areas are defined. Compared to a single Boolean operation that only compares the intersection polygons of the building label and the ground projection cone, this method captures the gradual change in label attribution at different height layers. A single Boolean operation can only obtain the extreme difference between the final roof projection position and the ground label position, failing to provide information on intermediate states. The layer slice approach, by performing independent Boolean operations at multiple intermediate heights, establishes a complete attribution gradient sequence from the ground to the roof, providing discrete anchor points for the continuous interpolation in the subsequent step S24.
[0102] Step S23: Perform topology disambiguation processing on the regions where the projection ambiguity envelope polygons of adjacent buildings spatially overlap. Compare the cone intersection depth values from different projection cones at each pixel location within the overlapping region, assign the pixel location to the building corresponding to the projection cone with the larger cone intersection depth value, and write the assignment result into the building index map.
[0103] Specifically, the inputs to step S23 are the projected ambiguous envelope polygons of all buildings output in step S12 and the cone intersection depth map output in step S13.
[0104] The process of confirming the overlapping area in step S23 is as follows: traverse the projection ambiguity envelope polygons of all buildings, perform geometric intersection detection on the projection ambiguity envelope polygons of any two buildings, and mark the intersection area as a cone overlapping area.
[0105] Specifically, in urban remote sensing imagery, the distance between adjacent buildings may be small. When the sensor observes at a large zenith angle, the projection cones of adjacent buildings may overlap spatially, causing their respective projection ambiguity envelope polygons to spatially overlap in the ground coordinate system. Within the overlapping area, the same pixel location may simultaneously belong to the projection ambiguity range of two different buildings. It is necessary to determine which building the pixel location should belong to in order to eliminate the ambiguity.
[0106] The topology disambiguation process is as follows: Traverse the projected ambiguous envelope polygons of all buildings, and perform geometric intersection detection on any two building projected ambiguous envelope polygons. Geometric intersection detection employs a two-stage method based on R-tree spatial indexing: fast filtering followed by precise detection. In the fast filtering stage, the circumscribed rectangle of each building's projected ambiguous envelope polygon is inserted into the R-tree spatial index. A range query in the R-tree quickly retrieves candidate sets of building pairs with overlapping circumscribed rectangles, excluding non-overlapping pairs to reduce unnecessary computational load for precise detection. In the precise detection stage, for the candidate building pairs output from the fast filtering stage, a polygon intersection detection algorithm between the two projected ambiguous envelope polygons is executed to determine if there is an actual spatial overlap between the two polygons. When the projected ambiguous envelope polygons of two buildings do indeed overlap, the aforementioned Vatti clipping algorithm is used to calculate the intersection region of the two polygons, and this intersection region is marked as a cone-shaped overlap region.
[0107] For each pixel location within the cone intersection area, the cone intersection depth value at that pixel location is read from the cone intersection depth maps of the two buildings. The building identifier corresponding to the larger cone intersection depth value is written into the building index map of that pixel location. For pixel locations not within any cone intersection area, the building identifier corresponding to the unique projection ambiguity envelope polygon they are located in is written into the building index map. For pixel locations not within any projection ambiguity envelope polygon, the value of the building index map is zero. The building index map is a raster layer with the same row and column dimensions as the remote sensing image, where each pixel location stores an integer value representing the building identifier number to which that pixel location belongs. The criterion for prioritizing the larger cone intersection depth value is: a larger cone intersection depth value indicates that the intersection elevation of the back-projected ray at that pixel location when passing through the side surface of the projection cone is higher, corresponding to that pixel location being closer in three-dimensional space to the roof projection area of that building rather than the roof projection area of the other building. From the perspective of occlusion, in the central projection imaging model, when the projected areas of two buildings overlap, the roof of the building closer to the sensor will occlude the building farther from the sensor in the image. The building with a larger cone intersection depth value corresponds to the building closer to the sensor, which is visible in the image, and annotators are more likely to use this building as a reference for annotation.
[0108] like Figure 4 The diagram shown illustrates the overlap and disambiguation of the projection ambiguity envelope polygons of adjacent buildings.
[0109] Reference Figure 4 The diagram illustrates the topology disambiguation process in step S23 when the projected ambiguous envelope polygons of two adjacent buildings spatially overlap. The blue-filled rectangle represents building A1, which is 40 meters high, and the brown-filled rectangle represents building B1, which is 15 meters high. The blue dotted-dash polygon represents the projected ambiguous envelope polygon of building A1, and the brown dotted-dash polygon represents the projected ambiguous envelope polygon of building B1. The intersecting grid-filled area represents the cone-shaped overlap region where the projected ambiguous envelope polygons of the two buildings spatially overlap in the ground coordinate system. The arrow in the diagram points from the cone-shaped overlap region to the side of building A1, indicating that the pixel positions within the cone-shaped overlap region belong to building A1 after comparison of the cone intersection depth value, because the cone intersection depth value of the projected cone from building A1 is greater than that from building B1.
[0110] For example, in a densely built-up urban area, a high-rise building A1 with a height of 40 meters and a low-rise building B1 with a height of 15 meters are only 8 meters apart. Under imaging conditions with an observation zenith angle of 20 degrees, the projected ambiguous envelope polygon of building A1 extends away from the nadir point by a tangent of 40 x 20 degrees, approximately 14.6 meters, while the projected ambiguous envelope polygon of building B1 extends in the same direction by a tangent of 15 x 20 degrees, approximately 5.5 meters. The two projected ambiguous envelope polygons spatially overlap in the gap region. At a certain pixel location within the overlapping region, the cone intersection depth from building A1 is 12.3 meters, and the cone intersection depth from building B1 is 4.7 meters. Since 12.3 is greater than 4.7, this pixel location is attributed to building A1.
[0111] The output of step S23 is the building index map. In step S24, this map is used to determine which building's layered slice sequence should be used to calculate the normalized anchor point assignment confidence for each pixel location. The core problem addressed by topology disambiguation is that in densely built-up areas, the projection ambiguity envelope polygons of multiple buildings may spatially overlap in the ground coordinate system. This causes pixels within the overlapping area to be simultaneously associated with the projection ambiguity ranges of multiple buildings. Without disambiguation, subsequent step S24 cannot determine which building's layered slice sequence to use. By comparing the cone intersection depth values from different projection cones, the occlusion relationship between buildings in 3D space is reflected using the magnitude of the depth values, uniquely assigning each pixel to a single building and eliminating assignment ambiguity.
[0112] Step S24: For each pixel position inside the projected ambiguous envelope polygon, determine the layered slice sequence used according to the building index map, determine the layered slice interval into which the cone intersection depth value of the pixel position falls, and find whether the pixel position belongs to the anchor point overlapping area or the anchor point non-overlapping area in the two adjacent layered slices above and below the interval. Use the linear interpolation coefficient between the cone intersection depth value and the height threshold of the upper and lower layered slices to perform weighted fusion of the attribution status of the upper and lower layers to obtain the normalized anchor point attribution confidence.
[0113] Specifically, the input for step S24 includes four parts: the cone intersection depth map output in step S13, the iso-depth layered slice sequence for each building output in step S21, the anchor point overlap and non-overlapping areas at each layered slice height output in step S22, and the building index map output in step S23. The following calculations are performed on each pixel location within the projected ambiguous envelope polygon: The building identifier number to which the pixel location belongs is read from the building index map to determine which building's iso-depth layered slice sequence is used for that pixel location. The cone intersection depth value at that pixel location is read from the cone intersection depth map. Based on this, the layered slice interval into which the cone intersection depth value falls within the building's iso-depth layered slice sequence is determined, i.e., finding adjacent height threshold pairs that satisfy a lower layer height threshold less than or equal to the cone intersection depth value and an upper layer height threshold greater than the cone intersection depth value.
[0114] In the slice corresponding to the lower-level height threshold, determine whether the pixel location belongs to an overlapping or non-overlapping anchor point region. Use a point-within-a-polygon algorithm to determine if the pixel location is inside the polygon of the overlapping anchor point region. If it is inside, encode the lower-level attribution status as one; if it is inside, encode it as zero. Perform the same operation on the slice corresponding to the upper-level height threshold to obtain the upper-level attribution status code.
[0115] Calculate the linear interpolation coefficients and perform weighted fusion. The linear interpolation coefficient is equal to the difference between the cone intersection depth value and the lower layer height threshold, divided by the difference between the upper layer height threshold and the lower layer height threshold, with a value ranging from zero to one. The normalized anchor point assignment confidence is equal to one minus the product of the lower layer assignment status code value multiplied by one minus the linear interpolation coefficient, and then minus the product of the upper layer assignment status code value multiplied by the linear interpolation coefficient. When both the upper and lower layer assignment states are one, the normalized anchor point assignment confidence is zero, indicating high label assignment certainty; when both the upper and lower layer assignment states are zero, the normalized anchor point assignment confidence is one, indicating that the label assignment depends only on the anchoring strategy chosen by the labeler.
[0116] The calculation of the normalized anchor point assignment confidence in step S24 also includes processing the beginning and end boundaries of the layered slice sequence: when the cone intersection depth value of the pixel position is greater than or equal to the maximum height threshold of the equal-depth layered slice sequence, the normalized anchor point assignment confidence at that pixel position is set to zero; when the cone intersection depth value of the pixel position is less than the minimum non-zero height threshold of the equal-depth layered slice sequence, the normalized anchor point assignment confidence at that pixel position is set to one.
[0117] Specifically, the processing of the beginning and end boundaries of the layered slice sequence is as follows. The maximum height threshold of the equal-depth layered slice sequence refers to the height threshold with the largest value in the sequence, i.e., the last element of the sequence, whose value is equal to... or equal to a sequence greater than or equal to The first element value. The minimum non-zero height threshold of the equal-depth layered slice sequence refers to the height threshold with the smallest value in the equal-depth layered slice sequence, that is, the first element of the sequence, whose value is equal to... When the cone intersection depth of a pixel location is greater than or equal to the maximum height threshold of the equal-depth layered tile sequence, the pixel location is completely within the core area of the building roof projection, and the normalized anchor point assignment confidence is set to zero, indicating the highest certainty of label assignment. When the cone intersection depth of a pixel location is less than the minimum non-zero height threshold of the equal-depth layered tile sequence, the pixel location is at the outermost edge of the projection ambiguity envelope polygon, and the normalized anchor point assignment confidence is set to one, indicating the highest uncertainty of label assignment.
[0118] The output of step S24 is the normalized anchor point assignment confidence score at each pixel location within the projected ambiguity envelope polygon, forming a continuous value raster layer spatially aligned with the remote sensing image, with values ranging from zero to one. The normalized anchor point assignment confidence score is calculated using a layered slicing and linear interpolation method, which has the following advantages over simple binary judgment: binary judgment can only classify pixels into two categories—those within or outside the ambiguity region—and cannot reflect the spatial gradation characteristics of ambiguity. The normalized anchor point assignment confidence score, in the form of continuous values, represents the degree of uncertainty in the assignment of each pixel location, allowing the subsequent deep learning verification network to adopt different verification strategies based on different degrees of ambiguity. It significantly reduces verification sensitivity for pixels with high ambiguity and maintains full verification sensitivity for pixels with low ambiguity, achieving refined spatial adaptive verification.
[0119] like Figure 6 The diagram shown is a schematic of the three-channel structure of the geometric constraint tensor.
[0120] Reference Figure 6The diagram illustrates the data structure of a three-channel geometric constraint tensor formed by stitching together three raster layers along the channel dimension in step S25. The raster layer on the left represents the first channel, i.e., the normalized anchor point assignment confidence. The gradient grayscale in the diagram represents a continuous change from zero to one. Lighter areas represent the core roof projection region with low assignment confidence values, indicating high assignment certainty, while darker areas represent the ambiguous outer edge region of the projection with high assignment uncertainty. The raster layer in the middle represents the second channel, i.e., the normalized cone intersection depth value. The gradient grayscale in the diagram represents a continuous change from zero to one. Darker areas represent the core building projection region with large cone intersection depth values. The raster layer on the right represents the third channel, i.e., the binary mask of the projection ambiguity envelope polygon. Darker areas represent projection ambiguity regions with a mask value of one, while lighter areas represent unambiguous regions with a mask value of zero. After the three channels are aligned at pixel positions, they are concatenated along the channel dimension to form a geometric constraint tensor, which serves as the input to the conditional batch normalization layer of the deep learning classification and verification network in step S30.
[0121] Step S25: The raster layer composed of the normalized anchor point attribution confidence is used as the first channel, the raster layer composed of the cone intersection depth value after normalization of the maximum value is used as the second channel, and the binary mask of the projection ambiguity envelope polygon is used as the third channel. The three channels are spliced together to form a geometric constraint tensor.
[0122] Specifically, the inputs to step S25 are the normalized anchor point attribution confidence raster layer output from step S24, the cone intersection depth map output from step S13, and the projected ambiguous envelope polygon output from step S12. The process of constructing the three-channel geometric constraint tensor is as follows: The first channel is the normalized anchor point attribution confidence raster layer, which directly uses the normalized anchor point attribution confidence value output from step S24, with a value range of zero to one. For pixel positions located outside the projected ambiguous envelope polygon, the first channel value is set to a preset unambiguous marker value, which is set to negative one in practical applications to distinguish it from pixels in ambiguous regions. The second channel is the raster layer after normalizing the cone intersection depth value to the maximum value. The global maximum value of the cone intersection depth value at all pixel positions in the entire image is extracted, and the normalized cone intersection depth value is obtained by dividing the cone intersection depth value at each pixel position by the global maximum value, with a value range of zero to one. The third channel is the binary mask of the projected ambiguous envelope polygon. The pixel position mask value inside the projection ambiguity envelope polygon of any building is set to one, and the value outside is set to zero.
[0123] The three channels are aligned at pixel positions and then stitched together along the channel dimension to form a three-channel geometric constraint tensor with spatial dimensions consistent with the remote sensing image and three channels. The three-channel design is based on the fact that the three channels respectively characterize the spatial distribution characteristics of projection ambiguity from three perspectives: labeling uncertainty, projection separation degree, and spatial range of ambiguous regions. They complement each other and together provide complete prior knowledge of projection ambiguity for the deep learning verification network.
[0124] The output of step S25 is a three-channel geometric constraint tensor, which serves as the input to step S30. Step S20 transforms the 3D projected cone geometric information output from step S10 into a continuous attribution confidence distribution on a 2D grid by constructing a sequence of equal-depth layered slices, performing layer-by-layer horizontal truncation and Boolean topological operations, topological disambiguation processing of overlapping areas of adjacent building cones, and calculating the attribution confidence using linear interpolation. The core innovation of step S20 lies in transforming the ambiguous projection relationships in 3D continuous space into a finite number of 2D topological judgment problems through discretized layered truncation and layer-by-layer Boolean operations, and then fusing the discrete judgment results into continuous values through depth interpolation, achieving a complete dimensionality reduction mapping from 3D geometry to 2D continuous confidence.
[0125] The goal of step S30 is to inject the geometric constraint tensor generated in step S20 into the deep learning classification and verification network. Through a conditional batch normalization mechanism, the network behavior is made subject to explicit constraints of projection ambiguity information, thereby achieving automatic exemption of reasonable labeling differences within projection ambiguity regions and accurate identification of mislabeled true classes. Step S30 includes steps S31, S32, and S33.
[0126] Step S31: Construct a deep learning classification and verification network with a residual convolutional network structure. Embed a conditional batch normalization layer in each residual block. The scaling and offset parameters of the conditional batch normalization layer are dynamically generated by the geometric constraint tensor through pixel-wise fully connected mapping.
[0127] Specifically, the overall architecture of the deep learning classification and verification network constructed in step S31 is a residual convolutional network. The input to this residual convolutional network is multispectral image data from the remote sensing image. The number of input channels equals the number of spectral bands in the remote sensing image; in a four-band image, the number of input channels is four. The network output is a pixel-by-pixel classification probability map, with the number of output channels equal to the total number of land cover categories. In the remote sensing image building and land cover classification and annotation task applied in this embodiment, there are five land cover categories: buildings, roads, vegetation, water bodies, and bare land, with corresponding category numbers of zero, one, two, three, and four, respectively. The output for each pixel is a normalized probability vector, where each component corresponds to the predicted probability of a category.
[0128] The residual convolutional network consists of an input convolutional layer, a max-pooling layer, multiple residual blocks, and an output classification layer. The input convolutional layer uses a 7x7 kernel with a stride of 2 and padding of 3, mapping the input multispectral image data into a 64-channel feature map. The spatial resolution of this feature map is half that of the input image. Following the input convolutional layer is a batch normalization layer and a ReLU activation function, followed by a 3x3 max-pooling layer with a stride of 2 and padding of 1. After pooling, the spatial resolution of the feature map is further reduced to one-quarter of the input image's spatial resolution. The residual blocks are divided into four stages: the first stage contains two residual blocks, the second stage contains two residual blocks, the third stage contains two residual blocks, and the fourth stage contains two residual blocks, for a total of eight residual blocks. The number of feature map channels from the first stage to the fourth stage are 64, 128, 256, and 512, respectively. The spatial resolution of the feature map in the first stage is consistent with the output of the max pooling layer, which is one-quarter of the spatial resolution of the input image. The first residual block in the second stage reduces the spatial resolution to one-half of the previous stage, i.e., one-eighth of the spatial resolution of the input image, through a convolution operation with a stride of 2. The first residual block in the third stage also reduces the spatial resolution to one-sixteenth of the spatial resolution of the input image through a convolution operation with a stride of 2. The first residual block in the fourth stage reduces the spatial resolution to one-thirty-second of the spatial resolution of the input image. The internal structure of each residual block is as follows: the input feature map passes through a first 3x3 convolutional layer to obtain an intermediate feature map. This intermediate feature map then passes through a conditional batch normalization layer and a ReLU activation function to obtain an activated intermediate feature map. The activated intermediate feature map then passes through a second 3x3 convolutional layer to obtain an output feature map. This output feature map then passes through a second conditional batch normalization layer. The output feature map and the input feature map are added through skip connections and then passed through a ReLU activation function to obtain the final output feature map of the residual block. When the number of input channels and output channels of the residual block are inconsistent, or when the spatial resolution changes, a 1x1 convolutional layer and a conditional batch normalization layer are added to the skip connections to match the dimension and resolution. The output classification layer uses a 1x1 convolutional layer to map the feature map of the last stage into a five-channel classification score map. This is then upsampled using bilinear interpolation to restore the spatial resolution to the same as the input image. Finally, a softmax activation function is used to obtain a pixel-wise classification probability map.
[0129] Since the spatial resolution of the feature maps decreases progressively in each of the four stages of the residual convolutional network, differing from the original spatial resolution of the geometric constraint tensor output in step S25 (which is consistent with the input image), a spatial resolution alignment operation needs to be performed on the geometric constraint tensor before injecting it into the conditional batch normalization layers of each stage. The specific method for spatial resolution alignment is as follows: for each stage, the three-channel geometric constraint tensor is downsampled to the same spatial size as the feature map of that stage using bilinear interpolation. Specifically, for the first stage, the geometric constraint tensor is downsampled to one-quarter of the input image spatial size to obtain the first-stage downsampled geometric constraint tensor; for the second stage, it is downsampled to one-eighth of the input image spatial size to obtain the second-stage downsampled geometric constraint tensor; for the third stage, it is downsampled to one-sixteenth to obtain the third-stage downsampled geometric constraint tensor; and for the fourth stage, it is downsampled to one-thirty-second to obtain the fourth-stage downsampled geometric constraint tensor. The downsampled geometric constraint tensor retains all three channels. The three-channel value at each pixel location is the bilinear interpolation result of the channel values in the corresponding spatial region of the original geometric constraint tensor, thus achieving pixel-by-pixel alignment between the geometric constraint tensor and the feature maps of each stage in the spatial dimension. This downsampling operation is performed once before the network forward propagation and the downsampling results of each stage are cached. During the forward propagation of the same sample, each stage directly reads the corresponding cached result without recalculation.
[0130] In each residual block, the standard batch normalization layer is replaced with a conditional batch normalization layer. The standard batch normalization layer works as follows: during the training phase, it calculates the mean and variance of the feature values for each channel within the current batch. It then normalizes the feature values by subtracting the mean and dividing by the square root of the variance. Finally, it normalizes the normalization using two learnable scalar parameters—the scaling parameter. and offset parameters - Perform an affine transformation on the normalized eigenvalues, that is, multiply the normalized eigenvalues by... In addition Standard batch normalization layer and Using the same value across the entire space makes it impossible to make differentiated adjustments for different spatial locations.
[0131] The difference between conditional batch normalization and standard batch normalization lies in the scaling parameters of the conditional batch normalization layer. and offset parameters Instead of globally fixed, learnable scalar parameters, these are spatially varying parameters dynamically generated pixel-by-pixel from external conditional signals. In this invention, the external conditional signal is the downsampled geometric constraint tensor corresponding to this stage after spatial resolution alignment. Specifically, the process of dynamically generating scaling and offset parameters from the geometric constraint tensor through pixel-by-pixel fully connected mapping is as follows: for each pixel position of the downsampled geometric constraint tensor of this stage, the three-channel values at that position are taken to form a three-dimensional input vector. This three-dimensional input vector is then input into a fully connected network containing one hidden layer. The input layer of this fully connected network contains three neurons corresponding to the three components of the three-dimensional input vector, the hidden layer contains sixteen neurons, the activation function of the hidden layer is the ReLU function, and the number of neurons in the output layer is equal to twice the number of feature map channels acted upon by the conditional batch normalization layer. The first half of the neurons in the output layer output the conditional scaling parameters. Vector, the latter half of the neuron outputs conditional offset parameters Vector. Conditional scaling parameters and conditional offset parameters All are vectors with the same dimension as the number of channels in the current feature map. Each component of the vector corresponds to a scaling factor for a feature channel. Each component of the vector corresponds to an offset of a feature channel. Specifically, the feature map in the first-stage residual block has 64 channels, and the output layer of the fully connected network contains 128 neurons. The first 64 neurons output the 64-dimensional conditional scaling parameters at that pixel location. The vector, with the last sixty-four neurons outputting the sixty-four-dimensional conditional offset parameters at that pixel location. Vector; the second-stage feature map has 128 channels, and the output layer of the fully connected network contains 256 neurons, with the first 128 outputs... Vector, the last 128 outputs Vector; the feature map in the third stage has 256 channels, and the output layer of the fully connected network contains 512 neurons, with the first 256 outputs... Vectors, the last 256 outputs Vector; the fourth stage feature map has 512 channels, and the output layer of the fully connected network contains 1024 neurons, with the first 512 outputs... Vector, the last 512 outputs Vector. Each of the four stages has its own independent fully connected network because the output dimensions of each stage are different; the conditional batch normalization layers in all residual blocks within the same stage share the weight parameters of the same fully connected network. This fully connected network executes independently for each pixel position, and the input vectors at different pixel positions are different, therefore the output... Vector sum The vectors are also different, achieving dynamic generation pixel-by-pixel and channel-by-channel. The weights and bias parameters of this fully connected network are shared across all pixel locations, and during training, the overall parameters of the network are optimized together via backpropagation along with the deep learning classification validation network. The output layer of the fully connected network does not use an activation function to allow... and Take any real value. The weight parameters of the fully connected network are initialized using a normal distribution with a mean of zero and a standard deviation of zero to one. The bias parameters include... The corresponding bias is initialized to one. The corresponding bias is initialized to zero, so that the behavior of the conditional batch normalization layer in the initial state of the network is close to that of the standard batch normalization layer.
[0132] In the conditional batch normalization step of each residual block, the normalized feature value of the current channel in that batch is adjusted using the conditional scaling parameter at that pixel location. The component values in the vector corresponding to the current channel number are scaled element-wise, and then the conditional offset parameter is added. The component value in the vector corresponding to the current channel number is offset. Because... and It varies depending on the pixel position, and and Each channel component of the vector is generated independently. The conditional batch normalization layer implements different affine transformation strategies for the feature values of different feature channels at different spatial locations. The mechanism for injecting geometric constraint information using the conditional batch normalization layer is as follows: within the projection ambiguity region, the confidence score of the first channel normalized anchor point of the geometric constraint tensor is close to one, the normalized cone intersection depth value of the second channel is small, and the binary mask of the third channel is one. The combination of these three channel values is mapped by a fully connected network to generate conditional scaling parameters. The channel components of the vector tend to be small values close to zero. A scaling parameter close to zero means that the normalized feature values are significantly compressed, the feature differences between different categories are reduced, and the sensitivity of the validation network in classifying this region decreases accordingly. Outside the projected ambiguity region, the first channel value is negative one, the second channel value is zero, and the third channel value is zero. This combination, after being mapped by a fully connected network, generates the conditional scaling parameter. and offset parameters It tends to approach the default value of the standard batch normalization layer. The vector's channel components are close to one. When the values of each channel component of the vector are close to zero, the network maintains its complete classification and discrimination ability in that region.
[0133] Geometric constraint information is injected into the feature normalization stage of the residual convolutional network through a conditional batch normalization layer. This enables the network to adaptively adjust its classification sensitivity based on the degree of projection ambiguity at each pixel location. Sensitivity is reduced in ambiguous regions to avoid misclassifying reasonable labeling differences as errors, while maintaining full sensitivity in unambiguous regions to accurately detect true mislabeling of classes.
[0134] Step S32: In the loss function, the cross-entropy loss weight of pixels located inside the projection ambiguity envelope polygon is reduced according to their normalized anchor point attribution confidence, while the standard weight of pixels located outside the projection ambiguity envelope polygon is maintained.
[0135] Specifically, step S32 is performed during the training phase of the deep learning classification and verification network constructed in step S31, defining the loss function used for training. The training data consists of multispectral image data of the remote sensing image, corresponding building annotation vector data, and the geometric constraint tensor output in step S25.
[0136] The building annotation vector data used for training must meet the following quality requirements: the annotation accuracy in the unambiguous region (outside the projection ambiguity envelope polygon) must be no less than 95%, ensuring that the annotation labels in the unambiguous region can provide reliable supervision signals for network training. The annotation data used for training is obtained through the following process: First, annotators perform initial annotations on the remote sensing image according to a unified annotation specification. The specification requires annotators to draw the annotation polygons using the visible outlines of buildings as references, allowing different annotators to choose different reference anchor points within the projection ambiguity region. Then, independent quality inspectors perform sampling verification of the annotation results in the unambiguous region. The sampling verification ratio is no less than 10% of all pixels in the unambiguous region. The verification method is manual pixel-by-pixel comparison of the annotation category with the visual interpretation results of the image. When the annotation error rate found in the sampling verification is less than 5%, the batch of annotation data is considered to meet the training quality requirements and can be used for network training. During training, the annotation data in the projection ambiguity region is used to reduce its impact on network parameter updates through the spatial adaptive weight mechanism defined in step S32; therefore, there is no strict requirement for the accuracy of the annotation data in the projection ambiguity region.
[0137] The fundamental loss function for deep learning classification and validation networks is the cross-entropy loss function. The cross-entropy loss function calculates the cross-entropy value between the predicted class probability distribution and the true labeled class distribution for each pixel. Let the labeled class of a certain pixel be the... The class, the pixel position in the network output is the first The predicted probability of the class is Then the cross-entropy loss value at that pixel location is negative. The natural logarithm of, i.e. In standard cross-entropy loss, the cross-entropy value of each pixel participates in the calculation of the total loss with equal weight. For each pixel, the binary mask value is read from the third channel of the geometric constraint tensor to determine whether it is located inside the projected ambiguity envelope polygon. The weights for external pixels remain at the standard value of one. For internal pixels, the normalized anchor point attribution confidence value is read from the first channel, denoted as... The weights are determined by power function interpolation of the lowest weight lower bound and the normalized anchor point attribution confidence. Specifically, let the lowest weight lower bound be... The power parameter is Then the loss weight of that pixel The calculation formula is: Among them, the lowest weight lower bound The value of is determined as follows: it should be small enough to ensure that the annotation noise in the ambiguous core region does not excessively affect network training, but not zero to avoid the network completely ignoring information in the ambiguous region. The value range is 0.05 to 0.2. In this embodiment... Set to 0.1. Power parameter. The value is determined by controlling the shape of the transition curve from the lowest weight lower bound to the standard value of one. When the value is greater than one, a concave curve is formed, allowing the weight of the ambiguous core region to remain low over a larger range, matching the physical characteristic of the center pixel of the ambiguous region having the highest uncertainty. The value range is from 0.5 to 3. In this embodiment, Set to two. When When it equals one, that is, when the degree of ambiguity is the highest. The weight drops to its minimum value; when When equal to zero, i.e., when there is no ambiguity, The weights were restored to the standard value of one, which is in line with the expected direction of weight adjustment.
[0138] The total loss after tolerance-aware weighting equals the sum of the weights of all pixels multiplied by their respective cross-entropy loss values, divided by the sum of the weights of all pixels. Let there be a total of [number missing] pixels in the image. The pixel, the The weight of each pixel is The cross-entropy loss value is The total loss This division operation ensures that the magnitude of the weighted total loss value does not systematically decrease as the weights decrease, maintaining the effective strength of the gradient signal. The network training uses the Adam optimizer, with an initial learning rate of 0.001, a batch size of eight, and eighty training epochs. The learning rate decays during training using a cosine annealing strategy, gradually decreasing from the initial 0.001 to 0.00001. During training, the weight parameters of the convolutional layers in the residual convolutional network and the weight parameters of the fully connected networks in the conditional batch normalization layers are optimized simultaneously.
[0139] By introducing spatially adaptive pixel weights into the loss function, the training process has a differentiated tolerance for annotation noise in projected ambiguity regions: pixels with high ambiguity are given low weights to reduce their interference with the direction of network parameter updates, while pixels with low ambiguity retain standard weights to ensure that the network's ability to classify unambiguous regions is not affected.
[0140] like Figure 5 The image shown is a schematic diagram of the hierarchical verification results.
[0141] Reference Figure 5 The diagram illustrates the spatial distribution of the verification results after performing a classification judgment on the remote sensing image in step S33. The gray rectangles represent buildings in the remote sensing image, and the blue dashed polygons represent the projection ambiguity envelope polygon range corresponding to each building. The blue dots represent pixels located inside the projection ambiguity envelope polygon where the output category of the verification network is inconsistent with the labeled category; these pixels are judged as acceptable differences in projection ambiguity and do not trigger quality alarms. The red boxes represent pixel areas located outside the projection ambiguity envelope polygon where the output category of the verification network is inconsistent with the labeled category; these areas are judged as suspected mislabeling and trigger quality alarms.
[0142] Step S33: Perform hierarchical judgment on the inference output. Pixels located inside the projection ambiguity envelope polygon and whose network output category is inconsistent with the labeled category are judged as acceptable differences in projection ambiguity and no alarm is triggered. Pixels located outside the projection ambiguity envelope polygon and whose network output category is inconsistent with the labeled category are judged as suspected mislabeling and an alarm is triggered. Summarize and output a structured hierarchical verification report.
[0143] Specifically, step S33 is executed during the inference phase after the deep learning classification and verification network has completed training. The inference process is as follows: the multispectral image data of the remote sensing image to be verified is input into the input convolutional layer of the deep learning classification and verification network. At the same time, the geometric constraint tensor corresponding to the image is downsampled according to the spatial resolution alignment method described in step S31 and input into the fully connected network in the conditional batch normalization layer of each residual block. After the multispectral image data passes through the input convolutional layer, the max pooling layer, the residual blocks at each stage, and the output classification layer, a pixel-by-pixel classification probability map is output. For each pixel in the classification probability map, the category corresponding to the maximum probability is taken as the network output category for that pixel. The network output category is one of five categories: buildings, roads, vegetation, water bodies, and bare land.
[0144] The classification process executes the following logic for each pixel in the remote sensing image: It reads the binary mask value from the third channel of the geometric constraint tensor to determine if the pixel is located inside the projection ambiguity envelope polygon. It compares the network output category with the pixel's label category in the annotation vector data. If the network output category matches the label category, the pixel is considered correctly labeled, regardless of whether it is inside or outside the projection ambiguity envelope polygon. If the network output category and label category do not match, and the pixel is inside the projection ambiguity envelope polygon, it is considered an acceptable difference in projection ambiguity and no alarm is triggered. This determination is based on the following: the pixel is within the projection ambiguity range determined by the geometry of the 3D projection cone; the inconsistency between the label category and the network output category stems from the difference in the reference point selection between the roof projection position and the ground projection position chosen by the annotator, which is a physically acceptable labeling deviation caused by the geometric characteristics of central projection imaging. If the network output category and label category do not match, and the pixel is outside the projection ambiguity envelope polygon, it is considered a suspected mislabeling and an alarm is triggered. For multiple spatially adjacent pixels suspected of being mislabeled, connectivity analysis is performed to merge four- or eight-connected adjacent alarm pixels into one alarm region. The bounding rectangle of the alarm region is calculated as the spatial range of the error region. The percentage of pixels from each network output category within the alarm region is calculated, and the network output category with the highest percentage is taken as the recommended correction category for that alarm region. All judgment results are summarized to output a structured hierarchical verification report. The report includes: global image statistics, including the total number of pixels, the number of pixels inside the projection ambiguity envelope polygon, the number of acceptable differences in projection ambiguity, and the number of suspected mislabeled pixels; detailed information for each alarm region, including the spatial range of the alarm region, the original labeling category of the pixels within the alarm region, the network output category with the highest percentage within the alarm region, and the cone intersection depth value corresponding to the pixels within the alarm region. The spatial range of the alarm area is determined by the bounding rectangle after connected region analysis. The original label category is read from the building label vector data obtained in step S10. The network output category is the predicted category output by the deep learning classification verification network for the pixel position in the inference stage of step S33. The cone intersection depth value is read from the cone intersection depth map output in step S13.
[0145] The tiered judgment mechanism ensures that the verification results no longer indiscriminately alarm in projection ambiguity areas, but only trigger alarms for true annotation defects outside the ambiguity areas. This mechanism uses the physical ambiguity boundary obtained from the geometric deduction of the 3D projection cone in steps S10 and S20 as the spatial basis for tiered judgment, giving the verification results physical interpretability—each exempted pixel has a clear geometric basis for the projection cone, and each pixel that is alarmed is outside the projection ambiguity range, so its annotation inconsistency cannot be explained by projection ambiguity.
[0146] It should be understood that although the steps in the flowcharts of the various embodiments of the present invention are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the various embodiments may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.
[0147] The foregoing description is illustrative of the invention and should not be construed as limiting it. Although several exemplary embodiments of the invention have been described, those skilled in the art will readily understand that many modifications can be made to the exemplary embodiments without departing from the novel teachings and advantages of the invention. Therefore, all such modifications are intended to be included within the scope of the invention as defined in the claims. It should be understood that the foregoing description is illustrative of the invention and should not be construed as limiting it to the specific embodiments disclosed, and modifications to the disclosed embodiments and other embodiments are intended to be included within the scope of the appended claims. The invention is defined by the claims and their equivalents.
Claims
1. A deep learning-driven AI data annotation quality verification method, characterized in that, The method includes the following steps: The system acquires building annotation vector data, multispectral image data, and sensor observation geometric parameters from remote sensing images. It performs topological envelope analysis on the intersection contour of the projection cone and the ground, generating a building-by-building projection ambiguity envelope polygon and a pixel-by-pixel cone intersection depth map. Based on the projected ambiguous envelope polygon and the cone intersection depth map, an equal-depth layered slice sequence is constructed along the cone intersection depth direction. Topological disambiguation processing is performed on the overlapping areas of the projected cones of adjacent buildings. The assignment of labeled polygons is determined and the assignment confidence distribution per pixel is calculated and encoded as a geometric constraint tensor. The geometric constraint tensor is injected into a deep learning classification and verification network to perform hierarchical verification of the labeled vector data with projection ambiguity awareness, and output the hierarchical verification results.
2. The deep learning-driven AI data annotation quality verification method according to claim 1, characterized in that, The construction steps of the projection cone are as follows: Acquire the three-dimensional spatial coordinates of the sensor projection center and the building height data; For each building, the vertex coordinate sequence of the labeled polygon of the building is extracted from the labeled vector data; the projection cone of the building is constructed with the sensor projection center as the cone apex and the roof polygon enclosed by the three-dimensional roof vertex coordinate sequence as the cone base section.
3. The deep learning-driven AI data annotation quality verification method according to claim 1, characterized in that, The steps for generating the projected ambiguous envelope polygon are as follows: Extend the projection cone along its edges toward the ground elevation surface, calculate the intersection of each edge with the ground elevation surface, and all intersections form the ground intersection polygon of the projection cone. The convex envelope of the ground intersection polygon of the projection cone and the building annotation polygon is obtained by calculating the convex envelope of the projection ambiguity polygon.
4. The deep learning-driven AI data annotation quality verification method according to claim 3, characterized in that, The steps for generating the pixel-by-pixel cone intersection depth map are as follows: Starting from the ground 3D coordinates of each pixel position inside the projection ambiguity envelope polygon, a back projection ray is established along the direction pointing to the center of the sensor projection. The intersection point of the back projection ray and the side surface of the projection cone is calculated. The difference between the elevation value of the intersection point and the ground elevation value is taken as the cone intersection depth value at that pixel position, thus forming a pixel-by-pixel cone intersection depth map.
5. The deep learning-driven AI data annotation quality verification method according to claim 1, characterized in that, The analysis steps for the geometric constraint tensor are as follows: For each slice in the equal-depth layered slice sequence, the projection cone is horizontally truncated to obtain the horizontal cross-section polygon of the projection cone. The vertices of the horizontal cross-section polygon are projected onto the ground elevation surface through the sensor projection center to obtain the ground projection outline polygon. Perform a Boolean intersection operation on the ground projection outline polygon and the building annotation polygon to obtain the anchor point overlapping area, and perform a Boolean symmetric difference operation to obtain the anchor point non-overlapping area.
6. The deep learning-driven AI data annotation quality verification method according to claim 5, characterized in that, The analysis steps for the geometric constraint tensor also include: For regions where the projection ambiguity envelope polygons of adjacent buildings spatially overlap, perform topological disambiguation processing and write the corresponding buildings into the building index map; For pixel positions inside the projection ambiguity envelope polygon, the layered slice sequence used is determined based on the building index map, the layered slice interval in which the pixel position falls is determined, and it is found whether the pixel position belongs to the anchor point overlapping area or the anchor point non-overlapping area. The belonging status of the upper and lower layers is weighted and fused using the linear interpolation coefficient between the cone intersection depth value and the height threshold of the upper and lower layered slices to obtain the normalized anchor point belonging confidence.
7. The deep learning-driven AI data annotation quality verification method according to claim 6, characterized in that, The analysis steps for the geometric constraint tensor also include: The raster layer composed of normalized anchor point assignment confidence is used as the first channel, the raster layer composed of cone intersection depth values normalized to the maximum value is used as the second channel, and the binary mask of the projected ambiguous envelope polygon is used as the third channel. These are spliced together to form a three-channel geometric constraint tensor.
8. The deep learning-driven AI data annotation quality verification method according to claim 5, characterized in that, The process of projecting a horizontal cross-sectional polygon onto the ground coordinate system is as follows: For each vertex of the horizontal cross-sectional polygon, a projection ray is established with the sensor projection center as the ray origin and the direction from the sensor projection center to the vertex as the ray direction. The intersection point of the projection ray and the ground elevation surface is solved, and the horizontal component of the intersection point is taken as the corresponding vertex coordinates of the ground projection outline polygon. The ground projection outline polygon is formed by connecting all the vertex coordinates in the original order.
9. The deep learning-driven AI data annotation quality verification method according to claim 1, characterized in that, The analysis steps for the geometric constraint tensor are as follows: A deep learning classification and verification network with a residual convolutional network structure is constructed. A conditional batch normalization layer is embedded in each residual block. The scaling and offset parameters of the conditional batch normalization layer are dynamically generated by the geometric constraint tensor through a pixel-wise fully connected mapping. In the loss function, for pixels located inside the projected ambiguous envelope polygon, the cross-entropy loss weight is reduced based on their normalized anchor point attribution confidence, while for pixels located outside the projected ambiguous envelope polygon, the standard weight is maintained. Perform hierarchical judgment on the inference output and output a structured hierarchical verification report.
10. The deep learning-driven AI data annotation quality verification method according to claim 2, characterized in that, The steps for constructing the side surface of the projection cone are as follows: Rays are drawn from the sensor projection center to the coordinates of each three-dimensional roof vertex to serve as the edge lines of the projection cone; the triangular facets formed by two adjacent edge lines and the corresponding roof polygonal sides constitute a side facet of the projection cone, and the collection of all side facets constitutes the side surface of the projection cone.
11. The deep learning-driven AI data annotation quality verification method according to claim 3, characterized in that, The construction of the projection ambiguity envelope polygon also includes the expansion processing of building height uncertainty: the original height value is replaced by the building height value plus the height uncertainty value, and the projection cone construction and ground intersection calculation are re-executed to obtain the expanded projection cone ground intersection polygon; the convex envelope is obtained by combining the expanded projection cone ground intersection polygon with the building annotation polygon to obtain the projection ambiguity envelope polygon expanded by height uncertainty.
12. The deep learning-driven AI data annotation quality verification method according to claim 3, characterized in that, The steps for extending the edge line of the projection cone towards the ground are as follows: For each edge line, a parameterized ray equation is established with the sensor projection center coordinates as the ray origin and the direction from the sensor projection center to the corresponding three-dimensional roof vertex as the ray direction; The ground elevation surface is expressed as a horizontal plane equation. The intersection parameter values of the ray equation and the horizontal plane equation are solved, and the ray equation is substituted to obtain the three-dimensional coordinates of the intersection point. The horizontal component of the intersection point is taken as the coordinates of the corresponding vertex of the ground intersection polygon of the projection cone.
13. The deep learning-driven AI data annotation quality verification method according to claim 6, characterized in that, The calculation of the normalized anchor point assignment confidence also includes processing the beginning and end boundaries of the layered slice sequence: when the cone intersection depth value of the pixel position is greater than or equal to the maximum height threshold of the equal-depth layered slice sequence, the normalized anchor point assignment confidence at that pixel position is set to zero; when the cone intersection depth value of the pixel position is less than the minimum non-zero height threshold of the equal-depth layered slice sequence, the normalized anchor point assignment confidence at that pixel position is set to one.