Methods and related products for optimizing the texture space of 3D model data

By preprocessing and globally parameterizing the 3D model data, and combining scanline filling to optimize the texture space, the problems of high computational cost and texture redundancy in existing algorithms are solved, and efficient generation of compact texture space is achieved.

CN116051711BActive Publication Date: 2026-05-26DALIAN UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
DALIAN UNIV OF TECH
Filing Date
2022-12-29
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing texture mapping algorithms are computationally expensive and generate redundant and irrelevant texture spaces, failing to produce compact texture spaces.

Method used

By preprocessing the 3D model data, including repairing non-manifold elements, filling holes, and performing topological denoising operations, global parameterization is performed in conjunction with harmonic mapping, and the texture space is optimized using scanline filling.

Benefits of technology

It significantly improves computational efficiency, avoids redundant space and redundant pixels, and generates a compact, high-quality texture space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116051711B_ABST
    Figure CN116051711B_ABST
Patent Text Reader

Abstract

This application discloses a method and related products for optimizing the texture space of 3D model data. The method includes acquiring 3D model data to be optimized; performing preprocessing operations on the 3D model data to obtain preprocessed 3D model data; globally parameterizing the preprocessed 3D model data based on harmonic mapping to obtain its corresponding new texture coordinates; and filling the new texture space formed by the new texture coordinates using scanline filling based on the texture information of the 3D model data, thereby optimizing the texture space of the 3D model data. Using the solution of this application, texture space optimization can be achieved efficiently, and a new, compact texture space can be generated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application generally relates to texture mapping. More specifically, this application relates to a method, apparatus, and computer-readable storage medium for optimizing the texture space of three-dimensional model data. Background Technology

[0002] Texture mapping is a technique that maps a three-dimensional surface space to a two-dimensional texture space. In other words, texture mapping transforms the spatial coordinates of an object into texture coordinates, and then extracts the values ​​of the corresponding points from the texture to enhance shading details. Currently, various algorithms exist for texture mapping. For example, Lévy's algorithm based on quasi-conformal parameterization uses the least-squares approximation based on the Cauchy-Riemann equations to define an objective function that minimizes angular distortion, thus parameterizing to obtain large graphs. Another example is Balmelli's algorithm based on physical space reduction of texture images, which optimizes the use of texture space by calculating the distortion function of image and texture coordinates, thereby reducing texture memory usage. However, existing algorithms all have high computational costs and generate redundant space and irrelevant textures, thus failing to generate a compact texture space. Summary of the Invention

[0003] To at least partially address the technical problems mentioned in the background art, this application provides a scheme for optimizing the texture space of 3D model data. Using the scheme of this application, texture space optimization can be achieved efficiently, and a new, compact texture space can be generated. To this end, this application provides solutions in the following aspects.

[0004] In a first aspect, this application provides a method for optimizing the texture space of three-dimensional model data, comprising: acquiring three-dimensional model data to be optimized; performing a preprocessing operation on the three-dimensional model data to obtain preprocessed three-dimensional model data; globally parameterizing the preprocessed three-dimensional model data based on harmonic mapping to obtain its corresponding new texture coordinates; and filling the new texture space formed by the new texture coordinates using scanline filling based on the texture information of the three-dimensional model data, so as to optimize the texture space of the three-dimensional model data.

[0005] In one embodiment, performing a preprocessing operation on the 3D model data includes: repairing non-manifold elements in the 3D model data to perform a preprocessing operation on the 3D model data.

[0006] In another embodiment, the preprocessing operation on the 3D model data further includes performing hole-filling and / or topology denoising operations on the 3D model data to perform preprocessing operations on the 3D model data.

[0007] In another embodiment, the surface of the three-dimensional model data comprises a mesh formed by connecting multiple vertices, and performing hole-filling and / or topology denoising operations on the three-dimensional model data includes: calculating the average coordinates of the original vertices surrounding the holes in the three-dimensional model data and using them as new vertices; connecting the new vertices with the original vertices to perform hole-filling operations on the three-dimensional model data; and / or performing topology denoising operations on the three-dimensional model data based on isomorphism methods.

