Oblique photograph model processing device based on bit width reduction storage
By employing a halffloat data structure and secondary compression technology in the oblique photogrammetry model, the problem of slow loading of the oblique photogrammetry model on mobile devices is solved, achieving efficient space utilization and computational optimization, and meeting the display requirements of mobile devices.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- DMS CORP
- Filing Date
- 2021-12-06
- Publication Date
- 2026-06-19
AI Technical Summary
In existing technologies, oblique photogrammetry models load slowly on mobile devices, occupy a large amount of space, cannot effectively reduce storage space, and affect device performance.
The vertex positions and normals of the triangular mesh are stored using a halffloat data structure. Through layer-by-layer optimization and secondary compression, a binary model compressed file is formed, and the integrity of the model is verified by combining the SHA1 value.
It significantly reduces the storage space and computational load of oblique photogrammetry models, ensuring smooth loading and display on mobile devices and improving device performance.
Smart Images

Figure CN122244374A_ABST
Abstract
Description
[0001] The original basis for this divisional application is patent application No. 202111479153.5, filed on December 6, 2021, entitled "A Model Processing Method and Apparatus for Oblique Photogrammetry Model Optimization". Technical Field
[0002] This invention relates to the field of oblique photogrammetry technology, and more particularly to an oblique photogrammetry model processing device based on bit-width simplified storage. Background Technology
[0003] Oblique photogrammetry is a high-tech technology that has been developed in the international surveying and mapping field in recent years. It has overturned the previous limitation that orthophotos could only be taken from a vertical angle. By mounting multiple sensors on the same flight platform, images can be collected from five different angles, including one vertical angle and four oblique angles, bringing users into a real and intuitive world that conforms to human vision.
[0004] The characteristics of oblique photography include: (1) Reflecting the true situation around the ground features Compared to orthophotos, oblique imagery allows users to observe ground features from multiple angles, providing a more realistic reflection of the actual situation of the ground features and greatly compensating for the shortcomings of orthophoto-based applications.
[0005] (2) Tilt images can enable single-image measurement. With the application of supporting software, measurements such as height, length, area, angle, and slope can be directly performed based on the resulting images, expanding the application of oblique photogrammetry technology in the industry.
[0006] (3) The texture of the building side can be collected. For various 3D digital city applications, the large-scale mapping capabilities of aerial photography, combined with batch extraction and texture mapping from oblique images, can effectively reduce the cost of 3D city modeling.
[0007] (4) Small data volume, easy to publish online Compared to the massive amounts of 3D data used in 3D GIS technology, the amount of data obtained by oblique photogrammetry is much smaller. The data format of these images can be quickly published online using mature technologies, enabling shared applications.
[0008] However, while oblique photogrammetry modeling is simple and data production is fast, its resulting model size and loading speed are far smaller than traditional modeling methods. This is because the data structure of oblique photogrammetry models is more complex, consuming significant computational resources. When loading and displaying on mobile devices, the slower loading speed and noticeable lag are more pronounced due to the weaker performance of mobile devices.
[0009] For example, patent document CN111583404B discloses a method for scheduling massive oblique photogrammetry 3D model data, specifically belonging to geographic information system data processing. The process involves: obtaining center points and ranges from oblique photogrammetry 3D data by tile; using a combination of quadtree and hexadecimal tree algorithms to hierarchically classify all tiles; sampling and generating a DEM based on the merged tile data; generating a TDOM from the merged tile data; performing new TIN triangulation and mapping processing based on the DEM and TDOM data; and setting the LOD scheduling range for each layer of data. This invention uses algorithms such as quadtree, hexadecimal tree, DEM generation, TDOM generation, and TIN triangulation to achieve 3D model data scheduling, enabling rapid scheduling and loading display of TB-level oblique photogrammetry 3D models.
[0010] For example, patent document CN112102486A discloses a method for LOD reconstruction of oblique photogrammetry data based on merging root nodes. The method includes: acquiring the root node data of all oblique photogrammetry data blocks and establishing a unique two-dimensional spatial index on the XOY plane; merging every four data blocks to generate a new data block, generating a unique two-dimensional spatial index higher than the current level; processing the mesh and texture separately, using soft rasterization technology to regenerate point clouds from the mesh data, simplifying the data and the current data block level and resolution to obtain the target mesh face number; unfolding the mesh data and the original mesh texture data, using offline rendering and render-to-texture technology to generate new texture maps and mesh data to form the final target data; repeating the steps to sequentially build a quadtree in reverse until the number of root nodes is less than 4, thus completing the reconstruction.
[0011] However, the above inventions can only improve the transmission speed of the model for oblique photography data processing, but cannot reduce the storage space of the optimized photography model, which puts a lot of pressure on mobile devices.
[0012] In view of the shortcomings of the existing technology, the present invention aims to propose a method that can solve the above problems.
[0013] Furthermore, on the one hand, there are differences in understanding among those skilled in the art; on the other hand, the applicant studied a large number of documents and patents when making this invention, but due to space limitations, not all details and contents were listed in detail. However, this does not mean that the present invention does not possess the features of these prior art. On the contrary, the present invention already possesses all the features of the prior art, and the applicant reserves the right to add relevant prior art to the background art. Summary of the Invention
[0014] Existing oblique photogrammetry model optimization devices typically employ model lightweighting methods to optimize the data model in oblique photogrammetry. However, the calculation of vertex positions and normals in the triangulation of the optimized oblique photogrammetry model is resource-intensive and space-consuming. Therefore, when the optimized oblique photogrammetry model is transmitted to the terminal, it still occupies a significant amount of space on the terminal.
[0015] To address the shortcomings of existing technologies, this invention provides a model processing apparatus for optimizing oblique photogrammetry models, comprising at least one processor capable of being connected to a terminal via wired or wireless means, wherein the processor is configured to: An optimized model is constructed based on information from the initial model obtained from oblique photogrammetry. The first data compression is achieved by removing unnecessary basic body parameters at the same level; Store the vertex positions and normals of the triangular mesh using a halffloat data structure and load triangular meshes with the same geometry. Layer-by-layer optimization based on the initial model of oblique photogrammetry.
[0016] To avoid the shortcomings of existing technologies, this invention actively modifies the vertex positions and normal data in the triangulation mesh and sets the triangulation mesh as a half-float data structure. In this invention, the four bytes occupied by the Float data are reduced to two bytes, meeting the accuracy requirements on mobile devices or other low-performance devices while saving significant computing power and space. The optimized oblique photogrammetry model of this invention does not occupy a large amount of space and can be displayed on more terminals.
[0017] Preferably, the processor is further configured to combine the optimized data from each level and perform a second compression to form a binary model compressed file. This second compression reduces the file size of the oblique photogrammetry model and ensures the integrity of the data at each level, minimizing data loss. The binary format is widely applicable to various terminals and has a broad range of uses. Compared to other compression methods, this method significantly reduces the model size and computational load with minimal loss of accuracy, facilitating the loading and display of oblique photogrammetry models on mobile devices and low-performance devices.
[0018] Preferably, the processor is further configured to: calculate the SHA1 value of the compressed binary model file and write it to the end of the binary model file; and verify the optimized oblique photogrammetry model based on the SHA1 value during transmission. This invention uses the SHA1 value to verify the correctness of the oblique photogrammetry model, ensuring that the integrity and uniqueness of the oblique photogrammetry model can be verified during transmission, thus guaranteeing the security of information transmission.
[0019] Preferably, the processor is further configured to: read the information of the initial oblique photogrammetry model level by level and write it into the quadtree model, wherein the block information of the first level is written to the child node of the root node of the quadtree model, the information of the next level is read cyclically and written to the next node, the LOD index information and related model data are loaded from PageLod, and a complete optimized model is constructed. This invention uses a quadtree model as the optimization model, which requires less computing power and can further reduce the computation time of the oblique photogrammetry model.
[0020] For example, typically, the first level of an oblique photogrammetry optimization model contains only one model. The second level then divides it into four models. These are then iterated through using PageLod to represent the models at the second and third levels, forming a quadtree.
[0021] Preferably, the processor eliminates unnecessary basic parameters by storing the basic parameters in a halfFloat data structure.
[0022] For example, a parameter that is originally 0.678900 becomes 0.679 when stored using halffloat. 0.100000 becomes 0.100. Although 0.100000 = 0.100 in human perception, it is stored in its entirety in the computer, which is the significance of using the halffloat data structure in this invention. This setup eliminates unnecessary decimal places in basic parameters, thereby saving space.
[0023] Preferably, the processor is further configured to: search for identical triangular mesh structures based on the halfFloat data structure, and load such structures by reference when a triangular mesh structure identical to the halfFloat data structure is found. By searching for triangular meshes identical to the halfFloat data structure, a significant amount of related space can be saved.
[0024] Preferably, the halfFloat data structure includes two bytes, including a sign bit, an exponent part, and a mantissa part; the sign bit is 1 bit, the exponent part is 8 bits, and the mantissa part is 7 bits.
[0025] Preferably, the processor is further configured to combine the data of each level after the hierarchical order of the initial model based on oblique photogrammetry is optimized layer by layer and perform a second compression to form a binary model compressed file.
[0026] The present invention also provides a processing device, comprising at least one processor capable of being connected to a terminal via a wired or wireless means, said processor comprising at least: The building module constructs an optimized model based on information from the initial model acquired through oblique photogrammetry. The compression module performs initial data compression by removing unnecessary basic body parameters at the same level; and The structure modification module stores the vertex positions and normal data of the triangulation using a halffloat data structure and loads triangulations with the same geometry.
[0027] The processing device of this invention modifies the data structure of the triangulation network through a structure modification module. The four bytes occupied by the halffloat data structure of the triangulation network are reduced to two bytes, satisfying the accuracy requirements on mobile devices or other low-performance devices while saving significant computing power and space. The optimized oblique photogrammetry model of this invention does not occupy a large amount of space and can be displayed on more terminals.
[0028] Preferably, the processor in the processing device further includes a data combining module, which combines the data from each level, optimized layer by layer based on the hierarchical order of the initial oblique photogrammetry model, and performs a second compression to form a binary compressed model file. This invention uses a data combining module for secondary compression, further compressing the data at each level and reducing the space occupied by the oblique photogrammetry model.
[0029] The present invention also provides a model processing method for oblique photogrammetry model optimization, the method comprising at least: constructing an optimization model based on information from an initial oblique photogrammetry model; The first data compression is achieved by removing unnecessary basic body parameters at the same level; The vertex positions and normal data of the triangular mesh are stored in a halffloat data structure and loaded together with triangular meshes of the same geometry; the layer-by-layer optimization is performed based on the hierarchical order of the initial model of oblique photogrammetry.
[0030] The model processing method for optimizing the oblique photogrammetry model in this invention reduces the submission volume to one-third of the uncompressed volume and the computational load to one-third of the uncompressed volume after optimization of the initial oblique photogrammetry model. This invention specifically compresses the oblique photogrammetry model data, saving space and computer performance as much as possible without affecting the browsing experience. This invention can meet the current urgent need for smooth loading and display of oblique photogrammetry models on mobile devices. Attached Figure Description
[0031] Figure 1 This is a simplified schematic diagram of the module connection relationship of a model processing device for optimizing oblique photogrammetry models provided by the present invention; Figure 2 This is the preferred halffloat data type structure in the oblique photography model data of the present invention; Figure 3This is a logical schematic diagram and a list of reference numerals for the storage method of the oblique photogrammetry model after data compression according to the present invention. Figure 4 This is a simplified logical diagram illustrating the steps of a model processing method for optimizing an oblique photogrammetry model provided by the present invention.
[0032] List of reference numerals 1: Sign bit; 2: Exponent part; 3: Mantissa part; 4: File header; 5: Index information; 6: First level; 7: Interval; 8: Second level; 9: nth level; 10: Compressed data; 11: SHA1 value; 100: Building module; 200: Compression module; 300: Structure change module; 400: Data combination module; 500: Terminal; 600: Initial model storage device for oblique photography. Detailed Implementation
[0033] The following is a detailed explanation with reference to the accompanying drawings.
[0034] In this invention, a terminal refers to a device capable of processing and / or displaying oblique photogrammetry models, including mobile terminals and non-mobile terminals. Mobile terminals include at least computers, tablets, smartphones, and smart wearable devices, such as smartwatches, smart glasses, and other terminals with display functions. Non-mobile terminals include computers, large-format terminals, etc.
[0035] A triangular mesh refers to a network of triangles used in graphics card computing to represent the surface of a three-dimensional object by assembling several triangles.
[0036] Texture files refer to: In computer graphics, textures include both the surface texture of an object in the usual sense, which is an uneven groove, and colored patterns on a smooth surface of an object, which include not only color but also grooves.
[0037] LZMA2 refers to an algorithm for performing lossless data compression. It can compress and decompress data, ensuring no data loss during the compression and decompression process. The basic parameters of this invention refer to the most fundamental parameters that constitute the model.
[0038] Non-basic parameters refer to: unnecessary decimal places.
[0039] `halffloat` is a data structure used in calculations to store decimals. A typical `float` is an integer plus a period plus six decimal places. `halffloat`, on the other hand, is an integer plus a period plus three decimal places. For example, 0.100000 becomes 0.100. Although they are the same, the storage space required in a computer is different. Therefore, decimal places beyond three after the period are not essential basic body parameters.
[0040] like Figure 2 As shown, the halffloat data structure in this invention includes a sign bit (1), an exponent portion (2), and a mantissa portion (3). The sign bit (1) consists of 1 bit. The exponent portion consists of 8 bits. The mantissa portion consists of 7 bits.
[0041] The processor in this invention can be one or more of a CPU, server, cloud server, or dedicated integrated chip, or other devices with computing and execution capabilities.
[0042] The construction module, compression module, structure modification module, and data integration module in this invention can all be one or more of a CPU, server, cloud server, and dedicated integrated chip. For example... Figure 1 As shown, the construction module 100, compression module 200, structure modification module 300, and data integration module 400 establish data connections sequentially to jointly optimize the initial model of the oblique photogrammetry. The data connection can be wired or wireless. Wireless connections include, for example, WiFi, Bluetooth, Zigbee, etc.
[0043] Example 1 To address the shortcomings of existing technologies, this invention provides a model processing apparatus for optimizing oblique photogrammetry models, comprising at least one processor capable of being connected to a terminal via wired or wireless means, the processor being configured to perform the following steps: S1: Construct an optimized model based on the information from the initial model acquired through oblique photogrammetry; S2: The first data compression is achieved by removing unnecessary basic body parameters at the same level; S3: Store the vertex positions and normal data of the triangular mesh in a halffloat data structure and load triangular meshes with the same geometry. S4: Layer-by-layer optimization based on the hierarchical order of the initial model of oblique photogrammetry.
[0044] To avoid the shortcomings of existing technologies, this invention actively modifies the vertex positions and normal data in the triangulation network and sets the triangulation network as a half-float data structure. In this invention, the four bytes occupied by half-float are reduced to two bytes, meeting the accuracy requirements on mobile terminals or other low-performance devices while saving significant computing power and space. The optimized oblique photogrammetry model of this invention does not occupy a large amount of space and can be displayed on more terminals.
[0045] Preferably, the specific implementation steps of the present invention are as follows: Figure 4 As shown.
[0046] The specific execution steps of step S1 include: S11: Read the information from the initial oblique photogrammetry model level by level and write it into the optimized model. The optimized model in this invention is preferably a quadtree model.
[0047] For example, information from all blocks in the first level of the initial oblique photogrammetry model is traversed and read to construct a quadtree model. The block information from the first level is written into the child nodes of the root node of the quadtree model.
[0048] S12: After the block information at the first level is read and compressed, the information at the next level is read in a loop and written to the next node. The LOD index information and related model data are loaded from PageLod to construct a complete optimized model. This invention uses a quadtree model as the optimized model, which requires less computing power and can further reduce the computation time of the oblique photogrammetry model.
[0049] S2: The specific execution steps for the first data compression, which involves removing unnecessary basic body parameters at the same level, include: S13: At the same level, read the basic parameters of the optimization model and the quadtree model, and remove unnecessary basic parameters of the quadtree model, thereby reducing the amount of data storage and realizing data compression.
[0050] S14: Before the first compression, the texture in the triangular mesh is stretched. The specific method for this stretching is to specify the texture resolution as a maximum of 512. 512, length and width must be powers of 2, and length and width must be the same. The DXT1 compression algorithm is used for compression and stretching.
[0051] The advantage of stretching texture files is that existing technologies store files in formats such as JPG, which requires secondary decompression during graphics card reading, consuming more computational resources. This invention stretches texture files before the first compression and stores them uniformly in DDS format. The advantage is that DDS is a compression format that graphics cards can directly read, eliminating the need for secondary decompression during processing and allowing direct rendering on the graphics card.
[0052] After the texture file is stretched, unnecessary primitive parameters are removed from the stretched texture file, and the resulting texture file composed of primitive parameters is converted into a unified DDS format. DDS is a compressed format that graphics cards can directly read, eliminating the need for secondary decompression during processing and allowing for direct rendering on the graphics card. In contrast, existing formats such as JPG require secondary decompression during graphics card reading, consuming more computational resources.
[0053] S3: The specific execution steps for storing the vertex positions and normal data of the triangular mesh using a halfFloat data structure and loading triangular meshes with the same geometry include: S15: Change the vertex position and normal data in the triangular mesh to a halfFloat data structure.
[0054] Calculating the vertex positions and normals of the triangulated mesh stored in the initial model of oblique photogrammetry is resource-intensive and space-consuming. To reduce computational load and space usage, this invention uses a halfFloat data structure to store the vertex positions and normals of the triangulated mesh. The advantage of this change is that it reduces the four bytes occupied by halfFloat to two bytes, meeting the accuracy requirements on mobile devices or other low-performance devices, while also saving significant computational power and space.
[0055] S16: Search for triangular mesh structures with the same geometry. The triangular meshes used as search targets are predefined during the search process so that they can be reused.
[0056] Preferably, several triangulations with identical geometric structures are extracted. When triangulation structures with completely identical geometric structures appear, they are loaded by reference. For example, if a triangulation is defined as A, then all triangulations with the same geometric structure are also defined as A. By defining only the position of that triangulation as A, fewer triangulations can be used to represent the previous effect, reducing the space occupied by the data.
[0057] After the data structure of the triangular network is changed, the data optimization of one level is completed.
[0058] S17: Repeat steps S13 to S16 to process the other layers of the initial oblique photogrammetry model until all layers of the initial oblique photogrammetry model have been processed.
[0059] After obtaining the optimized data for each level of the initial oblique photogrammetry model, a second data compression is performed. The specific steps are as follows.
[0060] S18: After acquiring the optimized data for each level of the initial oblique photogrammetry model, the optimized data from each level are combined. This combination is done using a balanced binary tree, with each level occupying a block. The blocks are then concatenated in binary format. An index recording the offset is added to the file header.
[0061] like Figure 3As shown, file header 4 is adjacent to index information 5, and index information 5 is adjacent to the first level 6. From the first level to the nth level 9, there is a gap 7 between adjacent levels. For example, there is a gap 7 between the first level 6 and the second level 7. There is a gap 7 between the (n-1)th level and the nth level 9.
[0062] S19: As Figure 3 As shown, the file is compressed a second time using LZMA2 to form a binary compressed file 10. Compared with other compression methods, this method greatly reduces the size of the oblique photogrammetry model and the amount of computation during loading with minimal loss of accuracy, making it easier for mobile devices and low-performance devices to load and display the oblique photogrammetry model.
[0063] S20: Calculate the SHA1 value for the compressed binary model file and write it to the end of the binary model file. During the transmission of the optimized oblique photogrammetry model, the optimized oblique photogrammetry model is checked based on the SHA1 value. This invention uses the SHA1 value to verify the correctness of the oblique photogrammetry model, ensuring that the integrity and uniqueness of the oblique photogrammetry model can be verified during transmission, thus guaranteeing the security of information transmission.
[0064] For example, the SHA-1 value is calculated on a compressed binary file, and the resulting 20-byte SHA-1 value is written to the end of the file. SHA-1 is a cryptographic hash function. SHA-1 generates a 160-bit (20-byte) hash value called a message digest, typically represented as 40 hexadecimal numbers. It guarantees data uniqueness; a change in even a single byte of data will result in a change in the SHA-1 value, thus it can be used to determine data integrity.
[0065] The present invention also provides a model processing method for oblique photogrammetry model optimization, the method comprising at least: constructing an optimization model based on information from an initial oblique photogrammetry model; The first data compression is achieved by removing unnecessary basic body parameters at the same level; Store the vertex positions and normal data of the triangulation using a halffloat data structure, and load the triangulation with the same halffloat data structure. Layer-by-layer optimization based on the initial model of oblique photogrammetry.
[0066] The model processing method for optimizing the oblique photogrammetry model in this invention reduces the submission volume to one-third of the uncompressed volume and the computational load to one-third of the uncompressed volume after optimization of the initial oblique photogrammetry model. This invention specifically compresses the oblique photogrammetry model data, saving space and computer performance as much as possible without affecting the browsing experience. This invention can meet the current urgent need for smooth loading and display of oblique photogrammetry models on mobile devices.
[0067] Example 2 This embodiment is a supplement and improvement to Embodiment 1, and repeated content will not be described again.
[0068] The present invention also provides a processing device, comprising at least one processor capable of being connected to a terminal in a wired or wireless manner, the processor comprising at least a building module 100, a compression module 200, a structure modification module 300, and a data combining module 400.
[0069] Module 100 is used to build an optimized model based on information from the initial model acquired by oblique photogrammetry.
[0070] Compression module 200 is used to perform the first data compression by removing unnecessary basic body parameters at the same level.
[0071] The structure modification module 300 is used to store the vertex positions and normal data of the triangular mesh in a halffloat data structure and load the triangular mesh with the same halffloat data structure.
[0072] The processing device of this invention modifies the data structure of the triangulation network through a structure modification module. The four bytes occupied by the halffloat data structure of the triangulation network are reduced to two bytes, satisfying the accuracy requirements on mobile devices or other low-performance devices while saving significant computing power and space. The optimized oblique photogrammetry model of this invention does not occupy a large amount of space and can be displayed on more terminals.
[0073] Preferably, the processor in the processing device further includes a data combining module 400. The data combining module 400 is used to combine the data from each level after layer-by-layer optimization based on the initial oblique photogrammetry model and perform a second compression to form a binary model compressed file. This invention uses the data combining module for secondary compression, further compressing the data at each level and reducing the space occupied by the oblique photogrammetry model.
[0074] Preferably, the processing device of the present invention further includes a storage module for storing the initial model and the optimized model of oblique photogrammetry. The storage module is capable of establishing data connections with the construction module 100, the compression module 200, the structural modification module 300, and the data combination module 400, respectively.
[0075] Preferably, the steps performed by the construction module 100 include at least: S11: Based on the initial oblique photogrammetry model stored in the oblique photogrammetry initial model storage device 600, the information of each level is read layer by layer and written into the optimization model. The optimization model in this invention is preferably a quadtree model.
[0076] For example, information from all blocks in the first level of the initial oblique photogrammetry model is traversed and read to construct a quadtree model. The block information from the first level is written into the child nodes of the root node of the quadtree model.
[0077] S12: After the block information at the first level is read and compressed, the information at the next level is read in a loop and written to the next node. The LOD index information and related model data are loaded from PageLod to construct a complete optimized model. This invention uses a quadtree model as the optimized model, which requires less computing power and can further reduce the computation time of the oblique photogrammetry model.
[0078] Preferably, the steps performed by the compression module 200 include at least: S13: At the same level, read the basic parameters of the optimization model and the quadtree model, and remove unnecessary basic parameters of the quadtree model, thereby reducing the amount of data storage and realizing data compression.
[0079] S14: Before the first compression, stretch the texture data in the triangular mesh.
[0080] After the texture file is stretched, unnecessary primitive parameters are removed from the stretched texture file, and the resulting texture file composed of primitive parameters is converted into a unified format DDS.
[0081] Preferably, the steps performed by the structural change module 300 include at least: S15: Change the vertex position and normal data in the triangular mesh to a halfFloat data structure.
[0082] Calculating the vertex positions and normals of the triangulated mesh stored in the initial model of oblique photogrammetry is resource-intensive and space-consuming. To reduce computational load and space usage, this invention uses a halfFloat data structure to store the vertex positions and normals of the triangulated mesh. The advantage of this change is that it reduces the four bytes occupied by halfFloat to two bytes, meeting the accuracy requirements on mobile devices or other low-performance devices, while also saving significant computational power and space.
[0083] S16: Search for triangular mesh structures with the same geometry. The triangular meshes used as search targets are predefined during the search process so that they can be reused.
[0084] Preferably, when a triangulation structure with completely identical geometry appears, it is loaded by reference. After the triangulation data structure is changed, the data optimization of one level is completed.
[0085] The construction module 100, compression module 200, and structure modification module 300 respectively perform iterative optimization of other layers of the initial oblique photogrammetry model according to steps S13-S16. After the structure modification module 300 completes its execution steps, it sends a layer optimization completion command to the compression module 200. In response to the layer optimization completion command, the compression module 200 begins compressing the data for the next layer sent by the construction module 100. Alternatively, after compressing the data for the first layer, the compression module 200 proactively begins compressing the data for the second layer sent by the construction module 100.
[0086] That is, the construction module 100, the compression module 200 and the structure change module 300 are optimized layer by layer according to the hierarchical order of the initial model of oblique photogrammetry in steps S13 to S16, until all levels of the initial model of oblique photogrammetry are optimized.
[0087] The steps performed by the data combination module 400 include at least the following: S18: After obtaining the optimized data for each level of the initial oblique photogrammetry model, the optimized data from each level are combined. Specifically, an index for recording offsets is added to the header of the compressed file.
[0088] S19: As Figure 3 As shown, the file is compressed a second time using LZMA2 to form a binary compressed file 10.
[0089] Compared to other compression methods, this method significantly reduces the size of the oblique photogrammetry model and the computational load during loading with minimal loss of accuracy, making it easier for mobile devices and low-performance devices to load and display the oblique photogrammetry model.
[0090] S20: Calculate the SHA1 value for the compressed binary model file and write it to the end of the binary model file. During the transmission of the optimized oblique photogrammetry model, the optimized oblique photogrammetry model is checked based on the SHA1 value. This invention uses the SHA1 value to verify the correctness of the oblique photogrammetry model, ensuring that the integrity and uniqueness of the oblique photogrammetry model can be verified during transmission, thus guaranteeing the security of information transmission.
[0091] In response to the query request information sent by terminal 500, data combination module 400 sends the binary model compressed file to terminal 500.
[0092] It should be noted that the specific embodiments described above are exemplary. Those skilled in the art can devise various solutions inspired by the disclosure of this invention, and these solutions all fall within the scope of this invention and its protection. Those skilled in the art should understand that this specification and its accompanying drawings are illustrative and not intended to limit the scope of the claims. The scope of protection of this invention is defined by the claims and their equivalents. This specification contains multiple inventive concepts; terms such as "preferredly," "according to a preferred embodiment," or "optionally" indicate that the corresponding paragraph discloses an independent concept. The applicant reserves the right to file divisional applications based on each inventive concept.
Claims
1. A model processing apparatus for optimizing oblique photogrammetry models, comprising at least one processor, characterized in that, The processor is configured to: The vertex positions and normal data of the triangular mesh of the oblique photogrammetry model are stored using a halfFloat data structure; The halfFloat data structure is simplified from four bytes occupied by Float to two bytes; The sign bit consists of 1 bit, the exponent part consists of 8 bits, and the mantissa part consists of 7 bits.
2. The apparatus according to claim 1, characterized in that, The processor is also configured to: search for identical triangular mesh structures based on the halfFloat data structure, and load them by reference when a triangular mesh structure with completely identical geometry is found.
3. The apparatus according to claim 1, characterized in that, The processor is also configured to stretch the texture in the triangular mesh before performing the first compression on the triangular mesh data, so that the maximum resolution is 512. 512, and its length and width are the same and are powers of 2.
4. The apparatus according to claim 3, characterized in that, The stretched texture file is compressed using the DXT1 compression algorithm and converted into a unified DDS format, which is a compression format that the graphics card can directly read and render.
5. A model processing apparatus for optimizing oblique photogrammetry models, comprising at least one processor, characterized in that, The processor is configured to: The optimized data from each level is combined using a balanced binary tree, with each level occupying a block, and the blocks are connected in binary form. The concatenated data is compressed a second time using LZMA2 to form a binary compressed file; The SHA1 value of the binary compressed file is calculated, and the resulting 20-byte SHA1 value is written to the end of the file.
6. The apparatus according to claim 5, characterized in that, The processor is also configured to add an index that can record offsets to the header portion of the binary compressed file.
7. The apparatus according to claim 5, characterized in that, The SHA1 value generates a 160-bit hash value for a message digest, which is presented as 40 hexadecimal numbers and is used to determine data integrity.
8. The apparatus according to claim 5, characterized in that, LZMA2 is an algorithm for performing lossless data compression, designed to ensure that data information is not lost during compression and decompression.
9. A model processing apparatus for optimizing oblique photogrammetry models, comprising at least one processor, characterized in that, The processor is configured to: The information of all blocks in the first level of the initial oblique photogrammetry model is traversed and read, a quadtree model is constructed, and the block information of the first level is written into the child nodes of the root node of the quadtree model. The loop reads the information of the next node of the quadtree model from the initial oblique photogrammetry model, and loads the LOD index information and related model data from PageLod to build a complete optimized model.
10. The apparatus according to claim 9, characterized in that, The quadtree model has only one model at the first level, and is divided into four models at the second level.
11. The apparatus according to claim 9, characterized in that, The processor is also configured to optimize layer by layer in hierarchical order until all layers of the initial oblique photogrammetry model have been optimized.
12. The apparatus according to any one of claims 1, 5, or 9, characterized in that, The processor includes one or more of the following: CPU, server, cloud server, or dedicated integrated chip.
13. The apparatus according to any one of claims 1, 5, or 9, characterized in that, The device can connect to a terminal in a wired or wireless manner, wherein the wireless connection includes a WiFi connection, a Bluetooth connection, or a Zigbee connection.