A model singulation processing method and apparatus

CN122550787APending Publication Date: 2026-08-11BEIJING JINGDONG YUANSHENG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-11
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0003]有鉴于此,本发明实施例提供一种模型单体化处理方法和装置,至少能够解决现有技术中模型单体化方式效率低的现象

Benefits of technology

[0078]根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:能够高效地将复杂的大规模倾斜摄影三维模型分块成易于管理和渲染的局部倾斜模型,同时通过生成包围盒数据提高了空间查询和渲染的效率,确保了模型的完整性和细节表现,从而提升了单体化的效率和视觉效果。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122550787A_ABST
    Figure CN122550787A_ABST
Patent Text Reader

Abstract

This invention discloses a model individualization method and apparatus, relating to the field of computer technology. One specific embodiment of the method includes: acquiring oblique photogrammetry data and an oblique photogrammetry 3D model; dividing the oblique photogrammetry 3D model into blocks to obtain multiple local oblique models; determining the contour lines of each local oblique model to generate bounding boxes based on the contour lines; and generating an individual model of each local oblique model based on the oblique photogrammetry data and the bounding box data of each local oblique model. This embodiment can efficiently divide complex, large-scale oblique photogrammetry 3D models into easily manageable and renderable local oblique models. Simultaneously, by generating bounding box data, it improves the efficiency of spatial querying and rendering, ensuring the integrity and detail of the model, thereby enhancing the efficiency of individualization and the visual effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method and apparatus for model individualization processing. Background Technology

[0002] With the rapid development of oblique photogrammetry modeling technology, it has become possible to produce and output realistic 3D models of urban areas in a short period of time. However, oblique photogrammetry 3D models are continuous, holistic triangular grid data, representing a surface layer of the terrain. Individual geographical phenomena cannot be processed and analyzed separately, thus limiting its application to browsing and roaming. Individualizing oblique photogrammetry 3D models is a key technology for its practical application, but existing individualization methods have low processing efficiency. Therefore, how to efficiently achieve individualization has become an urgent technical problem to be solved. Summary of the Invention

[0003] In view of this, embodiments of the present invention provide a model individualization processing method and apparatus, which can at least solve the problem of low efficiency in the prior art model individualization method.

[0004] To achieve the above objectives, according to one aspect of the present invention, a model individualization processing method is provided, comprising:

[0005] Acquire oblique photogrammetry data and oblique camera 3D models;

[0006] The tilted camera 3D model is divided into blocks to obtain multiple local tilted models;

[0007] Determine the contour line of each local tilt model to generate a bounding box based on the contour line;

[0008] Based on the oblique photogrammetry data and the bounding box data of each local oblique model, a single-unit model of each local oblique model is generated.

[0009] Optionally, determining the contour line of each locally tilted model includes:

[0010] Using a pre-set set of parallel elevation planes, each local tilt model is sectioned to obtain multiple sections; the section is the projection of all triangular grid data above the elevation plane onto the elevation plane.

[0011] The model outline of each section is determined, and the model outlines of the multiple sections are integrated to obtain the outline of each locally tilted model.

[0012] Optionally, determining the contour line of each locally tilted model includes:

[0013] Using a preset set of parallel elevation planes, all locally tilted models are sectioned to obtain a set of profiles for each elevation plane;

[0014] Based on the profile set of adjacent elevation planes, generate profiles, determine the model outline of each profile, and calculate the geometric similarity between the model outlines of the profiles.

[0015] Select cross-sections whose geometric similarity meets the preset threshold condition, and determine that the selected cross-sections are in the same local tilt model;

[0016] Repeatedly filter cross-sections whose geometric similarity meets the preset threshold condition, integrate the model contours of cross-sections in the same local tilt model, and obtain the contour line of the same local tilt model.

[0017] Optionally, the process of generating the preset parallel elevation plane set is as follows: based on the preset lowest elevation surface and elevation interval, multiple parallel transverse sections are generated to obtain the preset parallel elevation plane set.

[0018] Optionally, determining the model contour of each profile includes: rasterizing each profile to obtain a binarized raster orthophoto image, extracting the contour vector polygon of each raster orthophoto image, and extracting the edges of the contour vector polygon to obtain the model contour.

[0019] Optionally, the method further includes:

[0020] The contour data of each local tilt model is transformed by coordinates to obtain contour coordinate data;

[0021] The outline coordinate data is overlaid onto the map of the geographic information service platform to receive adjustment information for the outline coordinate data.

[0022] Optionally, generating a bounding box based on the contour line includes:

[0023] The spatial range is determined based on the outline, and a quadtree is built according to the spatial range to obtain multiple regions. Each region is used as a tile to construct a tile set data.

[0024] Determine the geographic information of each tile, convert the geographic information into a bounding box; and determine the geometric error and resource access address of each tile.

[0025] Merge the bounding boxes of all tiles into a mesh model, determine the properties and indices of the vertices of the mesh model to construct a model object, compress the model object to obtain a binary model object;

[0026] The tile set data, the bounding box of each tile, the geometric error, the resource access address, and the model object in binary form are written into the description file as description content; where the description file is the file that describes the bounding box data.

[0027] Optionally, generating a single-unit model for each local tilt model based on the oblique photogrammetry data and the bounding box data of each local tilt model includes:

[0028] By fusing bounding box data and oblique photogrammetry data, the fusion result is subjected to 3D visualization processing to obtain a visualized scene of the local oblique model;

[0029] A bounding box picking operation is performed on the visualized scene of the locally tilted model to obtain the individual model corresponding to the locally tilted model.

[0030] Optionally, the method further includes: performing coordinate transformation on the oblique photography data to obtain oblique photography coordinate data; and performing data transformation on the oblique photography coordinate data to obtain oblique photography target format data.

[0031] Optionally, the method further includes: generating an identifier for the monolith model, and storing the monolith model identifier and the corresponding bounding box data in a database.

[0032] Optionally, the method further includes:

[0033] Receive the geographical range transmitted by the browser terminal, determine the individual model identifiers within the geographical range, and return them to the browser terminal; wherein, the browser terminal determines the geographical range based on the currently visible area;

[0034] Receive a request to obtain single-unit model data transmitted from the browser terminal, and return the single-unit model data corresponding to the single-unit model identifier in the database to the browser terminal;

[0035] If the browser terminal does not find the individual model data in the local storage space, it starts a worker thread to send a request to the server to obtain the individual model data.

[0036] The browser terminal renders and displays a 3D model based on the single-unit model data, in response to the user's click operation on a specific location in the 3D model, displaying information at that specific location.

[0037] To achieve the above objectives, according to another aspect of the present invention, a model individualization processing apparatus is provided, comprising:

[0038] The acquisition module is used to acquire oblique photogrammetry data and oblique camera 3D models.

