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

By omitting specular lighting values ​​for highlights in lighting calculations and blurring the boundaries of textured components, the aliasing problem in 3D models was solved, rendering effects were improved, and a more realistic model display was achieved.

CN121600155APending Publication Date: 2026-03-03VALEO INTERIOR CONTROLS (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510199004.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-21
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Existing 3D models suffer from specular highlight aliasing and pixel sampling aliasing during rendering, affecting the realism and naturalness of the model.

Method used

By omitting specular lighting values ​​related to highlight points during lighting calculations and blurring the sampling area boundaries of textured components, aliasing issues are mitigated.

Benefits of technology

It improves the rendering effect of 3D models, reduces highlights and jagged edges, and enhances the realism and naturalness of the models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121600155A_ABST
    Figure CN121600155A_ABST
Patent Text Reader

Abstract

The invention provides an optimization method and device for a three-dimensional model, an embedded system and a computer readable storage medium. The three-dimensional model comprises a non-chartlet component set, and the optimization method can comprise the following steps: determining a to-be-optimized component related to a highlight point in the non-chartlet component set; for each part except the to-be-optimized part in the non-chartlet part set, a light calculation process is executed based on an illumination model, and the light calculation process comprises the step of calculating an illumination value set for the part; calculating the illumination value related to the highlight point in the illumination value set in the process of executing the light calculation for the to-be-optimized part; and based on the light calculation process for each non-map component in the set of non-map components, determining a combined illumination value for the non-map component, and rendering and displaying the non-map component based on the combined illumination value. The image of the mapping component in the three-dimensional model can also be optimized.
Need to check novelty before this filing date? Find Prior Art

Description

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 An exemplary block diagram of an embedded system according to some embodiments of the present disclosure is shown.

[0023] Figure 2A and Figure 2B Examples of visual distortion problems at or between individual components in a 3D vehicle model are shown.

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

[0025] Figure 4A and Figure 4B Examples of sets of illumination values ​​according to some embodiments of the present disclosure are shown respectively.

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

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

[0028] Figure 7 The diagram 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 An exemplary structural block diagram of an optimization apparatus for a three-dimensional model according to some embodiments of the present disclosure is shown. 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 This is an exemplary block diagram of an embedded system provided according to some embodiments of the present disclosure.

[0032] like Figure 1 As shown, the embedded system 100 (e.g., an embedded development platform) can use Figure 1 The embedded system 100 is implemented using separate, discrete components, including one or more of the components shown. Figure 1 Other components not shown are discussed in more detail 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, Figure 2A and Figure 2B This illustrates an example of visual distortion issues at or between individual components in a 3D vehicle model.

[0040] like Figure 2A As shown, 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 optical computation, the following relationship exists:

[0043] Color = Ambient Light Value + Diffuse Light Value + Specular Light Value

[0044] =Ambient light coefficient * Light source color * Object color +

[0045] Diffuse reflection coefficient * Light source color * Object color * max(dot(n, l), 0) +

[0046] Specular illumination coefficient * Light source color * Object color * (cosθ)^s

[0047] 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.

[0048] 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.

[0049] 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.

[0050] 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.

[0051] 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.

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

[0053] For example Figure 2B As shown, the components at the chrome strip above the car window (represented by P4), the connected taillight strip (represented by P5), and the wheel hub (represented by P6) are usually textured components. Due to pixel sampling issues, display deviations can occur, resulting in jagged aliasing problems (hereinafter referred to as general aliasing problems; the specific causes will be discussed later). Figures 5A-5B (Describe it).

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

[0055] Figure 3 A flowchart illustrating an optimization method for a 3D model according to some embodiments of the present disclosure is shown. This optimization method can be performed by, for example... Figure 1 The embedded system shown can be used to execute the commands, for example, by a processor included in the embedded system or by a processor combined with a graphics processor.

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

[0057] 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.

[0058] As referenced above Figure 2AAs described, one or more non-textured components in a set of non-textured components 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 set need optimization, so the processor can, for instance, 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.

[0059] 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.

[0060] 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.

[0061] 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.

[0062] 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.

[0063] For example, such as Figure 4A The code snippet shown illustrates examples of ambient lighting, diffuse lighting, and specular lighting values ​​calculated for a single rendered vertex without optimization. For instance, this can be seen from the preceding reference... Figure 2AThe described light calculation process is used to calculate 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 the rendered vertex. Optionally, in some examples, such as Figure 4A As illustrated in the diagram, the diffuse illumination value may also include a value of 1 representing transparency, and the specular illumination value may also include a value of 4 representing reflectivity.

[0064] 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.

[0065] As mentioned above Figure 2A As described, 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 part to be optimized related to the specular highlight, the calculation of specular lighting values ​​in the lighting value set used for the part to be optimized can be omitted during its lighting calculation process. The final color of each rendered vertex of the part to be optimized is not affected by the specular lighting value, thus mitigating the specular highlight-related aliasing problem.

[0066] 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).

