A method for calculating the visible coverage of a building facade based on discrete cones

CN122866531BActive Publication Date: 2026-10-30HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202611371405.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-09-04
Publication Date
2026-10-30
Estimated Expiration
2046-09-04

AI Technical Summary

Technical Problem

背向相机的墙面、被其他建筑遮挡的墙面以及被同一建筑局部结构遮挡的墙面体素,都可能因为处于视锥范围内而被误计为可见,从而使建筑立面覆盖面积偏大

Benefits of technology

(1)通过步骤S1的具体实施方式,能够灵活处理不同格式的相机位置数据,提高了方法的适用性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122866531B_ABST
    Figure CN122866531B_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on discrete cone's building facade visible covering calculation method, comprising: camera observation pose data is voxelized, generates observation position voxel record, and grouping according to second scale voxel index belonging to;Geometric building data is voxelized and preprocessed, generates building second fine scale voxel set, and the wall surface attribute of outer wall voxel record is recorded;For each second scale observation position voxel record, generate second scale discrete cone voxel set, and the intersection of building second scale voxel set is obtained to obtain candidate second scale voxel, and the corresponding candidate outer wall voxel set is extracted;For each fine scale observation position voxel record, generate fine scale discrete cone voxel set, and the intersection of candidate outer wall voxel set is obtained to obtain target outer wall voxel, and visible outer wall voxel is screened out;According to all visible outer wall voxel, wall surface level visible covering area is calculated to obtain.The application realizes accurate measurement building facade visible covering area under the premise of guaranteeing calculation efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer vision spatial analysis technology, and in particular to a method for calculating the visible coverage of building facades based on discrete view cones. Background Technology

[0002] In photogrammetry and geographic information mapping applications, whether a building facade is effectively observed by a camera is usually related to the camera's position, orientation, field of view, imaging resolution, building geometry, occlusion relationships, and facade orientation. In current engineering practice, the quality of data acquisition is often evaluated by flight path overlap rate, shooting distance, field of view coverage, point cloud density, or image reprojection results.

[0003] In 3D spatial analysis, there are also visibility calculation methods based on frustum clipping, ray casting, depth buffering, viewport analysis, or rendering pipelines. These methods can determine whether a 3D object is within the camera's field of view, or approximate the visibility of certain surface fragments through graphics rendering.

[0004] In the field of architectural model processing, buildings can be represented by point clouds, meshes, LOD (Level of Detail) models, or voxel models. Voxel representation facilitates large-scale spatial indexing and set operations, but existing voxelization methods usually focus on the geometric occupancy of the building itself, and rarely organize camera view frustum voxels, building exterior wall voxels, wall normals, occlusion paths, and area correction into a closed-loop process for quantizing photogrammetric coverage of building facades.

[0005] Common photogrammetric planning methods typically begin by estimating the acquisition quality based on camera interior and exterior orientation elements, flight path spacing, and lateral and directional overlap. The results are then used to verify whether the facades have been adequately observed through fieldwork or reconstruction. These methods are suitable for macro-level acquisition planning, but when precisely quantifying the visible coverage area of ​​each building wall before acquisition, additional spatial visibility calculations are often required.

[0006] Visibility methods based on rendering or raycasting typically involve emitting rays from the camera position into the scene, or using depth maps to determine which surface is first seen by the camera. These methods can handle occlusion, but the calculation results are easily affected by rendering resolution, sampling density, and model format. When it is necessary to aggregate the results of multiple trajectory points, multiple imaging thresholds, and multiple camera orientations to the building wall area level, complex data organization and deduplication processing are still required.

[0007] Spatial indexing methods based on regular voxel grids can convert buildings and camera fields of view into discrete sets, and candidate targets can be quickly obtained by finding the intersection of these sets. However, if only voxel set intersection is performed, only building voxels falling into the view frustum can usually be obtained. It cannot distinguish between the front and back of the wall, cannot determine intermediate occlusion, and cannot correct for area projection and boundary voxel errors under different wall angles.

[0008] Each of the methods mentioned above can solve some problems in acquisition planning, field of view determination, or spatial indexing, but they lack a continuous calculation chain for measuring building facade coverage. Field of view clipping can usually only determine whether an object is in the camera's field of view, photogrammetric overlap rate reflects more the macroscopic redundancy between flight paths or images, and building voxelization mainly expresses the spatial occupancy of the building itself. None of the three can directly give the visible coverage area of ​​the wall at the voxel level.

[0009] When the computational object is expanded to urban blocks or large building complexes, the computational burden becomes even more pronounced. If detailed frustum detection and occlusion detection are performed on each of the fine-grained building exterior walls, the number of candidates will increase rapidly with the number of trajectory points, building voxels, and walls, making it difficult to control computation time and storage costs.

[0010] Even if candidate wall voxels are obtained by intersecting the view frustum with the building voxels, the candidate results are not necessarily equivalent to the actual visible results. Walls facing away from the camera, walls obscured by other buildings, and wall voxels obscured by local structures of the same building may be mistakenly counted as visible because they are within the view frustum, thus making the building facade coverage area appear larger.

[0011] Furthermore, area statistics themselves suffer from discretization bias. For inclined or non-axis-aligned walls, directly multiplying the number of visible voxels by the voxel area does not take into account the effects of wall angle, projection direction, and incomplete occupation of boundary voxels, which can easily cause the estimated area to deviate from the actual wall projection relationship.

[0012] The above background information is provided only to aid in understanding the concept and technical solution of this invention. It does not necessarily belong to the prior art of this patent application. In the absence of clear evidence that the above information was disclosed on the filing date of this patent application, the above background information should not be used to evaluate the novelty and inventiveness of this application. Summary of the Invention

[0013] To address the aforementioned technical problems, this invention proposes a method for calculating the visible coverage area of ​​building facades based on discrete view cones, which achieves accurate calculation of the visible coverage area of ​​building facades while ensuring computational efficiency.

[0014] To achieve the above objectives, the present invention adopts the following technical solution: In a first aspect, the present invention discloses a method for calculating the visible coverage of building facades based on discrete view cones, comprising the following steps: S1: Perform voxelization on the camera observation pose data to generate observation position voxel records containing the first-scale voxel index, the corresponding second-scale voxel index, and the camera pose attributes, and group them according to the corresponding second-scale voxel index, where the second scale is greater than the first scale. S2: Perform voxelization preprocessing on geometric building data to generate a first-scale voxel set and a second-scale voxel set for the building, and record wall properties for the exterior wall voxels; S3: For each second-scale observation location voxel record, generate a second-scale discrete frustum voxel set based on its camera pose attribute, intersect it with the building second-scale voxel set to obtain candidate second-scale voxels, and then extract the corresponding candidate exterior wall voxel set. S4: For each voxel record at the first scale observation position, generate a set of discrete frustum voxels at the first scale based on its camera pose attribute, intersect it with the set of candidate exterior wall voxels to obtain the target exterior wall voxel, and perform front and back wall judgment and discrete voxel path occlusion detection to filter out visible exterior wall voxels. S5: Aggregate all visible exterior wall elements by building number and wall number, remove duplicates, and convert them to the wall calculation plane to calculate the visible coverage area at the wall level.