[0039] The block segmentation module is used to segment the tilted camera 3D model into blocks to obtain multiple local tilted models;

[0040] A processing module is used to determine the contour line of each local tilt model in order to generate a bounding box based on the contour line;

[0041] The individualization module is used to generate an individual model of each local tilt model based on the oblique photogrammetry data and the bounding box data of each local tilt model.

[0042] Optionally, the processing module is configured to:

[0043] Using a pre-set set of parallel elevation planes, each local tilt model is sectioned to obtain multiple sections; the section is the projection of all triangular grid data above the elevation plane onto the elevation plane.

[0044] The model outline of each section is determined, and the model outlines of the multiple sections are integrated to obtain the outline of each locally tilted model.

[0045] Optionally, the processing module is configured to:

[0046] Using a preset set of parallel elevation planes, all locally tilted models are sectioned to obtain a set of profiles for each elevation plane;

[0047] Based on the profile set of adjacent elevation planes, generate profiles, determine the model outline of each profile, and calculate the geometric similarity between the model outlines of the profiles.

[0048] Select cross-sections whose geometric similarity meets the preset threshold condition, and determine that the selected cross-sections are in the same local tilt model;

[0049] Repeatedly filter cross-sections whose geometric similarity meets the preset threshold condition, integrate the model contours of cross-sections in the same local tilt model, and obtain the contour line of the same local tilt model.

[0050] Optionally, the process of generating the preset parallel elevation plane set is as follows: based on the preset lowest elevation surface and elevation interval, multiple parallel transverse sections are generated to obtain the preset parallel elevation plane set.

[0051] Optionally, the processing module is configured to:

[0052] Each cross section is rasterized to obtain a binarized raster orthophoto image. The contour vector polygon of each raster orthophoto image is extracted, and the edges of the contour vector polygon are extracted to obtain the model contour.

[0053] Optionally, the device further includes an adjustment module for:

[0054] The contour data of each local tilt model is transformed by coordinates to obtain contour coordinate data;

[0055] The outline coordinate data is overlaid onto the map of the geographic information service platform to receive adjustment information for the outline coordinate data.

[0056] Optionally, the processing module is configured to:

[0057] The spatial range is determined based on the outline, and a quadtree is built according to the spatial range to obtain multiple regions. Each region is used as a tile to construct a tile set data.

[0058] Determine the geographic information of each tile, convert the geographic information into a bounding box; and determine the geometric error and resource access address of each tile.

[0059] Merge the bounding boxes of all tiles into a mesh model, determine the properties and indices of the vertices of the mesh model to construct a model object, compress the model object to obtain a binary model object;

[0060] The tile set data, the bounding box of each tile, the geometric error, the resource access address, and the model object in binary form are written into the description file as description content; where the description file is the file that describes the bounding box data.

[0061] Optionally, the monolithization module is used for:

[0062] By fusing bounding box data and oblique photogrammetry data, the fusion result is subjected to 3D visualization processing to obtain a visualized scene of the local oblique model;

[0063] A bounding box picking operation is performed on the visualized scene of the locally tilted model to obtain the individual model corresponding to the locally tilted model.

[0064] Optionally, the device further includes a conversion module for:

[0065] The oblique photography data is transformed to obtain oblique photography coordinate data;

[0066] The oblique photogrammetry coordinate data is transformed to obtain oblique photogrammetry target format data.

[0067] Optionally, the device further includes a storage module for:

[0068] Generate identifiers for the monolithic model and store the monolithic model identifiers and corresponding bounding box data in the database.

[0069] Optionally, the device further includes an application module for:

[0070] Receive the geographical range transmitted by the browser terminal, determine the individual model identifiers within the geographical range, and return them to the browser terminal; wherein, the browser terminal determines the geographical range based on the currently visible area;

[0071] Receive a request to obtain single-unit model data transmitted from the browser terminal, and return the single-unit model data corresponding to the single-unit model identifier in the database to the browser terminal;

[0072] If the browser terminal does not find the individual model data in the local storage space, it starts a worker thread to send a request to the server to obtain the individual model data.

[0073] The browser terminal renders and displays a 3D model based on the single-unit model data, in response to the user's click operation on a specific location in the 3D model, displaying information at that specific location.

[0074] To achieve the above objectives, according to another aspect of the present invention, a model-individualization processing electronic device is provided.

[0075] The electronic device of this invention includes: one or more processors; and a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any of the model individualization processing methods described above.

[0076] To achieve the above objectives, according to another aspect of the present invention, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements any of the model individualization processing methods described above.

[0077] To achieve the above objectives, according to another aspect of the present invention, a computing program product is provided. One computing program product of the present invention includes a computer program, which, when executed by a processor, implements the model individualization processing method provided in the present invention.

[0078] According to the solution provided by the present invention, one embodiment of the above invention has the following advantages or beneficial effects: it can efficiently divide complex large-scale oblique photogrammetry 3D models into locally oblique models that are easy to manage and render, while improving the efficiency of spatial query and rendering by generating bounding box data, ensuring the integrity and detail of the model, thereby improving the efficiency of unitization and visual effects.

[0079] The further effects of the aforementioned unconventional alternative methods will be explained below in conjunction with specific implementation methods. Attached Figure Description

[0080] The accompanying drawings are provided to better understand the invention and are not intended to unduly limit the scope of the invention. Wherein:

[0081] Figure 1 This is a schematic diagram of the main process of a model individualization processing method according to an embodiment of the present invention;

[0082] Figure 2 This is a flowchart illustrating an optional model individualization processing method according to an embodiment of the present invention;

[0083] Figure 3(a) is a schematic diagram of the local tilt model processed alone;

[0084] Figure 3(b) is a schematic diagram of the simultaneous processing mode of all local tilt models;

[0085] Figure 4 This is a flowchart illustrating another optional model individualization processing method according to an embodiment of the present invention;

[0086] Figure 5 This is a schematic diagram of a quadtree constructed according to spatial extent;

[0087] Figure 6 This is a schematic flowchart of a specific model individualization processing method according to an embodiment of the present invention;

[0088] Figure 7 This is a flowchart illustrating another optional model individualization processing method according to an embodiment of the present invention;

[0089] Figure 8 This is a schematic diagram of the main modules of a model unitization processing device according to an embodiment of the present invention;

[0090] Figure 9 This is an exemplary system architecture diagram in which embodiments of the present invention can be applied;

[0091] Figure 10 This is a schematic diagram of the structure of a computer system suitable for implementing the embodiments of the present invention, such as a mobile device or server. Detailed Implementation

[0092] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of the present invention, including various details to aid understanding. These details should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0093] It should be noted that the collection, gathering, updating, analysis, processing, use, transmission, and storage of user personal information involved in this disclosed technical solution all comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken to prevent unauthorized access to user personal information data and to safeguard user personal information security, network security, and national security.

