Optimization method and apparatus for three-dimensional model, and embedded system and medium

WO2026175309A1PCT designated stage Publication Date: 2026-08-27VALEO INTERIOR CONTROLS (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/078859
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-21
Filing Date
2026-02-12
Publication Date
2026-08-27

Smart Images

  • Figure CN2026078859_27082026_PF_FP_ABST
    Figure CN2026078859_27082026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are an optimization method and apparatus for a three-dimensional model, and an embedded system and a computer-readable storage medium. The three-dimensional model comprises a non-textured component set. The optimization method may comprise: determining components to be optimized in a non-textured component set, the components to be optimized being related to highlight points; for each component other than the components to be optimized in the non-textured component set, executing an optical computing process on the basis of an illumination model, wherein the optical computing process comprises computing an illumination value set for the component; during the execution of a optical computing process for each component to be optimized, omitting the computation of illumination values, which are related to the highlight points, in the illumination value set; and on the basis of the optical computing process for non-textured components in the non-textured component set, determining combined illumination values for the non-textured component, and on the basis of the combined illumination values, rendering and displaying the non-textured components. Images of textured components in the three-dimensional model may also be optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Optimization methods and apparatuses, embedded systems and media for 3D models Technical Field

[0001] This invention relates to an optimization method for three-dimensional models, an optimization apparatus for three-dimensional models, an embedded system, and a non-transitory computer-readable storage medium. Background Technology

[0002] Current embedded systems (e.g., embedded development platforms) combine graphics processing units (GPUs) with embedded systems, typically used in high-performance computing, machine vision, and artificial intelligence. These platforms integrate high-power GPU cores while maintaining the compactness and low power consumption of embedded systems. In automotive modeling applications, the parallel processing capabilities of GPUs can be leveraged to accelerate the 3D modeling process of automobiles. This improves modeling efficiency and enhances model quality.

[0003] Typically, GPUs also render models to visualize digital models, such as converting information like 3D models, textures, and lighting effects into images on the screen. Therefore, providing users with more realistic and natural model images has been a key research topic in this field. Summary of the Invention

[0004] The purpose of the embodiments disclosed herein is to provide an optimization scheme for three-dimensional models, thereby providing users with more realistic and natural model images.

[0005] According to one aspect of this disclosure, an optimization method for a three-dimensional model is provided, the three-dimensional model including a set of non-textured components, the optimization method comprising: identifying components in the set of non-textured components that are associated with specular highlights to be optimized; performing a light calculation process based on a lighting model for each component in the set of non-textured components other than the component to be optimized, the light calculation process including calculating a set of lighting values ​​for the component; omitting the calculation of lighting values ​​associated with the specular highlights in the set of lighting values ​​during the light calculation process for the component to be optimized; and determining a combined lighting value for the non-textured component based on the light calculation process for each non-textured component in the set of non-textured components, and rendering and displaying the non-textured component based on the combined lighting value.

[0006] According to embodiments of this disclosure, the three-dimensional model further includes a texture component, and the optimization method further includes: determining a sampling region image in an image of the texture component based on sampling basic units for pixel sampling; blurring at least one boundary of the sampling region image to obtain an image including the blurred at least one boundary as a first image; performing pixel sampling on the first image; and displaying the pixel-sampled first image.

[0007] According to an embodiment of this disclosure, the lighting model is the Von Nielsen lighting model, the set of lighting values ​​includes ambient lighting values, diffuse lighting values, and specular lighting values, and the lighting value associated with the highlight is the specular lighting value.

[0008] According to embodiments of this disclosure, the calculation of specular illumination values ​​in the set of illumination values ​​is omitted during the optical calculation for the component to be optimized, including: calculating the ambient illumination value and the diffuse illumination value for the component to be optimized based on the illumination model; and setting the specular illumination value for the component to be optimized to 0, wherein the combined illumination value for the component to be optimized is obtained by adding the ambient illumination value, the diffuse illumination value, and the specular illumination value set to 0 for the non-texture component.

[0009] According to embodiments of this disclosure, each non-texture component includes a plurality of rendering vertices, and the lighting value set of each non-texture component includes the lighting value set of each rendering vertex of the non-texture component.

[0010] According to embodiments of this disclosure, blurring at least one boundary of the sampled region image includes: increasing the transparency of the sampled region image or filtering the sampled region image.

[0011] According to embodiments of this disclosure, blurring at least one boundary of the sampled region image includes: increasing the transparency of the region image within the pixel area surrounding the at least one boundary or filtering the region image.

[0012] According to embodiments of this disclosure, determining the component to be optimized related to the highlight point includes determining the component to be optimized in response to a user's selection of the component to be optimized related to the highlight point.

[0013] According to an embodiment of this disclosure, the optimization method further includes: acquiring an image of the display screen of the three-dimensional model before optimization, wherein the component to be optimized related to the highlight point is determined based on the analysis of the image.

[0014] According to embodiments of this disclosure, the component to be optimized related to the highlight includes one or more of the following: the joint component between the top of the door and the window, the door handle, or the fuel tank cap; or the texture component includes one or more of the following: a chrome strip above the glass, a continuous taillight strip, and a wheel hub.

[0015] According to another aspect of this disclosure, an optimization apparatus for a three-dimensional model is provided, the three-dimensional model including a set of non-textured components, the optimization apparatus comprising: a determining module for determining a component in the set of non-textured components that is associated with a highlight; a light calculation module for performing a light calculation process based on a lighting model for each component in the set of non-textured components other than the component to be optimized, the light calculation process including calculating a set of lighting values ​​for the component, and omitting the calculation of lighting values ​​associated with the highlight in the set of lighting values ​​during the light calculation process for the component to be optimized; and a display module for determining a combined lighting value for the non-textured component based on the light calculation process for each non-textured component in the set of non-textured components, and rendering and displaying the non-textured component based on the combined lighting value.

[0016] According to embodiments of this disclosure, the three-dimensional model further includes a texture mapping component, and the optimization device further includes an image processing module, wherein the image processing module is configured to: determine a sampling region image in an image of the texture mapping component based on sampling basic units for pixel sampling; blur at least one boundary of the sampling region image to obtain an image including the blurred at least one boundary as a first image; perform pixel sampling on the first image; and wherein the display module is further configured to display the pixel-sampled first image.

[0017] According to another aspect of this disclosure, an embedded system is provided, comprising: one or more processors; one or more graphics processors; and one or more memories storing a computer program thereon, which, when executed by the one or more processors and / or the one or more graphics processors, causes the one or more processors and / or the one or more graphics processors to perform the optimization method as described above.

[0018] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided, on which a computer program is stored, which, when executed by one or more processors and / or one or more graphics processors, causes the one or more processors and / or one or more graphics processors to perform the optimization method as described above.

[0019] According to the optimization scheme for 3D models in the embodiments of this disclosure, by setting the illumination value that causes the highlight problem to 0, the parts that are finally rendered and displayed can be protected from the effects of highlights, thus allowing these parts to be displayed more naturally and realistically. Furthermore, for textured parts, by introducing blurring during the sampling process of the textured part's image, the two colors on both sides of the boundary of the sampled area image in the textured part's image can be better blended, thus mitigating general aliasing problems such as jagged edges.

[0020] The invention will be better understood by reading the following description and consulting the accompanying drawings. These drawings are provided purely illustratively and are not intended to limit the scope of the invention. Attached Figure Description

[0021] The accompanying drawings are included to provide a further understanding of this disclosure, and are incorporated in and form a part of this specification. The drawings illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the disclosure.

[0022] Figure 1 shows an exemplary block diagram of an embedded system according to some embodiments of the present disclosure.

[0023] Figures 2A and 2B show examples of visual distortion problems at or between different parts in a 3D vehicle model.

[0024] Figure 3 shows a flowchart illustrating an optimization method for a three-dimensional model according to some embodiments of the present disclosure.

[0025] Figures 4A and 4B respectively show examples of sets of illumination values ​​according to some embodiments of the present disclosure.

[0026] Figures 5A-5B illustrate schematic diagrams of pixel sampling for a basic sampling unit (triangle) according to some embodiments of the present disclosure.

[0027] Figure 6 shows a schematic diagram of the pixel sampling effect after blurring the basic sampling unit.

[0028] Figure 7 illustrates the optimization effect on the highlight problem and general aliasing problem in a 3D car model after adopting the optimization scheme according to the embodiments of the present disclosure.

[0029] Figure 8 shows an exemplary structural block diagram of an optimization apparatus for a three-dimensional model according to some embodiments of the present disclosure. Detailed Implementation

[0030] To make the objectives, technical solutions, and advantages of this disclosure clearer, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this disclosure. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

[0031] Figure 1 is an exemplary block diagram of an embedded system provided according to some embodiments of the present disclosure.

[0032] As shown in Figure 1, the embedded system 100 (e.g., an embedded development platform) can be implemented using discrete components of one or more of the components shown in Figure 1. The embedded system 100 may also include other components not shown in Figure 1, as discussed more fully below.

[0033] For example, the processor 200 in the embedded system 100 may include one or more central processing units (CPUs), each CPU including one or more CPU cores. The graphics processor 300 in the embedded system 100 may include one or more graphics processing units (GPUs), each GPU including thousands of GPU cores. Each GPU can be used for any advanced processing task, especially complex tasks that benefit from massively parallel processing. For such computer graphics and parallel processing, each GPU typically exhibits a better performance-to-power ratio than each CPU.

[0034] The embedded system 100 may also include a memory 400, which may consist of one or more storage elements, including RAM, SRAM, DRAM, VRAM, flash memory, hard disk, and other components and devices capable of storing at least one bit of data. The memory 400 preferably includes on-chip memory and may include L2 or L3 cache for use by the processor 200 and / or graphics processor 300.

[0035] The input / output (I / O) interface 500 may include one or more input / output interfaces (and / or components implementing such interfaces) for transmitting data (e.g., commands, responses, information) to one or more input and / or output devices, including displays, sensors, keyboards, and user interface devices.

[0036] Bus 600 may be one or more links that allow components (200-500) to exchange data (e.g., commands, responses, information) with each other and with input and / or output devices via input / output interface 500. Bus 600 may include one or more bus standards, switches, and networks, including but not limited to Ethernet, CAN, I2C bus, or PC Express bus.

[0037] In the process of 3D modeling (such as automotive 3D modeling) in embedded system 100, after rendering, due to the performance limitations of the graphics processing unit (GPU), the rendered 3D model presented to the user may still have some visual distortion issues in some scenarios, which will affect the user experience.

[0038] Furthermore, the surface of the target object (e.g., a car) is typically divided into different regions. This allows for the modeling process to target and model available candidate parts for each surface region, providing various options for developers to use in the subsequent model rendering. For example, in rendering a 3D model, developers can first select parts with appropriate model parameters for each surface region. Optionally, for parts in certain surface regions, texture mapping can be used, meaning that parts in these surface regions do not require model parameters but only part images. All parts can be combined to form a 3D model of the target object. In other words, the final rendered 3D model presented to the user includes non-textured parts (rendered based on model parameters) and textured parts (based on pixel sampling).

[0039] For example, Figures 2A and 2B show examples of visual distortion problems at or between individual components in a 3D vehicle model.

[0040] As shown in Figure 2A, the components at the junction between the car window and the door (represented by P1), the fuel tank cap (represented by P2), and the door handle (represented by P3) are usually non-textured components, and there are aliasing issues related to specular highlights (hereinafter referred to as specular highlight issues).

[0041] For example, these non-textured components need to be rendered in conjunction with lighting models to provide a more realistic effect. A lighting model is a computer simulation method for lighting effects, used to simulate the behavior of light rays from a light source in a virtual world or computer graphics, primarily affecting lighting, shadows, and reflections in graphics rendering. In embodiments of this disclosure, taking the Von Leigh lighting model as an example, the light calculation process involves a set of lighting values ​​associated with the lighting model, such as ambient lighting values, diffuse lighting values, and specular lighting values. Other lighting models are similarly associated with corresponding sets of lighting values.

[0042] When the Von der Lune lighting model is used in light calculations, the following relationship exists: Color = Ambient Light Value + Diffuse Light Value + Specular Light Value = Ambient Light Coefficient * Light Source Color * Object Color + Diffuse Light Coefficient * Light Source Color * Object Color * max(dot(n, l), 0) + Specular Light Coefficient * Light Source Color * Object Color * (cosθ)^s

[0043] The light source color is fixed and can include multiple color components (e.g., RGB color components), and the object color can be the corresponding multiple color components (e.g., RGB color components) of each rendering vertex (basic unit, which can be a pixel, or a pixel corresponding to multiple rendering vertices, or a rendering vertex corresponding to multiple pixels) of the part.

[0044] In addition, the ambient light coefficient is between 0 and 1, for example, 0.1 can be selected as needed, the diffuse reflection coefficient is also between 0 and 1, which varies depending on the color and material of the surface, and the specular light coefficient is also between 0 and 1, for example, 0.5 can be selected as needed.

[0045] In calculating diffuse illumination, dot(n, l) represents the dot product of the ray direction vector l and the surface normal vector n, converted to unit vectors, to determine cosθ. θ is the angle between the ray direction and the normal vector; the smaller θ is, the more energy the surface receives, and the brighter the surface. It also considers that cosθ may be negative, which is unnecessary in illumination calculations; in this case, the diffuse illumination value should be 0.

[0046] In addition, when calculating specular illumination, the exponent 's' of cosθ is also a freely specifyable number. It controls the size of the highlight area, which is called reflectivity. The larger 's' is, the smaller the highlight area.

[0047] In other words, after each rendering vertex goes through the light calculation process, it will eventually be displayed according to the associated set of lighting values.

[0048] However, at these junctions or edges shown in Figure 2A, since the specular illumination values, as mentioned above, need to be calculated based on the direction vector l of the light and the normal vector n of the object surface, if the normal is not smooth, it will cause aliasing problems related to the highlight.

[0049] [Correction based on Rule 91 06.05.2026] As shown in Figure 2B, the components at the chrome strip above the window (represented by P4), the connected taillight strip (represented by P5), and the wheel hub (represented by P6) are usually textured components, and there are display deviations due to pixel sampling, resulting in problems such as jagged edges (hereinafter referred to as general aliasing problems, the specific causes of which will be described in the following text with reference to Figures 5A-5B).

[0050] Therefore, embodiments of this disclosure provide a solution that can optimize the generated 3D model to mitigate the two visual distortion problems mentioned above.

[0051] Figure 3 illustrates a flowchart of an optimization method for a 3D model according to some embodiments of the present disclosure. This optimization method can be executed by an embedded system as shown in Figure 1, for example, by a processor included in the embedded system or a processor combined with a graphics processor.

[0052] As shown in Figure 3, in step S310, the component to be optimized related to the highlight point is determined in the non-texture component set.

[0053] For example, a 3D model may include a collection of non-textured parts containing one or more non-textured components. These non-textured components have corresponding model parameters, and the rendering process of these components needs to be based on these model parameters. For example, model parameters may include the size parameters, color parameters, and / or material parameters of the corresponding components, etc.

[0054] As described above with reference to Figure 2A, one or more non-textured components in the non-textured component set may have highlight issues, thus requiring optimization of these non-textured components (referred to as highlight-related optimization components). For example, a user can specify which non-textured components in the non-textured component set need optimization, so the processor can, for example, determine the highlight-related optimization components in response to the user's selection. Alternatively, the highlight-related optimization components can be preset or default. In other embodiments, highlight-related optimization components can also be determined based on image analysis. For example, an image of the unoptimized 3D model can be acquired, and then the highlight-related optimization components can be determined based on the analysis of the image, followed by subsequent steps to optimize and re-render and display them.

[0055] For example, in the case of a 3D car model, the parts to be optimized may include one or more of the joint parts between the top of the door and the window, the door handle, or the fuel tank cap.

[0056] In step S320, for each component in the non-texture component set except for the component to be optimized, a light calculation process is performed based on the lighting model. The light calculation process includes calculating a set of lighting values ​​for that component.

[0057] For example, as mentioned earlier, the lighting model could be a Von Nielsen lighting model, thus the corresponding set of lighting values ​​includes ambient light values, diffuse light values, and specular light values, each type of lighting value including three values ​​for the RGB color components. Each rendered vertex can have its own ambient light value, diffuse light value, and specular light value. Optionally, the lighting calculation process can be performed on a per-vertex basis, and the lighting calculation process includes calculating the ambient light value, diffuse light value, and specular light value for each rendered vertex, and adding the values ​​of the corresponding color components in each type of lighting value for each rendered vertex to obtain a combined lighting value for each rendered vertex, which is related to the final rendered color.

[0058] In other words, for non-textured components that do not require optimization, the lighting calculation process can proceed normally. For example, during the normal rendering process for each rendered vertex, the graphics processor can determine the ambient lighting value, diffuse lighting value, and specular lighting value in the set of lighting values ​​used for that rendered vertex based on the lighting model.

[0059] For example, the code snippet shown in Figure 4A illustrates an example of ambient lighting, diffuse lighting, and specular lighting values ​​calculated for a single rendered vertex without optimization. For instance, the ambient lighting values ​​(0.2098, 0.2415, 0.281), diffuse lighting values ​​(0.399, 0.426, 0.47), and specular lighting values ​​(0.9, 0.9, 0.9) for this rendered vertex can be calculated according to the light calculation process described earlier with reference to Figure 2A. Optionally, in some examples, as schematically shown in Figure 4A, the diffuse lighting values ​​may also include a value of 1 representing transparency, and the specular lighting values ​​may also include a value of 4 representing reflectivity.

[0060] In step S330, during the optical calculation for the component to be optimized, the illumination values ​​related to the highlight point in the set of illumination values ​​are omitted.

[0061] As described above in conjunction with Figure 2A, in the case of the Von Leigh lighting model, the specular highlight-related aliasing problem is mainly caused by the non-smoothness of the object surface normals required when calculating specular lighting values. Therefore, the lighting values ​​related to the specular highlight are specular lighting values. Furthermore, for the component to be optimized related to the specular highlight, the calculation of specular lighting values ​​in the lighting value set used for the component to be optimized can be omitted during its lighting calculation process. The final color of each rendered vertex of the component to be optimized is not affected by the specular lighting value, thus mitigating the specular highlight-related aliasing problem.

[0062] Optionally, for example, the graphics processor may omit calculating the specular lighting value in the set of lighting values ​​by: calculating the ambient lighting value and diffuse lighting value for the part to be optimized based on the lighting model, and setting the specular lighting value for the part to be optimized to 0, wherein the combined lighting value for the part to be optimized is obtained by adding the ambient lighting value, diffuse lighting value and specular lighting value set to 0 for the non-textured part (per rendered vertex).

[0063] For example, the program snippet shown in Figure 4B illustrates an example of optimized ambient lighting, diffuse lighting, and specular lighting values ​​for a rendered vertex. For instance, the ambient lighting values ​​(0.2098, 0.2415, 0.281), diffuse lighting values ​​(0.399, 0.426, 0.47), and specular lighting values ​​(0.0, 0.0, 0.0) for this rendered vertex can be calculated according to the light calculation process described earlier with reference to Figure 2.

[0064] In step S340, the combined illumination value of the non-texture component is obtained based on the light calculation process for each non-texture component, and the non-texture component is displayed based on the combined illumination value.

[0065] For example, for each non-textured component of a 3D model, the combined lighting value of each rendered vertex of that non-textured component can be obtained through the corresponding light calculation process. Therefore, the final color of each rendered vertex can be rendered and displayed based on the combined lighting value.

[0066] Therefore, according to the above-described optimization method for 3D models in the embodiments of this disclosure, by setting the illumination value that causes the highlight problem to 0, the non-texture parts that are finally rendered and displayed can be protected from the effects of highlights, and thus these parts can be displayed more naturally and realistically.

[0067] According to other embodiments of this disclosure, as described above with reference to FIG2B, when some components are textured components, there may be display deviation problems due to pixel sampling (i.e., general aliasing problems).

[0068] For example, a display screen can include multiple pixels, each corresponding to a square on the screen, and the center of this square is called the pixel center. In digital image processing, pixel sampling is often required so that a continuous analog image can be represented by a discrete set of sampled points (pixels), which is a way to convert the visual information of a real object into digital data that a computer can process. Sampling is usually based on basic sampling units (e.g., triangles), that is, the image of the textured part (analog image) can be divided into multiple basic sampling units (which may have different sizes and shapes), and sampling is performed separately for each basic sampling unit.

[0069] Figures 5A and 5B illustrate pixel sampling for a single sampling basic unit (sampling triangle). The image of the texture component may include multiple such sampling basic units, and the pixel sampling process for each sampling basic unit is similar.

[0070] As shown in Figure 5A, suppose a sampling triangle is sampled on the display screen, and each pixel is colored differently depending on whether its pixel center is inside the sampling triangle. However, some pixels on the boundary of the sampling triangle have their pixel centers inside the triangle and are colored with the first color (e.g., black), while others have their pixel centers outside the triangle and are colored with the second color (e.g., white), resulting in a set of pixel centers inside the sampling triangle. Since each pixel on the display screen corresponds to a cube, coloring the corresponding pixel black yields the image shown in Figure 5B. Therefore, Figure 5B shows the outline of a triangle, but not the actual shape of a triangle. It is evident that the edges of the obtained triangle are not smooth straight lines, but rather the sharp corners of cubes, resulting in a jagged, aliased effect.

[0071] Therefore, the aforementioned visual distortion problem can be improved by blurring. For example, for a texture component, the optimization method shown in Figure 3 may further include the following steps: determining a sampling region image in the image of the texture component based on sampling basic units for pixel sampling; blurring at least one boundary of the sampling region image to obtain an image including at least one blurred boundary as a first image; performing pixel sampling on the first image; and displaying the pixel-sampled first image.

[0072] For example, when blurring at least one boundary of a sampled region image (e.g., the image of the region inside the triangle shown in Figure 5A), the sampled region image can be blurred, or the pixel region surrounding the pixel on the at least one boundary (e.g., the square corresponding to the two pixels above, below, left, and right). Blurring may include increasing the transparency of the corresponding region image or filtering the corresponding region image.

[0073] In this way, after blurring, the boundary color of the sampling triangle has a certain transition. When sampling again, some pixels of the transition color (such as gray) between the first color and the second color can be sampled near the boundary of the sampling triangle. The sampling result is no longer the first color or the second color, as shown in Figure 6. This can achieve the purpose of reducing the visual distortion problem.

[0074] For example, in the case of a 3D car model, the textured components include one or more of the following: a chrome strip above the glass, a continuous taillight strip, and wheel hubs.

[0075] Similarly, users can specify which texture parts need to be optimized. Therefore, the processor can, for example, respond to the user's selection of texture parts to be optimized by applying blurring before sampling the image of those parts, performing pixel sampling after blurring, and displaying the blurred image. Alternatively, the texture parts to be optimized can be preset or default.

[0076] Therefore, by introducing blurring during the sampling process of the texture component's image, i.e. adding some blur colors (e.g., by increasing transparency), the two colors on both sides of the boundary of the sampled area image in the texture component's image can be better mixed, thus mitigating problems such as jagged aliasing.

[0077] The optimization effect of the three-dimensional model using the optimization scheme according to the embodiments of the present disclosure will be described below with reference to Figure 7.

[0078] Figure 7 shows a schematic diagram of the optimization effect on the highlight problem and general aliasing problem in a 3D car model after adopting the optimization scheme according to the embodiments of the present disclosure.

[0079] As shown in Figure 7, compared to the components at the junction between the car window and the door (represented by P1), the fuel tank cap (represented by P2), and the door handle (represented by P3) shown in Figure 2A, the distortion problem at these components has been basically solved after optimization, and the various components of the vehicle model look more natural and realistic.

[0080] As shown in Figure 7, compared to the chrome strip above the car window (represented by P4), the connected taillight strip (represented by P5), and the wheel hub (represented by P6) shown in Figure 2B, the aliasing problem at these parts has been basically solved after optimization. The boundaries have been blurred and there are basically no more jagged edges. Therefore, the various parts of the vehicle model look more natural and realistic.

[0081] Therefore, the above optimization scheme can address the two main types of aliasing problems caused by insufficient GPU performance in embedded systems, thereby shortening the development cycle and reducing development costs.

[0082] According to another aspect of this disclosure, an optimization apparatus for a three-dimensional model is also provided.

[0083] Figure 8 shows an exemplary structural block diagram of an optimization apparatus for a 3D model according to some embodiments of the present disclosure. The optimization apparatus may include, or be included in, the embedded system shown in Figure 1.

[0084] As shown in Figure 8, the optimization device 800 may include a determination module 810, an optical computing module 820, and a display module 830.

[0085] The determination module 810 can be used to determine the parts to be optimized that are related to the highlight points in the set of non-texture parts.

[0086] For example, the component to be optimized can be determined in response to the user's selection of the component to be optimized, or an image of the display screen of the 3D model before optimization can be obtained, and the component to be optimized can be determined based on the analysis of the image.

[0087] Optionally, the 3D model can be a 3D vehicle model, and the parts to be optimized can include one or more of the following: the joint between the top of the door and the window, the door handle, or the fuel tank cap.

[0088] The light calculation module 820 can be used to perform a light calculation process based on a lighting model for each part in the non-textured part set except for the part to be optimized. The light calculation process includes calculating a set of lighting values ​​for that part, and omitting the calculation of lighting values ​​related to highlights in the set of lighting values ​​during the light calculation process for the part to be optimized.

[0089] For example, the lighting model is the Von Leigh lighting model, and the lighting value set includes ambient light values, diffuse light values, and specular light values, with the lighting value associated with the highlight being the specular light value. Accordingly, omitting the calculation of the specular light value in the lighting value set includes: calculating the ambient light and diffuse light values ​​for the part to be optimized based on the lighting model, and setting the specular light value for the part to be optimized to 0. Thus, the combined lighting value for the part to be optimized is obtained by adding the ambient light value, diffuse light value, and the specular light value set to 0 for the non-textured part. Optionally, each non-textured part includes multiple rendering vertices, and the lighting value set for each non-textured part includes the lighting value set for each rendering vertex of that non-textured part.

[0090] The display module 830 can be used to determine the combined lighting value for each non-textured part in the set of non-textured parts based on the light calculation process for each non-textured part, and to render and display the non-textured part based on the combined lighting value.

[0091] Optionally, as mentioned above, when textured components are used in the 3D model, a general aliasing problem, similar to jagged edges, still exists. Therefore, in this case, the optimization device may further include an image processing module 840, used to determine a sampling region image in the image of the textured component based on multiple sampling basic units (of varying sizes) for pixel sampling, blurring at least one boundary of the sampling region image to obtain an image including at least one blurred boundary, as a first image, and finally performing pixel sampling on the first image. Thus, the display module 830 can also be used to display the pixel-sampled first image.

[0092] More details on the operation of each module in the optimization device 800 can be found in the descriptions above with reference to Figures 1 to 7, and therefore will not be repeated here.

[0093] Furthermore, although the modules and sub-modules described above are illustrated by way of example in Figure 8, it should be understood that the device 800 may be divided into more or fewer modules depending on different functions, or each module may be divided into further more or fewer sub-modules. In some example embodiments, a module or its sub-module may be implemented using electronic hardware (e.g., a general-purpose processor, DSP, ASIC, FPGA, GPU, GPGPU, TPU or other programmable logic device, discrete gate or transistor logic, discrete hardware components, etc.), computer software (e.g., which may be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable ROM (EPROM), etc.), or a combination of both.

[0094] According to another aspect of this disclosure, an embedded system is also provided. This embedded system may be, for example, the embedded system shown in FIG1.

[0095] As an example, the embedded system disclosed herein may include one or more processors, one or more graphics processors, and one or more memories connected via a system bus, and may also include a network interface, input devices, and a display screen, etc. The memories include non-transitory storage media and internal memory. The non-transitory storage media of the embedded system stores an operating system and may also store a computer-executable program, which, when executed by the processor, enables the processor to perform various operations as described above for the optimization method of the 3D model. The internal memory may also store a computer-executable program, which, when executed by the processor, enables the processor to perform various operations as described above for the optimization method of the 3D model.

[0096] The display screen can be a light-emitting diode (LED) display screen, an LCD display screen, or an e-ink display screen. The input device of the embedded system can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the terminal shell, or external keyboards, touchpads, or mice, etc.

[0097] According to another aspect of this disclosure, a computer-readable storage medium is also provided, including a computer program / instructions, wherein, when executed by a processor, the computer program / instructions perform the steps of the methods according to embodiments of this disclosure as described above with reference to the various accompanying drawings. The computer-readable storage medium in embodiments of this disclosure may be temporary memory or non-temporary memory, or may include both temporary and non-temporary memory. Non-temporary memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Temporary memory may be random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct memory bus random access memory (DR RAM). It should be noted that the memory used in the methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0098] While the subject matter has been described in detail with respect to various specific exemplary embodiments, each example is provided by way of explanation rather than limitation. Those skilled in the art, upon receiving the foregoing understanding, will readily make changes, variations, and equivalents to such embodiments. Therefore, the invention does not exclude the inclusion of such modifications, variations, and / or additions to the subject matter that will be obvious to those skilled in the art. For example, features illustrated or described as part of one embodiment may be used with another embodiment to produce yet another embodiment. Therefore, it is intended that this disclosure cover such changes, variations, and equivalents.