[0015] Preferably, step S1 specifically includes: S11: Obtain camera observation pose data including camera position and camera orientation; S12: Discretize the camera position according to the predefined first voxel scale and second voxel scale respectively to obtain the first scale voxel index and the corresponding second scale voxel index of each camera position. S13: Group the voxel records of the first-scale observation location according to their respective second-scale voxel indices, so that each second-scale observation location voxel record corresponds to one or more first-scale observation location voxel records.

[0016] Preferably, step S12 specifically includes: If the camera position is a continuous spatial coordinate, then the camera position is mapped to a first-scale voxel index and a second-scale voxel index according to the first voxel scale and the second voxel scale, respectively; if the camera position is already represented by the first-scale voxel index, then the second-scale voxel index to which the camera position belongs is calculated according to the proportional relationship between the second voxel scale and the first voxel scale.

[0017] Preferably, step S2 specifically includes: S21: Discretize the geometric building data according to the first voxel scale to generate a set of building first-scale voxels containing building number, wall number and exterior wall mark; S22: Based on the proportional relationship between the second voxel scale and the first voxel scale, aggregate the first-scale voxel set of the building to generate the second-scale voxel set of the building; S23: Based on the occupancy of adjacent voxels in the horizontal direction of each exterior wall first-scale voxel in the building first-scale voxel set, determine the exposure direction of each exterior wall first-scale voxel, and combine the wall angle information to determine the wall surface outward normal of the wall to which each exterior wall first-scale voxel belongs.

[0018] Preferably, in step S23, the wall outward normal of the wall surface to which each first-scale voxel of the exterior wall belongs is determined by combining the wall angle information. Specifically, this includes: for the first-scale voxel of the exterior wall of the same wall surface, voting is conducted according to its exposure direction; combining the voting results and the two candidate horizontal normals generated by the wall angle, the direction pointing to the outside of the building is selected as the wall outward normal.

[0019] Preferably, step S3 specifically includes: S31: For each set of camera poses associated with the second-scale voxel index, generate the corresponding second-scale discrete frustum voxel set based on the camera frustum parameters; S32: Perform an intersection operation between the second-scale discrete view frustum voxel set and the building's second-scale voxel set to obtain a candidate second-scale voxel set; S33: Extract the candidate exterior wall voxel set based on the mapping relationship between the candidate second-scale voxel set and the building first-scale voxel set.

[0020] Preferably, step S4 specifically includes: S41: For each candidate external wall voxel in the candidate external wall voxel set, generate a first-scale discrete frustum voxel set based on the camera position and camera attitude recorded by the first-scale observation position voxel corresponding to its group, as well as the camera frustum parameters. S42: If the candidate exterior wall voxel is located within the first-scale discrete frustum voxel set, then a visibility determination is performed. The visibility determination includes determining the front and back of the wall based on the wall surface normal and determining occlusion based on the discrete voxel path. The candidate exterior wall voxel that passes the determination is marked as a visible exterior wall voxel.

[0021] Preferably, the occlusion determination based on discrete voxel paths in step S42 specifically includes: generating a voxel path from the camera position to the target candidate exterior wall; matching the intermediate voxels in the path with a potential occlusion voxel set; if the matching is successful, determining that the target candidate exterior wall voxel is occluded; the potential occlusion voxel set is obtained by expanding the neighborhood of the first-scale discrete frustum voxel set and then intersecting it with the first-scale voxel set of the candidate building.

[0022] Preferably, step S5 specifically includes: S51: Aggregate and remove duplicates of all visible exterior wall voxels under all camera observation poses according to building number and wall number to form a wall-level visible voxel set; S52: Project the voxels in the wall-level visible voxel set onto the two-dimensional calculation plane of the wall to which they belong, distinguish between internal voxels and edge voxels, and calculate the wall-level visible coverage area by accumulating the complete area of ​​internal voxels, weighting the efficiency factor of edge voxels, and correcting the geometric angle of the wall.

[0023] In a second aspect, the present invention discloses a computer-readable storage medium having a computer program stored thereon, characterized in that, when the computer program is executed by a processor, it implements the steps of the building facade visible coverage calculation method as described in the first aspect.

[0024] Compared with the prior art, the beneficial effects of the present invention are as follows: The building facade visible coverage calculation method based on discrete view cones proposed in this invention achieves the beneficial effect of accurately calculating the visible coverage area of ​​building facades while ensuring computational efficiency by adopting a technical solution that combines coarse and fine voxelization processing, view cone intersection screening and visibility judgment. Specifically, firstly, by voxelizing the camera observation pose data and grouping it according to the second-scale voxel index, the observation data can be effectively organized, providing a foundation for subsequent second-scale screening. Then, by voxelizing the geometric building data and recording wall attributes, structured data support is provided for subsequent visibility assessment and area calculation. Next, candidate second-scale voxels are obtained by intersecting the second-scale view frustum with the second-scale building voxels, and the corresponding candidate exterior wall voxel set is extracted, significantly reducing the number of candidate voxels requiring fine processing and improving computational efficiency. Subsequently, by intersecting the first-scale view frustum with the candidate exterior wall voxels and combining wall front / back identification and discrete voxel path occlusion detection, invisible exterior wall voxels are accurately screened out, avoiding miscalculations. Finally, by aggregating, deduplicating, and converting visible exterior wall voxels to the wall calculation plane for area calculation, a coverage area closer to the actual observation relationship is obtained. These technical features work together to achieve efficient and accurate building facade visibility coverage measurement.

[0025] In a further embodiment, the present invention also has the following beneficial effects: (1) Through the specific implementation of step S1, camera position data of different formats can be flexibly processed, which improves the applicability of the method.

[0026] (2) Through the specific implementation of step S2, the exposure direction of the first-scale voxel of the exterior wall and the outward normal of the wall surface can be accurately determined, providing accurate directional information for subsequent visibility judgment.

[0027] (3) Through the specific implementation of step S3, the candidate external wall voxel set can be generated efficiently, reducing the amount of calculation required for subsequent fine processing.

[0028] (4) Through the specific implementation of step S4, the visibility of the target exterior wall element can be accurately determined, avoiding miscalculation.

[0029] (5) Through the specific implementation of step S5, combined with the accumulation of the complete area of ​​the internal voxels, the weighting of the efficiency factor of the edge voxels and the geometric correction of the wall angle, the visible coverage area of ​​the wall can be accurately calculated, reducing the area estimation deviation.

[0030] Other beneficial effects of the embodiments of the present invention will be further described below. Attached Figure Description