[0094] Oblique photogrammetry modeling is a technique that uses oblique photography to acquire geographic information and 3D models. It uses oblique cameras to capture images of ground objects from multiple angles, generating high-precision 3D models. To expand its application depth and breadth, the individualization of oblique photogrammetry 3D models becomes a key technology. Individualization refers to processing the entity objects in the oblique photogrammetry 3D model into independent, selectable entities with additional attribute information. Therefore, based on the oblique photogrammetry 3D model, the ability to individualize is essential to realizing the basic functions of a Geographic Information System (GIS), such as management, querying, display, and analysis. In this case, combining model individualization with WebGIS capabilities can be used for 3D display of logistics warehouses, display of relevant information, and monitoring of equipment maintenance, further enhancing the intelligent management of logistics warehouses.

[0095] Existing singletoning methods either fail to truly segment the model and do not support dynamic rendering, or although they achieve strict singletoning, they destroy the LOD (Level of Detail) structure, increase costs, and affect aesthetics. Therefore, existing singletoning methods are inefficient. In view of this problem, designing an efficient and appropriate singletoning method is crucial to improving the application of oblique photogrammetry 3D models.

[0096] See Figure 1 The diagram shows the main flowchart of a model individualization processing method provided by an embodiment of the present invention, which includes the following steps:

[0097] S101: Acquire oblique photogrammetry data and oblique camera 3D model;

[0098] S102: The tilted camera 3D model is divided into blocks to obtain multiple local tilted models;

[0099] S103: Determine the contour line of each local tilt model to generate a bounding box based on the contour line;

[0100] S104: Based on the oblique photography data and the bounding box data of each local oblique model, generate a single model of each local oblique model.

[0101] In the above embodiments, for step S101, oblique photogrammetry modeling technology can be applied to fields such as urban planning, architectural design, land management, environmental monitoring, and post-disaster assessment. Compared with traditional measurement methods, oblique photogrammetry technology can acquire terrain and building information more quickly and comprehensively, while reducing labor costs and time. Currently, oblique photogrammetry typically uses drones or aircraft equipped with multiple cameras for data collection, for example, the server sends data collection instructions to these cameras. These cameras can capture images of the same location from different angles, providing rich visual information, such as capturing images of a park from different angles. Through image processing technology, these multi-angle images are stitched and reconstructed to generate a 3D point cloud and model (i.e., oblique photogrammetry 3D model). This process may involve techniques such as feature extraction, matching, and 3D reconstruction.

[0102] For steps S102 and S103, for large areas such as parks, the amount of data collected by oblique photography is enormous, and the corresponding oblique camera 3D model is also large. To optimize the computational efficiency of large-scale scenes, this solution preferably adopts a data block processing method, processing the local parts first and then the whole. The overall oblique camera 3D model is divided into blocks, and then each local part is processed one by one, finally merging into the whole. This block processing can ensure that the edges of the local model are smooth and there are no jagged edges, thus ensuring visual aesthetics.

[0103] Specifically, the overall oblique photogrammetry 3D model is divided into multiple smaller meshes through mesh generation. Each mesh corresponds to one or more buildings within the park, ensuring that each building corresponds to a local oblique model. This allows for efficient processing of each local model individually. This approach not only improves processing efficiency but also ensures the accuracy and integrity of the model. Next, the contour lines of each local oblique model are determined, and bounding boxes are generated based on these contour lines. This is the core step of this scheme, detailed below. Figures 2-4 As shown in the description. The bounding box is a minimal rectangular area that can completely contain a polygon or geometric object.

[0104] For step S104, based on the oblique photogrammetry data and the bounding box of each local oblique model, individual model data for each local oblique model is generated. First, data preprocessing operations are performed, including coordinate transformation and data transformation. Since the oblique photogrammetry data has already been acquired, to ensure that the oblique photogrammetry data is loaded onto the correct geographical location, a three-dimensional coordinate transformation needs to be performed on the oblique photogrammetry model data, uniformly converting it to the WGS-84 coordinate system.

[0105] Furthermore, due to the large amount of data in the oblique photogrammetry model within a certain range, direct display would lead to loading and display performance issues; therefore, Level of Detail (LOD) processing is necessary. Specifically, for each map layer and different zoom levels, model data of varying detail is loaded to reduce the amount of data requested and loaded at each layer, without affecting the user experience. This solution preferentially uses the 3D-Tiles format, converting the oblique photogrammetry coordinate data according to the 3D-Tiles specification standard. The 3D-Tiles format is an efficient standard for 3D data partitioning and transmission, suitable for displaying and interacting with large-scale 3D scenes. This approach not only preserves the LOD level detail of the oblique photogrammetry 3D model and reduces the cost of cutting all model elements, but also ensures standardization, facilitating subsequent data sharing and use.

[0106] This solution then loads and merges the converted oblique photogrammetry model data and the bounding box data of each local oblique model for 3D visualization, resulting in a visualized scene of the local oblique model. Next, using ray casting, bounding boxes are picked from the visualized scene. Since the bounding boxes overlap with each feature in the local oblique model, picking the bounding boxes is equivalent to picking the model (a user selecting a model by clicking on a location on the screen is called "picking"). Afterward, identifiers can be set for the models and stored in the server-side database. Related attribute input and analysis can then be performed, such as topology analysis, overlay analysis, and view area analysis based on the bounding boxes. Ray casting is a technique commonly used in computer graphics and physics simulations to detect the interaction between objects and rays. Ray casting can achieve various functions, such as collision detection, object picking, and ray tracing.

[0107] The method provided in the above embodiments can efficiently divide complex large-scale oblique photogrammetry 3D models into locally oblique models that are easy to manage and render. At the same time, by generating bounding box data, it improves the efficiency of spatial query and rendering, ensures the integrity and detail of the model, avoids jagged edges and does not affect the LOD level details of the model, thereby improving the efficiency of model individualization and visual effect.

[0108] See Figure 2 The diagram illustrates an optional model individualization process according to an embodiment of the present invention, comprising the following steps:

[0109] S201: Using a preset set of parallel elevation planes, each local tilt model is sectioned to obtain multiple sections; where the section is the projection of all triangular grid data above the elevation plane onto the elevation plane.

[0110] S202: Determine the model outline of each section, integrate the model outlines of the multiple sections, and obtain the outline of each locally tilted model;

[0111] S203: Using a preset set of parallel elevation planes, cut through all locally tilted models to obtain a set of profiles for each elevation plane;

[0112] S204: Generate profiles based on the profile set of adjacent elevation planes, determine the model outline of each profile, and calculate the geometric similarity between the model outlines of the profiles.

[0113] S205: Select cross-sections whose geometric similarity meets the preset threshold condition, and determine that the selected cross-sections are in the same local tilt model.