Claims

1. An optimization method for a 3D model, the 3D model comprising a set of non-textured parts, the optimization method comprising: Identify the components in the set of non-texture components that are related to the specular highlights and require optimization; For each component in the set of non-textured components, excluding the component to be optimized, a light calculation process is performed based on a lighting model. The light calculation process includes calculating a set of lighting values ​​for the component. During the optical calculation for the component to be optimized, the illumination values ​​related to the highlight point in the set of illumination values ​​are omitted. as well as Based on the light calculation process for each non-textured component in the set of non-textured components, a combined lighting value for the non-textured components is determined, and the non-textured components are rendered and displayed based on the combined lighting value.

2. The optimization method according to claim 1, wherein, The 3D model also includes a texture mapping component, and the optimization method further includes: The sampling region image in the image of the mapping component is determined based on the sampling basic unit used for pixel sampling; At least one boundary of the sampled region image is blurred to obtain an image including the blurred at least one boundary, which is used as a first image; Pixel sampling is performed on the first image; and Displays the first image after pixel sampling.

3. The optimization method according to claim 1, wherein, The lighting model is the Von Nielsen lighting model, and the set of lighting values ​​includes ambient lighting values, diffuse lighting values, and specular lighting values, with the lighting value associated with the highlight being the specular lighting value.