[0031] Figure 1 This is a flowchart of a preferred embodiment of the visible coverage calculation method for building facades based on discrete view cones according to the present invention; Figure 2 This is a schematic diagram showing the classification of camera observation positions and building exterior wall pixel visibility. Figure 3a This is a schematic diagram showing the relationship between the building facade angle and the view cone projection when the wall angle θ is 0°. Figure 3b This is a schematic diagram showing the relationship between the building facade angle and the view cone projection when the wall angle θ is 15°. Figure 3c This is a schematic diagram showing the relationship between the building facade angle and the view cone projection when the wall angle θ is 90°. Detailed Implementation

[0032] The embodiments of the present invention will be described in detail below. It should be emphasized that the following description is merely exemplary and not intended to limit the scope and application of the present invention.

[0033] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of the present invention, "a plurality of" means two or more, unless otherwise explicitly specified.

[0034] The following is a brief explanation of the terms used in this article.

[0035] Fine voxel scale: refers to a relatively small voxel scale.

[0036] Coarse voxel scale: refers to a relatively large voxel scale, such as a 1.25m voxel and a 10m voxel, where 1.25m represents the fine voxel scale and 10m represents the coarse voxel scale.

[0037] Voxel scale: refers to the collective term for fine voxel scale and coarse voxel scale.

[0038] Fine-scale voxels: refers to voxels at the fine-scale voxel scale.

[0039] Coarse-scale voxels: refers to voxels at the coarse-scale.

[0040] Coarse and fine scale voxels: refers to the collective term for fine-scale voxels and coarse-scale voxels.

[0041] Coarse-scale voxel mapping relationship: refers to the proportional relationship between the indices of fine-scale voxels and coarse-scale voxels. For example, a 10m voxel may contain multiple 1.25m voxels. There is a proportional relationship of 8 between 10 and 1.25. Then, for a certain fine-scale voxel index, such as (10, 10, 10), we can divide by 8 and round up to get (2, 2, 2), which means that the fine-scale voxel is inside the coarse-scale voxel (2, 2, 2).

[0042] Fine-scale voxel index: refers to the index coordinates represented using fine-scale voxels.

[0043] Coarse-scale voxel index: refers to the index coordinates represented using coarse-scale voxels.

[0044] 3D voxel index: refers to the collective term for fine-scale voxel index and coarse-scale voxel index.

[0045] Visible voxel index: refers to the voxel index coordinates of the building exterior wall that are considered visible to the camera's view frustum after assessment.

[0046] Exterior wall voxels: refers to the exterior wall voxels of the entire building after being discretized in voxel form.

[0047] Fine-scale exterior wall elements: refers to exterior wall elements at the fine-scale element level.

[0048] Non-exterior wall voxels: These are the remaining voxels after discretizing the entire building in voxel form, excluding the exterior wall voxels. Both coarse-scale and fine-scale voxel representations are acceptable.

[0049] Candidate voxels for building exterior walls: These are fine-scale building exterior wall voxels within the coarse-scale building voxels in the intersection of coarse-scale discrete view frustum voxels and coarse-scale building voxels.

[0050] Architectural voxels: refers to the use of fine-scale voxels to represent buildings.

[0051] Building coarse voxels: refers to the use of coarse-scale voxels to represent buildings.

[0052] Target exterior wall voxels: These are the building exterior wall voxels that need to be determined to be obstructed. Specifically, they are the new set of voxels obtained by intersecting the fine-scale discrete view frustum and the candidate voxels of the building exterior wall.

[0053] Intermediate voxels in a path: These are voxels in a discrete optical path excluding the starting and ending voxels.

[0054] Camera observation position voxel: refers to the voxel at the location of the camera, which can be either coarse voxel scale or fine voxel scale.

[0055] Building background voxels: These are the voxels on the building other than those marked with other colors (related to view frustum intersection and occlusion determination).

[0056] External wall element facing away: refers to an external wall element whose normal direction does not face the camera's observation position in the direction determination.

[0057] Edge voxels: refers to the process of dividing a voxel projection on a wall into internal voxels and edge voxels using the etching method.

[0058] Discrete voxel: refers to the optical path after being discretized by voxels.

[0059] Fine-scale observation location voxel record: refers to the information record of the observation location at a fine voxel scale, including the fine-scale voxel index, coarse-scale voxel index, camera attitude or heading information, etc. Coarse-scale observation location voxel record: refers to the information record of the observation location at the coarse voxel scale, including the coarse-scale voxel index of the location, camera attitude or heading information, etc. Detailed-scale exterior wall voxel record: refers to the information of detailed-scale building exterior wall voxels, including the voxel index, outward normal direction, etc.

[0060] Architectural fine-scale voxel set: refers to a set of buildings discretized using fine-scale voxels.

[0061] Building coarse-scale voxel set: refers to a set of buildings discretized using coarse-scale voxels.

[0062] The set of fine-scale voxels for trajectory refers to the set of camera trajectories discretized using fine-scale voxels.

[0063] Coarse-scale voxel set of trajectory: refers to the set of camera trajectories discretized using coarse-scale voxels.

[0064] Candidate coarse-scale voxel set: refers to the coarse-scale voxel set obtained by intersecting coarse-scale discrete view frustum voxels and coarse-scale building voxels.

[0065] Fine-scale discrete frustum: refers to a camera frustum discrete using fine-scale voxels; Coarse-scale discrete frustum: refers to a camera frustum discrete using coarse-scale voxels.

[0066] Fine-scale discrete frustum voxel set: refers to the set of camera frustums discrete using fine-scale voxels.

[0067] Coarse-scale discrete frustum voxel set: refers to the set of camera frustums discrete using coarse-scale voxels.

[0068] Discrete frustum set refers to the collective term for fine-scale discrete frustum set and coarse-scale discrete frustum set.

[0069] Visible voxel set at the wall level: refers to the set of visible voxels at the fine scale of a building, grouped by building and wall.

[0070] Fine-scale voxel mesh: refers to a fine-scale voxel mesh that discretizes the positions of buildings and cameras.

[0071] Coarse-scale voxel mesh: refers to a coarse-scale mesh that discretizes the positions of buildings and cameras.

[0072] Discrete voxel mesh: refers to both fine-scale voxel meshes and coarse-scale voxel meshes.

[0073] Camera frustum: refers to the actual geometric frustum of a camera.

[0074] Discrete frustum: refers to the camera's geometric frustum that is approximated by discrete voxels.

[0075] Currently, the calculation of visible coverage of building facades largely relies on macroscopic photogrammetric planning, field-of-view geometry judgment, or general voxel spatial indexing. These methods lack a unified calculation chain from camera trajectory, discrete view cones, candidate voxels of building facades to wall-level coverage area. Especially in large-scale building scenarios such as urban blocks, directly performing view cone judgment and occlusion detection on all fine-scale facade voxels results in excessive computation. Using only the intersection of view cones and building voxels as the visibility result easily leads to miscounting wall voxels facing away from the camera or those that are occluded as visible. Directly accumulating area based on voxel count also ignores area deviations caused by wall angles and boundary voxels.

