A method for compressing three-dimensional models using oblique photography

By combining the supervoxel method with the QEM algorithm, dynamically adjusting the error threshold and the step size of the DRACO algorithm, and dividing the model into areas of different accuracy levels, the problem of the inability to balance compression rate and model quality in existing technologies is solved, and the data volume is reduced and performance is optimized.

CN120451476BActive Publication Date: 2025-09-19KUNMING MAPU SPACE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510953606.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-11
Publication Date
2025-09-19
Estimated Expiration
2045-07-11

AI Technical Summary

Technical Problem

Existing oblique photography 3D model compression methods cannot balance compression rate and model quality, resulting in large data volumes and performance bottlenecks during network transmission and rendering.

Method used

The supervoxel method is combined with the QEM algorithm to dynamically adjust the error threshold and the step size of the DRACO algorithm. The model is divided into areas with different accuracy levels. The texture image resolution is adjusted according to the accuracy level to simplify and compress the geometric data and texture data.

Benefits of technology

While maintaining the main features and visual effects of the model, it effectively reduces the amount of data, improves the compression rate, and optimizes network transmission and rendering performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure QLYQS_3
    Figure QLYQS_3
  • Figure QLYQS_9
    Figure QLYQS_9
  • Figure QLYQS_14
    Figure QLYQS_14
Patent Text Reader

Abstract

This invention discloses a method for compressing 3D models from oblique photography, belonging to the field of 3D data processing technology. The method comprises the following steps: model preprocessing, vertex simplification using the QEM algorithm with dynamically adjusted error thresholds, mesh reconstruction, UV mapping repair, texture data simplification, geometric data encoding using the DRACO algorithm, and compression of the simplified texture image. The advantage of this method is that it can achieve refined geometric and texture data simplification for 3D models, effectively reducing the amount of data while maintaining the model's key features and visual effects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of three-dimensional data processing, and in particular to a method for compressing a three-dimensional model of oblique photography. Background Art

[0002] With the rapid development of 3D modeling technology, oblique photography has become an important means of generating high-precision 3D models. However, the resulting oblique photography 3D models are data-intensive, consuming storage resources, causing latency during network transmission, and creating performance bottlenecks during rendering. Existing 3D model compression methods commonly suffer from a balance between compression rate and model quality. Therefore, developing an oblique photography 3D model compression method that balances compression rate and model quality is a key challenge. Summary of the Invention

[0003] The technical problem to be solved by the present invention is to provide a method for compressing an oblique photography three-dimensional model which can effectively reduce the amount of data while maintaining the main features and visual effects of the model.

[0004] In order to solve the above technical problems, the technical solution of the present invention is a method for compressing a 3D model of oblique photography, comprising the following steps:

[0005] S1. Model preprocessing: Obtain the data of the 3D model and preprocess it, delete the invisible faces, and merge the duplicate parts;

[0006] S2. Geometric data simplification: Use the QEM algorithm with dynamically adjusted error thresholds to simplify vertices and reconstruct the mesh:

[0007] S21. Divide the model: Divide the model into different areas and determine the accuracy level n of each area;

[0008] S22. Calculate the dynamic error threshold: According to the accuracy level n, calculate the error threshold En of the area: , where: n represents the accuracy level of the corresponding area in the initial model, n is a positive integer; En represents the error threshold of the QEM algorithm corresponding to the area with accuracy level n; e is the unit threshold gradient;

[0009] S23. Simplify the model: for different regions, use the QEM algorithm to simplify the vertices of different regions and reconstruct the mesh, where the error threshold En of the QEM algorithm is calculated using S22;

[0010] S3. Repair UV mapping: Repair the UV mapping of texture data for the simplified geometric model;

[0011] S4, texture data simplification: reduce the resolution of texture images.

[0012] Preferably, the method of dividing the model into different areas in step S21 is:

[0013] S211. Constructing feature vectors: For each vertex, construct a feature vector including the mean curvature, normal change rate, and spatial coordinates;

[0014] S212, supervoxel seed sampling: a certain number of vertices are selected in the three-dimensional space as seed points;

[0015] S213, supervoxel growth: for each seed, calculate the characteristic distance D of the points in its neighborhood; merge the point with the smallest characteristic distance D into the supervoxel; update the characteristic vector of the supervoxel; repeat until the convergence condition is met;

[0016] S214, dividing the region: determining the accuracy level of each supervoxel based on the converged supervoxel eigenvector, merging spatially adjacent supervoxels with the same accuracy level into the same region, and using the accuracy level of the supervoxel as the accuracy level of the region;

[0017] S215, smooth area: If the difference in accuracy between two spatially adjacent areas is greater than a preset value, the low-precision area is further divided into several sub-areas, and the accuracy level of the sub-area close to the high-precision area is improved so that the difference in accuracy between it and the high-precision area is less than or equal to the preset value; the comparison is repeated until the accuracy level of the model is determined globally.

[0018] Preferably, the method for determining the accuracy level of each supervoxel in step S214 is as follows: comparing the average curvature of the supervoxel with the curvature threshold interval, and determining the curvature accuracy level n1 corresponding to the supervoxel according to which interval the average curvature falls within; comparing the normal change rate of the supervoxel with the normal change rate threshold interval, and determining the normal change rate accuracy level n2 corresponding to the supervoxel according to which interval it falls within; comparing n1 and n2, and taking the larger value to determine the final accuracy level n of the supervoxel, that is, .

[0019] Preferably, the characteristic distance D in step S213 is calculated as follows:

[0020] ; and W k+ +W c =1.

[0021] in, and K s denote the average curvature of vertex p and supervoxel S respectively; and are the standard deviations of the normal change rates of vertex p and supervoxel S respectively; C p with Cs Represent the spatial coordinates of vertex p and supervoxel S respectively; W k represents the curvature weight, Represents the normal weight, W c Represents the spatial feature weight.

[0022] Preferably, each time a point is merged into a supervoxel, W is recalculated. k :

[0023] calculate The value of Compare; if its value is greater than or equal to ,but ; If its value is less than ,but ,in is a constant value, representing the preset maximum curvature weight; K max is the maximum curvature of all vertices in the model, and W1 and W2 are set constant values.

[0024] Preferably, each time a point is merged into a supervoxel, the ;

[0025] calculate The value of Compare; if its value is greater than or equal to ,but ; If its value is less than ,but ,in is a fixed value, representing the preset maximum normal weight; It is the maximum normal change rate of all vertices in the model, and W3 and W4 are set constant values.

[0026] Preferably, after step S4, the method further includes S5, encoding the geometric data using the DRACO algorithm.

[0027] Preferably, the step size of the DRACO algorithm is dynamically adjusted according to the accuracy level of different regions, and the step size Q of the region with accuracy level n is Q=Q1-n*q; where Q1 is a constant, representing the basic step size; and q represents the unit step size gradient.

[0028] Preferably, the method for reducing the resolution of the texture image in step S4 is: based on the UV mapping repaired in step S3, the texture image is divided into several blocks according to different areas of the geometric model; the correspondence between the accuracy level and the target resolution is defined in advance, and for each texture block, the target resolution is adjusted according to the accuracy level of the corresponding area.

[0029] Preferably, after step S5, the method further includes step S6, compressing the simplified texture image.

[0030] Beneficial effects of the present invention:

[0031] The present invention proposes a method for simplifying and compressing geometric data by combining the supervoxel method, the QEM algorithm and the DRACO algorithm. The geometric model is first divided into regions with different accuracy levels according to the degree of complexity, and the error threshold of the QEM algorithm and the step size of the DRACO algorithm are dynamically adjusted according to the accuracy level, so as to achieve refined geometric data simplification of the three-dimensional model; the resolution of the texture image is dynamically adjusted according to the accuracy level of the geometric model to simplify the texture data, so that the data volume is effectively reduced while maintaining the main features and visual effects of the model. DETAILED DESCRIPTION