[0008] In yet another embodiment, the global parameterization of the preprocessed 3D model data based on harmonic mapping to obtain its corresponding new texture coordinates includes: cutting the mesh of the preprocessed 3D model data to a topological disk; and mapping the topological disk to a unit rectangular region based on harmonic mapping for global parameterization to obtain its corresponding new texture coordinates.

[0009] In another embodiment, the optimization of the texture space of the three-dimensional model data by filling the new texture space formed by the new texture coordinates with scan lines based on the texture information of the three-dimensional model data includes: scanning the new texture space along the horizontal direction to obtain the intersection of the horizontal scan line and the vertices in the new texture space; sorting and pairing the intersections to obtain paired points; and filling the scan line segments between the paired points based on the texture information of the three-dimensional model data to optimize the texture space of the three-dimensional model data.

[0010] In yet another embodiment, sorting and pairing the intersections to obtain paired points includes: determining the number of intersections; and sorting and pairing the intersections according to the number of intersections to obtain paired points.

[0011] In another embodiment, sorting and pairing according to the number of intersections to obtain paired points includes: in response to an even number of intersections, sorting the intersections and pairing them in pairs to obtain paired points; or in response to an odd number of intersections, sorting the intersections and determining the extreme points among the intersections, and pairing the extreme points with their preceding and following intersections respectively to obtain paired points.

[0012] In a second aspect, this application also provides an apparatus for optimizing the texture space of three-dimensional model data, comprising: a processor; and a memory storing program instructions for optimizing the texture space of the three-dimensional model data, wherein when the program instructions are executed by the processor, the apparatus implements the various embodiments of the first aspect described above.

[0013] In a third aspect, this application also provides a computer-readable storage medium storing computer-readable instructions for optimizing the texture space of three-dimensional model data, which, when executed by one or more processors, implement the various embodiments of the first aspect described above.

[0014] The scheme of this application globally parameterizes the preprocessed 3D model data based on harmonic mapping to obtain new texture coordinates, making the optimization method of this application more robust and significantly improving computational efficiency. Furthermore, the embodiments of this application use scanline filling to fill the new texture space formed by the new texture coordinates based on the texture information of the 3D model data, which avoids generating redundant space, redundant pixels, and irrelevant textures, thereby generating a new, compact texture space. In addition, this application also improves the quality of the new texture space by preprocessing the 3D model data by repairing non-manifold elements and performing hole-filling and / or topology denoising operations. Attached Figure Description

[0015] The above and other objects, features, and advantages of exemplary embodiments of this application will become readily understood by reading the following detailed description with reference to the accompanying drawings. In the drawings, several embodiments of this application are illustrated by way of example and not limitation, and the same or corresponding reference numerals denote the same or corresponding parts, wherein:

[0016] Figure 1 This is an exemplary flowchart illustrating a method for optimizing the texture space of three-dimensional model data according to an embodiment of this application;

[0017] Figure 2 This is an exemplary schematic diagram illustrating three-dimensional model data according to an embodiment of this application;

[0018] Figure 3 This is an exemplary schematic diagram illustrating a topological disk and its mapping to a unit rectangular region according to an embodiment of this application;

[0019] Figure 4 This is an exemplary schematic diagram illustrating the use of scanline filling to fill a new texture space formed by new texture coordinates according to an embodiment of this application;

[0020] Figure 5 This is an exemplary schematic diagram showing the texture space of a 3D model data before and after optimization according to an embodiment of this application;

[0021] Figure 6 This is yet another exemplary schematic diagram showing the texture space of a 3D model data before and after optimization according to an embodiment of this application; and

[0022] Figure 7This is an exemplary structural block diagram illustrating an apparatus for optimizing the texture space of three-dimensional model data according to an embodiment of this application. Detailed Implementation