[0076] Therefore, this invention proposes a method to solve the following technical problem: how to quickly determine candidate voxels for building facades based on discrete view cones while ensuring computational efficiency, further filter out invisible voxels by combining wall orientation and occlusion relationships, and obtain the visible coverage area of ​​building facades that more closely approximates the actual observation relationship through boundary voxel efficiency correction and wall angle correction. This invention constructs a closed-loop calculation method from building voxel preprocessing, intersection of coarse and fine view cones, visibility determination to wall-level area calculation.

[0077] like Figure 1 As shown, a preferred embodiment of the present invention discloses a method for calculating the visible coverage of a building facade based on discrete view cones, comprising the following steps: S1: Voxelization of camera observation position and organization of pose attributes: Voxelization of camera observation pose data is performed to generate observation position voxel records containing the first scale voxel index, the corresponding second scale voxel index, and camera pose attributes. The records are then grouped according to the corresponding second scale voxel index, where the second scale is larger than the first scale. Specifically, step S1 includes: S11: Obtain camera observation pose data including camera position and camera orientation; S12: Discretize the camera position according to the predefined first voxel scale and second voxel scale respectively to obtain the first scale voxel index and the second scale voxel index corresponding to each camera position. Specifically, step S12 includes: if the camera position is a continuous spatial coordinate, then the camera position is mapped to a first scale voxel index and a second scale voxel index according to the first voxel scale and the second voxel scale respectively; if the camera position is already represented by the first scale voxel index, then the second scale voxel index to which the camera position belongs is calculated according to the proportional relationship between the second voxel scale and the first voxel scale.

[0078] S13: Group the voxel records of the first-scale observation location according to their respective second-scale voxel indices, so that each second-scale observation location voxel record corresponds to one or more first-scale observation location voxel records.

[0079] Specifically, the first scale is the fine scale, the second scale is the coarse scale, the first voxel scale is the fine voxel scale, and the second voxel scale is the coarse voxel scale; the fine-scale voxel index and the coarse-scale voxel index are the index coordinates represented by voxels at different scales. In this step, the position coordinates in the camera observation pose data are discretized. If the input position is represented by continuous spatial coordinates, it is mapped to the fine-scale voxel index and the coarse-scale voxel index according to the fine-scale and coarse-scale voxel scales, respectively; if the input position is already represented by the fine-scale voxel index, its three-dimensional fine-scale voxel index is directly read, and its corresponding coarse-scale voxel index is calculated according to the ratio between the coarse-scale and fine-scale voxel scales. Each fine-scale observation record includes at least the fine-scale voxel index, the corresponding coarse-scale voxel index, and camera attitude or heading information.

[0080] In one specific embodiment, when the coarse voxel scale is 10m and the fine voxel scale is 1.25m, the ratio between the two is 8. The corresponding coarse voxel index can be obtained by dividing the fine-scale voxel index by 8 and then rounding down. This forms an observation position voxel record that includes the fine-scale voxel index, the corresponding coarse-scale voxel index, and camera attitude or heading information.

[0081] Fine-scale observation location voxel records are grouped according to their corresponding coarse-scale voxel indices, so that each coarse-scale observation location voxel record corresponds to one or more fine-scale observation location voxel records. In subsequent calculations, coarse-scale discrete frustums are first generated based on the coarse-scale observation location voxel records and their corresponding one or more camera attitudes or headings to determine the candidate voxel set for the outer wall. Then, in the fine visibility determination stage, fine-scale discrete frustums are generated one by one using the position, camera attitude or heading, and camera frustum parameters from the fine-scale observation location voxel records. This method of coarse- and fine-scale position voxelization and pose attribute organization can reduce the global candidate search range while maintaining the accuracy of fine-scale observations.

[0082] The fine-scale observation location voxel record can be converted to its corresponding coarse-scale voxel index based on the coarse-to-fine voxel ratio and the fine-scale voxel index at that location. Therefore, the fine-scale observation location voxel record includes the fine-scale voxel index, coarse-scale voxel index, camera attitude or heading information, etc., for that location. The coarse-scale observation location voxel record contains multiple fine-scale observation location voxel records; therefore, the coarse-scale observation location voxel record does not include the fine-scale voxel index, but only the coarse-scale voxel index, camera attitude or heading information, etc., for that location.

[0083] S2: Building voxel preprocessing: Perform voxelization preprocessing on geometric building data to generate a first-scale building voxel set and a second-scale building voxel set, and record wall properties for exterior wall voxels; Specifically, step S2 includes: S21: Discretize the geometric building data according to the first voxel scale to generate a set of building first-scale voxels containing building number, wall number and exterior wall mark; S22: Based on the proportional relationship between the second voxel scale and the first voxel scale, aggregate the first-scale voxel set of the building to generate the second-scale voxel set of the building; S23: Based on the occupancy of adjacent voxels in the horizontal direction of each exterior wall first-scale voxel in the building first-scale voxel set, determine the exposure direction of each exterior wall first-scale voxel, and combine the wall angle information to determine the wall surface outward normal of the wall to which each exterior wall first-scale voxel belongs.

[0084] In step S23, the wall outward normal of each first-scale voxel of the exterior wall is determined by combining the wall angle information. Specifically, this includes: for the first-scale voxels of the exterior wall of the same wall, voting is conducted according to their exposure direction; combining the voting results and the two candidate horizontal normals generated by the wall angle, the direction pointing to the outside of the building is selected as the wall outward normal.

[0085] Specifically, a fine-scale voxel set and a coarse-scale voxel set are constructed based on the input geometric building data. First, a three-dimensional fine-scale voxel mesh is established based on the mesh origin and fine voxel scale, using a preset global coordinate system as the voxel mesh coordinate system. The X and Y axes form a horizontal plane, and the Z axis represents the height direction. Then, continuous geometric information such as the building's outer contour (overall projected boundary), building height, wall geometric boundaries (single wall polygons), or wall normals are mapped onto this fine-scale voxel mesh, resulting in a fine-scale voxel set represented by a fine-scale voxel index. The fine-scale voxel index can be represented as... These correspond to the X, Y, and Z grid directions in the global coordinate system, respectively. For fine-scale exterior wall voxels generated from wall geometric boundaries, their 3D fine-scale voxel index, building number, wall number, wall angle, and exterior wall marking are recorded. For voxels generated from the interior of the building entity or non-exterior areas, their occupancy information is recorded and they are marked as non-exterior wall voxels. If the geometric building data has been pre-discrete into fine-scale voxel index data, the above voxelization results can be directly read. Subsequently, based on the proportional relationship between coarse and fine voxel scales, each building's fine-scale voxel index is mapped to its corresponding coarse-scale voxel index, establishing a coarse-fine scale voxel mapping relationship for subsequent coarse-fine two-level filtering. For fine-scale exterior wall voxels, their occupancy information is checked. , , and Does the same building occupy a voxel at four horizontally adjacent index positions? If no building occupies a voxel in a certain direction, then that direction is recorded as a horizontal exposure direction of the fine-scale exterior wall voxel, thereby obtaining the exposure direction information of the fine-scale exterior wall voxel in the positive X direction, negative X direction, positive Y direction, and negative Y direction.