4. The optimization method according to claim 3, wherein, During the optical calculations performed on the component to be optimized, the calculation of specular illumination values ​​in the set of illumination values ​​is omitted, including: Based on the lighting model, the ambient light value and the diffuse light value for the component to be optimized are calculated; and Set the specular illumination value used for the component to be optimized to 0. The combined lighting value used for the component to be optimized is obtained by adding the ambient lighting value, the diffuse lighting value, and the specular lighting value set to 0 for the non-texture component.

5. The optimization method according to claim 3, wherein each non-texture component includes a plurality of rendering vertices, and the lighting value set of each non-texture component includes the lighting value set of each rendering vertex of the non-texture component.

6. The optimization method according to claim 2, wherein, Blurring at least one boundary of the sampled region image includes: Increase the transparency of the sampled area image or perform filtering processing on the sampled area image.

7. The optimization method according to claim 2, wherein, Blurring at least one boundary of the sampled region image includes: Increase the transparency of the region image within the pixel area surrounding the at least one boundary, or filter the region image.

8. The optimization method according to claim 1, wherein, Determining the component to be optimized related to the highlight point includes determining the component to be optimized in response to the user's selection of the component to be optimized related to the highlight point.

9. The optimization method according to claim 1, further comprising: Obtain an image of the display screen of the 3D model before optimization. The component to be optimized related to the highlight point is determined based on the analysis of the image.