[0023] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the embodiments described in this specification are only some embodiments provided by this application for the purpose of facilitating a clear understanding of the solutions and complying with legal requirements, and are not all embodiments that can be implemented in this application. Based on the embodiments disclosed in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0024] Figure 1 This is an exemplary flowchart illustrating a method 100 for optimizing the texture space of three-dimensional model data according to an embodiment of this application. Figure 1 As shown, in step 102, the 3D model data to be optimized is acquired. It can be understood that the 3D model data is composed of vertices and triangular faces; vertex information defines edge information, and edge information is used to construct triangular facet information. Therefore, the 3D model data is composed of multiple triangular faces, which can flexibly and realistically represent real-world objects (e.g.,...). Figure 2 The lesion area shown Figure 5 The vase shown and Figure 6 (The building shown). In some embodiments, the aforementioned three-dimensional model data may be in OFF format or OBJ format.

[0025] Based on the acquired 3D model data to be optimized, in step 104, a preprocessing operation is performed on the 3D model data to obtain preprocessed 3D model data. In one embodiment, the preprocessing operation can be performed on the 3D model data by repairing non-manifold elements in the 3D model data. Non-manifold elements include non-manifold vertices and non-manifold edges in the 3D model data. For example, an edge intersected by more than two triangles is a non-manifold edge. Or, a vertex where two triangular pyramids meet is a non-manifold vertex. That is, overlapping or interfering vertices or edges in the 3D model data are non-manifold elements. In the implementation scenario, the vertices and edges of the non-manifold model data can be sliced, dividing the non-manifold model into multiple manifold models to repair the non-manifold elements in the 3D model data. For the multiple manifold models, subsequent operations can be performed separately on each manifold model to optimize the texture space of the 3D model data.

[0026] In one embodiment, preprocessing operations can also be performed on the 3D model data by performing hole-filling and / or topology denoising operations on the 3D model data. As mentioned above, the 3D model data is composed of vertices and triangular faces, and its surface contains a mesh formed by connecting multiple vertices. Specifically, hole-filling operations can be performed on the 3D model data by calculating the average coordinates of the original vertices surrounding the holes in the 3D model data and using them as new vertices, and then connecting the new vertices with the original vertices; and / or topology denoising operations can be performed on the 3D model data based on isomorphism methods.

[0027] It's important to understand that manifold model data typically contains "holes," and the definition of these "holes" varies depending on the type of surface. For example, on a closed surface with a genus (the maximum number of closed curves that can be drawn that cannot divide the surface), the genus can be understood as a "hole," and thus the genus is considered equal to the number of holes. However, on a surface with boundaries, another type of "hole" appears, through which the surface can be divided into two parts. Therefore, "holes" on a surface with boundaries do not conform to the definition of genus.