[0032] The following is a further description of specific embodiments of the present invention. It should be noted that the description of these embodiments is intended to facilitate understanding of the present invention and does not constitute a limitation of the present invention. In addition, the technical features involved in the various embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.

[0033] Example

[0034] A method for compressing a three-dimensional model of oblique photography comprises the following steps:

[0035] S1. Model preprocessing: Obtain the data of the 3D model and preprocess it, delete the invisible faces, and merge the duplicate parts;

[0036] S2. Simplify geometric data: Use the QEM algorithm with dynamically adjusted error thresholds to simplify vertices and reconstruct the mesh. This includes the following steps:

[0037] S21. Divide the model: Divide the model into different areas and determine the accuracy level of each area. The specific method is as follows:

[0038] S211. Constructing feature vectors: For each vertex, construct a feature vector including the mean curvature, normal change rate, and spatial coordinates;

[0039] S212. Supervoxel seed sampling: a certain number of vertices are selected in the three-dimensional space as seed points. The number of seed points can be set according to the percentage of the number of model vertices. For example, the number of seed points is set to 10% of the total number of vertices. It can be adjusted appropriately according to the complexity of the model and the number of vertices.

[0040] S213, supervoxel growth: For each seed, calculate the characteristic distance D of the points in its neighborhood; merge the point with the smallest characteristic distance D into the supervoxel; update the characteristic vector of the supervoxel; repeat until the convergence condition is met; the characteristic distance D is calculated as follows:

[0041] ; and W k+ +W c =1.

[0042] in, and K s denote the average curvature of vertex p and supervoxel S respectively; and are the standard deviations of the normal change rates of vertex p and supervoxel S respectively; C p with C s Represent the spatial coordinates of vertex p and supervoxel S respectively; W k represents the curvature weight, Represents the normal weight, W c Represents the spatial feature weight.

[0043] The convergence conditions in this embodiment are: the characteristic distance D of the point with the minimum characteristic distance D within the supervoxel neighborhood is greater than or equal to a set threshold, and the number of iterations reaches a set upper limit. These two conditions are in parallel, and the iteration is terminated as long as one of them is met. The convergence conditions can also be adjusted appropriately based on the characteristics of the model.

[0044] Preferably, each time a point is merged into a supervoxel, W is recalculated. k :

[0045] calculate The value of Compare; if its value is greater than or equal to ,but ; If its value is less than ,but ,in is a constant value, representing the preset maximum curvature weight; K max is the maximum curvature of all vertices in the model, and W1 and W2 are set constant values.

[0046] Preferably, each time a point is merged into a supervoxel, the :

[0047] calculate The value of Compare; if its value is greater than or equal to ,but ; If its value is less than ,but ,in is a fixed value, representing the preset maximum normal weight; It is the maximum normal change rate of all vertices in the model, and W3 and W4 are set constant values.

[0048] Calculate the curvature weight W k and normal weights After that, the spatial feature weight W c =1-W k - .

[0049] Dynamically adjust the curvature weight W k and normal weights Compared with fixed weights, the weights of geometric features and spatial features can be adaptively adjusted according to local geometric complexity, so that more attention is paid to geometric details in areas with obvious features, and more emphasis is placed on spatial continuity in areas with unclear features.

[0050] S214, dividing the region: determining the accuracy level of each supervoxel based on the converged supervoxel eigenvector, merging spatially adjacent supervoxels with the same accuracy level into the same region, and using the accuracy level of the supervoxel as the accuracy level of the region;