[0067] For example, such as Figure 4B The code snippet shown illustrates an example of optimized ambient lighting, diffuse lighting, and specular lighting values ​​for a single 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.

[0068] 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.

[0069] 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.

[0070] 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.

[0071] According to other embodiments of this disclosure, as referenced above... Figure 2B As described, when some components are textured components, there may be display deviation issues due to pixel sampling (i.e., general aliasing issues).

[0072] 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.

[0073] Figures 5A-5B This diagram illustrates pixel sampling for a single sampling basic unit (sampling triangle). The image of the texture component can include multiple such sampling basic units, and the pixel sampling process for each sampling basic unit is similar.

[0074] like Figure 5A The description assumes that 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 some pixels 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 one pixel on the display screen corresponds to one square, coloring the corresponding pixel black would result in... Figure 5B The result of the image shown, therefore from Figure 5BYou can see the outline of a triangle, but it is not the actual shape of a triangle. It is obvious that the edge of the obtained triangle is not a smooth straight line, but the edges of a cube, thus creating a jagged, distorted effect.

[0075] Therefore, the aforementioned visual distortion problem can be improved by blurring. For example, for textured components, Figure 3 The optimization method shown may further include the following steps: determining a sampling region image in the image of the texture component based on the sampling basic unit 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.

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

[0077] In this way, after blurring, the color change of the sampling triangle's boundary has a certain transition. When sampling again, pixels near the boundary of the sampling triangle can capture a portion of the transition color (e.g., gray) between the first and second colors. Therefore, the sampling result is no longer either the first or second color. Figure 6 As shown, this can achieve the goal of reducing visual distortion.

[0078] 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.

[0079] 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.

[0080] 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.

[0081] The following combination Figure 7 The optimization effect of the three-dimensional model using the optimization scheme according to the embodiments of the present disclosure will be described.

[0082] Figure 7 The diagram 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.

[0083] like Figure 7 As shown, compared to Figure 2A The components shown in the image, including the window and door junction (P1), fuel tank cap (P2), and door handle (P3), have had their distortion issues largely resolved after optimization, making the various parts of the vehicle model look more natural and realistic.

[0084] For example Figure 7 As shown, compared to Figure 2B The chrome strip above the window (represented by P4), the connected taillight strip (represented by P5), and the wheel rims (represented by P6) shown in the image have had their distorted appearance largely resolved after optimization. The boundaries have been blurred and there are virtually no more jagged edges, so the various parts of the vehicle model look more natural and realistic.

[0085] 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.

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

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

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

[0089] 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.

[0090] 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.

[0091] 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.

[0092] 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.

[0093] 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.

[0094] 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.

[0095] 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.

[0096] For more details on the operation of the various modules in the optimization device 800, please refer to the previous reference. Figures 1 to 7As described above, it will not be repeated here.

[0097] In addition, although Figure 8 The modules and sub-modules described above are illustrated by way of example. However, 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.

[0098] According to another aspect of this disclosure, an embedded system is also provided. This embedded system can be, for example... Figure 1 The embedded system shown.

[0099] 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.

[0100] 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.

[0101] 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.

[0102] 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 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.