[0086] For the same building wall, two candidate horizontal normals (positive and negative directions) are generated based on the wall's geometric normal. Then, the normal pointing outwards from the building is selected based on the voting results of the horizontal exposure direction of the wall's fine-scale exterior voxels. If the voting results are ambiguous (e.g., in symmetrical buildings), the normal away from the building center is selected as the outward normal based on the positional relationship between the wall's center and the building's center. The wall normal is then written into the corresponding fine-scale exterior voxel record, and the fine-scale exterior voxels are aggregated according to their respective coarse-scale voxel indices to generate a coarse-scale building voxel set. Each coarse-scale exterior voxel carries exterior wall markings, exposure direction, wall angle, and wall normal information. Thus, attributes such as building number, wall number, wall angle, exterior wall markings, and wall normals participate in subsequent calculations as structured attributes after the geometric building data voxelization process, rather than being required as independent original input items.

[0087] S3: Two-level coarse and fine view frustum-building voxel intersection screening: For each second-scale observation position voxel record, generate a second-scale discrete view frustum voxel set based on its camera pose attribute, and intersect it with the building second-scale voxel set to obtain candidate second-scale voxels, and then extract the corresponding candidate exterior wall voxel set. Specifically, step S3 includes: S31: For each set of camera poses associated with the second-scale voxel index, generate the corresponding second-scale discrete frustum voxel set based on the camera frustum parameters; S32: Perform an intersection operation between the second-scale discrete view frustum voxel set and the building's second-scale voxel set to obtain a candidate second-scale voxel set; S33: Extract the candidate exterior wall voxel set based on the mapping relationship between the candidate second-scale voxel set and the building first-scale voxel set.

[0088] Specifically, for each coarse-scale observation position voxel record, a corresponding coarse-scale discrete frustum voxel set is generated based on the camera attitude or heading in one or more fine-scale observation position voxel records corresponding to that coarse-scale observation position voxel record, as well as the camera frustum parameters. This coarse-scale discrete frustum voxel set can be generated using a pre-processed camera frustum voxel discretization method, or by other methods capable of converting continuous camera frustums into a voxel set. The camera frustum voxel discretization method may include: first, determining the position of the camera center in physical space based on the observation position voxel index, voxel size, and camera attitude, and constructing the depth axis, lateral axis, and vertical axis of the camera frustum; then, determining the spatial bounding box of continuous camera frustums based on the camera's horizontal field of view, vertical field of view, and maximum viewing distance; subsequently, enumerating the candidate voxels covered by the spatial bounding box, and determining the intersection of the vertex of each candidate voxel with the near end face, far end face, left and right sides, and top and bottom sides of the frustum; if the candidate voxel is not completely located outside any frustum boundary surface, then the candidate voxel is included in the discrete frustum voxel set. When a voxel record at the same coarse-scale observation location corresponds to multiple voxel records at fine-scale observation locations or multiple camera observation directions, the union of their coarse-scale discrete frustum voxel sets can be used as the coarse-screen field of view for that coarse-scale observation location voxel record. Subsequently, the intersection of this coarse-screen field of view with the building's coarse-scale voxel set is obtained to obtain the candidate coarse-scale voxel set that falls within the frustum range.

[0089] Based on the mapping relationship between the coarse-scale voxel set and the coarse-scale voxel set of the candidate coarse-scale voxels, the fine-scale voxels of the building are extracted from the corresponding coarse-scale voxels (i.e., voxels in the candidate coarse-scale voxel set). Then, fine-scale exterior wall voxels are selected from these to form a candidate exterior wall voxel set for subsequent fine visibility judgment. Through this two-level coarse and fine selection, the fine visibility judgment only applies to candidate exterior wall voxels that may be located within the view frustum, thus avoiding the need to perform fine intersection and occlusion judgment on each fine-scale voxel in the entire scene.

[0090] S4: Fine-scale visibility determination: For each voxel record at the first-scale observation position, generate a set of discrete frustum voxels at the first-scale based on its camera pose attribute, intersect it with the set of candidate exterior wall voxels to obtain the target exterior wall voxel, and perform front and back wall judgment and discrete voxel path occlusion detection to screen out visible exterior wall voxels. Specifically, step S4 includes: S41: For each candidate external wall voxel in the candidate external wall voxel set, generate a first-scale discrete frustum voxel set based on the camera position and camera attitude recorded by the first-scale observation position voxel corresponding to its group, as well as the camera frustum parameters. S42: If the candidate exterior wall voxel is located within the first-scale discrete frustum voxel set, then a visibility determination is performed. The visibility determination includes determining the front and back of the wall based on the wall surface normal and determining occlusion based on the discrete voxel path. The candidate exterior wall voxel that passes the determination is marked as a visible exterior wall voxel.

[0091] The occlusion determination based on discrete voxel paths in step S42 specifically includes: generating a voxel path from the camera position to the target candidate exterior wall; matching the intermediate voxels in the path with a set of potential occlusion voxels; if the matching is successful, determining that the target candidate exterior wall voxel is occluded; the set of potential occlusion voxels is obtained by expanding the neighborhood of the first-scale discrete frustum voxel set and then finding the intersection with the first-scale voxel set of the candidate building.

[0092] Specifically, for each fine-scale observation position voxel record contained in the current coarse-scale observation position voxel record, a fine-scale discrete frustum voxel set is generated based on its position, camera attitude or heading, and camera frustum parameters. This set is then intersected with the candidate outer wall voxel set to obtain the target outer wall voxels within the current fine-scale discrete frustum. The generation method of the fine-scale discrete frustum is not limited to a specific algorithm, as long as it can represent the voxelized field of view corresponding to the current camera observation pose.

[0093] Determine the front and back sides of the target exterior wall voxel. Specifically, construct the line-of-sight vector from the camera position to the target exterior wall voxel, and perform a dot product operation in the horizontal plane with the outward normal of the wall to which the target exterior wall voxel belongs. When the camera is on the back side of the wall, the target exterior wall voxel is removed or recorded as invisible. For special cases where the relationship between the line-of-sight direction and the wall normal is unclear, the target exterior wall voxel can be retained and handled in subsequent occlusion detection.

[0094] For the target outer wall voxel determined by front and back views, a discrete voxel path from the camera position to the target outer wall voxel is generated (e.g., using a 3D DDA algorithm), and the start and end points are excluded from the path. Then, the intermediate voxels along the path are matched with a set of potential occlusion voxels within the view frustum to determine if there are any obstructions in the optical path. The set of potential occlusion voxels can be obtained by expanding the neighborhood of a fine-scale discrete view frustum voxel set and then intersecting it with a set of candidate outer wall voxels to reduce the risk of missed occlusion voxels. This neighborhood expansion is only used for occlusion candidate search and does not change the view frustum intersection result of the target outer wall voxel. The neighborhood expansion refers to: for each voxel coordinate in the fine-scale discrete view frustum voxel set... Enumerate offsets Generate extended voxel coordinates The generated coordinates are deduplicated to obtain an expanded set of fine-scale discrete view frustum candidates. This expanded set is only used to find the intersection with the set of candidate building fine-scale voxels to determine potential occlusion voxels, and is not used to change the judgment result of whether the target exterior wall voxel falls into the original view frustum.