[0028] As mentioned earlier, a new vertex can be calculated by averaging the coordinates of the original vertices surrounding the hole in the 3D model data. For example, suppose the new vertex is denoted as V. new ,but Where v i Represents the original vertices surrounding the hole, coord(v i Let 'n' represent the coordinates of the original vertices surrounding the hole, and 'n' represent the number of original vertices surrounding the hole. Then, the new vertex is connected to the original vertices surrounding the hole, thus completing the hole-filling operation. After the hole-filling operation, the mesh of the 3D model data may contain some topological noise points. In this case, an isomorphism-based method can be used to perform topological denoising. Based on this, a high-quality mesh model can be obtained, which can then be used to optimize the texture space of the 3D model data to obtain a high-quality new texture space.

[0029] Next, in step 106, the preprocessed 3D model data is globally parameterized based on the harmonic mapping to obtain its corresponding new texture coordinates. In one embodiment, the mesh of the preprocessed 3D model data can first be cut to a topological disk, and then the topological disk can be mapped to a unit rectangular region based on the harmonic mapping for global parameterization to obtain its corresponding new texture coordinates. In one implementation scenario, the mesh of the preprocessed 3D model data can be cut to a topological disk using, for example, a cut graph method. In another implementation scenario, the harmonic energy function E(H)=∫ can be solved. M |dH| 2 du MThe minimum point is used to obtain the harmonic mapping. It can be understood that, given the boundary conditions in the harmonic mapping... and When the function is convex, the solution to the harmonic mapping exists and is unique. That is, harmonic energy function optimization is a linear problem, and thus the harmonic energy function can be solved using, for example, Newton's iteration method, to obtain the harmonic mapping. Further, based on the obtained harmonic mapping, the topological disk is mapped onto a unit rectangular region for global parameterization to obtain its corresponding new texture coordinates.

[0030] After obtaining the new texture coordinates, in step 108, based on the texture information of the 3D model data, scan line filling is used to fill the new texture space formed by the new texture coordinates, thereby optimizing the texture space of the 3D model data. Specifically, the new texture space can be scanned horizontally to obtain the intersection points of the horizontal scan lines and the vertices in the new texture space. Then, the intersection points are sorted and paired to obtain paired points. Subsequently, based on the texture information of the 3D model data, the scan line segments between the paired points are filled to optimize the texture space of the 3D model data. In some embodiments, the aforementioned scanning range can be between the minimum and maximum values ​​of the new texture coordinates in the vertical direction. Specifically, in sorting and pairing the intersection points to obtain paired points, the number of intersection points can first be determined, and then sorted and paired according to the number of intersection points to obtain paired points. In the implementation scenario, in sorting and pairing the intersection points to obtain paired points, the number of intersection points on each scan line is determined separately, and then sorted and paired according to the number of intersection points on each scan line to obtain paired points. In one embodiment, in response to an even number of intersections, the intersections are sorted and paired in pairs to obtain paired points; or in response to an odd number of intersections, the intersections are sorted and extreme points among the intersections are determined, and each extreme point is paired with its preceding and following intersections to obtain paired points.

[0031] Based on the paired points obtained above, texture filling is performed on the scan segments between the paired points to optimize the texture space of the 3D model data. As described above, the new texture coordinates are obtained by globally parameterizing the topological disk onto a unit rectangular region using harmonic mapping. Therefore, there is a correspondence between the vertices of the new texture space and the vertices of the 3D model data. That is, the texture coordinates of the vertices in the new texture space can be mapped to the corresponding vertices in the 3D model data, thus obtaining the texture information (or color information) of the corresponding vertices in the 3D model data. Further, the texture information of the corresponding vertices in the 3D model data is copied to the corresponding new texture coordinates, and the texture information between the paired points is copied to the scan segments for texture filling, thereby optimizing the texture space of the 3D model data. In the implementation scenario, the scan segments between the paired points may fall outside the texture space. In this case, texture filling can be performed only on the scan segments that fall within the texture space, without filling the scan segments that fall outside the texture space. This will be discussed later in conjunction with... Figure 4 The aforementioned texture filling operation is described in detail.

[0032] As described above, this application preprocesses the 3D model data by repairing non-manifold elements, patching holes in the manifold model, and / or performing topological denoising to improve the quality of the 3D model data, thereby facilitating the generation of a high-quality texture space. Furthermore, this application uses harmonic mapping to globally parameterize the preprocessed 3D model data, obtaining new texture coordinates. This makes the application more robust when optimizing the texture space of the 3D model data, significantly improving computational efficiency. Next, this application uses a scanline filling method to fill the new texture space formed by the new texture coordinates, avoiding redundant space, redundant pixels, and irrelevant textures, thus generating a new, compact texture space.

[0033] Figure 2 This is an exemplary schematic diagram illustrating three-dimensional model data according to an embodiment of this application. For example... Figure 2 The image shows 3D model data, consisting of a triangular mesh formed by multiple connected vertices. As mentioned earlier, this 3D model data can first be preprocessed (e.g., repairing non-manifold elements, patching holes, or topological denoising). Then, the preprocessed mesh can be clipped to a topological disk. Finally, based on harmonic mapping, the topological disk is mapped onto a unit rectangular region for global parameterization to obtain its corresponding new texture coordinates. In the implementation scenario, a closed curve can be determined based on the graphcut (e.g., ...). Figure 2(As shown by the middle arrow), the mesh of the preprocessed 3D model data is cut to the topological disk along the closed curve. Further, the aforementioned topological disk is mapped to a unit rectangular region for global parameterization based on harmonic mapping, for example... Figure 3 As shown.

[0034] Figure 3 This is an exemplary schematic diagram illustrating a topological disk according to an embodiment of this application and its mapping to a unit rectangular region. (See attached diagram.) Figure 3 The left-middle image shows a partial topological disk of the 3D model data. Figure 3 The right-hand image shows a unit rectangular region. Each vertex within this unit rectangular region is a point on which the topological disk is mapped to the unit rectangular region based on a harmonic mapping. That is, the vertices in the new texture space, from which the new texture coordinates can be obtained.

[0035] As mentioned earlier, after obtaining the new texture coordinates, the new texture space can first be scanned horizontally to obtain the intersections of the horizontal scan line and the vertices in the new texture space. Next, the intersections are sorted and paired according to their number to obtain paired points. Then, based on the texture information of the 3D model data, the scan line segments between the paired points are filled to optimize the texture space of the 3D model data. Specifically, when the number of intersections is even, the intersections are sorted and paired in pairs to obtain paired points. When the number of intersections is odd, the intersections are sorted, and the extreme points among the intersections are determined. These extreme points are then paired with their preceding and following intersections to obtain paired points. The following will combine... Figure 4 Describe in detail the operation of filling the new texture space formed by the new texture coordinates using scanline fill.

[0036] Figure 4 This is an exemplary schematic diagram illustrating the use of scanline filling to fill a new texture space formed by new texture coordinates according to an embodiment of this application. For example... Figure 4 The example illustrates a polygonal mesh formed by partial new texture coordinates P1, P2, P3, P4, P5, and P6 in the new texture space. Based on this polygonal mesh, the maximum value y in the y-direction can first be determined. max and minimum value y min Then in the y min To y maxInitialize scan lines within a range and scan horizontally. For example, assuming P2 has the smallest y-coordinate value of 1 and P4 has the largest y-coordinate value of 8, initialize scan lines within the range of 1 to 8 and scan horizontally to obtain the intersections of the horizontal scan lines and vertices in the new texture space. In an exemplary scene, the aforementioned intersections include A, B, C, D, E, F, and G, in addition to P1, P2, P3, P4, P5, and P6. Further, determine the number of intersections on each scan line to sort and pair them according to the number of intersections. When the number of intersections is even, sort the intersections and pair them in pairs to obtain paired points. When the number of intersections is odd, sort the intersections and determine the extreme points among the intersections, and pair each extreme point with its preceding and following intersection points to obtain paired points.

[0037] Taking intersection points A, B, C, and D as an example, since their number is even, they can be sorted (e.g., from left to right) and then paired in pairs, such as A and B, C and D, to form paired points. Next, based on the texture information of the corresponding points on the 3D model data for A and B, and C and D, texture filling is applied to the line segments between A and B, A and B, C and D, and C and D, to optimize the texture space of the 3D model data. In this case, since the scan line segment between B and C is outside the polygon mesh (i.e., outside the new texture space), it can be ignored during texture filling. Taking intersection points F, P5, and G as an example, since their number is odd, they can be sorted (e.g., from left to right) and their extreme points determined. As an example, assuming the extreme point is P5, P5 is paired with its preceding intersection point F and its following intersection point G to obtain paired points. Similarly, based on the texture information of the corresponding points of F, P5, and G in the 3D model data, the line segments between F and P5, between F and P5, and between P5 and G, P5 and GF and P5 are texture-filled to optimize the texture space of the 3D model data.

[0038] Figure 5 This is an exemplary schematic diagram showing the texture space of a 3D model data before and after optimization according to an embodiment of this application. Figure 5As shown in the figures, figures (a) and (b) respectively show the before and after views of the original 3D model data, while figures (c) and (d) contain multiple texture boundaries of the original 3D model data. The upper part of figure (e) shows the input original texture image, and the lower part of figure (e) shows the texture image actually used. Further, figures (f) and (g) are before and after views of the 3D model data obtained according to the embodiments of this application, figures (h) and (i) contain only one texture boundary, and figure (j) is the optimized texture image obtained according to the embodiments of this application.

[0039] Figure 6 This is yet another exemplary schematic diagram showing the texture space of a 3D model data before and after optimization according to an embodiment of this application. Figure 6 As shown in the figures, (a), (b), (e), and (f) are the original 3D model data and the corresponding texture image, respectively; (c), (d), and (g) are the 3D model data and the corresponding texture image of an embodiment of this application, respectively. Figure (b) contains multiple texture boundaries, while figure (d) contains only one texture boundary. Further, figures (e) and (f) are texture images of the original 3D model data, and figure (g) is the optimized texture image obtained according to an embodiment of this application.

[0040] From the above Figure 5 and Figure 6 It can be seen that the texture space before optimization contains a lot of redundant space (e.g. Figure 5 (as shown in the blank area of ​​figure (e)) and contains a large number of unrelated textures (e.g. Figure 6 As shown in Figures (e) and (f), the solution according to the embodiments of this application can avoid generating redundant space, redundant pixels, and irrelevant textures, thereby obtaining a compact, high-quality texture space (e.g., ...). Figure 5 The (j) graph and Figure 6 (as shown in Figure (g)).

[0041] Figure 7 This is an exemplary structural block diagram illustrating a device 700 for optimizing the texture space of three-dimensional model data according to an embodiment of this application. It will be understood that the device implementing the solution of this application can be a single device (e.g., a computing device) or a multifunctional device including various peripheral devices.

[0042] like Figure 7As shown, the device of this application may include a central processing unit (“CPU”) 711, which may be a general-purpose CPU, a special-purpose CPU, or other information processing and program execution unit. Furthermore, the device 700 may also include a mass storage 712 and a read-only memory (“ROM”) 713, wherein the mass storage 712 may be configured to store various types of data, including various 3D model data to be optimized, algorithm data, intermediate results, and various programs required to run the device 700. The ROM 713 may be configured to store data and instructions required for the device 700's power-on self-test, the initialization of various functional modules in the system, the system's basic input / output drivers, and the booting of the operating system.

[0043] Optionally, device 700 may also include other hardware platforms or components, such as the tensor processing unit (“TPU”) 714, graphics processing unit (“GPU”) 715, field-programmable gate array (“FPGA”) 716, and machine learning unit (“MLU”) 717 shown. It is understood that although various hardware platforms or components are shown in device 700, they are merely exemplary and not limiting, and those skilled in the art can add or remove appropriate hardware as needed. For example, device 700 may implement the method for optimizing the texture space of 3D model data of this application by including only a CPU, associated storage devices, and interface devices.

[0044] In some embodiments, to facilitate data transmission and interaction with external networks, the device 700 of this application further includes a communication interface 718, through which it can connect to a local area network / wireless local area network (“LAN / WLAN”) 705, and further through the LAN / WLAN to connect to a local server 706 or to the Internet (“Internet”) 707. Alternatively or additionally, the device 700 of this application can also directly connect to the Internet or cellular network via the communication interface 718 based on wireless communication technology, such as 3G (“3G”), 4G (“4G”), or 5G (“5G”) wireless communication technology. In some application scenarios, the device 700 of this application can also access the server 708 and database 709 of an external network as needed to obtain various known algorithms, data, and modules, and can remotely store various data, such as various data or instructions for presenting, for example, 3D model data, topology disks, new texture spaces, etc.

[0045] The peripheral devices of device 700 may include a display device 702, an input device 703, and a data transmission interface 704. In one embodiment, the display device 702 may include, for example, one or more speakers and / or one or more visual displays, configured to provide voice prompts and / or display images and videos in the texture space of the optimized 3D model data of this application. The input device 703 may include, for example, a keyboard, mouse, microphone, gesture capture camera, and other input buttons or controls, configured to receive audio data input and / or user commands. The data transmission interface 704 may include, for example, a serial interface, parallel interface, or Universal Serial Bus interface (“USB”), Small Computer System Interface (“SCSI”), Serial ATA, FireWire (“FireWire”), PCI Express, and High Definition Multimedia Interface (“HDMI”), configured for data transmission and interaction with other devices or systems. According to the scheme of this application, the data transmission interface 704 can receive 3D model data to be optimized acquired from a 3D scanner and transmit to device 700 the 3D model data to be optimized or various other types of data or results.

[0046] The CPU 711, mass storage 712, ROM 713, TPU 714, GPU 715, FPGA 716, MLU 717, and communication interface 718 of the device 700 of this application can be interconnected via bus 719, and can interact with peripheral devices through this bus. In one embodiment, the CPU 711 can control other hardware components in the device 700 and its peripheral devices through this bus 719.

[0047] The above combination Figure 7 This application describes a device for optimizing the texture space of 3D model data. It should be understood that the device structure or architecture described herein is merely exemplary, and the implementation methods and entities of this application are not limited thereto, but can be modified without departing from the spirit of this application.

[0048] Based on the foregoing description in conjunction with the accompanying drawings, those skilled in the art will understand that the embodiments of this application can also be implemented by a software program. Therefore, this application also provides a computer program product. This computer program product can be used to implement the embodiments of this application in conjunction with the accompanying drawings. Figures 1-6 The method described is for optimizing the texture space of 3D model data.

[0049] It should be noted that although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. On the contrary, the steps depicted in the flowchart can be performed in a different order. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0050] It should be understood that the terms "comprising" and "including" used in the specification and claims of this application indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.

[0051] It should also be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application. As used in this specification and claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this specification and claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes such combinations.

[0052] Although the embodiments of this application are described above, the content is merely an example adopted for the purpose of facilitating understanding of this application and is not intended to limit the scope and application scenarios of this application. Any person skilled in the art described in this application may make any modifications and changes in the form and details of the implementation without departing from the spirit and scope disclosed in this application, but the scope of patent protection of this application shall still be determined by the scope defined in the appended claims.

Claims

1. A method for optimizing the texture space of 3D model data, comprising: Obtain the 3D model data to be optimized; Perform preprocessing operations on the three-dimensional model data to obtain preprocessed three-dimensional model data; The preprocessed 3D model data is globally parameterized based on harmonic mapping to obtain its corresponding new texture coordinates. as well as Based on the texture information of the 3D model data, scanline filling is used to fill the new texture space formed by the new texture coordinates, thereby optimizing the texture space of the 3D model data. The process of globally parameterizing the preprocessed 3D model data based on harmonic mapping to obtain its corresponding new texture coordinates includes: The mesh of the preprocessed 3D model data is cut to a topological disk; and The topological disk is mapped to a unit rectangular region based on harmonic mapping and then globally parameterized to obtain its corresponding new texture coordinates. The optimization of the texture space of the 3D model data by filling the new texture space formed by the new texture coordinates with scanline filling based on the texture information of the 3D model data includes: Scan the new texture space horizontally to obtain the intersection of the horizontal scan line and the vertices in the new texture space; Determine the number of intersection points; In response to an even number of intersection points, the intersection points are sorted and paired up to obtain paired points; or In response to the fact that the number of intersections is odd, the intersections are sorted and the extreme points among the intersections are determined. The extreme points are then paired with their preceding and following intersections to obtain paired points. The scan line segments between the paired points are filled based on the texture information of the 3D model data to optimize the texture space of the 3D model data.

2. The method according to claim 1, wherein performing preprocessing operations on the three-dimensional model data includes: Repair the non-manifold elements in the 3D model data to perform preprocessing operations on the 3D model data.

3. The method according to claim 1, wherein performing preprocessing on the three-dimensional model data further comprises: Perform hole-filling and / or topology denoising operations on the 3D model data to perform preprocessing operations on the 3D model data.

4. The method according to claim 3, wherein the surface of the three-dimensional model data comprises a mesh formed by connecting multiple vertices, and performing hole-filling operation and / or topology denoising operation on the three-dimensional model data includes: Calculate the average coordinates of the original vertices around the hole in the 3D model data and use them as new vertices; Connect the new vertex to the original vertex to perform a hole-filling operation on the 3D model data; and / or Topological denoising is performed on the 3D model data based on the isomorphism method.

5. An apparatus for optimizing the texture space of three-dimensional model data, comprising: processor; as well as A memory storing program instructions for optimizing the texture space of three-dimensional model data, which, when executed by the processor, cause the device to implement the method according to any one of claims 1-4.

6. A computer-readable storage medium storing computer-readable instructions for optimizing the texture space of three-dimensional model data, wherein the computer-readable instructions, when executed by one or more processors, implement the method as described in any one of claims 1-4.