[0114] S206: Repeat the operation of filtering cross-sections whose geometric similarity meets the preset threshold condition, integrate the model contours of cross-sections in the same local tilt model, and obtain the contour line of the same local tilt model.

[0115] S207: Rasterize each profile to obtain a binarized raster orthophoto image, extract the contour vector polygon of each raster orthophoto image, extract the edges of the contour vector polygon, and obtain the model contour.

[0116] S208: Perform coordinate transformation on the contour data of each local tilt model to obtain contour coordinate data;

[0117] S209: Overlay the outline coordinate data onto the map of the geographic information service platform to receive adjustment information for the outline coordinate data.

[0118] In the above embodiments, this embodiment mainly describes how to determine the outline of each local tilted model, which is the core step of this solution. First, a set of preset parallel elevation planes is generated. Specifically, a lowest elevation plane and a set elevation interval are given to generate a series of parallel transverse profiles.

[0119] The lowest elevation surface is typically the ground surface or a reference height, preferably a horizontal plane, and is pre-calculated and configured based on specific geographic data. The elevation interval refers to the vertical distance at which a profile is extracted; that is, the vertical distance between each profile. This interval can be set according to actual needs, such as every 5 meters, 10 meters, etc., and its choice affects the number and level of detail of the generated profiles. Starting from the lowest elevation surface, a series of parallel profile lines are generated upwards according to the set elevation intervals, with each horizontal plane serving as the cutting surface of the profile. These profile lines are usually horizontal, but can also be set to inclined or other directions as needed. In the 3D model, these transverse profiles intersect with the model, extracting the portion where each cutting surface intersects with the model, forming a series of parallel transverse profiles. These profiles can be used to analyze details such as terrain and building structure, providing multi-angle perspectives and data support, thereby systematically acquiring and analyzing information in large-scale 3D models.

[0120] Next, the locally tilted model is processed using a preset set of parallel elevation planes. This can be achieved in one of the following ways:

[0121] Example 1, Locally Tilted Model Individual Processing Mode, corresponding to steps S201~S202: Using a preset set of parallel elevation planes, each locally tilted model is sectioned to obtain multiple cross-sections. The model outline of each cross-section is determined, and the model outlines of these cross-sections are integrated to obtain the outline of each locally tilted model.

[0122] It's important to note that the sectioning in this approach doesn't involve physically and geometrically cutting the model. Instead, it calculates the projection of all triangular mesh data of the model above the sectional elevation onto the transverse section, facilitating subsequent contour extraction. Specifically, each section is a projection plane (the upper half projects downwards), and the model itself is composed of triangular mesh data. This sectioning method addresses the issue of existing ID and dynamic singletoning methods failing to truly segment the oblique photogrammetry 3D model. Furthermore, this method doesn't disrupt the original LOD structure of the oblique photogrammetry 3D model, and avoids jagged edges, thus reducing sectioning costs and improving aesthetics.

[0123] Referring to Figure 3(a), the preset parallel elevation plane set includes 5 parallel transverse sections. Therefore, the model needs to be sectioned 5 times, dividing it into 6 parts, labeled 123456. However, the part below the lowest elevation plane (i.e., 6) is not considered, resulting in a total of 5 parts: 12345. The section above the lowest elevation plane is the projection of all triangular grid data above that plane onto that plane, i.e., the projection of 12345 onto that plane. The elevation plane one level above the lowest elevation plane is the projection of 1234 onto that plane. The same applies to other levels. For the highest elevation plane, it is simply the projection of 5 onto that plane.

[0124] Example 2: Simultaneous processing mode for all locally tilted models, corresponding to steps S203-S206: Using a preset set of parallel elevation planes, all locally tilted models are sectioned to obtain a set of profiles for each elevation plane. Referring to Figure 3(b), assuming the 3D model is divided into three locally tilted models, the preset set of parallel elevation planes is used to simultaneously section these three locally tilted models. Therefore, for the same elevation plane, the resulting set of profiles includes three profiles. Since the profiles of these locally tilted models are mixed together, it is necessary to calculate the geometric similarity of profiles on adjacent elevation planes. Specifically, profiles are first generated, and then the model outline of each profile is determined to calculate the geometric similarity of the model outlines.

[0125] The geometric similarity can be calculated using any method known to those skilled in the art, such as the Hausdorff distance, which measures the maximum distance between two polygons—the distance from the farthest point of one polygon to the other. When the geometric similarity of two contours meets a set threshold condition (e.g., a threshold form where a larger threshold indicates higher precision and a smaller threshold indicates lower precision), the two contours can be considered to belong to the same locally tilted model. Furthermore, the corresponding elevation surfaces of the two contours can be determined, and the maximum value of the corresponding section elevation surface can be taken to integrate the elevation surfaces of the two contours into a single elevation surface, thus merging the two contours. This process is repeated to generate the contour lines of the locally tilted model, such as the contour lines of a building.

[0126] For step S207, both Embodiment 1 and Embodiment 2 require determining the model outline for each section. The implementation process is described in detail here: During section projection, the triangular grid data of the model is projected onto the elevation plane, and then rasterized to obtain a binarized raster orthophoto image. Considering the impact of grid cell size on extraction efficiency and accuracy, this scheme preferably uses a 0.1m * 0.1m cell as the reference, projecting the triangular grid data onto the elevation plane and performing binarization.

[0127] In Example 1, a binarized raster orthophoto image of a local tilted model can be obtained for each elevation plane. In Example 2, for the same elevation plane, binarized raster orthophoto images of all local tilted models are obtained. Since the processed binarized image information is relatively simple and covers a large range, this scheme preferably uses image edge detection and boundary constraint methods to extract the contour vector polygons of the binarized images, thereby completing the edge extraction from the raster data and obtaining the model contour.

[0128] The process of extracting the contour vector polygon from a binarized image is as follows: First, edge detection is performed on the binarized image to identify edge pixels. Commonly used edge detection algorithms include Canny edge detection and the Sobel operator. These algorithms can effectively extract significant edges in the image, laying the foundation for subsequent contour extraction. Next, boundary constraint methods are used to process the detected edges, identifying and extracting the complete contour. Boundary constraint methods form the contour by tracing edge pixels to construct closed polygons. Specifically, starting from an edge pixel, the process traces along the edge pixel chain until returning to the starting point, forming a closed polygon. Then, the extracted contour polygon is vectorized, that is, the vertex coordinates of the polygon are converted into vector data format. Vectorized contour polygons can be more easily stored, processed, and analyzed. Finally, the extracted vector polygon is optimized and simplified to remove noise and redundant points, ensuring the smoothness and accuracy of the contour. Optimization methods can include polygon simplification algorithms (such as the Douglas-Peucker algorithm) and noise filtering techniques. Through these steps, accurate vector polygon contours can be effectively extracted from the binarized image for subsequent analysis and applications.