[0051] The method for determining the accuracy level of each supervoxel is as follows: the average curvature of the supervoxel is compared with the curvature threshold interval, and the curvature accuracy level n1 corresponding to the supervoxel is determined according to which interval the average curvature falls within; the normal change rate of the supervoxel is compared with the normal change rate threshold interval, and the normal change rate accuracy level n2 corresponding to the supervoxel is determined according to which interval it falls within; n1 and n2 are compared, and the larger value is determined as the final accuracy level n of the supervoxel, that is, .

[0052] The supervoxel algorithm combined with precision matching is used to divide the geometric model into regions, and the accuracy levels of different regions are used as the basis for subsequent geometric data simplification, compression and texture data simplification.

[0053] S215, smooth area: If the difference in accuracy between two spatially adjacent areas is greater than a preset value, the low-precision area is further divided into several sub-areas, and the accuracy level of the sub-area close to the high-precision area is improved so that the difference in accuracy between it and the high-precision area is less than or equal to the preset value; the comparison is repeated until the accuracy level of the model is determined globally.

[0054] S22. Calculate the dynamic error threshold: According to the accuracy level n, calculate the error threshold En of the area: , where: n represents the accuracy level of the corresponding area in the initial model, n is a positive integer; En represents the error threshold of the QEM algorithm corresponding to the area with accuracy level n; e is the unit threshold gradient;

[0055] S23. Simplify the model: for different regions, use the QEM algorithm to simplify the vertices of different regions and reconstruct the mesh, where the error threshold En of the QEM algorithm is calculated using S22;

[0056] S3. Repair UV mapping: Repair the UV mapping of texture data for the simplified geometric model. Repairing UV mapping is a relatively mature technology. You can choose the appropriate UV mapping repair method based on the scale and type of the model and the changes before and after the geometric model is simplified.

[0057] S4. Texture data simplification: Reduce the resolution of the texture image. The specific method is as follows: based on the UV mapping repaired in step S3, the texture image is divided into several blocks according to different areas of the geometric model; the correspondence between the accuracy level and the target resolution is defined in advance, and for each texture block, the target resolution is adjusted according to the accuracy level of the corresponding area.

[0058] S5. Encode the geometric data using the DRACO algorithm. The step size of the DRACO algorithm is dynamically adjusted according to the accuracy level of different regions. The step size of the region with accuracy level n is Q = Q1-n*q, where Q1 is a constant value representing the basic step size, and q represents the unit step size gradient.

[0059] S6. Compress the simplified texture image. In this embodiment, the compression method used is a lossy compression method, such as JPEG or WebP format. Other texture image compression methods can also be selected according to the usage scenario.

[0060] The embodiments of the present invention are described in detail above, but the present invention is not limited to the described embodiments. It is apparent to those skilled in the art that various changes, modifications, substitutions, and variations of these embodiments may be made without departing from the principles and spirit of the present invention, and the changes still fall within the scope of protection of the present invention.

Claims