[0095] In the occlusion determination, if the intermediate voxel of the path belongs to another building, it is determined to be occluded; if the intermediate voxel of the path belongs to the same building but does not meet the preset release conditions, it is determined to be occluded. The preset release conditions include: the intermediate voxel of the path is an exterior wall voxel record belonging to the same building as the target exterior wall voxel and having the same wall surface markings; or, the intermediate voxel of the path is an interior voxel record of the same building located in the vicinity of the target exterior wall voxel and in the direction inside the target wall surface. Through the above release rules, the false rejection caused by local voxelization errors of the same wall surface can be reduced. The target exterior wall voxels retained after front / back and occlusion determination are used as visible exterior wall voxels under the current camera observation pose.

[0096] like Figure 2 As shown, in one embodiment, the camera observation position voxel, candidate exterior wall voxels, and building exterior wall voxels with different judgment results can be classified and represented in the same discrete voxel scene. Specifically, purple voxels represent the camera observation position voxel, i.e., the camera position used to generate discrete view frustums on the moving observation path; light gray voxels represent building background voxels related to this calculation; light green voxels represent candidate exterior wall voxels extracted after intersecting the coarse-scale discrete view frustum with the coarse building voxels; yellow voxels represent back-facing exterior wall voxels that, although located within the view frustum range, are eliminated after the front / back view determination; orange voxels represent exterior wall voxels that, after the front / back view determination, are occluded by other building voxels or non-permissible voxels within the same building on the discrete path from the camera to the target exterior wall voxel; and blue voxels represent the visible exterior wall voxels that are ultimately retained after view frustum range determination, front / back view determination, and occlusion detection. The above classification can intuitively show the processing results of this method from coarse voxel scale candidate screening to fine voxel scale visibility determination, and provide a data foundation for subsequent aggregation of visible voxels by building number and wall number and calculation of wall-level visible coverage area.

[0097] S5: Wall-level result aggregation and coverage area calculation: Aggregate all visible exterior wall elements by building number and wall number, remove duplicates, and convert them to the wall calculation plane to calculate the visible coverage area at the wall level.

[0098] Specifically, step S5 includes: S51: Aggregate and remove duplicates of all visible exterior wall voxels under all camera observation poses according to building number and wall number to form a wall-level visible voxel set; S52: Project the voxels in the wall-level visible voxel set onto the two-dimensional calculation plane of the wall to which they belong, distinguish between internal voxels and edge voxels, and calculate the wall-level visible coverage area by accumulating the complete area of ​​internal voxels, weighting the efficiency factor of edge voxels, and correcting the geometric angle of the wall.

[0099] Specifically, all visible fine-scale exterior wall voxels corresponding to the camera observation poses are aggregated and deduplicated according to building number and wall number to form a wall-level visible voxel set. If the same exterior wall voxel is observed repeatedly by multiple camera observation poses, it is only retained once in the wall-level visible voxel set to avoid repeated accumulation of coverage area; when calculating the area, edge voxels are corrected for area using a voxel efficiency factor corresponding to the current camera frustum parameters and voxel scale.

[0100] For each wall surface, the indices of its visible outer wall voxels are converted into discrete mesh positions in the 2D wall calculation plane according to the fine voxel scale. When the wall surface extends closer to the X-direction, XZ projection is used; when the wall surface extends closer to the Y-direction, YZ projection is used. A geometric correction factor is set based on the angular relationship between the wall surface angle and the selected projection plane, so that the 2D projected area can be converted into the actual coverage area of ​​the corresponding wall surface. For example... Figures 3a to 3c These diagrams illustrate the relationship between the building facade angle and the view cone projection when the wall angle θ is 0°, 15°, and 90°. They show that when the building facade has different angles relative to the view cone projection direction, there is a geometric difference between the area occupied by discrete voxels on the two-dimensional projection plane and the actual wall area. Therefore, in calculating the wall-level coverage area, a geometric correction factor can be introduced based on the wall angle to correct the area estimation deviation caused by non-axis-aligned or tilted walls.

[0101] A visible voxel occupancy map is constructed within the 2D wall calculation plane, and morphological erosion is used to distinguish between internal and edge regions. Internal voxels are accumulated based on complete unit area, while edge voxels are weighted using a voxel efficiency factor under the current calculation conditions. Finally, the result is multiplied by a geometric correction factor corresponding to the wall angle to obtain the visible coverage area of ​​the building wall. The specific calculation formula is as follows: in, Indicates the visible coverage area of ​​the wall. This indicates the number of interior voxels occupied by the projection in the diagram. This indicates the number of edge voxels occupied by the projection in the graph. This represents the voxel efficiency factor corresponding to the current camera frustum parameters and voxel scale. Specifically, after continuous frustums are projected onto a discrete voxel grid, internal voxels can be included in the coverage area based on the full voxel area, while edge voxels are usually only partially occupied by the continuous projection region; Used to characterize the average effective contribution ratio of this type of edge voxel to the area of ​​the intact voxel. It can be pre-calculated based on the analytical geometric area, number of internal voxels, number of edge voxels, and voxel scale of the continuous view cone projection, and varies with the camera field of view, effective depth of the view cone, and voxel scale. Represents the fine voxel scale. This represents the geometric correction factor determined by the wall angle.

[0102] Among them, voxel efficiency factor The coverage area of ​​continuous view cone projection on discrete voxel grid can be statistically estimated using numerical methods such as Monte Carlo integration, and its value range is generally (0,1).

[0103] By summarizing the visible coverage area of ​​each wall, we can obtain the statistical results of visible coverage for a single building, a group of buildings in a region, or under different observation conditions.

[0104] When privacy risk-assisted analysis is required, the effective observation distance of the camera corresponding to different imaging detail levels can be deduced from the PPM (Pixels Per Meter) threshold, and discrete frustums at the corresponding effective distances can be generated accordingly. PPM represents the number of pixels per meter on the target plane, characterizing the camera's spatial resolution capability for building facades or other target surfaces at a certain distance. A higher PPM threshold indicates a higher pixel density required to achieve the corresponding imaging detail level, and the effective observation distance of the camera is usually shorter. Therefore, the effective observation distance of the camera corresponding to different imaging detail levels can be deduced from the PPM threshold, and discrete frustums at the corresponding effective distances can be generated accordingly. Then, the wall-level visible coverage area calculation results can be used to assess the exposure degree of the moving observation path to the building facade. This application is only one way to use the wall-level coverage area results and does not change the core technology chain of this method, which is based on the measurement of visible coverage of building facades.