[0129] For steps S208 and S209, after obtaining the contour lines of each local tilted model through the above steps, manual intervention can be performed to ensure the accuracy of the extracted data. Specifically, the contour line data of each local tilted model is subjected to coordinate transformation, for example, to WGS-84 (World Geodetic System 1984) format or other formats required by the staff. The transformed contour line coordinate data is then overlaid onto Tianditu (a geographic information service platform launched by the State Bureau of Surveying and Mapping, aiming to provide geographic information data and services nationwide), and then the deviation data is adjusted through manual review to ensure the accuracy of the data.

[0130] WGS-84 is an internationally recognized geographic coordinate system used to locate points on the Earth's surface. It defines a reference ellipsoid and a geodetic coordinate system, and is widely used in Global Positioning Systems (GPS), mapmaking, and Geographic Information Systems (GIS). WGS-84 uses longitude and latitude to represent locations, with longitude ranging from -180° to 180° and latitude ranging from -90° to 90°, for example, coordinates (longitude: 116.3883, latitude: 39.9289). Due to its high accuracy and widespread use, WGS-84 has become the standard coordinate system for many geographic information applications.

[0131] The method provided in the above embodiments sets different contour line processing schemes for the individual processing mode of local tilted models and the simultaneous processing mode of all local tilted models, so as to ensure the accuracy and integrity of the contour lines, improve the geometric accuracy and detail of the model, and support dynamic adjustment and optimization, thereby improving the overall visualization effect and user experience.

[0132] See Figure 4 The diagram illustrates an optional model individualization process according to an embodiment of the present invention, comprising the following steps:

[0133] S401: Determine the spatial range based on the outline, establish a quadtree according to the spatial range to obtain multiple regions, and use each region as a tile to construct tile set data;

[0134] S402: Determine the geographic information of each tile, convert the geographic information into a bounding box; and determine the geometric error and resource access address of each tile;

[0135] S403: Merge the bounding boxes of all tiles into a mesh model, determine the properties and indices of the vertices of the mesh model to construct a model object, compress the model object to obtain a binary model object;

[0136] S404: Write the tile set data, the bounding box of each tile, the geometric error, the resource access address, and the model object in binary form as the description content into the description file; where the description file is the file that describes the bounding box data.

[0137] In the above embodiments, this embodiment mainly describes how to generate 3D-Tiles bounding boxes based on the extracted contour lines. For step S401, firstly, spatial indexing is constructed by segmentation, and secondly, model data is organized using a scene tree, which is beneficial for rendering scheduling. This scheme preferably uses a quadtree to organize the segmented data; see [link to relevant documentation]. Figure 5 As shown, a large area is divided into four smaller areas, and each smaller area is further divided into even smaller areas until a certain standard is reached. This process is similar to repeatedly folding a large sheet of paper. The spatial extent is determined based on the outline of the local tilt model, and then a quadtree is built according to the spatial extent. Each small area is called a "tile," and each tile represents a node in the quadtree. In this way, large amounts of geographic data can be effectively managed, and different levels of detail can be loaded as needed.

[0138] During the construction of the quadtree, an index can be created for each tile based on the order of region partitioning. Specifically: the initial region is marked as the root node with an index of 0. The root node is divided into four sub-regions, marked as 1, 2, 3, and 4 respectively. Each sub-region is further divided into four smaller regions; for example, region 1 is divided into 11, 12, 13, and 14, region 2 is divided into 21, 22, 23, and 24, and so on. This partitioning continues until the smallest region size is reached, and each smallest region is assigned a unique index. In this way, each tile has a unique index, facilitating management and querying. For example, index 111 represents the first sub-region of the first sub-region of the first sub-region of the root node. This indexing mechanism helps to efficiently organize and access data in the quadtree.

[0139] In a quadtree structure, tile set data refers to the data collection storing all tile information. By building a quadtree index for tiles, this tile data can be efficiently organized and accessed. Specifically, tile set data includes, but is not limited to, the following aspects: 1) Geometric data: The geometric information of each tile, such as vertex coordinates, texture coordinates, normals, etc. 2) Attribute information: Attribute data associated with each tile, such as color, transparency, material information, etc. 3) Boundary information: The bounding box of each tile, used to quickly determine the tile's location and extent. 4) Index information: A unique index for each tile, used for quick location and access within the quadtree. Organizing tile set data in this way enables efficient tile management and querying. In summary, tile set data is the core part of a quadtree structure storing all tile information; through proper indexing and organization, this data can be efficiently managed and accessed.

[0140] For steps S401 and S402, the bounding box, geometric error, and URL (Uniform Resource Locator) of each tile can be obtained from the quadtree. For example, the bounding box of a tile is [(0, 0), (1,1)], the geometric error is 0.1, and the URL is / 0 / 0 / 0. In this way, the quadtree can effectively organize and manage spatial data, ensuring efficient access and rendering of geometric data at different levels and precisions.

[0141] 1. For each tile, its geographic information (such as buildings, roads, latitude and longitude information, etc.) is read and converted into a three-dimensional box shape (bounding box). The bounding box can completely contain this geographic information and is usually defined by four coordinates: the latitude and longitude coordinates of the lower left and upper right corners. The bottom and top of the bounding box are generated based on the shape of the geographic information, while the sides are formed by connecting the points of the bottom and top. This method helps to efficiently manage and query spatial data.

[0142] 2. Geometric error measures the difference between the geometric details of the geometric object represented by a quadtree node and its child nodes. It is used to determine when to stop subdividing the quadtree node to ensure that the generated geometric model is sufficiently accurate at a specified precision. Methods for determining geometric error include: 1) Maximum edge length: The geometric error of a node can be defined as the maximum edge length of its bounding box. 2) Maximum vertex distance: Calculate the maximum distance from all vertices within the node to the center of the bounding box. 3) Simplification error: If the geometric objects within the node have been simplified, the geometric error can be defined as the maximum error introduced during the simplification process. 4) Custom error metrics: Other error metrics can be defined according to specific application requirements.

[0143] 3. URLs are used to identify and locate geometric or texture data within quadtree nodes. Each node's URL points to the specific location where its data is stored. Methods for determining URLs include: 1) Hierarchical structure: URLs are generated based on the quadtree's hierarchical structure. For example, the root node's URL might be / 0 / 0 / 0, and its child nodes' URLs might be / 0 / 0 / 1, / 0 / 1 / 0, etc. 2) Naming conventions: URLs are generated using naming conventions, such as / level / x / y, where level represents the hierarchy, and x and y represent the node's position within that hierarchy. 3) Storage path: URLs can point to file paths stored on servers, such as http: / / example.com / tiles / 0 / 0 / 0.json. 4) Dynamic generation: URLs can be dynamically generated, pointing to server-side scripts or APIs that generate the corresponding data based on requests.

