Search

CN-121999129-A - LOD construction method and device for GIS large-scale live-action model

CN121999129ACN 121999129 ACN121999129 ACN 121999129ACN-121999129-A

Abstract

The invention provides a LOD construction method and device for a GIS (geographic information system) large-range live-action model, which are used for generating each node through self-adaptive iterative segmentation in the HLOD tree construction process, wherein the triangular patch data size of each node is kept within a threshold range, the overlarge number of triangular patches cannot be generated, textures of each node are limited to be kept within a similar range, overlarge textures cannot be generated, an optimal configuration effect can be achieved when the result is rendered and scheduled, and meanwhile, the texture features in texture pyramids are combined after the triangular patches in all the nodes are simplified. In addition, the main memory occupied data are stored in the temporary file by using a memory mapping technology in the present disclosure, so that the present scheme can process large data volume data exceeding the memory limit of the computer.

Inventors

  • HUANG SHUAI
  • YAN YUAN
  • PAN BO
  • Xiong Caisen
  • YANG Bingwei
  • ZHAO JING
  • DING HESONG
  • LIU YIMIN
  • LIU XING
  • LI WEILIANG
  • ZHANG SHUFENG
  • BAO XIANG

Assignees

  • 北京数字绿土科技股份有限公司
  • 武汉绿土图景科技有限公司
  • 成都绿土智途科技有限公司
  • 北京绿土远景科技有限公司
  • 深圳绿土智新科技有限公司

Dates

Publication Date
20260508
Application Date
20251230