[0105] The inputs to the method of this invention include geometric building data, camera trajectory point data, camera frustum parameters, coarse voxel scale, fine voxel scale, and voxel efficiency factor. The voxel efficiency factor characterizes the average contribution ratio of edge voxels to the actual continuous coverage area when the continuous frustum projection boundary falls into a discrete voxel grid. Geometric building data may include information such as building outline, building height, wall geometric boundaries, wall orientation, or wall normal; camera trajectory point data may include information such as camera position, camera attitude, or heading; camera frustum parameters may include information such as horizontal field of view, vertical field of view, and effective frustum depth; the coarse and fine voxel scales are used to establish coarse-scale voxel grids and fine-scale voxel grids, respectively. Both the building data and camera trajectory data can be discretized according to the coarse and fine voxel scales, forming a coarse-scale building voxel set, a fine-scale building voxel set, a coarse-scale trajectory voxel set, and a fine-scale trajectory voxel set. The output includes a set of visible voxels organized by building walls and the corresponding wall-level visible coverage area.

[0106] In the method of this invention, a corresponding discrete frustum voxel set can be generated for each trajectory point based on camera trajectory point data and camera frustum parameters. This discrete frustum voxel set can be generated using a pre-processed frustum voxel discretization method, or it can be generated using other methods capable of converting continuous camera frustums into voxel sets. The focus of this application is not on limiting the frustum discretization algorithm itself, but rather on using the discrete frustum voxel set corresponding to the trajectory point and building voxel data to perform hierarchical intersection calculations, occlusion determination, and wall-level visible coverage area calculations.

[0107] This preferred embodiment of the invention employs a two-level voxelization process (coarse and fine) and a discrete frustum intersection filtering mechanism. First, it rapidly determines the candidate voxel set for building facades at a coarse scale, significantly reducing the number of fine-scale facade voxels requiring detailed processing, thereby significantly improving computational efficiency in large-scale building scenes. Further, by combining wall front / back identification and discrete voxel path occlusion detection, it effectively filters out voxels facing away from the camera and those that are occluded, improving the accuracy of visibility assessment. Finally, through wall-level voxel aggregation and area correction calculation, voxel efficiency factors and geometric correction factors are used to compensate for the area of ​​boundary voxels and inclined walls, making the final visible coverage area of ​​the building facade closer to the actual observed value. This forms a complete, efficient, and accurate computational chain from data preprocessing to result output. Specifically, the two-level screening mechanism avoids processing each fine-scale voxel in the entire scene individually, improving computational efficiency. Wall front / back identification and occlusion detection improve the accuracy of visibility assessment. Area correction calculation reduces discretization bias and improves the accuracy of area measurement.

[0108] In summary, this invention provides a method for calculating the visible coverage area of ​​a building facade by performing coarse-to-fine intersection screening between a discrete camera's view frustum and a building voxel model, and combining wall orientation, voxel path occlusion judgment, and boundary area correction. This method can be used in scenarios requiring quantification of building facade imaging coverage, such as mobile surveying, UAV image acquisition, vehicle-mounted or ground-based camera inspection, urban 3D model quality assessment, and image acquisition scheme evaluation.

[0109] Another preferred embodiment of the present invention discloses a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the building facade visible coverage calculation method as described in the preferred embodiment above.

[0110] Optionally, the aforementioned storage media may include, but are not limited to, USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks, and other media capable of storing computer programs.

[0111] The preferred embodiment of the building facade visibility coverage calculation method of this invention combines the voxelization and pose attribute organization of camera observation position, voxelization preprocessing of geometric building data, intersection filtering of coarse and fine view frustums and building voxels, wall visibility determination, and wall-level coverage area calculation into a closed-loop method. This includes: (1) Camera observation position voxelization and pose attribute organization method, that is, the continuous position coordinates in the camera observation pose data are represented as fine-scale voxel indexes, and mapped to the corresponding coarse-scale voxel indexes according to the coarse-scale voxel scale ratio. Then, the fine-scale observation position voxel records are grouped according to the coarse-scale voxel indexes, while retaining pose attributes such as camera attitude or heading, which are used to support coarse-scale discrete frustum screening and fine-scale discrete frustum determination respectively.

[0112] (2) Geometric building data voxelization preprocessing method, that is, a three-dimensional fine-scale voxel mesh is established based on the mesh origin and fine voxel scale, and the continuous geometric information such as the building outline, building height and wall geometric boundary is mapped into a fine-scale voxel index set of the building, and a coarse-scale voxel set of the building is generated according to the ratio of coarse and fine voxel scales; on this basis, the exposure direction is determined based on the horizontal adjacent index occupancy relationship of the fine-scale exterior wall voxels, and the wall exterior normal is determined in combination with the wall angle and exposure direction, so that the attributes such as building number, wall number, exterior wall mark, exposure direction and wall normal can participate in subsequent calculations along with the fine-scale voxels and coarse-scale voxels.

[0113] (3) Two-level candidate screening method: First, a coarse-scale discrete frustum voxel set is generated based on the camera observation position and camera frustum parameters at the coarse scale, and the intersection with the coarse-scale voxel set of the building is obtained to obtain candidate coarse-scale voxels. Then, candidate voxels of the building exterior wall are extracted based on the mapping relationship between coarse and fine scale voxels to reduce the computational amount of subsequent fine visibility determination.

[0114] (4) Visibility determination method for building exterior wall voxels, namely, the front and back of the wall surface are judged sequentially, discrete voxel path occlusion detection and local voxelization error release processing are performed on the target exterior wall voxels in the view cone to obtain the set of truly visible building exterior wall voxels.

[0115] (5) The visible coverage area calculation method at the wall level is to aggregate and deduplicate the visible fine-scale exterior wall voxels according to the building and the wall, convert the visible voxel index to the discrete grid position in the wall calculation plane, and calculate the visible coverage area of ​​the building facade through internal / edge partitioning, voxel efficiency factor and wall angle geometric correction.

[0116] Through the above method and process, the present invention has the following advantages: (1) The coverage calculation chain is more complete. This application does not only determine whether the building enters the camera's field of view, but forms a complete process from voxelization of the camera observation position, preprocessing of building voxels, intersection of view cones, visibility removal to wall-level area calculation, which can directly output the visible coverage area of ​​the building facade.

[0117] (2) Higher computational efficiency over a large scale. This application first uses coarse-scale discrete view frustums and coarse building voxels for candidate screening, and then maps them to fine-scale exterior wall voxels for fine judgment, avoiding the need to perform view frustum and occlusion detection point by point on all fine-scale voxel building data.

[0118] (3) Visibility judgment is more consistent with photogrammetric observation relationship. This application combines the external normal of the wall surface to remove the front and back sides, and uses the discrete voxel path from the camera to the target external wall voxel to judge the occlusion relationship, reducing the situation where the back wall surface and the occluded wall surface are mistakenly counted as visible.