[0144] For step S403, since the bounding box data used for the tile contains only one node, i.e., only one set of grid data, it is necessary to merge the bounding box polyhedron models within the entire tile into one set of grid data, thus obtaining a mesh model. Then, the vertex attributes and vertex indices of the mesh model are determined, as follows:

[0145] 1. Determine the vertex attributes of the mesh model. Vertex attributes include the vertex's 3D coordinates (position), normals, texture coordinates, etc. These attributes are used to define the model's geometry and surface properties. Specific steps include: 1) Vertex coordinates: Determine the 3D coordinates of each vertex based on the geometry of the bounding box polyhedron model. 2) Normals: Calculate the normal vector for each vertex, used for lighting calculations and surface rendering. 3) Texture coordinates: Assign texture coordinates to each vertex to map textures onto the model surface.

[0146] 2. Determine the vertex indices of the mesh model. Vertex indices are used to define the triangular faces of the model, and the geometry of the model is constructed by referencing vertex attributes through the indices. Specific steps include: 1) Triangulation: Triangulate the bounding box polyhedron model to generate a series of triangular faces. 2) Index generation: Generate vertex indices for each triangular face, referencing the vertex coordinates in the vertex attributes. Each triangular face consists of three vertex indices.

[0147] By following the steps above, the vertex attributes and vertex indices of the mesh model can be determined, thus constructing a complete mesh model. Then, the vertex attributes and indices of the mesh model are organized and constructed into a GLTF (GL Transmission Format, a JSON-style file) model object. GLTF is a commonly used 3D model format for describing 3D models and their materials, textures, and other information, facilitating easy transmission and display over the network.

[0148] To optimize performance and speed up webpage loading, the generated GLTF data needs further compression to reduce its size. This involves converting the generated GLTF model object into binary GLB format, and then encapsulating the GLB data and related attribute information into a B3DM-compliant binary file, according to the B3DM specification. GLB is the binary version of GLTF, packaging all resources (such as geometry, materials, and textures) into a single file, which is generally easier to transmit. B3DM is a binary encapsulation format used in the 3D-Tiles specification, allowing 3D model data (usually in GLB format) to be packaged with other metadata (such as bounding boxes and attribute information). The purpose of this is to more efficiently transmit and render 3D model data over the network.

[0149] For step S404, generate the 3D-Tiles file: the bounding box of the tile, geometric error, tile URL, and the tile set data corresponding to the tile's quadtree index. This information is used as the content of the tileset.json file, which is then written into the tileset.json file. In the 3D-Tiles specification, the tileset.json file is the core file describing the entire 3D-Tiles hierarchy. It contains important information about each tile, which collectively defines the organization and access paths of the 3D-Tiles hierarchy.

[0150] The method provided in the above embodiments can efficiently organize and manage tile data, achieve precise spatial division and dynamic loading of tiles through a quadtree structure, and reduce data transmission volume through compression processing, thereby improving rendering performance and user experience.

[0151] See Figure 6 The diagram illustrates a specific model individualization processing method according to an embodiment of the present invention, including the following steps:

[0152] 1. Acquire oblique photogrammetry data, and perform coordinate transformation and data transformation on the oblique photogrammetry data;

[0153] 2. Generate an oblique camera 3D model based on the oblique photogrammetry data, and perform block processing on the oblique camera 3D model to obtain multiple local oblique models;

[0154] 3. Perform a transverse sectioning on the locally tilted model to obtain a cross-section;

[0155] 4. Determine the profile outline, then rasterize it to obtain a binarized raster orthophoto image;

[0156] 5. Determine the outline of the local tilt model, perform coordinate transformation, overlay the transformed outline coordinate data onto the Tianditu map, and then adjust the deviation data through manual review;

[0157] 6. Determine the spatial range based on the contour line of the local tilt model to construct a quadtree, determine the tiles, generate the bounding boxes of the tiles, and then generate the bounding boxes of the local tilt model.

[0158] 7. The converted oblique photogrammetry data and bounding box data are fused together, and then 3D visualization is performed to obtain a visualized scene of the locally oblique model. Then, the bounding box is picked from the visualized scene of the locally oblique model using the ray casting method to obtain a single-unit model.

[0159] The method provided in this invention has at least the following advantages compared to the prior art:

[0160] 1. By using a set of preset parallel elevation surfaces, the oblique photogrammetry 3D model is sectioned to facilitate the subsequent extraction of the model outline. This solves the problem of low accuracy in extracting the outline by sectioning with a single elevation surface and reduces manual vectorization work, greatly improving efficiency.

[0161] 2. Based on the bounding box-based dynamic individualization and picking of 3D models, for a single cross section, a 2D vector contour is automatically generated by the program. Then, the contour line of the local tilted model is generated using the cross section contour. A bounding box is generated based on the contour line. By combining the bounding box with the oblique photogrammetry data, the individualization and picking of the model is realized, which solves the problem that the model can only be viewed.

[0162] See Figure 7 The diagram illustrates another optional model individualization method according to an embodiment of the present invention, including the following steps:

[0163] 1. The browser terminal determines the geographical range based on the currently visible area;

[0164] 2. The browser terminal transmits the geographical range to the server;

[0165] 3. The server receives the geographical range transmitted by the browser terminal, determines the individual model identifiers within the geographical range, and returns them to the browser terminal;

[0166] 4. The browser terminal checks the local storage space to see if there is any single-unit model data corresponding to the single-unit module identifier;

[0167] 5. If it exists, push the single-model data into the browser front end;

[0168] 6. If it does not exist, start a worker thread to send a request to the server to obtain the data of the single model;

[0169] 7. The server receives the single-unit model data retrieval request transmitted from the browser terminal and returns the single-unit model data corresponding to the single-unit model identifier in the database to the browser terminal;

[0170] 8. The browser terminal renders and displays the 3D model based on the single-unit model data, in response to the user's click operation on a specific location in the 3D model, and displays information at that specific location.

[0171] In the above implementation, after generating the individual unit models of the locally tilted model, this solution can assign an identifier, such as an ID, to the individual unit model and store the model identifier and corresponding bounding box data in the database. Subsequently, the user opens a map view through a front-end browser, determines the geographical extent of the current visible area (e.g., a rectangular area defined by the four corner points) based on the map displayed in the browser's view area, and then transmits this geographical extent to the server. The server retrieves the individual unit model IDs within this extent using a spatial query algorithm. For example, if the geographical extent is a rectangle, the server will search the database for all individual unit models whose bounding boxes intersect with the rectangle and return the IDs of these individual unit models. This ensures that only individual unit models within the current visible area are loaded and rendered, improving efficiency and performance.