10. The optimization method according to claim 2, wherein, The components to be optimized related to the highlight point include one or more of the following: the joint between the top of the door and the window, the door handle, or the fuel tank cap; or The textured components include one or more of the following: a chrome strip above the glass, a continuous taillight strip, and a wheel hub.

11. An optimization apparatus for a three-dimensional model, the three-dimensional model comprising a set of non-textured parts, the optimization apparatus comprising: The determination module is used to determine the components to be optimized related to the highlight points in the set of non-texture components; A light calculation module is used to perform a light calculation process based on a lighting model for each component in the set of non-textured components, excluding the component to be optimized. The light calculation process includes calculating a set of lighting values ​​for the component, and omitting the calculation of lighting values ​​related to the highlight in the set of lighting values ​​during the light calculation process for the component to be optimized. as well as The display module is used to determine the combined lighting value for the non-textured components based on the light calculation process for each non-textured component in the set of non-textured components, and to render and display the non-textured components based on the combined lighting value.

12. The optimization apparatus according to claim 11, wherein, The 3D model also includes a texture mapping component, and the optimization device further includes an image processing module. The graphics processing module is configured as follows: The sampling region image in the image of the mapping component is determined based on the sampling basic unit used for pixel sampling; At least one boundary of the sampled region image is blurred to obtain an image including the blurred at least one boundary, which is used as a first image; Pixel sampling is performed on the first image; and The display module is further configured to display the first image sampled by pixels.

13. An embedded system, comprising: One or more processors; One or more graphics processors; as well as One or more memories storing a computer program that, when executed by the one or more processors and / or the one or more graphics processors, causes the one or more processors and / or the one or more graphics processors to perform the optimization method as described in any one of claims 1-10.

14. A non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by one or more processors and / or one or more graphics processors, causes the one or more processors and / or one or more graphics processors to perform the optimization method as described in any one of claims 1-10.