1. A method for compressing a 3D model using oblique photography, characterized by: The steps include: S1. Model preprocessing: Obtain the data of the 3D model and preprocess it, delete the invisible faces, and merge the duplicate parts; S2. Geometric data simplification: Use the QEM algorithm with dynamically adjusted error thresholds to simplify vertices and reconstruct the mesh: S21. Divide the model: Divide the model into different areas and determine the accuracy level n of each area; The method for dividing the model into different areas in step S21 is: S211. Constructing feature vectors: For each vertex, construct a feature vector including the mean curvature, normal change rate, and spatial coordinates; S212, supervoxel seed sampling: a certain number of vertices are selected in the three-dimensional space as seed points; S213, supervoxel growth: for each seed, calculate the characteristic distance D of the points in its neighborhood; merge the point with the smallest characteristic distance D into the supervoxel; update the characteristic vector of the supervoxel; repeat until the convergence condition is met; S214, dividing the region: determining the accuracy level of each supervoxel based on the converged supervoxel eigenvector, merging spatially adjacent supervoxels with the same accuracy level into the same region, and using the accuracy level of the supervoxel as the accuracy level of the region; S215, smoothing area: If the difference in accuracy between two spatially adjacent areas is greater than a preset value, the low-precision area is further divided into several sub-areas, and the accuracy of the sub-areas close to the high-precision area is improved so that the difference in accuracy between the sub-areas and the high-precision area is less than or equal to the preset value. The comparison is repeated until the accuracy level of the model is determined globally. S22. Calculate the dynamic error threshold: According to the accuracy level n, calculate the error threshold En of the area: , where: n represents the accuracy level of the corresponding area in the initial model, n is a positive integer; En represents the error threshold of the QEM algorithm corresponding to the area with accuracy level n; e is the unit threshold gradient; S23. Simplify the model: for different regions, use the QEM algorithm to simplify the vertices of different regions and reconstruct the mesh, where the error threshold En of the QEM algorithm is calculated using S22; S3. Repair UV mapping: Repair the UV mapping of texture data for the simplified geometric model; S4, texture data simplification: reduce the resolution of texture images; S5. Use the DRACO algorithm to encode the geometric data; S6. Compress the simplified texture image.

2. The method for compressing a 3D model using oblique photography according to claim 1, wherein: The method for determining the accuracy level of each supervoxel in step S214 is as follows: comparing the average curvature of the supervoxel with the curvature threshold interval, and determining the curvature accuracy level n1 corresponding to the supervoxel according to which threshold interval the average curvature falls within; comparing the normal change rate of the supervoxel with the normal change rate threshold interval, and determining the normal change rate accuracy level n2 corresponding to the supervoxel according to which interval it falls within; comparing n1 and n2, and taking the larger value to determine the final accuracy level n of the supervoxel, i.e. .

3. The method for compressing a 3D model using oblique photography according to claim 1, wherein: The method for calculating the characteristic distance D in step S213 is as follows: ; and W k+ +W c =1; in, and K s denote the average curvature of vertex p and supervoxel S respectively; and are the standard deviations of the normal change rates of vertex p and supervoxel S respectively; C p with C s Represent the spatial coordinates of vertex p and supervoxel S respectively; W k represents the curvature weight, Represents the normal weight, W c Represents the spatial feature weight.

4. The method for compressing a 3D model for oblique photography according to claim 3, wherein: Each time a point is merged into a supervoxel, W is recalculated k : calculate The value of contrast; If its value is greater than or equal to ,but ; If its value is less than ,but ,in is a constant value, representing the preset maximum curvature weight; K max is the maximum curvature of all vertices in the model, and W1 and W2 are set constant values.

5. The method for compressing a 3D model using oblique photography according to claim 3, wherein: Each time a point is merged into a supervoxel, recalculate ; calculate The value of contrast; If its value is greater than or equal to ,but ; If its value is less than ,but ,in is a fixed value, representing the preset maximum normal weight; It is the maximum normal change rate of all vertices in the model, and W3 and W4 are set constant values.

6. The method for compressing a 3D model using oblique photography according to claim 1, wherein: The step size of the DRACO algorithm is dynamically adjusted according to the accuracy level of different regions. The step size of the region with accuracy level n is Q=Q1-n*q; where Q1 is a constant value, representing the basic step size; and q represents the unit step size gradient.

7. The method for compressing a 3D model using oblique photography according to claim 1, wherein: The method for reducing the resolution of the texture image in step S4 is as follows: based on the UV mapping repaired in step S3, the texture image is divided into several blocks according to different areas of the geometric model; the correspondence between the accuracy level and the target resolution is defined in advance, and for each texture block, the target resolution is adjusted according to the accuracy level of the corresponding area.

Citation Information

Patent Citations

  • Oblique photography slice optimization method based on osgb, terminal, device and medium

    CN114943810A

  • Method, system and equipment for supporting lightweight processing and lossless compression of multi-source three-dimensional model and storage medium

    CN119396785A