[0172] The browser terminal searches its storage space (such as cache) for the corresponding singleton model data, i.e., bounding box data, based on the singleton model ID. If it exists, the bounding box data corresponding to that singleton model ID in storage is pushed into an LRU (Least Recently Used) queue built in memory. LRU caching is a common cache management strategy primarily used to optimize storage space usage. Its basic idea is that when the cache reaches its capacity limit, it prioritizes evicting the least recently used data. However, if the data does not exist, a Web Worker thread is started. Because the Web Worker is not the main thread, it will not cause browser lag. The Web Worker generates a singleton model data retrieval request based on the singleton model ID and sends it to the server. The server then returns the singleton model data to the browser terminal.

[0173] After preprocessing the individual model data, the browser terminal pushes it into the LRU queue in the browser terminal's memory and stores a copy in storage space (such as cache). Once the browser terminal memory receives the individual model data, it uses WebGL technology to render the 3D model and performs individual model picking to display the corresponding information. This solves the problem of existing technologies "not supporting dynamic rendering environments." WebGL is used to render interactive 3D and 2D graphics on web pages. WebGL enables browsers to perform 3D rendering directly on the user's graphics hardware, thus providing high-performance graphics processing capabilities. With WebGL, developers can create complex 3D scenes, animations, and visual effects on web pages without installing additional plugins. WebGL is widely used in game development, virtual reality, data visualization, and other fields.

[0174] The method provided in the above embodiments caches the single-unit model data locally on the browser terminal and only requests it from the server if it does not exist locally. This approach can efficiently manage and load 3D model data, reduce unnecessary data transmission, improve rendering performance and user experience, and support dynamic data query and interaction.

[0175] See Figure 8 The diagram shows the main modules of a model unitization processing device 800 provided in an embodiment of the present invention, including:

[0176] The acquisition module 801 is used to acquire oblique photogrammetry data and oblique photogrammetry 3D models;

[0177] The block segmentation module 802 is used to perform block processing on the tilted camera 3D model to obtain multiple local tilted models;

[0178] Processing module 803 is used to determine the contour line of each local tilt model in order to generate a bounding box based on the contour line;

[0179] The individual modeling module 804 is used to generate an individual model of each local tilt model based on the oblique photogrammetry data and the bounding box data of each local tilt model.

[0180] In the apparatus of this invention, the processing module 803 is used for:

[0181] Using a pre-set set of parallel elevation planes, each local tilt model is sectioned to obtain multiple sections; the section is the projection of all triangular grid data above the elevation plane onto the elevation plane.

[0182] The model outline of each section is determined, and the model outlines of the multiple sections are integrated to obtain the outline of each locally tilted model.

[0183] In the apparatus of this invention, the processing module 803 is used for:

[0184] Using a preset set of parallel elevation planes, all locally tilted models are sectioned to obtain a set of profiles for each elevation plane;

[0185] Based on the profile set of adjacent elevation planes, generate profiles, determine the model outline of each profile, and calculate the geometric similarity between the model outlines of the profiles.

[0186] Select cross-sections whose geometric similarity meets the preset threshold condition, and determine that the selected cross-sections are in the same local tilt model;

[0187] Repeatedly filter cross-sections whose geometric similarity meets the preset threshold condition, integrate the model contours of cross-sections in the same local tilt model, and obtain the contour line of the same local tilt model.

[0188] In the implementation device of the present invention, the process of generating the preset parallel elevation plane set is as follows: based on the preset lowest elevation surface and elevation interval, multiple parallel transverse sections are generated to obtain the preset parallel elevation plane set.

[0189] In the apparatus of this invention, the processing module 803 is used for:

[0190] Each cross section is rasterized to obtain a binarized raster orthophoto image. The contour vector polygon of each raster orthophoto image is extracted, and the edges of the contour vector polygon are extracted to obtain the model contour.

[0191] The apparatus for implementing the present invention further includes an adjustment module, used for:

[0192] The contour data of each local tilt model is transformed by coordinates to obtain contour coordinate data;

[0193] The outline coordinate data is overlaid onto the map of the geographic information service platform to receive adjustment information for the outline coordinate data.

[0194] In the apparatus of this invention, the processing module 803 is used for:

[0195] The spatial range is determined based on the outline, and a quadtree is built according to the spatial range to obtain multiple regions. Each region is used as a tile to construct a tile set data.

[0196] Determine the geographic information of each tile, convert the geographic information into a bounding box; and determine the geometric error and resource access address of each tile.

[0197] Merge the bounding boxes of all tiles into a mesh model, determine the properties and indices of the vertices of the mesh model to construct a model object, compress the model object to obtain a binary model object;

[0198] The tile set data, the bounding box of each tile, the geometric error, the resource access address, and the model object in binary form are written into the description file as description content; where the description file is the file that describes the bounding box data.

[0199] In the apparatus of this invention, the unitization module 804 is used for:

[0200] By fusing bounding box data and oblique photogrammetry data, the fusion result is subjected to 3D visualization processing to obtain a visualized scene of the local oblique model;

[0201] A bounding box picking operation is performed on the visualized scene of the locally tilted model to obtain the individual model corresponding to the locally tilted model.

[0202] The apparatus of the present invention further includes a conversion module, used for: performing coordinate transformation on the oblique photography data to obtain oblique photography coordinate data; and performing data transformation on the oblique photography coordinate data to obtain oblique photography target format data.

[0203] The apparatus of the present invention further includes a storage module, used for: generating an identifier for the individual model, and storing the individual model identifier and the corresponding bounding box data in a database.

[0204] The apparatus for implementing this invention further includes an application module, used for:

[0205] Receive the geographical range transmitted by the browser terminal, determine the individual model identifiers within the geographical range, and return them to the browser terminal; wherein, the browser terminal determines the geographical range based on the currently visible area;

[0206] Receive a request to obtain single-unit model data transmitted from the browser terminal, and return the single-unit model data corresponding to the single-unit model identifier in the database to the browser terminal;

[0207] If the browser terminal does not find the individual model data in the local storage space, it starts a worker thread to send a request to the server to obtain the individual model data.

[0208] The browser terminal renders and displays a 3D model based on the single-unit model data, in response to the user's click operation on a specific location in the 3D model, displaying information at that specific location.

[0209] Furthermore, the specific implementation details of the device described in the embodiments of the present invention have been described in detail in the above-described method, so the details will not be repeated here.

[0210] Figure 9 An exemplary system architecture 900 to which embodiments of the present invention can be applied is shown, including terminal devices 901, 902, 903, network 904, and server 905 (only an example).

[0211] Terminal devices 901, 902, and 903 can be various electronic devices with displays and web browsing capabilities, and have various communication client applications installed. Users can use terminal devices 901, 902, and 903 to interact with server 905 via network 904 to receive or send messages, etc.