Claims (9)

  1. 1. The LOD construction method for the GIS-oriented large-scale live-action model is characterized by comprising the following steps of: Generating a triangular mesh model with textures, wherein the triangular mesh model comprises a plurality of triangular patches; Determining bounding box information of a root node according to GIS information of the triangular mesh model, traversing triangular patches according to the preset maximum triangle quantity and maximum texture weight, and determining leaf nodes of each triangular patch in an HLOD tree, wherein data of the triangular patches in nodes of the HLOD tree are stored in a temporary file in a memory mapping mode; Initializing a 0 th texture layer of the texture pyramid as an original image corresponding to the triangular mesh model, generating an N th texture layer of the texture pyramid according to the sequence from small to large, performing Gaussian filtering on an image of a previous texture layer, downsampling the Gaussian filtered image to obtain an image of a current texture layer, and obtaining a constructed texture pyramid until the resolution of the image of the current texture layer is smaller than a preset threshold value or the value of N is larger than a preset value, wherein N is a positive integer, and an image set of the texture pyramid is stored in a temporary file by adopting a memory mapping technology; according to the sequence of the HLOD tree from the bottom layer to the top layer, simplifying and merging triangular patches in each node in each layer by layer respectively; For each node after simplification and merging, extracting texture features corresponding to the node from the image of the texture layer corresponding to the texture pyramid, packaging the extracted texture features into one texture image, establishing an association relation between the texture image and the node, until all nodes establish an association relation with the corresponding texture image to obtain an HLOD tree filled with texture data, and exporting the HLOD tree filled with texture data into a 3D Tiles standard format.
  2. 2. The method of claim 1, wherein traversing the triangular patches and determining leaf nodes in the HLOD tree where each triangular patch is located according to a preset maximum number of triangles and maximum texture weights comprises: Determining a tree structure of the HLOD tree, wherein the tree structure is a quadtree or an octree; For the current triangular patches, if the number of the triangular patches contained in the current leaf node is not more than the maximum triangle number and the texture weight of the current leaf node is not more than the maximum texture weight after the current triangular patches are put in the current leaf node, the current triangular patches are distributed to the current leaf node, the texture weight of the current leaf node is increased, and if the number of the triangular patches contained in the current leaf node is more than the maximum triangle number or the texture weight of the current leaf node is more than the maximum texture weight after the current triangular patches are put in the current leaf node, the current leaf node is taken as a node to be split, the range and the hierarchy information of the sub-nodes of the node to be split are determined, the triangular patches in the node to be split are traversed, and the triangular patches in the node to be split are distributed to the matched sub-nodes according to the central positions of the triangular patches; until all triangular patches within the triangular mesh model are assigned to leaf nodes of the HLOD tree; The data of the nodes in the HLOD tree comprises pointers pointing to parent nodes, pointer arrays of child nodes, identification codes of the nodes, texture weights of the nodes, the range of the nodes and data of triangular patches contained in the nodes, wherein the identification codes of the nodes comprise the level and position information of the HLOD tree where the nodes are located; The method of claim 2, wherein the texture weight W f of the triangular patch is calculated according to the following formula: ; ; Wherein, area is the texture coordinate Area of the triangular patch, width and height are the width and height of the texture picture corresponding to the triangular patch, For the preset texture weight, v0, v1 and v2 are respectively three vertexes of the triangular surface patch, and u and v are texture coordinates corresponding to the vertexes.
  3. 3. The method of claim 1, wherein the image of the previous texture layer is gaussian filtered using the formula: ; wherein G k represents an image of a previous texture layer; is a two-dimensional Gaussian kernel; Downsampling the filtered image using the formula: ; wherein S is a scaling factor, and the relationship between adjacent texture layers is as follows: ; ; Wherein, the 、 For the width and height of the previous texture layer, 、 Is the width and height of the current texture layer.
  4. 4. The method of claim 1, wherein the simplifying merging the triangular patches in each node in each layer, respectively, from level to level in the order of the HLOD tree from the bottom layer to the top layer, comprises: the following simplified merging operation is performed for each node: Respectively calculating folding cost of each side in the node; Inserting folding costs of all sides into a priority queue; circularly executing the following operations until the number of triangle patches in the node is equal to or smaller than the maximum triangle number, namely taking out the edge with the minimum folding cost from the priority queue, folding two vertexes of the taken edge into a new vertex, updating the folding cost of the edge connected with the new vertex, and updating the priority queue based on the updated folding cost; transmitting the data after simplifying and combining of the node to a father node; The folding cost of the edge is the weighted sum of geometric errors and texture errors, and the texture errors are determined according to the variation between the texture gradient of each triangular surface patch connected with the vertex of the edge to be folded before simplification and the texture gradient of the triangular surface patch connected with the corresponding vertex after the simplification; The geometrical coordinates and texture coordinates of the new vertexes are optimized by taking the minimum folding cost of the edges as a target; Wherein for edges belonging to a border or texture seam, the corresponding folding cost is set to a maximum value.
  5. 5. The method according to claim 1, wherein extracting the texture feature corresponding to the node from the image of the texture layer corresponding to the texture pyramid comprises: dividing a triangular patch in the node into a plurality of non-communicated component areas; Traversing the vertex in each component area, determining a texture minimum bounding box corresponding to the component area according to the texture coordinate of the vertex in the texture pyramid corresponding to the texture layer, and determining a texture rectangular area corresponding to the component area according to the texture coordinate of the minimum point in the texture minimum bounding box, the texture coordinate of the maximum point and the width and height of the image of the node in the texture pyramid corresponding to the texture layer; taking data in texture rectangular areas corresponding to all component areas in the texture layer as texture features corresponding to the nodes; The packaging the extracted texture features into a texture image comprises the following steps: And respectively packing texture features corresponding to the component areas into a texture image by adopting MaxRects algorithm, and calculating the vertex texture coordinates of the packed triangular surface patch according to the following formula: ; ; Wherein, the 、 For the width and height of the packed texture image, 、 Is the texture coordinates of the vertices of the triangular patch in the texture layer, 、 The texture coordinates corresponding to the texture image for the vertexes of the triangular surface patch.
  6. 6. The method of claim 6, wherein exporting the HLOD tree populated with texture data into a 3D Tiles standard format comprises: traversing the HLOD tree by adopting a breadth-first traversing method from the root node, sequentially storing data corresponding to each node as gltf files, and naming the files by using the positions of the HLOD tree where the corresponding nodes are located; generating an entry file tileset in a 3D (three-dimensional) files standard format from a nested structure of an HLOD (hierarchical object oriented) tree, wherein the nested structure of the HLOD tree comprises necessary fields corresponding to each node, and the necessary fields comprise minimum bounding box information of the node, file name of the node, definition and texture error information of the node; the texture error information of the node is calculated by the following formula: ; For the length of the ith edge in the node, For the texture coordinate length corresponding to the ith edge, The width of the image of the texture layer corresponding to the node is given, and n is the number of edges in the node.
  7. 7. The method as recited in claim 7, further comprising: Node traversal is performed from a root node of the HLOD tree filled with texture data, and screen space errors of the current node are calculated; if the screen space error is larger than the maximum screen space error threshold, displaying the data corresponding to the node of the next level of the current node, otherwise, displaying the data corresponding to the current node; the screen space error SSE of the node is calculated according to the following formula: SSE = (geometricError × screenHeight) / (2 × distance × tan(fov/2)) geometricErro is the geometric error of the node, SCREENHEIGHT is the height of the current display screen, distance is the distance from the viewpoint to the node, and fov is the vertical field angle.
  8. 8. The method of claim 1, wherein generating the textured triangle mesh model comprises: acquiring a plurality of images with preset overlapping degree; Constructing an initial triangle mesh model by utilizing the plurality of images; And performing texture extraction on the plurality of images, and mapping the extracted textures into the initial triangular mesh model to obtain the triangular mesh model with textures.
  9. 9. LOD construction device towards GIS large scale live-action model, characterized by comprising: The model generation module is used for generating a triangular mesh model with textures, wherein the triangular mesh model comprises a plurality of triangular patches; The HLOD construction module is used for determining bounding box information of a root node according to GIS information of the triangular mesh model, traversing triangular patches according to the preset maximum triangle quantity and maximum texture weight, and determining leaf nodes of the triangular patches in an HLOD tree, wherein data of the triangular patches in the nodes of the HLOD tree are stored in a temporary file in a memory mapping mode; The texture construction module is used for determining the level number of texture pyramids according to the level number of the HLOD tree, initializing the 0 th texture layer of the texture pyramids to be an original image corresponding to the triangular mesh model, generating the N th texture layer of the texture pyramids according to the sequence from small to large, performing Gaussian filtering on the image of the previous texture layer, downsampling the image after the Gaussian filtering to obtain the image of the current texture layer, and obtaining the constructed texture pyramids until the resolution of the image of the current texture layer is smaller than a preset threshold value or the value of N is larger than a preset value, wherein N is a positive integer, and the image set of the texture pyramids is stored in a temporary file by adopting a memory mapping technology; the node simplifying module is used for simplifying and merging triangular patches in each node in each layer respectively layer by layer according to the sequence of the HLOD tree from the bottom layer to the top layer; The texture merging module is used for extracting texture features corresponding to the nodes from the images of the texture layers corresponding to the texture pyramid aiming at each node after simplification and merging, packaging the extracted texture features into one texture image, and establishing an association relation between the texture image and the node; and the model export module is used for exporting the HLOD tree filled with the texture data into a 3D Tiles standard format.

