Generation of surface texture for three-dimensional object models using generative machine learning models
A machine learning model iteratively applies a 2D texture to 3D objects using optimized viewpoints, addressing inefficiencies in conventional systems by enhancing accuracy and reducing computational resources for texture generation.
Patent Information
- Application Number
- DE112024001986
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-31
- Filing Date
- 2024-07-30
- Publication Date
- 2026-02-26
AI Technical Summary
Conventional systems struggle to generate image material with consistently compelling visual properties according to user preferences, lacking efficiency and accuracy in texture generation for three-dimensional models.
A machine learning model iteratively applies a 2D texture to a 3D object using multiple viewpoints, denoising the texture model to enhance accuracy and reduce computational resources by optimizing viewpoint distances and weighting fields of view.
The solution achieves accurate and efficient texture generation for 3D objects, surpassing manual methods in speed and resource usage while ensuring artifact-free rendering.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED REGISTRATIONS
[0001] This application claims the benefit and priority of US patent application 18 / 361,987, which was filed on July 31, 2023, and is incorporated herein in full by reference. TECHNICAL AREA
[0002] The present implementations generally, but without limitation, refer to computer modeling, which includes texture generation for three-dimensional models according to text-based prompts. INTRODUCTION
[0003] Computing systems are increasingly expected to provide a wide range of visual data in ever more diverse variations, according to user preferences or the settings of the image material. Users increasingly demand the ability to customize or tailor the appearance of the image material to their individual preferences or expectations. However, conventional systems are unable to generate image material with consistently compelling visual properties. SUMMARY
[0004] Embodiments of the present disclosure relate to machine learning models that generate two-dimensional (2D) textures corresponding to certain three-dimensional (3D) geometries and according to a text prompt describing one or more objects and a texture. For example, a machine learning model can receive a text prompt corresponding to an input for a generative artificial intelligence (AI) system. The text prompt can, for example, and without limitation, contain a description of a 3D object and a description of a desired 2D texture for that 3D object. The machine learning model can receive or otherwise obtain a 3D object model corresponding to the content of the text prompt and a 2D texture model corresponding to the text prompt or to a noise distribution in a 2D space.For example, a texture model can correspond to a latent texture defined according to a diffusion model, and a texture can correspond to a visible texture defined according to a visible color palette. The machine learning model can apply the 2D texture model to the external surface (e.g., the surface mesh) of the 3D object model to "wrap" the object in the texture model. The machine learning model can iterate over time and across a number of views and viewpoints of the 3D object containing the 2D texture model to generate a 2D texture that matches the text prompt. This technical solution can thus achieve a technical improvement in generating a 2D texture for a 3D object in a reduced timeframe and / or using fewer computational resources.The technical solution can thus generate 2D textures that correspond to 3D objects with an accuracy and speed that surpasses the capabilities of manual texture creation. This provides a technical solution for texture generation for three-dimensional models based on text-based prompt input.
[0005] At least one aspect is directed at a processor, which may contain one or more circuits. The processor can receive inputs according to appropriate views from a variety of perspectives of a 2D texture model on the surface of a 3D model. Based on the input and a model configured to generate a two-dimensional (2D) image, the processor can generate an output that may include a 2D texture for the 3D model. In one or more embodiments, the output can be generated in response to receiving a specification of the 3D model and the 2D texture.
[0006] At least one aspect is directed at a system. The system may include memory and one or more configured processors. The system can receive views of a three-dimensional (3D) model from a set of viewpoints that at least partially enclose a surface of the 3D model, each view corresponding to a portion of a two-dimensional (2D) texture model on the surface of the 3D model. Based on the views and a model configured to generate a 2D image, the system can produce output that may include a 2D texture for the 3D model. In one or more embodiments, the output can be generated in response to receiving a specification of the 3D model and the 2D texture.
[0007] At least one aspect is directed toward a method. The method may include receiving an input according to a plurality of parts of a two-dimensional (2D) texture model on the surface of a three-dimensional (3D) model. The method may include generating, according to the input and according to a model configured to generate a 2D image, an output that may contain a 2D texture for the 3D model. In one or more embodiments, the output may be generated in response to receiving a specification of the 3D model and the 2D texture. BRIEF DESCRIPTION OF THE FIGURES
[0008] The patent or patent application file contains at least one color drawing. Copies of this patent or patent application publication with one or more color drawings will be provided by the Office upon request and payment of the required fee.
[0009] The aforementioned aspects and features, and other aspects and features of the present implementations, are exemplified in the figures discussed herein. The present implementations may be directed toward examples depicted in the figures discussed herein, but are not limited to them. Thus, this disclosure is not limited to any figure or part thereof depicted or referenced herein, or to any aspect relating to figures depicted or referenced herein. Fig. Figure 1 represents an exemplary system, according to the available implementations. Fig. Figure 2 shows an exemplary surface projection of an object, according to the present implementations. Fig. Figure 3 represents an exemplary diffusion iteration, according to the available implementations. Fig. Figure 4 illustrates an exemplary data acquisition architecture with multiple viewpoints, according to the available implementations. Fig. Figure 5 represents an example textured surface, according to the available implementations. Fig. Figure 6 illustrates an exemplary texture processing architecture, according to the available implementations. Fig. Figure 7 represents an example texture, according to the available implementations. Fig. Figure 8A shows an exemplary viewpoint capture of a 3D model with contrasting texture, according to the available implementations. Fig. Figure 8B shows an exemplary viewpoint capture of a 3D model with complementary texture, according to the available implementations. Fig. Figure 9 depicts an exemplary textured 3D object, according to the available implementations. Fig. Figure 10 represents an exemplary model architecture, according to the available implementations. Fig. Figure 11 represents an exemplary network system, according to the available implementations. Fig. Figure 12 represents an exemplary computer system, according to the implementations presented. Fig. Figure 13 depicts an exemplary computer architecture, according to the available implementations. Fig. Figure 14 illustrates an exemplary method for texture generation for three-dimensional models according to a text-based prompt input, according to the present implementations. DETAILED DESCRIPTION
[0010] Aspects of this technical solution are described here with reference to the figures, which are illustrated examples of this technical solution. The following figures and examples are not intended to limit the scope of protection of this technical solution to the present implementations or any single implementation, and other implementations based on the present implementations are possible, for example, by replacing some or all of the described or illustrated elements. Where certain elements of the present implementations can be implemented partially or completely using known components, only those parts of such known components necessary for understanding the present implementations are described, and detailed descriptions of other parts of such known components are omitted so as not to obscure the present implementations.No unusual or special meaning shall be attributed to terms in the patent description and claims unless expressly defined herein. Furthermore, this technical solution and the present implementations comprise currently and future known equivalents to the known components referenced herein for description, illustration, or example.
[0011] This technical solution can iteratively process a 2D texture applied to a 3D object according to a variety of iterative operations. For example, a machine learning model can iterate over multiple versions of a 2D texture model to denoise the texture model with respect to the 3D object model. The iteration of the 2D texture model with respect to denoise can correspond to an outer loop of the texture generation process of this technical solution's machine learning model. Within each iteration of the outer loop, the machine learning model can, for example, iterate over a variety of camera views (viewpoints), one or more of which (e.g., each) can be oriented toward a specific part of the 3D object and incorporate a portion of the 2D texture model applied to that specific part of the 3D object model.For example, each viewpoint of a virtual camera can correspond to a viewpoint from which the 3D object model is rendered with the 2D texture model. The technical solution can include a multitude of viewpoints, each with a specific perspective or angle of view, to render the entirety of the 3D object model with the 2D texture model, or a substantial portion thereof. One or more (e.g., each) of the viewpoints can be placed at the same or a corresponding distance from a surface of the 3D object in front of the viewpoint. A viewpoint can, for example, correspond to a virtual camera. The virtual camera can correspond to a perspective within a virtual environment from a specific point or location within that environment, oriented to view a particular part of the virtual environment.
[0012] This technical solution can iteratively apply a machine learning model to the 2D texture model, according to each part of the 2D texture model visible on the 3D object model. For example, a diffusion model can iterate through a sequence of some, all, or all of a multitude of viewpoints aligned with the 3D object model containing the 2D texture model to denoise the entire surface of the 2D texture model without occlusion or fragmentation of the 2D texture model at parts of the 3D object where the 2D texture is hidden from a given viewpoint. For example, iterating through a multitude of viewpoints can provide at least one technical improvement that increases the accuracy of the 2D texture model by eliminating artifacts and errors at the edge of an object that are blocked from view by the front of the object.The technical solution can provide a technical improvement that increases efficiency and reduces the need for computational resources by weighting portions of a viewpoint's field of view according to their distance from the surface of the 3D object. For example, the technical solution can identify an optimal distance from the viewpoint to a surface of the 3D object using the 2D texture model. This optimal distance provides an input that leads to higher accuracy in rendering a 2D texture to a text prompt or faster denoising of a 2D texture according to a machine learning model. Portions of a 2D texture model located outside the optimal distance relative to parts of a 3D object model can be weighted to reduce their impact on the machine learning model's iteration over the 2D texture model.If multiple viewpoints cover the same point or points on the 3D object model (and corresponding points on the 2D texture model), the engineering solution can select a portion of the 2D texture model with a weight or metric that corresponds to or most closely approximates an optimal distance. An optimal distance could be, for example, a specific distance or a range of distances (e.g., within a threshold). Whether the viewpoint's distance to the pixel is within the threshold for an optimal distance can be determined based on the degree of distortion in an output of the diffusion model. Thus, this engineering solution can efficiently iterate between multiple views of a 2D texture model applied to a 3D object, exceeding the capabilities of manual pixel analysis.
[0013] Fig. Figure 1 depicts an exemplary system, according to the available implementations. As in Fig. As illustrated by example in Figure 1, a system 100 can contain at least one object 102, a camera (viewpoint) 110, an input of a latent image 120, a diffusion model 130, an output of a latent image 140 and a projector 150.
[0014] Object 102 can correspond to a 3D model that is associated with or exists within a virtual environment. For example, Object 102 can contain one or more surfaces arranged to enclose or partially enclose a volume. For example, Object 102 can correspond to a specific shape or to a class or category of shapes. A shape can, but is not limited to, a human figure, a vehicle, a human face or bust, a building or structure, a plant, an animal, or a combination thereof. For example, the shape can correspond to a single person or to a male, female, boy, girl, or an adult or minor of an alternative gender.The shape may, for example, correspond to a specific make and model of vehicle or vehicle class, including, but not limited to, a sedan, a sport utility vehicle (SUV), a semi-trailer truck, a pickup truck, or a coupé. Object 102 may contain a visible part 104.
[0015] The visible part 104 can correspond to a part of the object 102 within a field of view of the camera 110. For example, the visible part 104 can correspond to one or more surfaces or parts of surfaces that are located within a viewing angle in one or more axes from a direction of the camera 110's orientation. For example, the visible part 104 can correspond to one or more surfaces or parts of surfaces that are located at a distance from the camera 110 that satisfies one or more minimum viewing distances or maximum viewing distances in one or more axes from a direction of the camera 110's orientation.A field of view corresponding to the camera can, for example, be limited by a cone extending and expanding from the center of a viewpoint of camera 110 along a line and limited by a minimum distance from the viewpoint of camera 110 and a maximum distance from the viewpoint of camera 110.
[0016] Camera 110 can correspond to a virtual detector of a part of a virtual environment. Camera 110 can detect object 102 or the visible part 104 thereof according to the field of view corresponding to camera 110. For example, camera 110 (e.g., a virtual detector processing data corresponding to camera 110) can detect the visible part 104 as a 2D plane corresponding to part of a surface of object 102. For example, camera 110 can detect a latent image applied to the surface of object 102. Camera 110 can correspond to one or more of a plurality of cameras. In other words, system 100 can comprise one or more cameras, each of which captures object 102 and / or a different visible part of it according to a field of view, with the one or more cameras together capturing an entirety of the one or more surfaces of object 102.
[0017] The input of a latent image 120 can correspond to a 2D image detected from the camera viewpoint 110. The input of a latent image 120 can correspond to a 2D image of the visible part 104. For example, a latent image can correspond to a 2D surface with one or more properties at one or more points on it. A latent image property can, for example, correspond to a characteristic of the point in a part of the spectrum corresponding to visible light, or be independent of the part of the spectrum corresponding to visible light.
[0018] Diffusion model 130 can generate or modify the input of a latent image 120 to conform to a parameter corresponding to a texture. For example, diffusion model 130 can contain a machine learning model configured to generate a 2D surface corresponding to the surface of object 102. For example, diffusion model 130 can generate the output of a latent image 140 according to one or more parameters containing a text prompt that identifies a texture to be generated by diffusion model 130. For example, diffusion model 130 can generate the output of a latent image 140 according to a parameter containing a text prompt that identifies the object 102 on which the texture is to be generated by diffusion model 130.
[0019] The output of a latent image 140 can correspond to a 2D image generated by the diffusion model 130 or modified by the diffusion model 130 according to the input of a latent image 120. The output of a latent image 140 can include a 2D surface modified by the diffusion model 130 to match the texture specified by the text prompt according to the input of a latent image 120. For example, the output of a latent image 140 can correspond to an iteration of the diffusion model 130 with respect to the formation of a latent image. The iteration of the diffusion model 130 with respect to the formation of a latent image can correspond to an "outer loop" of a texture generation process. An outer loop can contain an iterative loop that includes one or more steps.The outer loop can, for example, contain an iterative loop that iterates over views of one or more cameras of the system 100, each of which has a view oriented towards a different part of the object 102.
[0020] Projector 150 can correspond to a virtual applicator for a part of a virtual environment. Projector 150 can receive the output of a latent image 140 and apply the 2D texture to object 102 in a configuration or orientation that corresponds to the input of a latent image 120 and the visible part 104. For example, Projector 150 can apply the output of a latent image 140 to the visible part 104 as a 2D plane.
[0021] Fig. Figure 2 shows an example surface projection of an object, according to the present implementations. As in Fig. As illustrated by example in Figure 2, a surface projection 200 of an object can include at least a visible left surface 210, a visible part of an upper surface 212, a visible part of a front surface 214, an unseen part of an upper surface 220, an unseen rear surface 222, an unseen front surface 224, an unseen right surface 226, and an unseen lower surface 228. The surface projection 200 can correspond to a flattened 2D surface that represents the external surface of the object 102, including the visible part 104. For example, one or more cameras, including camera 110, can be positioned at different perspectives / positions facing the object 102 to capture the surface projection 200 from these viewpoints.
[0022] The visible left surface 210 can correspond to a portion of the left side surface of object 102 that lies within the field of view of camera 110. The visible portion of the upper surface 212 can correspond to a portion of an upper side surface of object 102 that lies within the field of view of camera 110. The visible portion of the front surface 214 can correspond to a portion of a front side surface of object 102 that lies within the field of view of camera 110. The visible left surface 210, the visible portion of the upper surface 212, and the visible portion of the front surface 214 can collectively correspond to the visible part 104.
[0023] The unseen part of the upper surface 220 can correspond to a part of the upper side surface of object 102 that is outside the field of view of camera 110. The unseen rear surface 222 can correspond to a rear side surface of object 102 that is outside the field of view of camera 110. The unseen front surface 224 can correspond to a part of the front side surface of object 102 that is outside the field of view of camera 110. The unseen right surface 226 can correspond to a right side surface of object 102 that is outside the field of view of camera 110. The unseen lower surface 228 can correspond to a lower side surface of object 102 that is outside the field of view of camera 110.One or more of the unseen surfaces 222, 223 and 228 or one or more of the unseen parts 220 and 224 can be seen by a camera with a viewpoint directed towards the parts of the surface projection 200 corresponding to the object 102.
[0024] Fig. Figure 3 represents an exemplary diffusion iteration, according to the available implementations. As in Fig. As illustrated by example in Figure 3, a sample diffusion iteration 300 can contain at least one time axis 302, one output characteristic 304, and model characteristics 310. The diffusion iteration 300 can correspond to the output of the diffusion model 130 over a multitude of iterations, which include the outer loop. The diffusion iteration can, for example, correspond to several iterations through the diffusion model over time and can contain input from one or more cameras simultaneously at any given time or at sequential times.
[0025] Time axis 302 can identify a state of the output of diffusion model 130 at a specific time. For example, time axis 302 can identify a multitude of states, each corresponding to different data points with coordinates that match or correspond to certain values along time axis 302. For example, time axis 302 can specify the sequence of generation or modification of latent images by diffusion model 130. Output characteristic 304 can specify a state of the output of diffusion model 130 at a specific time. For example, time axis 302 can specify a multitude of states, each corresponding to one or more output data points with a coordinate that matches or corresponds to a certain value along time axis 302.The time axis 302 can, for example, specify the properties of one or more latent images generated or modified by the diffusion model 130. The model characteristics 310 can correspond to one or more points in a diffusion model space that represent the input or output of the diffusion model 130 at one or more specific time points. Model characteristics 310 can, for example, store or specify values of a latent image and can correspond to a 2D point space that indicates the change of a latent image to a texture specified by a text prompt.
[0026] Fig. Figure 4 illustrates an exemplary data acquisition architecture with multiple perspectives, according to the available implementations. As in Fig. As illustrated by example in Figure 4, an exemplary acquisition architecture with multiple viewpoints 400 can contain at least one object 410, a first visible part 412, a second visible part 414, a third visible part 416, a first camera (viewpoint) 420, a second camera (viewpoint) 430 and a third camera (viewpoint) 440.
[0027] Object 410 can correspond, at least partially, to object 102 in one or more aspects of structure and operation. Object 410 can have a shape that corresponds, at least partially, to a text prompt describing an object. For example, object 410 can correspond to a 3D model of an SUV, according to a text prompt stating "a red SUV." Object 410 can have multiple surfaces or parts of a surface that can be seen by one or more of cameras 420, 430, and 440. The first visible part 412 can correspond to a first part of a surface of object 410 that can be seen by the first camera 420. For example, the first visible part 412 can correspond to a front part of object 410 and include a portion of object 410's surface that corresponds to a windshield, hood, and front part of the roof of an SUV model corresponding to object 410.The second visible part 414 can correspond to a second part of the surface of object 410, which can be seen by the second camera 430 and differs at least partially from the first visible part 412. For example, the second visible part 414 can correspond to an upper part of object 410 and include a part of the surface of object 410 that corresponds to the roof of an SUV model that corresponds to object 410. The third visible part 416 can correspond to a third part of the surface of object 410, which can be seen by the third camera 440 and differs at least partially from the first visible part 412 and the second visible part 414.For example, the third visible part 416 can correspond to a side part of object 410 and include a part of the surface of object 410 that corresponds to a left fender, a left wheel, part of a hood and part of a driver's side door of an SUV model corresponding to object 410.
[0028] The first camera 420 can correspond at least partially in one or more of the structure or operation of camera 110. For example, the first camera 420 can have a viewpoint oriented towards object 410 to render at least a portion of object 410 visible. The first camera 410 can be positioned at a distance from the first visible portion 412 of the surface that corresponds to or satisfies one or more distance thresholds. For example, the distance thresholds can correspond to a diffusion model by specifying one or more distances at, before, or beyond which a particular diffusion model can detect a pixel with varying degrees of accuracy. The first camera 420 can include a first field of view 422. The first field of view 422 can correspond at least partially in one or more of the structure or operation of a field of view of camera 110.The first field of view 422 can, for example, have a 2D boundary that corresponds to the first visible part 412.
[0029] The second camera 430 can correspond at least partially to one or more of the structure or operation of camera 110. For example, the second camera 430 can have a viewpoint oriented towards object 410 to render at least a portion of object 410 visible. The second camera 430 can be positioned at a distance from the second visible part 414 of the surface that corresponds to or satisfies one or more distance thresholds of a diffusion model. The second camera 430 can include a second field of view 432. The second field of view 432 can correspond at least partially to one or more of the structure or operation of a field of view of camera 110. For example, the second field of view 432 can have a 2D boundary that corresponds to the second visible part 414.
[0030] The third camera 440 can correspond at least partially to one or more of the structure or operation of camera 110. For example, the third camera 440 can have a viewpoint oriented towards object 410 to render at least a portion of object 410 visible. The third camera 440 can be positioned at a distance from the third visible part 416 of the surface that corresponds to or satisfies one or more distance thresholds of a diffusion model. The third camera 440 can include a third field of view 442. The third field of view 442 can correspond at least partially to one or more of the structure or operation of a field of view of camera 110. For example, the third field of view 442 can have a 2D boundary that corresponds to the third visible part 416.Thus, the first camera 420, the second camera 430, and the third camera 440 together can render a larger portion of object 410 than any single camera could alone. Any number of cameras (viewpoints) can be positioned around and directed toward object 410, or any other 3D object described herein, to render all or substantially all of the surface of the 3D object.
[0031] Fig. Figure 5 depicts an example textured surface, according to the available implementations. As in Fig. As illustrated by example in Figure 5, a textured surface 500 can contain at least one latent texture 510. The latent texture 510 can correspond at least partially in one or more of the structure or operations of the input of a latent image 120, the output of a latent image 140, or the surface projection 200. For example, the latent texture 510 can be applied to object 102 or object 410 by projector 150. For example, the latent texture 510 on a surface of object 102 can be detected by camera 110. For example, the latent texture 510 on a surface of object 410 can be detected jointly or individually by one or more of cameras 420, 430, and 440.
[0032] The latent texture 510 can have one or more specific values corresponding to one or more specific points on an object's surface. For example, each point of the latent texture 510 can correspond to a point on a surface of the object 410. For example, a portion of the latent image 510 can correspond to, but is not limited to, a color, brightness, hue, transparency, or any combination thereof. The latent texture 510 can be encoded as a latent value corresponding to a visual property in a format compatible with the diffusion model and is not limited to being encoded or stored with values that specify visual properties in a visual spectrum.For example, the latent texture can store 510 latent values that differ from the colors defined in RGB or CMYK palettes, but which can be converted between latent values and color values. Latent values can correspond to one or more pixels in a color space. For example, a single latent value can correspond to a single pixel in a latent image space, and it can also correspond to a multitude of pixels in a color space. For example, this multitude of pixels in the color space corresponding to the single latent value can be considered a patch of pixels in the color space. For example, the patch of pixels can be mapped to each other according to one or more properties or one or more thresholds, including, but not limited to, distance or color.For example, a neural network can operate on one or more patches to provide a technical improvement in the speed of image pixel processing. The neural network can, for example, be a convolutional neural network, but is not limited to that.
[0033] Fig. Figure 6 depicts an exemplary texture processing pipeline, according to the present implementations. As in Fig. As illustrated by example in Figure 6, a texture processing pipeline 600 can include a depth conditioning stage to condition the depth according to a 3D model of an object 610. The texture processing pipeline 600 can include an image generation stage to generate the image, at least partially, based on a latent 2D texture 620 or an inference stage. For example, inference is performed using (for example, and without limitation) a diffusion model 630, and a latent texture generation stage generates the latent textures according to a diffusion model 640. The texture processing pipeline 600 can include a latent gradient output computation stage 650 to calculate the latent gradient output using the latent texture.
[0034] In one or more embodiments, during depth conditioning stage 610, a 3D model can be identified that corresponds to an input identifying or at least partially describing an object. Depth conditioning 610 can, for example, involve retrieving, obtaining, generating, or modifying a 3D model to correspond to text input, or to input provided by a user through a user interface that describes an aspect of an object. Thus, depth conditioning can provide at least one technical improvement: a significant reduction in the computational resources required to generate a texture for a given object by obtaining an object, thereby bypassing a texture rendering process that involves constructing, rendering, or applying a 3D object in a 3D coordinate space to render the 2D texture.
[0035] In one or more embodiments, the image generation stage 620 can correspond at least partially, in one or more structures or operations, to the operation of the camera 110 to capture the input of a latent image 120. The inference stage 630 can include providing the input of a latent image 120 for a generative model (e.g., the diffusion model 130). The diffusion model represented in the texture processing architecture 600 can, for example, correspond at least partially, in one or more structures or operations, to the diffusion model 130. The latent texture generation stage 640 can include obtaining the output of a latent image 140 according to the output of the diffusion model 130.
[0036] The output of the latent gradient 650 calculation stage can include a transformation of one or more parts of a latent texture. For example, calculating the latent gradient 650 can correspond to generating a 2D latent image that specifies the level of diffusion or divergence between pixels of a surface projection. The latent gradient 650 can, for instance, indicate the degree of difference between neighboring pixels or previous pixels at that location, as generated in earlier iterations of a latent image by a diffusion model. Thus, the latent gradient 650 can provide a technical improvement for specifying a level of cohesion between parts of a latent image captured from different viewpoints.
[0037] Fig. Figure 7 depicts an example texture, according to the available implementations. As in Fig. As illustrated by example in Figure 7, a texture 700 can contain at least one 2D texture 710 and one 2D texture applied to a 3D object 720.
[0038] The 2D texture 710 can correspond, at least partially, to one or more of the structure and operation of the surface projection 200. The 2D texture 710 can correspond to, but is not limited to, a latent image that has been converted into a rendering in a color space visible to the human eye. For example, the 2D texture 710 can be rendered from a latent image or a latent gradient into an RGB color space. For example, the 2D texture 710 can correspond to the surface of an object that corresponds to an SUV. For example, the 2D texture 710 can be provided as output in response to a text prompt containing "a red SUV" provided to a system as explained herein. The 2D texture 710 can correspond to a flattened image to be wrapped around a 3D model obtained in response to the text prompt in order to be compatible with the text prompt.
[0039] The 2D texture applied to the 3D object 720 can correspond to the 2D texture 710, which is wrapped to match the surface of a 3D object corresponding to the text prompt. For example, wrapping the 2D texture 710 can correspond to applying surface projection 200 to object 102, where object 102 is the 3D object to which the 2D texture 710 is applied. The 2D texture 710 can, for example, contain a number of pixels, some of which (e.g., each) correspond to a specific location on the surface of a 3D object.
[0040] Fig. Figure 8A shows an exemplary viewpoint capture of a 3D model with a contrasting texture, according to the available implementations. As in Fig. As exemplified in Figure 8A, a viewpoint capture of a 3D model with contrasting texture 800A can contain at least one object 810A, an upper garment part 812A, a lower garment part 814A, a first camera 820, a second camera 830 and a third camera 840.
[0041] Object 810A can correspond at least partially to Object 102 in one or more of its structure and operation, and can contain a surface that can correspond at least partially to Surface Projection 200 in one or more of its structure or operation. For example, Object 810A can correspond to a 3D model of a woman wearing a sweater, jeans, and sneakers. Object 810A can contain, but is not limited to, a surface with a specific color space, as illustrated herein. For example, Object 810A can have a surface with a latent texture or a latent gradient, as described herein. For example, Object 810A can have a surface corresponding to a red sweater with a sweater texture and blue jeans with a denim texture.The surface of object 810A can be generated by System 100 using multiple cameras or viewpoints, with one or more (e.g., each) facing different parts of object 810A. The upper garment part 812A can correspond to a portion of object 810A's surface with the red color and sweater texture and can be generated by System 100. The lower garment part 814A can correspond to a portion of object 810A's surface with the blue color and denim texture and can be generated by System 100. For example, System 100 can generate the upper garment part 812A and the lower garment part 814A in response to a text prompt for "a woman wearing a red sweater and dark jeans."
[0042] The first camera 820 can correspond to a viewpoint directed towards a first part of the object 810A. For example, the first camera 820 can be directed towards a head or hair region of the object 810A and detect a portion of the object 810A's surface that includes at least part of the head or hair region. The first camera 820 can include a first object distance 822, a first near threshold 824, and a first far threshold 826. The first object distance 822 can correspond to a first distance in 3D space between the first camera 820 and a surface of the object 810A.
[0043] For example, the first object distance 822 can correspond to a linear distance. The first near threshold 824 can specify a first minimum distance in a 3D space between the first camera 820 and a surface of the object 810A. The first minimum distance can be, for example, determined by one or more diffusion models and the first camera 820, and can specify a distance below which the diffusion model can introduce distortion into a detected surface or surface projection. The first far threshold 826 can specify a first maximum distance in a 3D space between the first camera 820 and a surface of the object 810A. The maximum distance can be, for example, determined by one or more diffusion models and the first camera 820, and can specify a distance beyond which the diffusion model can introduce distortion into a detected surface or surface projection.
[0044] The second camera 830 can correspond to a viewpoint directed towards a second part of the object 810A. For example, the second camera 830 can be directed towards an arm or shoulder region of the object 810A and detect a portion of the surface of the object 810A that includes at least part of the arm or shoulder region of the object 810A. The second camera 830 can include a second object distance 832, a second near threshold 834, and a second far threshold 836.
[0045] The second object distance 832 can correspond to a second distance in 3D space between the second camera 830 and a surface of object 810A. For example, the second object distance 832 can correspond to a linear distance. The second near threshold 834 can specify a second minimum distance in 3D space between the second camera 830 and a surface of object 810A. The minimum distance can be, for example, determined by one or more diffusion models and the second camera 830, and can specify a distance below which the diffusion model can introduce distortion into a detected surface or surface projection. The second far threshold 836 can specify a second maximum distance in 3D space between the second camera 830 and a surface of object 810A.The maximum distance can be, for example, 830 according to one or more diffusion models and the second camera, and can specify a distance beyond which the diffusion model can introduce distortion into a detected surface or surface projection.
[0046] The third camera 840 can correspond to a viewpoint oriented towards a third part of object 810A. For example, the third camera 840 can be oriented towards an armpit or torso region of object 810A and detect a portion of object 810A's surface that includes at least part of the armpit or torso region. The third camera 840 can, for example, be oriented to detect a part of object 810A that would otherwise be obscured by another part of object 810A. Thus, the multiple cameras or viewpoints can be aligned to provide a technical improvement in coherent and artifact-free texture rendering. The third camera 840 can include a third object distance 842, a third near threshold 844, and a third far threshold 846.
[0047] The third object distance 842 can correspond to a third distance in 3D space between the third camera 840 and a surface of object 810A. For example, the third object distance 842 can correspond to a linear distance. The third near threshold 844 can specify a third minimum distance in 3D space between the third camera 840 and a surface of object 810A. The minimum distance can be, for example, determined by one or more diffusion models and the third camera 840, and can specify a distance below which the diffusion model can introduce distortion into a detected surface or surface projection. The third far threshold 846 can specify a second maximum distance in 3D space between the third camera 840 and a surface of object 810A.The maximum distance can be, for example, 840 according to one or more of a diffusion model and the third camera, and can specify a distance beyond which the diffusion model can introduce a distortion into a detected surface or surface projection.
[0048] Fig. Figure 8B shows an exemplary viewpoint capture of a 3D model with complementary texture, according to the available implementations. As in Fig. As exemplified by 8B, a viewpoint capture of a 3D model with complementary texture 800B can contain at least one object 810B, an upper garment part 812B and a lower garment part 814B.
[0049] Object 810B can correspond, at least partially, to object 810A in one or more aspects of structure and operation, and can have a surface that differs from that of object 810A in response to a text prompt that differs, in part, from a text prompt provided as input to generate object 810A. For example, object 810B can correspond to a 3D model of a woman wearing a shirt, trousers, and sneakers. For example, object 810B can have a surface that corresponds to a white top with a cotton texture and trousers with a texture of a technical material. The upper garment part, 812B, can correspond to a portion of the surface of object 810B with the white color and cotton texture and can be generated by System 100.The lower garment part 814B can correspond to a portion of the surface of object 810B with the white color and denim texture and can be generated by System 100. For example, System 100 can generate the upper garment part 812B and the lower garment part 814B in response to a text prompt for "a woman wearing a white sports outfit".
[0050] Fig. Figure 9 depicts an example textured 3D object, according to the available implementations. As in Fig. As illustrated by example in Figure 9, a textured 3D object 900 can contain at least one front view of object 910, one rotated view of object 920, and another rotated view of object 930. The textured 3D object could, for example, correspond to a backpack with a black external surface, a gray external back surface, and red accents.
[0051] The front view of object 910 can correspond to a view of the backpack from the gray external back surface. The front view of object 910 can include a textured bottom edge 912. The textured bottom edge 912 can correspond to a portion of the backpack's surface that forms a boundary between a back surface and a bottom surface of the backpack. The rotated view of object 920 can correspond to a view of the backpack from the gray external back surface when the object is rotated along a vertical axis. The rotated view of object 920 can include a textured right edge 922. The textured right edge 922 can correspond to a portion of the backpack's surface that forms a boundary between a back surface and a side surface of the backpack.The further rotated view of object 930 can correspond to a view of the backpack from the outer external back surface if the object is rotated further along the vertical axis. The further rotated view of object 930 can include a textured seam edge 932. The textured seam edge 932 can correspond to a portion of the backpack's surface that forms a boundary between a first fabric piece of the backpack and a second fabric piece of the backpack.
[0052] As exemplified herein by the textured bottom edge 912, the textured right edge 922 and the textured outer edge 932, this technical solution can provide a technical improvement of artifact-free texture rendering across surface boundaries of a 3D object and viewpoint boundaries of one or more cameras.
[0053] Fig. Figure 10 depicts an exemplary model architecture, according to the available implementations. As in Fig. As illustrated by example in Figure 10, a model architecture 1000 can contain at least one query processor 1010, one import engine 1020, one surface processor 1030, one view capture engine 1040, one texture model engine 1050 and one texturing engine 1060.
[0054] The query processor 1010 can receive a query and identify one or more 3D objects based on a texture specification. For example, the query processor 1010 can identify a 3D object by parsing part of the text prompt.
[0055] The Import Engine 1020 can retrieve a 3D object based on a 3D object identified by the Query Processor 1010. For example, the Import Engine 1020 can have an interface to, or contain, a repository of 3D objects and can reference or retrieve various 3D models based on, for example, an identifier of the 3D object derived by the Import Engine 1020. The Import Engine 1020 can contain a 3D Model Import Interface 1022 and a 2D Texture Import Interface 1024. The 3D Model Import Interface 1022 can contain a communication interface configured to be compatible with a repository of 3D models and can retrieve one or more 3D models, or references to 3D models, corresponding to a specific 3D object.The 3D model import interface 1022, for example, can contain an application programming interface (API) compatible with a repository of 3D models. The 2D texture import interface 1024 can contain a communication interface configured to be compatible with a repository of 2D textures and can receive one or more 2D models or references to 2D textures corresponding to a specific text prompt. The 2D texture import interface 1024, for example, can contain an application programming interface (API) compatible with a repository of 2D textures. The surface processor 1030 can apply a received 2D texture to a received 3D object. The surface processor 1030 can, for example, "wrap" a received 3D object in a received 2D texture.The surface processor 1030, for example, can apply a latent image or a latent gradient to the 3D object according to the surface projection 200 applied to the object 102. As explained herein, "3D object" and "3D model" can be used interchangeably.
[0056] The View Capture Engine 1040 can obtain 2D textures corresponding to one or more parts of a surface projection on a 3D object. The View Capture Engine 1040 can include a Viewpoint Iterator 1042, a Surface Capture Processor 1044, a Distortion Processor 1046, and a Surface Selector 1048. The Viewpoint Iterator 1042 can sequentially or selectively choose viewpoints or cameras to capture parts of a 3D object's surface. For example, the Viewpoint Iterator 1042 can sequentially select a variety of cameras according to an "inner loop" that occurs once during each iteration of the diffusion model. The 1044 surface capture processor can capture part of a surface of a 3D object from a first viewpoint and can sequentially select one or more viewpoints to jointly detect a surface of the 3D object and generate a surface projection for the 3D object.Thus, the viewpoint iterator 1042 and the surface acquisition processor 1044 can jointly or cooperatively generate a surface projection corresponding to a 3D object.
[0057] The Distortion Processor 1046 can identify a distortion metric associated with one or more distortion thresholds of a given viewpoint. The Distortion Processor 1046 can receive or otherwise obtain camera input of viewpoints that meet one or more thresholds corresponding to a diffusion model. For example, one or more (e.g., all) pixels of a surface projection of a 3D object's surface can be assigned to one or more cameras or viewpoints aligned to detect that pixel. A determination can be made to select a viewpoint from a multitude of viewpoints that meets one or more thresholds. The thresholds can, for example, be associated with a diffusion model.A diffusion model might detect a pixel on the surface of a 3D object with lower accuracy if a viewpoint is positioned closer than a near threshold or farther than a far threshold. A near threshold can represent the minimum distance between a viewpoint and a surface of a 3D object that allows for accurate detection of a portion of the object's surface within the viewpoint's field of view. For example, the near threshold can be based on one or more properties of the diffusion model. A first viewpoint might be positioned to detect a point at a distance from a surface of a 3D object outside the diffusion model's distance thresholds, while another viewpoint might be positioned to detect a point at a distance from a surface of a 3D object within the diffusion model's distance thresholds.Thus, depth conditioning can select the camera that sees the point within the distance thresholds to achieve the technical improvement of increased accuracy of the output generated by a diffusion model.
[0058] For example, the Distortion Processor 1046 can identify one or more parts of a surface detected from a given viewpoint as lying inside or outside one or more of a minimum distance threshold and a maximum distance threshold. For example, the Distortion Processor 1046 can identify which parts of a detected surface lie within the distortion thresholds of a diffusion model. For example, the Distortion Processor 1046 can identify parts of a surface on a pixel-by-pixel basis. The Surface Selector 1048 can select parts of detected surfaces to generate a surface projection that corresponds to the surface of a 3D object.The surface selector 1048 can, for example, identify parts of a detected surface from one or more viewpoints and can generate a surface projection by combining parts of the detected surface that are determined by the distortion processor 1046 to satisfy one or more distance thresholds.
[0059] The Texture Model Engine 1050 can generate or model a 2D texture, latent image, or latent gradient that corresponds to the 2D texture. For example, the Texture Model Engine 1050 can generate a 2D texture or latent image through the System 100 via one or more in Fig. The three specified iterations evolve and modify over time. For example, the operation of the texture model 1050 can correspond to an "outer loop" of the diffusion model process, in which an "inner loop" is applied to provide a surface projection for the diffusion model for each iteration of the diffusion model. The texture model engine 1050 can include a texture diffusion engine 1052, a latent image processor 1054, and a latent gradient processor 1056.
[0060] The texture diffusion engine 1052 can assemble one or more parts of a surface projection, selected by the surface selector 1048, into a latent image, which is to be provided as input for a diffusion model corresponding to the latent image processor 1054. The latent image processor 1054 can process a latent image according to a diffusion model. For example, the latent image processor 1054 can correspond to diffusion model 603 and can obtain at least image 620 and generate texture 640. The latent gradient processor 1056 can generate a latent gradient according to a latent image. For example, the latent gradient processor 1056 can generate latent gradient 650 according to latent texture 640.
[0061] The Texturing Engine 1060 can generate a 2D texture based on a latent image or a latent gradient. For example, the Texturing Engine 1060 can convert a latent space into a color space in response to receiving or according to a specified color space. The color space might be defined, for example, in a text prompt or in relation to a specific video processing component of a computer system. The Texturing Engine 1060 can include a Color Space Processor 1062. The Color Space Processor 1062 can transform a latent image or a latent gradient into a 2D image based on a specified color space. For example, the Color Space Processor 1062 can transform a latent image or a latent gradient into an RGB color space or a CMYK color space.
[0062] Fig. Figure 11 depicts an exemplary network system, according to the available implementations. As in Fig. As illustrated by example in Figure 11, an example network system 1100 can include at least one or more application servers 1102 (which have similar components, features and / or functionality to the example computing device 1200). Fig. 12 may contain), one or more client devices 1104 (which have similar components, features and / or functionality to the exemplary computing device 1200 of Fig. 12 may be included) and one or more networks 1106 (which may be similar to the one or more networks described herein). In some embodiments of the present disclosure, the system 1100 may be implemented to perform diffusion model training and runtime operations. The application session may correspond to a game streaming application (e.g., NVIDIA's GeFORCE NOW), a remote desktop application, a simulation application (e.g., simulation of autonomous or semi-autonomous vehicles), computer-aided design (CAD) applications, virtual reality (VR) and / or augmented reality (AR) streaming applications, deep learning applications, and / or other application types.For example, the system 1100 can be implemented to receive an input specifying one or more features of an output to be generated using a diffusion model, to provide the input to the model, to cause the model to generate the output, and to provide the output.
[0063] In system 1100, the one or more client devices 1104 for an application session may only receive input data in response to inputs into the one or more input devices, transmit the input data to the one or more application servers 1102, receive encoded display data from the one or more application servers 1102, and display the display data on the display 1124. Therefore, the more computationally intensive calculations and processing are offloaded to the one or more application servers 1102 (e.g., rendering—especially ray tracing or path tracing—for the graphical output of the application session is performed by the one or more GPUs of the one or more game servers 1102).In other words, the application session is streamed from the one or more application servers 1102 to the one or more client devices 1104, thereby reducing the graphics processing and rendering requirements on the one or more client devices 1104.
[0064] For example, a client device 1104 can display a frame of the application session on the display 1124 after receiving display data from the one or more application servers 1102, in connection with the instantiation of an application session. The client device 1104 can receive input at one or more input devices and, in response, generate input data, such as to provide modification inputs to a control signal for use by the modifier 112. The client device 1104 can transmit the input data to the one or more application servers 1102 via the communication interface 1120 and over the one or more networks 1106 (e.g., the Internet), and the one or more application servers 1102 can receive the input data via the communication interface 1118.The one or more CPUs can receive input data, process the input data, and transfer data to the one or more GPUs, which then cause the one or more GPUs to generate a rendering of the application session. The input data could, for example, represent the movement of a user character in a game session of a gaming application, firing a weapon, reloading, throwing a ball, turning a vehicle, etc. The rendering component 1112 can render the application session (which, for example, represents the result of the input data), and the rendering capture component 1114 can capture the rendering of the application session as display data (for example, as image data capturing the rendered frame of the application session). The rendering of the application session can include lighting and / or shadow effects using ray tracing or path tracing, which are generated using one or more parallel processing units—such as...GPUs, which may further utilize one or more dedicated hardware accelerators or processing cores to perform ray tracing or path tracing techniques, are computed by the one or more application servers 1102. In some embodiments, one or more virtual machines (VMs)—including, for example, one or more virtual components such as vGPUs, vCPUs, etc.—may be used by the one or more application servers 1102 to support the application sessions. The encoder 1116 can then encode the display data to generate encoded display data, and the encoded display data can be transmitted to the client device 1104 via the one or more networks 1106 according to the communication interface 1118.Client device 1104 can receive the encoded display data via communication interface 1120, and decoder 1122 can decode the encoded display data to generate the display data. Client device 1104 can then display the display data on display 1124.
[0065] Fig. Figure 12 depicts an exemplary computer system, according to the implementations presented. As exemplified in Fig. As illustrated in Figure 12, an exemplary computing device 1200 can include at least one interconnection system 1202 that directly or indirectly couples the following devices: main memory 1204, one or more central processing units (CPUs) 1206, one or more graphics processing units (GPUs) 1208, a communication interface 1210, input / output (I / O) ports 1212, input / output components 1214, a power supply 1216, one or more presentation components 1218 (e.g., display(s)), and one or more logic units 1220. In at least one embodiment, the one or more computing devices 1200 can include one or more virtual machines (VMs), and / or each of the components thereof can include virtual components (e.g., virtual hardware components).As non-restrictive examples, one or more of the GPUs 1208 can comprise one or more vGPUs, one or more of the CPUs 1206 can comprise one or more vCPUs, and / or one or more of the logic units 1220 can comprise one or more virtual logic units. Thus, a computing device 1200 can contain discrete components (e.g., a complete GPU allocated to the computing device 1200), virtual components (e.g., a portion of a GPU allocated to the computing device 1200), or a combination thereof.
[0066] Although the various blocks of Fig. Where components 12 are shown to be connected by lines according to the connection system 1202, this is not intended as a limitation and is for clarity only. In some embodiments, for example, a presentation component 1218, such as a display device, may be considered an I / O component 1214 (e.g., if the display is a touchscreen). As another example, the CPUs 1206 and / or GPUs 1208 may contain memory (e.g., the memory 1204 may represent a storage device in addition to the memory of the GPUs 1208, the CPUs 1206, and / or other components). In other words, the computing device of Fig. Figure 12 is for illustrative purposes only. No distinction is made between categories such as "workstation", "server", "laptop", "desktop", "tablet", "client device", "mobile device", "handheld device", "game console", "electronic control unit (ECU)", "virtual reality system" and / or other device or system types, as all fall within the scope of the computing device of Fig. 12 are being considered.
[0067] The 1202 interconnection system can represent one or more connections or buses, such as an address bus, a data bus, a control bus, or a combination thereof. The 1202 interconnection system can be arranged in various topologies, including but not limited to bus, star, ring, mesh, tree, or hybrid topologies. The 1202 interconnection system can include one or more bus or connection types, such as an Industry Standard Architecture (ISA) bus, an Extended ISA bus, a Video Electronics Standards Association (VESA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI Express (PCIe) bus, and / or another type of bus or connection. In some embodiments, there are direct connections between components. For example, the 1206 CPU can be directly connected to the 1204 main memory.Furthermore, the CPU 1206 can be directly connected to the GPU 1208. In the case of a direct or point-to-point connection between components, the connection system 1202 can include a PCIe link to establish the connection. In these examples, a PCI bus does not need to be included in the computing device 1200.
[0068] The 1204 main memory can contain a variety of computer-readable media. Computer-readable media can be any available media that the 1200 computing device can access. Computer-readable media can include both volatile and non-volatile media, as well as removable and non-removable media. For example, and without limitation, computer-readable media can include computer storage media and communication media.
[0069] Computer storage media can include both volatile and non-volatile media, and / or removable and non-removable media, implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, and / or other data types. For example, main memory can store computer-readable instructions (e.g., representing one or more programs and / or one or more program elements, such as an operating system). Computer storage media can include, but are not limited to, RAM, ROM, EEPROM, flash memory, or other storage technologies; CD-ROM, Digital Versatile Discs (DVDs), or other optical disk storage; magnetic cartridges, magnetic tapes, magnetic disk storage, or other magnetic storage devices; or any other medium that can be used to store the desired information and that the computing device can access.As used herein, computer storage media do not inherently contain signals.
[0070] Computer storage media can embody computer-readable instructions, data structures, program modules, and / or other data types in a modulated data signal, such as a carrier wave or other transport mechanism, and include any media for transmitting information. The term "modulated data signal" can refer to a signal in which one or more of its properties are set or modified to encode information within the signal. Computer storage media can include, but are not limited to, wired media, such as a wired network or a direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media. Combinations of the above should also be included in the scope of protection of the computer-readable media.
[0071] The one or more CPUs 1206 can be configured to execute at least some of the computer-readable instructions to control one or more components of the computing device 1200 to perform one or more of the procedures and / or processes described herein. The one or more CPUs 1206 can each contain one or more cores (e.g., one, two, four, eight, twenty-eight, seventy-two, etc.) capable of processing a multitude of software threads simultaneously. The one or more CPUs 1206 can contain any type of processor and can contain different types of processors depending on the type of computing device 1200 implemented (e.g., processors with fewer cores for mobile devices and processors with more cores for servers).Depending on the type of computing device 1200, the processor can be, for example, an Advanced RISC Machine (ARM) processor implemented with Reduced Instruction Set Computing (RISC), or an x86 processor implemented with Complex Instruction Set Computing (CISC). The computing device 1200 can contain one or more CPUs 1206, in addition to one or more microprocessors or additional coprocessors, such as mathematical coprocessors.
[0072] In addition to or alternatively to the one or more CPUs 1206, the one or more GPUs 1208 may be configured to execute at least some of the computer-readable instructions to control one or more components of the computing device 1200 to perform one or more of the procedures and / or processes described herein. One or more of the GPUs 1208 can be an integrated GPU (e.g., with one or more of the CPUs 1206) and / or one or more of the GPUs 1208 can be a discrete GPU. In embodiments, one or more of the GPUs 1208 can be a coprocessor of one or more of the CPUs 1206. The one or more GPUs 1208 can be used by the computing device 1200 to render graphics (e.g., 3D graphics) or to perform general-purpose computing. The one or more GPUs 1208 can be used, for example, for general-purpose computing on GPUs (GPGPU).The one or more GPUs 1208 can contain hundreds or thousands of cores capable of processing hundreds or thousands of software threads simultaneously. The one or more GPUs 1208 can generate pixel data for output images in response to rendering commands (e.g., rendering commands from the one or more CPUs 1206 received according to a host interface). The one or more GPUs 1208 can include graphics memory, such as display memory, for storing pixel data or other suitable data, such as GPGPU data. The display memory can be included as part of the system memory 1204. The one or more GPUs 1208 can contain two or more GPUs operating in parallel (e.g., according to a link). The link can connect the GPUs directly (e.g., using NVLINK) or connect the GPUs via a switch (e.g., using NVSwitch).When combined, each GPU can generate 1208 pixel data or GPGPU data for different sections of an output or for different outputs (e.g., a first GPU for a first image and a second GPU for a second image). Each GPU can have its own dedicated memory or share memory with other GPUs.
[0073] In addition to or as an alternative to the one or more CPUs 1206 and / or the one or more GPUs 1208, the one or more logic units 1220 may be configured to execute at least some of the computer-readable instructions to control one or more components of the computing device 1200 to perform one or more of the methods and / or processes described herein. In embodiments, the one or more CPUs 1206, the GPUs 1208, and / or the one or more logic units 1220 may discretely or jointly execute any combination of the methods, processes, and / or sections thereof. One or more of the logic units 1220 may be part of, or integrated into, one or more of the CPUs 1206 and / or one or more of the GPUs 1208, and / or one or more of the logic units 1220 may be discrete components or otherwise separate from the CPUs 1206 and / or the GPUs 1208.In embodiments, one or more of the logic units 1220 can be a co-processor of one or more of the CPUs 1206 and / or one or more of the GPUs 1208.
[0074] Examples of one or more logic units 1220 include one or more processing cores and / or components thereof, such as data processing units (DPUs), tensor cores (TCs), tensor processing units (TPUs), pixel visual cores (PVCs), vision processing units (VPUs), image processing units (IPUs), graphics processing clusters (GPCs), texture processing clusters (TPCs), streaming multiprocessors (SMs), tree traversal units (TTUs), artificial intelligence accelerators (AIAs), deep learning accelerators (DLAs), and arithmetic logic units. ALUs), application-specific integrated circuits (ASICs),Floating-point units (FPUs), input / output (I / O) elements, peripheral component interconnect (PCI) or PCI Express (PCIe) elements, and / or similar.
[0075] The communication interface 1210 can include one or more receivers, transmitters, and / or transceivers that enable the computing device 1200 to communicate with other computing devices via an electronic network, including wired and / or wireless communication. The communication interface 1210 can include components and functions that enable communication over a variety of different networks, such as wireless networks (e.g., Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, etc.), wired networks (e.g., Ethernet or InfiniBand communication), low-power wide-area networks (e.g., LoRaWAN, SigFox, etc.), and / or the Internet.In one or more embodiments, the one or more logic units 1220 and / or the communication interface 1210 can contain one or more data processing units (DPUs) to directly transfer data received via a network and / or the connection system 1202 to one or more GPUs 1208 (e.g., a memory thereof). In some embodiments, a plurality of computing devices 1200 or components thereof, which may be similar or different in various respects, can be communicatively coupled to transmit and receive data for performing various operations described herein, such as facilitating latency reduction.
[0076] The I / O ports 1212 enable the computing device 1200 to be logically coupled with other devices, including the I / O components 1214, one or more presentation components 1218, and / or other components, some of which may be built into (e.g., integrated with) the computing device 1200. Illustrative I / O components 1214 include a microphone, mouse, keyboard, joystick, gamepad, game controller, satellite dish, scanner, printer, wireless device, etc. The I / O components 1214 can provide a natural user interface (NUI) that processes user-generated air gestures, speech, or other physiological inputs, such as generating a control signal for use by the modifier 112 or a reference image (e.g., images 104).In some cases, the inputs can be transferred to a suitable network element for further processing, such as modifying and registering images. A NUI can implement any combination of speech capture, stylus capture, face capture, biometric capture, gesture capture (both on-screen and beside the screen), air gestures, head and eye tracking, and touch capture (as further described below) associated with a display of the Computing Device 1200. The Computing Device 1200 can include depth cameras, such as stereoscopic camera systems, infrared camera systems, RGB camera systems, touchscreen technology, and combinations thereof, for gesture capture and recognition. Additionally, the Computing Device 1200 can include accelerometers or gyroscopes (e.g., as part of an inertial measurement unit (IMU)) that enable motion detection.In some examples, the output from the accelerometers or gyroscopes can be used by the computing device 1200 to represent immersive augmented reality or virtual reality.
[0077] The power supply 1216 can include a hardwired power supply, a battery power supply, or a combination thereof. The power supply 1216 can power the computing device 1200 to enable the operation of the computing device 1200's components.
[0078] The one or more presentation components 1218 can include a display (e.g., a monitor, a touchscreen, a television screen, a heads-up display (HUD), other display types, or a combination thereof), speakers, and / or other presentation components. The one or more presentation components 1218 can receive data from other components (e.g., the one or more GPUs 1208, the one or more CPUs 1206, DPUs, etc.) and output the data (e.g., as an image, video, sound, etc.).
[0079] Fig. Figure 13 depicts an exemplary computer architecture, according to the available implementations. As exemplified in Fig. As illustrated in Figure 13, an exemplary computer architecture 1300 can contain at least one infrastructure layer 1310 of the data center, a framework layer 1320, a software layer 1330 and / or an application layer 1340.
[0080] As in Fig. As shown in Figure 13, the infrastructure layer 1310 of the data center can contain a resource orchestrator 1312, grouped compute resources 1314 and node compute resources (“node RRs”) 1316(1)-1316(N), where “N” is any positive integer. In at least one embodiment, the node RRs 1316(1)-1316(N) may include, but are not limited to, any number of central processing units (CPUs) or other processors (including DPUs, accelerators, field programmable gate arrays (FPGAs), graphics processing units or graphics processing units (GPUs), etc.), memory devices (e.g., dynamic solid storage), storage devices (e.g., solid-state or disk drives), network input / output (NW I / O) devices, network switches, virtual machines (VMs), power supply modules and / or cooling modules, etc.In some embodiments, one or more Node RRs among Node RRs 1316(1)-1316(N) may correspond to a server that has one or more of the computing resources mentioned above. Furthermore, in some embodiments, Node RRs 1316(1)-1316(N) may contain one or more virtual components, such as vGPUs, vCPUs, and / or the like, and / or one or more of Node RRs 1316(1)-1316(N) may correspond to a virtual machine (VM).
[0081] In at least one embodiment, the grouped compute resources 1314 can contain separate groupings of node RRs 1316, which are housed in one or more racks (not shown) or in many racks in data centers at different geographic locations (also not shown). Separate groupings of node RRs 1316 within grouped compute resources 1314 can contain grouped compute, network, memory, or storage resources that can be configured or allocated to support one or more workloads. In at least one embodiment, multiple node RRs 1316, including the CPUs, GPUs, DPUs, and / or other processors, can be grouped in one or more racks to provide compute resources to support one or more workloads.The one or more racks can also contain any number of power supply modules, cooling modules and / or network switches in any combination.
[0082] The resource orchestrator 1312 can configure or otherwise control one or more node RRs 1316(1)-1316(N) and / or grouped compute resources 1314. In at least one embodiment, the resource orchestrator 1312 can include an entity for managing the software design infrastructure (SDI) for the data center 1300. The resource orchestrator 1312 can include hardware, software, or a combination thereof.
[0083] In at least one embodiment, as in Fig. As shown in Figure 13, the framework layer 1320 can contain a job scheduler 1328, a configuration manager 1334, a resource manager 1336, and / or a distributed file system 1338. The framework layer 1320 can contain a framework that supports the software 1332 of the software layer 1330 and / or one or more applications 1342 of the application layer 1340. The software 1332 or the one or more applications 1342 can each contain web-based service software or applications such as those provided by Amazon Web Services, Google Cloud, and Microsoft Azure. The framework layer 1320 can be a type of free and open-source software web application framework, such as Apache Spark™ (hereinafter "Spark"), which can utilize a distributed file system 1338 for processing large amounts of data (e.g., "Big Data"), without being limited to it.In at least one embodiment, the job scheduler 1328 can include a Spark driver to facilitate the scheduling of workloads supported by different layers of the data center 1300. The configuration manager 1334 can be able to configure different layers, such as the software layer 1330 and the framework layer 1320, which contains Spark and the distributed file system 1338, to support the processing of large amounts of data. The resource manager 1336 can be able to manage clustered or grouped compute resources allocated or assigned to support the distributed file system 1338 and the job scheduler 1328. In at least one embodiment, the clustered or grouped compute resources can include the grouped compute resource 1314 on the infrastructure layer 1310 of the data center.The resource manager 1336 can coordinate with the resource orchestrator 1312 to manage these allocated or assigned computing resources.
[0084] In at least one embodiment, the software 1330 contained in software layer 1332 may include software used by at least sections of the node RRs 1316(1)-1316(N), the grouped compute resources 1314, and / or the distributed file system 1338 of framework layer 1320. One or more types of software may include, among others, web page search software, email virus scanning software, database software, and streaming video content software.
[0085] In at least one embodiment, the applications 1342 contained in the application layer 1340 may include one or more types of applications used by at least sections of the node RRs 1316(1)-1316(N), the grouped compute resources 1314, and / or the distributed file system 1338 of the framework layer 1320. One or more types of applications may include, but are not limited to, any number of genome applications, cognitive computations, and machine learning applications, including training or inference software, machine learning framework software (e.g., PyTorch, TensorFlow, Caffe, etc.), and / or other machine learning applications used in conjunction with one or more embodiments, such as for training, configuring, updating, and / or running machine learning models 104, 204.
[0086] In at least one embodiment, a configuration manager 1334, a resource manager 1336, and a resource orchestrator 1312 can implement any number and type of self-modifying actions based on any amount and type of data acquired in any technically feasible manner. Self-modifying actions can relieve a data center operator of data center 1300 of potentially making poor configuration decisions and potentially avoiding underutilized and / or poorly functioning sections of a data center.
[0087] The Computing Center 1300 may contain tools, services, software, or other resources to train one or more machine learning models (e.g., to train machine learning models of Modifier 112) or to predict or infer information using one or more machine learning models (e.g., machine learning models of Modifier 112) according to one or more embodiments described herein. For example, one or more machine learning models may be trained by calculating weighting parameters according to a neural network architecture, using software and / or computing resources described above with reference to Computing Center 1300.In at least one embodiment, trained or deployed machine learning models corresponding to one or more neural networks can be used to infer or predict information using the resources described above with reference to the Computing Center 1300 by using weighting parameters calculated by one or more training techniques such as, but not limited to, those described herein.
[0088] In at least one embodiment, the data center can use 1300 CPUs, application-specific integrated circuits (ASICs), GPUs, FPGAs, and / or other hardware (or equivalent virtual computing resources) to perform training and / or inference using the resources described above. Furthermore, one or more of the software and / or hardware resources described above can be configured as a service to allow users to train or infer information, such as image capture, speech capture, or other artificial intelligence services.
[0089] Fig.Figure 14 describes a method 1400 for texture generation for three-dimensional models according to a text-based prompt input, as implemented here. At least System 100, System 1100, System 1200, or Architecture 1300, or a component thereof, can execute the method 1400. For example, the method 1400 can iterate in an "outer loop" over multiple time points t within or over a time range T. For example, in each iteration of the "outer loop," the method 1400 can generate or obtain a diffusion map Z.
[0090] In 1410, method 1400 can receive input in the form of portions of a two-dimensional (2D) texture model. In 1412, method 1400 can receive input from a texture model on the surface of a three-dimensional (3D) model. For example, method 1400 can iterate in an "inner loop" over multiple viewpoints or cameras oriented toward the surface of the 3D model. For example, method 1440 can generate, render, or capture a portion of the surface of the 3D object. For example, within an inner loop, method 1400 can determine that one or more pixels detected on a surface meet one or more distance thresholds corresponding to one or more of the viewpoint and the machine vision model. For example, method 1400 can apply a mask to one or more pixels that meet or do not meet one or more distance thresholds.For example, method 1400 can apply a mask to ignore one or more pixels at a distance from a surface of a 3D object that is farther than a far threshold or closer than a near threshold to a viewpoint.
[0091] At 1420, method 1400 can generate output according to the input, which contains a 2D texture for the 3D model. At 1422, method 1400 can generate output according to a machine vision model configured to generate a 2D image. A machine vision model can, for example, generate, modify, or detect 2D or 3D image data, but is not limited to this. The output can, for example, correspond to the output of a diffusion model (DDIM). For example, the diffusion model can render the surface on a per-viewpoint basis within the inner loop. For example, the diffusion model can render the surface in an outer loop after capturing all viewpoints in the inner loop. For example, the diffusion model can render the surface based on unmasked pixels or by excluding masked pixels.For example, procedure 1440 can append any output of the diffusion model in the inner loop or the output of the diffusion model in the outer loop to the diffusion map Z. The output can, for example, be the mean of one or more parts or aspects of the diffusion map Z. In procedure 1424, procedure 1400 can generate the output in response to receiving a specification of the 3D model. In procedure 1426, procedure 1400 can generate the output in response to receiving a specification of the 2D texture.
[0092] The foregoing can be implemented as follows, including according to a processor. For example, the processor can transform the 2D texture model according to a diffusion model corresponding to the machine vision model in order to reduce noise in the 2D texture model according to the specification corresponding to the 2D texture. For example, the processor can transform each of a plurality of parts of the 2D texture model in a first iterative sequence according to a diffusion model corresponding to the machine vision model in order to reduce noise in the 2D texture model, where the 2D texture corresponds to the output after the first iterative sequence.
[0093] For example, each of the multiple parts of the 2D texture model corresponds to one of the views of the 2D texture model. For example, the processor can transform the parts of the 2D texture model according to the diffusion model in a second iterative sequence to reduce noise in the 2D texture model, where the second iterative sequence restricts the diffusion model to one or more iterations according to the first iterative model, where the 2D texture corresponds to the output after a multiple of iterations according to the first iterative sequence according to the second iterative sequence.
[0094] For example, based on the distance between a camera (among a multitude of cameras) and a portion of the 3D object's surface, the processor can assign a metric to that portion of the object's surface and generate the output accordingly. For instance, based on a determination that the distance meets a threshold corresponding to a distortion caused by a diffusion model, the processor can assign a metric that includes a weight for the portion of the 3D object's surface for the model that meets the threshold.
[0095] For example, based on a first camera among a multitude of cameras with a first view that may contain part of the 2D texture model on the surface of the 3D model, the processor can identify a first metric indicating a first degree of distortion caused by a diffusion model. Based on a second camera among a multitude of cameras with a second view that may contain part of the 2D texture model on the surface of the 3D model, the processor can identify a second metric indicating a second degree of distortion caused by the diffusion model. Based on a determination that the first degree of distortion is less than or equal to the second degree of distortion, the processor can select the input to contain the first view.
[0096] The processor is, for example, included in at least one of the control systems for an autonomous or semi-autonomous machine. The system may include a perception system for an autonomous or semi-autonomous machine. The system may include a system for performing simulation operations. The system may include a system for performing digital twin operations. The system may include a system for performing light transport simulation. The system may include a system for performing collaborative content creation for 3D assets. The system may include a system for performing deep learning operations. The system may include a system implemented using an edge device. The system may include a system implemented using a robot. The system may include a system for performing conversational AI operations.The system can include a system for generating synthetic data. The system can include a system that contains one or more virtual machines (VMs). The system can include a system that is at least partially implemented in a data center. The system can be implemented at least partially using cloud computing resources.
[0097] For example, the system can transform the 2D texture model according to a diffusion model that corresponds to the model and receives the input to reduce noise in the 2D texture model according to the input corresponding to the 2D texture. For example, the system can transform each of the plurality of parts of the 2D texture model in a first iterative sequence according to a diffusion model that corresponds to the model to reduce noise in the 2D texture model, where the 2D texture corresponds to the output after the first iterative sequence. The plurality of parts of the 2D texture model corresponds, for example, to the plurality of views of the 2D texture model according to a plurality of cameras oriented towards the surface of the 3D model.For example, the system can transform the 2D texture model according to the diffusion model in a second iterative sequence to reduce noise in the 2D texture model, where the second iterative sequence restricts the diffusion model to one or more iterations according to the first iterative model, where the 2D texture of the output after a multitude of iterations according to the first iterative sequence corresponds to the second iterative sequence.
[0098] For example, based on the distance between a camera (among a multitude of cameras oriented towards the surface of the 3D model) and a portion of the 3D object's surface, the system can assign a metric to that portion of the 3D object's surface. The system can then generate output according to this metric. For instance, if the distance meets a threshold corresponding to a distortion in the output of a diffusion model, it can assign a weight to that portion of the 3D object's surface for the model that meets the threshold.
[0099] For example, based on a first camera among a multitude of cameras with a first view that may contain part of the 2D texture model on the surface of the 3D model, the system can identify a first metric indicating a first degree of distortion in the output of a diffusion model. Based on a second camera among a multitude of cameras with a second view that may contain part of the 2D texture model on the surface of the 3D model, the system can identify a second metric indicating a second degree of distortion in the output of a diffusion model. Based on a stipulation that the first degree of distortion is less than or equal to the second degree of distortion, the system can select the views to include the first view.
[0100] The system can, for example, include a processor that is part of at least one control system for an autonomous or semi-autonomous machine. The system can correspond to a perception system for an autonomous or semi-autonomous machine. The system can correspond to a system for performing simulation operations. The system can correspond to a system for performing digital twin operations. The system can correspond to a system for performing light transport simulations. The system can correspond to a system for performing collaborative content creation for 3D assets. The system can correspond to a system for performing deep learning operations. The system can correspond to a system implemented using an edge device. The system can correspond to a system implemented using a robot.The system can correspond to a system for performing operations with conversational AI. The system can correspond to a system for generating synthetic data. The system can correspond to a system that includes one or more virtual machines (VMs). The system can correspond to a system that is at least partially implemented in a data center. The system can correspond to a system that is at least partially implemented using cloud computing resources.
[0101] The computer-readable medium can, for example, contain one or more instructions executable by a processor. The processor can transform the 2D texture model according to a diffusion model that corresponds to the model in order to reduce noise in the 2D texture model according to the specification corresponding to the 2D texture.
[0102] Following the description of some illustrative implementations, it should be noted that the foregoing is for illustrative purposes only and is not intended to be restrictive. In particular, although many of the examples presented here involve specific combinations of procedural actions or system elements, these actions and elements can also be combined in other ways to achieve the same goals. Actions, elements, and features explained in connection with one implementation should not be interpreted as precluding a similar role in other implementations.
[0103] The language and terminology used herein serve a descriptive purpose and should not be considered restrictive. The use of "including," "comprehensive," "exhibiting," "containing," "including," "characterized by," "characterized by," and variations thereof herein is intended to encompass the elements listed below, their equivalents, and additional elements, as well as alternative implementations consisting solely of the elements listed below. In an implementation, the systems and procedures described herein consist of one, any combination of more than one, or all of the described elements, actions, or components.
[0104] References to "or" are to be considered inclusive, so that any term described using "or" may specify one, more than one, or all of the described terms. References to at least one term from a list of conjunctions may be considered an inclusive OR to specify one, more than one, and all of the described terms. Thus, a reference to "at least one of 'A' and 'B'" may include only 'A', only 'B', or both 'A' and 'B'. Such references, used in conjunction with "inclusive" or other open terminology, may include additional elements. References to "is" or "are" may be considered non-restrictive to the implementation or action referred to in conjunction with that term. The terms "is" or "are," or any tense or derivative thereof, are interchangeable and synonymous with "may be" or "may be," respectively."may be", as used herein, unless otherwise stated herein.
[0105] The direction indicators shown herein are examples to facilitate understanding of the examples explained herein and are not limited to those shown. Any direction indicator shown herein can be modified to the reverse direction or to include both the direction shown and a direction reversed to the direction shown, unless otherwise specified herein. Although the operations in the drawings are shown in a particular order, it is not necessary that these operations be performed in the particular order shown or in sequential order, nor is it necessary that all of the illustrated operations be performed. The actions described herein can also be performed in a different order.If technical features in the drawings, the detailed description, or the claims are designated with reference numerals, these reference numerals have been included to improve the clarity of the drawings, the detailed description, and the claims. Accordingly, neither the reference numerals nor their absence have any limiting effect on the scope of protection of the claim elements.
[0106] The scope of protection for the systems and methods described here is therefore specified by the attached claims instead of by the preceding description. The scope of protection of the claims contains equivalents to the meaning and scope of protection of the attached claims. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] US 18 / 361,987
[0001]
Claims
[1] Processor, including: one or more circuits for: Receiving an input according to one or more views from a multitude of viewpoints of a two-dimensional (2D) texture model, where the 2D texture model corresponds to a surface of a three-dimensional (3D) model; and Generate, using a generative machine learning model and according to the input, an output that contains a 2D texture for the 3D model, where the output corresponds to a specification of the 3D model and the 2D texture. [2] Processor according to claim 1, wherein the generative machine learning model comprises a diffusion model, and the one or more circuits serve the following purpose: Transform, using the diffusion model, the 2D texture model to reduce noise in the 2D texture model according to the specification that corresponds to the 2D texture. [3] Processor according to claim 1, wherein the one or more circuits further serve to transform, in a first iterative sequence according to a diffusion model corresponding to the generative machine learning model, one or more of a plurality of parts of the 2D texture model in order to reduce noise in the 2D texture model, wherein the 2D texture corresponds to the output after the first iterative sequence. [4] Processor according to claim 3, wherein one or more of the plurality of parts of the 2D texture model correspond to one or more of the views of the 2D texture model. [5] Processor according to claim 3, wherein one or more circuits further serve the following: Transforming, according to the diffusion model in a second iterative sequence, the parts of the 2D texture model to reduce noise in the 2D texture model, wherein the second iterative sequence restricts the diffusion model to one or more iterations according to the first iterative model, where the 2D texture of the output corresponds to the second iterative sequence after a multitude of iterations according to the first iterative sequence. [6] Processor according to claim 1, wherein one or more circuits further serve the following: Assign, according to a distance between a viewpoint among the multitude of viewpoints and a part of the surface of the 3D object, a metric to that part of the surface of the 3D object; and Generating the output according to the metric. [7] Processor according to claim 6, wherein one or more circuits further serve the following: Assigning the metric according to a determination that the distance satisfies a threshold corresponding to a distortion caused by a diffusion model, wherein the metric includes a weight for the portion of the surface of the 3D object for the model that satisfies the threshold. [8] Processor according to claim 1, wherein one or more circuits further serve the following: Identify, according to a first viewpoint among the multitude of viewpoints, with a first view that includes part of the 2D texture model on the surface of the 3D model, a first metric that indicates a first degree of distortion caused by a diffusion model; and Identify, according to a second viewpoint among the multitude of viewpoints, with a second view that includes the part of the 2D texture model on the surface of the 3D model, a second metric that indicates a second degree of distortion caused by the diffusion model; and Select, according to a stipulation that the first degree of distortion is less than or equal to the second degree of distortion, the input to contain the first view. [9] Processor according to claim 1, wherein the processor comprises at least one of a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a system for performing simulation operations; a system for performing digital twin operations; a system for performing light transport simulations; a system for performing collaborative content creation for 3D assets; a system for performing deep learning operations; a system implemented using an edge device; a system implemented using a robot; a system for performing operations using conversational AI; a system for generating synthetic data; a system for generating content for a Virtual Reality (VR), Augmented Reality (AR) or Mixed Reality (MR) system; a system for rendering content for a Virtual Reality (VR), Augmented Reality (AR) or Mixed Reality (MR) system; a system that includes one or more virtual machines (VMs); a system that is at least partially implemented in a data center; or a system that is implemented at least partially using cloud computing resources. [10] System, encompassing: one or more processors configured to: Obtaining one or more views of a three-dimensional (3D) model from a set of viewpoints that at least partially enclose a surface of the 3D model, wherein at least one view of the one or more views corresponds to a part of a two-dimensional (2D) texture model on the surface of the 3D model; and Generate, according to one or more views and according to a generative machine learning model configured to generate a 2D image, an output containing a 2D texture for the 3D model, wherein the output is a specification of the 3D model and the 2D texture. [11] System according to claim 10, wherein the system serves the following purpose: Transform, according to a diffusion model corresponding to the generative machine learning model and receiving the input, of the 2D texture model to reduce noise in the 2D texture model according to the input corresponding to the 2D texture. [12] System according to claim 10, wherein the system serves the following purpose: Transform, in a first iterative sequence according to a diffusion model corresponding to the generative machine learning model, one or more of the multitude of parts of the 2D texture model to reduce noise in the 2D texture model, where the 2D texture of the output corresponds to the first iterative sequence. [13] System according to claim 12, wherein the plurality of parts of the 2D texture model corresponds to the plurality of views of the 2D texture model according to a plurality of viewpoints oriented towards the surface of the 3D model. [14] System according to claim 12, wherein the system serves the following purpose: Transforming, according to the diffusion model in a second iterative sequence, the 2D texture model to reduce noise in the 2D texture model, wherein the second iterative sequence restricts the diffusion model to one or more iterations according to the first iterative model, where the 2D texture of the output corresponds to the second iterative sequence after a multitude of iterations according to the first iterative sequence. [15] System according to claim 10, wherein the system serves the following purpose: Assign, according to a distance between a viewpoint among a multitude of viewpoints oriented towards the surface of the 3D model and a portion of the surface of the 3D object, a metric to that portion of the surface of the 3D object; and Generating the output according to the metric. [16] System according to claim 15, wherein the system serves to assign the metric according to a determination that the distance satisfies a threshold that corresponds to a distortion of the output of a diffusion model, wherein the metric comprises a weight for the part of the surface of the 3D object for the model that satisfies the threshold. [17] System according to claim 10, wherein the system serves the following purpose: Identify, according to a first viewpoint among the multitude of viewpoints, with a first view that includes part of the 2D texture model on the surface of the 3D model, a first metric that indicates a first degree of distortion of the output of a diffusion model; and Identify, according to a second viewpoint among the multitude of viewpoints, with a second view that includes the part of the 2D texture model on the surface of the 3D model, a second metric that indicates a second degree of distortion of the output of a diffusion model; and Select, according to a stipulation that the first degree of distortion is less than or equal to the second degree of distortion, the views to include the first view. [18] System according to claim 10, wherein the processor comprises at least one of the following: a control system for an autonomous or semi-autonomous machine; a perception system for an autonomous or semi-autonomous machine; a system for performing simulation operations; a system for performing digital twin operations; a system for performing light transport simulations; a system for conducting collaborative content creation for 3D assets; a system for performing deep learning operations; a system that is implemented using an edge device; a system that is implemented using a robot; a system for performing operations using conversational AI; a system for generating synthetic data; a system for generating content for a Virtual Reality (VR), Augmented Reality (AR) or Mixed Reality (MR) system; a system for rendering content for a Virtual Reality (VR), Augmented Reality (AR) or Mixed Reality (MR) system; a system that includes one or more virtual machines (VMs); a system that is at least partially implemented in a data center; or a system that is implemented at least partially using cloud computing resources. [19] Procedures, including: Receiving an input according to a multitude of parts of a two-dimensional (2D) texture model on a surface of a three-dimensional (3D) model; and Generate, according to the input and using a generative machine learning model, an output that contains a 2D texture for the 3D model, where the output corresponds to a specification of the 3D model and the 2D texture. [20] Method according to claim 19, wherein the generative machine learning model comprises a diffusion model, and wherein the method further comprises: Transform, using the diffusion model, the 2D texture model to reduce noise in the 2D texture model according to the specification that corresponds to the 2D texture.
Citation Information
Patent Citations
US-PATENTANMELDUNG18/361,987