[0119] (4) More stable area estimation. This application distinguishes between internal voxels and edge voxels in the wall projection plane, and calculates the coverage area using voxel efficiency factor and wall angle geometric correction. Compared with directly counting the number of voxels, it can reduce the area deviation caused by boundary and non-axis aligned walls.

[0120] (5) The results organization is more suitable for surveying applications. This application aggregates visible voxels and area results by building number and wall number, which can support wall-level coverage statistics, data acquisition scheme evaluation, result quality inspection and subsequent visualization.

[0121] The background section of this invention may include background information about the problems or circumstances surrounding the invention, rather than a description of prior art by others. Therefore, the content included in the background section is not an admission of prior art by the applicant.

[0122] The above description provides a further detailed explanation of the present invention in conjunction with specific / preferred embodiments, and it should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various substitutions or modifications can be made to these described embodiments without departing from the concept of the present invention, and all such substitutions or modifications should be considered within the scope of protection of the present invention. In the description of this specification, the reference to terms such as "an embodiment," "some embodiments," "preferred embodiment," "example," "specific example," or "some examples," etc., indicates that the specific features, structures, materials, or characteristics described in connection with that embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any suitable manner in one or more embodiments or examples. Furthermore, those skilled in the art can combine and integrate different embodiments or examples and features of different embodiments or examples described in this specification without contradiction. Although the embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions, and modifications can be made herein without departing from the scope defined by the appended claims.

Claims

1. A method for calculating the visible coverage of building facades based on discrete view cones, characterized in that, Includes the following steps: S1: Perform voxelization on the camera observation pose data to generate observation position voxel records containing the first-scale voxel index, the corresponding second-scale voxel index, and the camera pose attributes, and group them according to the corresponding second-scale voxel index, where the second scale is greater than the first scale. S2: Perform voxelization preprocessing on geometric building data to generate a first-scale voxel set and a second-scale voxel set for the building, and record wall properties for the exterior wall voxels; S3: For each second-scale observation location voxel record, generate a second-scale discrete frustum voxel set based on its camera pose attribute, intersect it with the building second-scale voxel set to obtain candidate second-scale voxels, and then extract the corresponding candidate exterior wall voxel set. S4: For each voxel record at the first scale observation position, generate a set of discrete frustum voxels at the first scale based on its camera pose attribute, intersect it with the set of candidate exterior wall voxels to obtain the target exterior wall voxel, and perform front and back wall judgment and discrete voxel path occlusion detection to filter out visible exterior wall voxels. S5: Aggregate all visible exterior wall elements by building number and wall number, remove duplicates, and convert them to the wall calculation plane to calculate the visible coverage area at the wall level; Specifically, step S3 includes: S31: For each set of camera poses associated with the second-scale voxel index, generate the corresponding second-scale discrete frustum voxel set based on the camera frustum parameters; S32: Perform an intersection operation between the second-scale discrete view frustum voxel set and the building's second-scale voxel set to obtain a candidate second-scale voxel set; S33: Extract the candidate exterior wall voxel set based on the mapping relationship between the candidate second-scale voxel set and the building first-scale voxel set; Step S4 specifically includes: S41: For each candidate external wall voxel in the candidate external wall voxel set, generate a first-scale discrete frustum voxel set based on the camera position and camera attitude recorded by the first-scale observation position voxel corresponding to its group, as well as the camera frustum parameters. S42: If the candidate exterior wall voxel is located within the first-scale discrete frustum voxel set, then a visibility judgment is performed. The visibility judgment includes the judgment of the front and back of the wall based on the wall surface normal and the occlusion judgment based on the discrete voxel path. The candidate exterior wall voxel that passes the judgment is marked as a visible exterior wall voxel. Step S5 specifically includes: S51: Aggregate and remove duplicates of all visible exterior wall voxels under all camera observation poses according to building number and wall number to form a wall-level visible voxel set; S52: Project the voxels in the wall-level visible voxel set onto the two-dimensional calculation plane of the wall to which they belong, distinguish between internal voxels and edge voxels, and calculate the wall-level visible coverage area by accumulating the complete area of ​​internal voxels, weighting the efficiency factor of edge voxels, and correcting the geometric angle of the wall.

2. The method for calculating the visible coverage of a building facade according to claim 1, characterized in that, Step S1 specifically includes: S11: Obtain camera observation pose data including camera position and camera orientation; S12: Discretize the camera position according to the predefined first voxel scale and second voxel scale respectively to obtain the first scale voxel index and the corresponding second scale voxel index of each camera position. S13: Group the voxel records of the first-scale observation location according to their respective second-scale voxel indices, so that each second-scale observation location voxel record corresponds to one or more first-scale observation location voxel records.

3. The method for calculating the visible coverage of a building facade according to claim 2, characterized in that, Step S12 specifically includes: If the camera position is a continuous spatial coordinate, then the camera position is mapped to a first-scale voxel index and a second-scale voxel index according to the first voxel scale and the second voxel scale, respectively; if the camera position is already represented by the first-scale voxel index, then the second-scale voxel index to which the camera position belongs is calculated according to the proportional relationship between the second voxel scale and the first voxel scale.

4. The method for calculating the visible coverage of a building facade according to claim 1, characterized in that, Step S2 specifically includes: S21: Discretize the geometric building data according to the first voxel scale to generate a set of building first-scale voxels containing building number, wall number and exterior wall mark; S22: Based on the proportional relationship between the second voxel scale and the first voxel scale, aggregate the first-scale voxel set of the building to generate the second-scale voxel set of the building; S23: Based on the occupancy of adjacent voxels in the horizontal direction of each exterior wall first-scale voxel in the building first-scale voxel set, determine the exposure direction of each exterior wall first-scale voxel, and combine the wall angle information to determine the wall surface outward normal of the wall to which each exterior wall first-scale voxel belongs.

5. The method for calculating the visible coverage of a building facade according to claim 4, characterized in that, In step S23, the wall outward normal of each exterior wall first-scale voxel is determined by combining the wall angle information. Specifically, this includes: for the exterior wall first-scale voxels of the same wall, voting is conducted according to their exposure direction; combining the voting results and the two candidate horizontal normals generated by the wall angle, the direction pointing to the outside of the building is selected as the wall outward normal.

6. The method for calculating the visible coverage of a building facade according to claim 1, characterized in that, The occlusion determination based on discrete voxel paths in step S42 specifically includes: generating a voxel path from the camera position to the target candidate exterior wall voxel; matching the intermediate voxels in the path with a set of potential occlusion voxels; if the matching is successful, determining that the target candidate exterior wall voxel is occluded; the set of potential occlusion voxels is obtained by expanding the neighborhood of the first-scale discrete frustum voxel set and then intersecting it with the first-scale voxel set of the candidate building.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the building facade visible coverage calculation method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method for automatically carrying out building spatialization measurement based on point cloud data

    CN121788752A

  • System and method for real-time overlay of map features onto a video feed

    US20170039765A1