Description

LOD construction method and device for GIS large-scale live-action model Technical Field The disclosure relates to the field of image processing, in particular to a LOD construction method and device for a GIS (geographic information system) large-scale live-action model. Background The live-action model LOD (level of Detail) technique mainly solves the problem of balancing between rendering performance and visual quality. When a user observes a three-dimensional scene at different viewing distances, the system automatically selects a model with proper precision for display. A high-precision model is used for ensuring detail expression during short-distance observation, and a low-precision model is used for improving rendering efficiency during long-distance observation. The mechanism can obviously reduce the load of the GPU, improve the frame rate and ensure smooth interaction of large-scale three-dimensional scenes. LOD techniques also optimize data transfer and storage. In the network GIS application, the system can load data with corresponding precision according to the current viewpoint of the user as required, avoid transmitting unnecessary high-precision models and reduce bandwidth consumption. Meanwhile, multi-level data organization is convenient for realizing progressive loading, and user experience is improved. The prior art often considers geometric simplification or texture processing independently in the model LOD process, and lacks a cooperative optimization mechanism of the geometric simplification or texture processing, so that the simplified model is difficult to reach the optimal balance between visual quality and data volume. Disclosure of Invention The disclosure provides at least a LOD construction method and device for a GIS (geographic information system) large-scale live-action model, so as to achieve efficient rendering performance under the condition of maintaining visual quality. According to an aspect of the present disclosure, there is provided a LOD construction method for a GIS-oriented large-scale live-action model, including: Generating a triangular mesh model with textures, wherein the triangular mesh model comprises a plurality of triangular patches; Determining bounding box information of a root node according to GIS information of the triangular mesh model, traversing triangular patches according to the preset maximum triangle quantity and maximum texture weight, and determining leaf nodes of each triangular patch in an HLOD tree, wherein data of the triangular patches in nodes of the HLOD tree are stored in a temporary file in a memory mapping mode; Initializing a 0 th texture layer of the texture pyramid as an original image corresponding to the triangular mesh model, generating an N th texture layer of the texture pyramid according to the sequence from small to large, performing Gaussian filtering on an image of a previous texture layer, downsampling the Gaussian filtered image to obtain an image of a current texture layer, and obtaining a constructed texture pyramid until the resolution of the image of the current texture layer is smaller than a preset threshold value or the value of N is larger than a preset value, wherein N is a positive integer, and an image set of the texture pyramid is stored in a temporary file by adopting a memory mapping technology; according to the sequence of the HLOD tree from the bottom layer to the top layer, simplifying and merging triangular patches in each node in each layer by layer respectively; For each node after simplification and merging, extracting texture features corresponding to the node from the image of the texture layer corresponding to the texture pyramid, packaging the extracted texture features into one texture image, establishing an association relation between the texture image and the node, until all nodes establish an association relation with the corresponding texture image to obtain an HLOD tree filled with texture data, and exporting the HLOD tree filled with texture data into a 3D Tiles standard format. In one possible implementation manner, traversing the triangular patches and determining leaf nodes where the triangular patches are located in the HLOD tree according to the preset maximum triangle number and the maximum texture weight includes: Determining a tree structure of the HLOD tree, wherein the tree structure is a quadtree or an octree; For the current triangular patches, if the number of the triangular patches contained in the current leaf node is not more than the maximum triangle number and the texture weight of the current leaf node is not more than the maximum texture weight after the current triangular patches are put in the current leaf node, the current triangular patches are distributed to the current leaf node, the texture weight of the current leaf node is increased, and if the number of the triangular patches contained in the current leaf node is more than the maximum triangle number or th