[0212] Network 904 is a medium used to provide a communication link between terminal devices 901, 902, 903 and server 905. Network 904 can include various connection types, such as wired or wireless communication links or fiber optic cables, etc.

[0213] Server 905 can be a server providing various services, such as a backend management server supporting shopping websites browsed by users using terminal devices 901, 902, and 903 (this is just an example). The backend management server can analyze and process data such as received product information query requests, and feed back the processing results (such as target push information, product information—this is just an example) to the terminal devices. It should be noted that the method provided in this embodiment of the invention is generally executed by server 905, and correspondingly, the apparatus is generally set in server 905.

[0214] It should be understood that Figure 9 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0215] The following is for reference. Figure 10It shows a schematic diagram of the structure of a computer system 1000 suitable for implementing a terminal device of the present invention. Figure 10 The terminal device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0216] like Figure 10 As shown, the computer system 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 1002 or programs loaded from storage section 1008 into random access memory (RAM) 1003. The RAM 1003 also stores various programs and data required for the operation of the system 1000. The CPU 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.

[0217] The following components are connected to I / O interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN card, modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to I / O interface 1005 as needed. A removable medium 1011, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 1010 as needed so that computer programs read from it can be installed into storage section 1008 as needed.

[0218] In particular, according to the embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1009, and / or installed from removable medium 1011. When the computer program is executed by central processing unit (CPU) 1001, it performs the functions defined above in the system of this invention.

[0219] It should be noted that the computer-readable medium shown in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0220] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0221] The modules described in the embodiments of the present invention can be implemented in software or hardware. The described modules can also be housed in a processor; for example, a processor can be described as including an acquisition module, a segmentation module, a processing module, and a unitization module. The names of these modules do not necessarily limit the module itself; for example, the processing module can also be described as a "contour and bounding box module".

[0222] In another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable medium carries one or more programs that, when executed by the device, cause the device to perform any of the model individualization processing methods described above.

[0223] The computer program product of the present invention includes a computer program that, when executed by a processor, implements the model individualization processing method in the embodiments of the present invention.

[0224] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for model individualization, characterized in that, include: Acquire oblique photogrammetry data and oblique camera 3D models; The tilted camera 3D model is divided into blocks to obtain multiple local tilted models; Determine the contour line of each local tilt model to generate a bounding box based on the contour line; Based on the oblique photogrammetry data and the bounding box data of each local oblique model, a single-unit model of each local oblique model is generated.

2. The method of claim 1, wherein, Determining the contour line of each locally tilted model includes: Using a pre-set set of parallel elevation planes, each local tilt model is sectioned to obtain multiple sections; the section is the projection of all triangular grid data above the elevation plane onto the elevation plane. The model outline of each section is determined, and the model outlines of the multiple sections are integrated to obtain the outline of each locally tilted model.

3. The method of claim 1, wherein, Determining the contour line of each locally tilted model includes: Using a preset set of parallel elevation planes, all locally tilted models are sectioned to obtain a set of profiles for each elevation plane; Based on the profile set of adjacent elevation planes, generate profiles, determine the model outline of each profile, and calculate the geometric similarity between the model outlines of the profiles. Select cross-sections whose geometric similarity meets the preset threshold condition, and determine that the selected cross-sections are in the same local tilt model; Repeatedly filter cross-sections whose geometric similarity meets the preset threshold condition, integrate the model contours of cross-sections in the same local tilt model, and obtain the contour line of the same local tilt model.

4. The method according to claim 2 or 3, characterized in that, The process of generating the preset parallel elevation plane set is as follows: based on the preset lowest elevation surface and elevation interval, multiple parallel transverse sections are generated to obtain the preset parallel elevation plane set.

5. The method according to claim 2 or 3, characterized in that, Determining the model profile for each cross-section includes: Each cross section is rasterized to obtain a binarized raster orthophoto image. The contour vector polygon of each raster orthophoto image is extracted, and the edges of the contour vector polygon are extracted to obtain the model contour.

6. The method of claim 1, wherein, The method further includes: The contour data of each local tilt model is transformed by coordinates to obtain contour coordinate data; The outline coordinate data is overlaid onto the map of the geographic information service platform to receive adjustment information for the outline coordinate data.

7. The method of claim 1, wherein, The process of generating a bounding box based on the contour line includes: The spatial range is determined based on the outline, and a quadtree is built according to the spatial range to obtain multiple regions. Each region is used as a tile to construct a tile set data. Determine the geographic information of each tile, convert the geographic information into a bounding box; and determine the geometric error and resource access address of each tile. Merge the bounding boxes of all tiles into a mesh model, determine the properties and indices of the vertices of the mesh model to construct a model object, compress the model object to obtain a binary model object; The tile set data, the bounding box of each tile, the geometric error, the resource access address, and the model object in binary form are written into the description file as description content; the description file is a file that describes the bounding box data.

8. The method of claim 1, wherein, The process of generating a single-unit model for each local tilted model based on the oblique photogrammetry data and the bounding box data of each local tilted model includes: By fusing bounding box data and oblique photogrammetry data, the fusion result is subjected to 3D visualization processing to obtain a visualized scene of the local oblique model; A bounding box picking operation is performed on the visualized scene of the locally tilted model to obtain the individual model corresponding to the locally tilted model.

9. The method according to claim 1 or 8, characterized in that, The method further includes: The oblique photography data is transformed to obtain oblique photography coordinate data; The oblique photogrammetry coordinate data is transformed to obtain oblique photogrammetry target format data.

10. The method of claim 1, wherein, The method further includes: Generate identifiers for the monolithic model and store the monolithic model identifiers and corresponding bounding box data in the database.

11. The method of claim 10, wherein, The method further includes: Receive the geographical range transmitted by the browser terminal, determine the individual model identifiers within the geographical range, and return them to the browser terminal; wherein, the browser terminal determines the geographical range based on the currently visible area; Receive a request to obtain single-unit model data transmitted from the browser terminal, and return the single-unit model data corresponding to the single-unit model identifier in the database to the browser terminal; If the browser terminal does not find the individual model data in the local storage space, it starts a worker thread to send a request to the server to obtain the individual model data. The browser terminal renders and displays a 3D model based on the single-unit model data, in response to the user's click operation on a specific location in the 3D model, displaying information at that specific location.

12. A model singulation processing device, characterized by, include: The acquisition module is used to acquire oblique photogrammetry data and oblique camera 3D models. The block segmentation module is used to segment the tilted camera 3D model into blocks to obtain multiple local tilted models; A processing module is used to determine the contour line of each local tilt model in order to generate a bounding box based on the contour line; The individualization module is used to generate an individual model of each local tilt model based on the oblique photogrammetry data and the bounding box data of each local tilt model.

13. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-11.

14. A computer readable medium having stored thereon a computer program, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-11.

15. A computer program product comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-11.