IDENTIFICATION OF FACE AND LANDMARK LOCATIONS FOR AI SYSTEMS AND APPLICATIONS
Patent Information
- Application Number
- DE102024129295
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-10
- Filing Date
- 2024-10-10
- Publication Date
- 2025-04-10
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUNDMany applications, such as games, interactive applications, communications applications, multimedia applications, and / or the like, use animated characters or digital avatars (human or non-human) that interact with users of the applications and / or other animated characters within the applications. To provide users with a more realistic experience, some animated characters interact with both audio, such as voice, and visual indicators. For example, when an animated character interacts with a user, an application may both synchronize lip movements of the animated character with the speech output from the animated character and cause the animated character to visually express emotions through facial / head movements.Thus, many approaches have been developed to determine the positions of various landmarks on an animated face, such as lips, eyes, nose, ears, cheeks, hairline, jaw portion, and / or the like, where the landmarks are then used for animation.These approaches use, for example, models to first perform two-dimensional (2D) collection of landmarks on an animated character and then use a camera to project the landmarks onto the animated character.While such approaches provide accurate results for landmark collection under certain circumstances, e.g., when an animated character contains a normal human face for which the models are trained, the accuracy of these approaches is lower under other circumstances, For example, if there are different camera angles with respect to the animated character, lighting changes, and / or the animated character does not contain much texture. For example, when attempting to transmit learned facial movements of a human-like avatar to a cartoon-like avatar, landmark points corresponding to the human-like avatar may not match well with corresponding features of the cartoon-like avatar.BRIEF DESCRIPTION OF THE INVENTIONThe invention is defined by the claims. To illustrate the invention, aspects and embodiments are described herein which may or may not fall within the scope of the claims.In various examples, landmark identification and re-alignment for AI systems and applications is described herein. To determine the positions, one or more iterations of transformation processes and / or adaptation processes may be performed on the first 3D face to thus alter the landmarks of the first 3D face, systems and methods are disclosed that use a first three-dimensional (3D) face (e.g., a deformable model grid) already associated with positions of face markers, After performing the one or more iterations of the transformation processes and / or the matching processes, the closest locations (e.g., vertices) on the second 3D face are identified from the landmark positions (e.g., vertices) on the first 3D face and used as the locations of the corresponding face landmarks on the second 3D face.Embodiments of the present disclosure relate to identifying facial and / or other landmark locations for AI systems and applications. Systems and methods are disclosed that use a first three-dimensional (3D) face (e.g., a deformable model grid) already associated with locations of face markers to determine locations of corresponding face markers on a second 3D face (e.g., a target face grid, also referred to as a "target face"), Scale, etc.) of the first 3D face to align the first 3D face with respect to the second 3D face. Additionally, a second matching process may include optimizing a weighted point distance between the first 3D face and the second 3D face. After performing the one or more iterations of the transformation processes and / or the adaptation processes, the closest locations (e.g., vertices) on the second 3D face are identified from the landmark positions (e.g., vertices) on the first 3D face and used as the locations of the corresponding face landmarks on the second 3D face.Unlike conventional systems, such as those based on 2D-to-3D landmark conversion, the systems and methods of the present disclosure are better able to perform landmark detection on the target face by converting the first 3D face to the target face using the methods described herein. Thus, these models are less accurate when processing faces from different camera angles and with different illumination and / or when the animated characters do not contain a texture. In contrast, in some embodiments, by initially morphing the first 3D face to the target face, the current systems are still capable of performing landmark detection with high accuracy as camera angle and illumination change, animated characters do not include a texture, and / or for new types of animated characters, such as character trick characters.The disclosure extends to all novel aspects or features described and / or illustrated herein.Further features of the disclosure are characterized by the independent and dependent claims.In particular, method aspects may be applied to device or system aspects, and vice versa.Further, hardware implemented features may be implemented in software, and vice versa.Any system or device feature described herein may also be provided as a method feature, and vice versa. System and / or device aspects that are functionally described (including means plus features) may alternatively be expressed in terms of their corresponding structure, such as as a suitably programmed processor and associated memory.It will also be appreciated that certain combinations of the various features described and defined in each aspect of the disclosure may be implemented and / or provided and / or used independently of one another.The disclosure also provides computer programs and computer program products comprising software code adapted, when executed on a data processing device, to perform any of the methods described herein and / or to embody any of the device and system features described herein, including any or all of the component steps of a method.The disclosure also includes a computer or computer system (including networked or distributed systems) having an operating system that supports a computer program for performing the methods described herein and / or for embodying the apparatus or system features described herein.The disclosure also provides a computer readable medium having stored thereon one or more of the aforementioned computer programs.The disclosure also provides a signal carrying one or more of the aforementioned computer programs.The disclosure extends to methods and / or apparatuses and / or systems as described herein with reference to the accompanying drawings.Aspects and embodiments of the disclosure will now be described, purely by way of example, with reference to the accompanying drawings.BRIEF DESCRIPTION OF THE DRAWINGSThe present systems and methods for identifying facial and / or other landmark locations for AI systems and applications are described in detail below with reference to the accompanying drawing figures, wherein: FIG. 1A illustrates an example dataflow diagram for a process for automatically identifying landmark locations on faces, in accordance with some embodiments of the present disclosure; FIG. 1B illustrates an example dataflow diagram for a process for interactively identifying landmark locations on faces in accordance with some embodiments of the present disclosure; FIG. 2A illustrates an example deformable face according to some embodiments of the present disclosure; FIG. 2B illustrates an example of a target face for determining landmark positions, in accordance with some embodiments of the present disclosure; FIG. 3 illustrates an example of aligning a first face with respect to a second face, in accordance with some embodiments of the present disclosure; FIG. 4 illustrates an example of aligning a first face with respect to a second face using bounding shapes in accordance with some embodiments of the present disclosure; FIG. 5 illustrates an example of displaying one or more marker locations associated with one or more landmarks on a face, in accordance with some embodiments of the present disclosure; FIGS. 6A-6B illustrate examples of performing multiple iterations of rigid transformation and structure adjustment to better render a first face by a second face, in accordance with some embodiments of the present disclosure; FIG. 7 illustrates an example of determining landmark positions on a second face using landmarks on a first face, in accordance with some embodiments of the present disclosure; FIG. 8 illustrates an example of indicating marker locations associated with landmarks on a face, in accordance with some embodiments of the present disclosure; FIG. 9 illustrates an example of using marker locations to deform a first face to present a second face, in accordance with some embodiments of the present disclosure; FIG. 10 illustrates a flowchart depicting a method for identifying landmark positions on faces, in accordance with some embodiments of the present disclosure; FIG. 11 is a block diagram of an example computing device suitable for use in implementing some embodiments of the present disclosure; and FIG. 12 is a block diagram of an example data center suitable for use in implementing some embodiments of the present disclosure.DETAILED DESCRIPTIONSystems and methods are disclosed in the context of identifying landmark locations on avatars, digital figures, and / or other actors or objects for AI systems and applications. Although described primarily with respect to identifying and / or transmitting aspects (e.g., from one "face" to another "face"), this is not intended to be limiting, and aspects for other features (e.g., arms, legs, torso, etc., as well as non-body related landmarks) may be identified and / or transmitted without departing from the scope of the present disclosure.For example, with respect to a face implementation, a system may receive, obtain, generate, and / or retrieve first data representing a first three-dimensional (3D) face (also referred to only as a "first face") associated with landmarks' locations. As described herein, the first face may correspond to a deformable model face in which the landmarks' locations are already known, for example, through user inputs, machine learning, and / or other techniques for determining landmark locations on faces. Additionally, the landmarks may be associated with features of a face, such as one or more eye features (e.g., upper edges of the eye, lower edges of the eye, outer edges of the eye, inner edges of the eye), one or more lip features (e.g., upper edges of the lip, the lower portion of the lips, the sides of the lips, the middle of the lips, etc.), one or more cheek tags, one or more nose tags, one or more ear tags, one or more chin tags, one or more hairline tags, one or more forehead tags and / or other facial (or other tag or body parts) tags.The one or more systems may also receive, obtain, generate, and / or retrieve second data representing a second 3D face (also referred to as a "second face" or "target face") for which corresponding landmarks' locations are to be determined. In some examples, the second face may include a structure similar to the first face. For example, both the second face and the first face may include human faces having similar features, such as mouth, eyes, nose, chin, cheeks, ears, etc. However, in other examples, the second face may have a structure different from the first face, while the first face in turn includes a human face. In such an example, the second face may not include one or more features of the first face, such as the nose or one of the eyes. In each of these examples, the one or more systems may then process the second face with respect to the first face to determine the positions of the landmarks.For example, the one or more systems may first align the first face with respect to the second face. In some examples, the one or more systems align the first face with respect to the second face by causing an orientation of the first face to match an orientation of the second face. For example, a user may specify directions and / or the one or more systems may automatically determine directions outward from the faces (e.g., specify the forward directions of the faces) and / or outward from the tops associated with the faces, and then use these directions to match the orientations to each other. The one or more systems may also first scale the first face with respect to the second face. For example, the one or more systems may determine a first boundary shape (e.g., a first boundary frame) associated with the first face and a second boundary shape (e.g., a second boundary frame) associated with the second face, The one or more systems may then scale the first face with respect to the second face by scaling the first bounding shape to match the second bounding shape.For example, the one or more systems may receive one or more inputs indicative of one or more positions (e.g., one or more guidance points) of one or more landmarks associated with the second face. For example, the one or more systems may receive input indicative of a position of a nose (and / or a feature of the nose), a position of an eye (and / or a feature of the eye), a position of a mouth (and / or a feature of the mouth), and / or the like on the second face, In some examples, the one or more systems may further deform the first face based at least on the one or more specified positions of the one or more landmarks.The one or more systems may then perform one or more iterations of one or more processes to alter the first face to resemble the second face. For example, the one or more systems may perform a first process that includes a rigid transformation in which the first face is moved, rotated, and / or scaled to better represent the second face. For example, the model adjustment may include updating one or more vertices associated with the first face to match one or more vertices associated with the second face. Additionally, in some examples, the one or more systems may use one or more functions to perform the model adjustment.In some examples, the one or more systems may then determine the number of iterations using one or more techniques. For a first example, the one or more systems may use a fixed number of iterations, such as, but not limited to, an iteration, two iterations, five iterations, ten iterations, and / or any other number of iterations. For a second example, the one or more systems may determine the number of iterations based on the results associated with the functions. For example, the one or more systems may perform the rigid transformation and / or the model adjustment until a first value associated with the first function for the rigid transformation is reached, and / or a second value associated with the second model adaptation function satisfies (e.g., is less than or equal to) one or more thresholds. In each example, after performing these processes, the first face may substantially represent the second face.For example, the one or more systems may use the positions of the landmarks on the first face to determine the positions of corresponding landmarks on the second face. In some examples, the one or more systems may perform one or more techniques for determining the positions of the corresponding landmarks on the second face.For example, the one or more systems for a landmark may determine a point on the second face that is proximate to a landmark on the first face. In some examples, the one or more systems may determine that the point is proximate to the landmark point based at least on the point including a closest point on the second face as compared to the landmark point. Additionally or alternatively, in some examples, the one or more systems may determine that the point is proximate to the landmark point based at least on the point being within a threshold distance of the landmark point. Additionally, the one or more systems may determine that the point corresponds to the landmark point when the first normal direction is within a threshold angle (e.g., 10 degrees, 30 degrees, 45 degrees, 70 degrees, etc.) to the second normal direction, or determine that the point does not correspond to the landmark point when the first normal direction is outside the threshold angle to the second normal direction.If the one or more systems determine that the point corresponds to the landmark point, the one or more systems may determine that an orientation located at the landmark point on the first face is also located at the point on the second face. However, if the system determines that the point does not correspond to the landmark point, the system may execute one or more similar processes using one or more additional points on the second face (e.g., using a closest point).The one or more systems may then continue similar processes using the locations of the landmarks on the first face to determine the corresponding locations of the landmarks on the second face.For example, a user device may receive the output data and display content indicating the locations of the landmarks using the output data. For example, if a landmark associated with a side of the mouth is displayed as being in the middle of the mouth, the user may move the location of the landmark to the side of the mouth.The systems and methods described herein may be used for a variety of purposes, including, but not limited to, machine control, machine travel, machine drive, synthetic data generation, model training, perception, augmented reality, virtual reality, mixed reality, robotics, safety and monitoring, simulation and digital twinning, autonomous or semi-autonomous machine applications, deep learning, environmental simulation, object or actor simulation, and / or digital twinning, data center processing, conversational AI, light transport simulation (e.g., ray tracing, path tracing, etc.), collaborative content creation for 3D assets, Cloud computing and / or other suitable applications.Embodiments presented herein may include a variety of different systems, such as automotive systems (e.g., an autonomous or semi-autonomous machine control system, an autonomous or semi-autonomous machine perception system), systems implemented with a robot, aeronautical systems, medial systems, boot systems, smart area monitoring systems, systems for performing deep learning operations, systems for performing simulation operations, systems for performing digital twining operations, systems implemented using an edge device, systems including one or more virtual machines (VMs), systems for performing synthetic data generation operations, systems implemented at least in part in a data center, Systems implementing one or more large language models (LLMs), systems for performing dialog AI operations, systems for performing light transport simulations, systems for performing collaborative content creation for 3D assets, a system for performing generative AI operations, systems implemented at least in part using cloud computing resources, and / or other types of systems.Referring to FIG. 1A, FIG. 1A illustrates an example dataflow diagram for a process for identifying landmark locations--in this example, specific on faces--in accordance with some embodiments of the present disclosure. It should be appreciated that these and other arrangements described herein are presented by way of example only. Other arrangements and elements (e.g., machines, interfaces, functions, arrangements, groupings of functions, etc.) may be used in addition to or in place of those shown, and some elements may be omitted altogether. In addition, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components and in any suitable combination and position.As described herein, the first face may correspond to a deformable model face where the locations of the landmarks are already known, for example, through user inputs, machine learning, and / or other techniques for determining landmark locations on faces. Additionally, the landmarks may be associated with features of the first face, such as one or more eye features (e.g., upper edges of the eyes, lower edges of the eyes, outer edges of the eyes, inner edges of the eyes), one or more lip features (e.g., upper edges of the lips, the lower part of the lips, the sides of the lips, the middle of the lips, etc.), one or more cheek tags, one or more nose tags, one or more ear tags, one or more chin tags, and / or other facial tags.In some examples, the first face data 104 may represent the first face as a collection of points (e.g., vertices) located on the first face. For example, the first face data 104 may represent coordinates associated with the points, such as the x-coordinate positions, the y-coordinate positions, and / or the z-coordinate positions associated with the points. Additionally, the positions of the landmarks may be associated with the points and / or coordinates. A first example: the position of a landmark may be associated with a point on the first face that includes the feature corresponding to the landmark. A second example would be that the position of a landmark may be associated with coordinates, such as an x-coordinate position, a y-coordinate position, and / or a z-coordinate position.For example, FIG. 2A illustrates an example deformable face 202 (e.g., the first face described herein) in accordance with some embodiments of the present disclosure. As illustrated, the first face 202 may include a number of locations for a number of landmarks 204 (although only one is labeled for clarity), In other examples, associated with the first face 202, the first face 202 may be associated with additional and / or alternative landmarks.Referring to the example of FIG. 1A, the process 100 may also include the orientation component 102 receiving second face data 106 representing a second 3D face (also referred to as a "second face" or a "target face" only) for which corresponding locations of landmarks are to be determined. In some examples, the second face may include a similar structure as the first face. e.g., both the second face and the first face may include human faces having similar features, such as mouth, eyes, nose, chin, cheeks, ears, etc. However, in other examples, the second face may have a different structure than the first face. e.g., the second face may include the face of a character trick figure, while the first face in turn includes a human face. In such an example, the second face may not include one or more features of the first face, such as the nose or one of the eyes. In some examples, and similar to the first face data 104, the second face data 106 may represent the second face as a collection of points (e.g., vertices) located on the second face. For example, the second face data 106 may represent coordinates associated with the points, such as the x-coordinate positions, the y-coordinate positions, and / or the z-coordinate positions associated with the points.For example, FIG. 2B illustrates an example of a target surface 206 (e.g., the second face described herein) for determining landmark positions, in accordance with some embodiments of the present disclosure. As shown, the second face 206 may be similar to the first face 202 in that the second face 206 and the first face 202 both include human faces. For example, the second face 206 may include features similar to the first face 202 such as lips, a nose, cheeks, a chin, eyes, ears, eye brows, and / or the like, but not limited to. In other examples, a second target face may include a different type of face than the first face 202. For example, a second face may include a cartoon face (e.g., an animal face, an aliased face 202, a cartoon face, a robot face, etc.) that does not include one or more of the features of the first face.Referring to the example in FIG. 1A, the process 100 may include the orientation component 102 aligning the first face with respect to the second face. As described herein, in some examples, the orientation component 102 may align the faces using one or more directions associated with the faces. For example, the orientation component 102 may align the faces based on, but is not limited to, at least matching one or more first directions associated with the first face with one or more second directions associated with the second face. As described herein, a direction may include a direction of a face, a direction of a top of a head associated with the face, a direction of an ear, and / or any other direction. In some examples, the orientation component 102 may determine the directions using input data 108 received from one or more user devices 110. Additionally or alternatively, in some examples, the orientation component 102 may determine the directions based on the processing of the faces, for example, by using one or more models trained to determine the directions.For example, FIG. 3 illustrates an example of the orientation of the first face 202 with respect to the second face 206, in accordance with some embodiments of the present disclosure. As shown, the orientation component 102 may determine at least one lateral direction 302 (e.g., along the x-axis) and a vertical direction 304 (e.g., along the y-axis) associated with the first face 202, as well as a forward or inward direction (e.g., along a z-axis that is not illustrated as being directed outward in the example of FIG. 3 ), and then a vertical direction 306 (and / or a lateral and / or an inward / outward direction) associated with the second face 206, 304 or 306 based on at least processing the faces 202 and 204, for example, using one or more models. In each example, the orientation component 102 may then orient the first face 202 with respect to the second face 206 using the directions 302, 304, and 306, for example, by aligning the direction 302 and the direction 304 of the first face 202 with the lateral direction and the vertical direction 306 of the second face 206, respectively.Referring again to the example in FIG. 1A, the process 100 may include a bounding component 112 that determines a first bounding shape (e.g., a first bounding box) associated with the first face and a second bounding shape (e.g., a second bounding box) associated with the second face. As described herein, in some examples, a bounding shape may include dimensions in at least three directions, such as the x-direction, the y-direction, and the z-direction. Additionally, in some examples, the bounding shapes may be generated to include the same portions of the figures associated with the faces (e.g., the heads, The bounding component 112 may then scale the first face with respect to the second face using the bounding shapes. for example, the bounding component 112 may scale the first face with respect to the second face by aligning the first bounding shape with respect to the second bounding shape.For example, FIG. 4 illustrates an example of aligning the first face 202 with respect to the second face 206 using bounding shapes in accordance with some embodiments of the present disclosure. As shown in the example of FIG. 4, the bounding component 112 may determine a first bounding shape 402 associated with the first face 202 and a second bounding shape 404 associated with the second face 206. While the example in FIG. 4 illustrates the bounding shapes 402 and 404 as two-dimensional, for example, by dimensions in the x-direction and y-direction, the bounding shapes 402 and 404 may be three-dimensional based on the bounding shapes that further include dimensions in the z-direction. In some examples, the bounding component 112 may determine one or more of the bounding shapes 402 and 404 using one or more models. In some examples, the bounding component 112 may determine one or more of the bounding shapes 402 and 404 using one or more inputs from the one or more users.The bounding component 112 may then align the first face 202 with respect to the second face 206 using the bounding shapes 402 and 404.For example, the bounding component 112 may align the first face 202 with respect to the second face 206 by changing the scale of the first bounding shape 402 to substantially correspond to the scale of the second bounding shape 404.Since the first bounding shape 402 includes a same portion of the first figure associated with the first face 202 as the second bounding shape 404 of the second figure associated with the second face 206, after the alignment, the first face 202 should be scaled to the second face 206.Referring to the example of FIG. 1A, the process 100 may include the one or more user devices 110 providing one or more input data 108 representing one or more "marker" locations of one or more of the landmarks associated with the second face. For example, a user may be provided with a user interface representing at least the first face, the one or more locations of the one or more landmarks on the first face, and the second face. The user may then use the user interface to indicate the one or more corresponding locations of the one or more landmarks on the second face. For example, if the user interface displays a position of a landmark associated with a nose of the first face, the user may make an input indicating the position of the nose on the second face. For example, the number of mark locations may be determined based on at least one or more factors (e.g., indication of the number of mark locations), a type of the second face, and / or any other factor. For example, if the two faces include a same type of face, such as human faces, a first number of mark locations may be used. However, if the two faces contain different types of faces, such as a human face and a cartoon face, a second, larger number of marker sites may be used. In some embodiments, in addition to or as an alternative to user input to a user interface, the landmarks may be automatically updated using a trained model or algorithm that analyzes the projected landmarks and moves them to identified feature points (e.g., left margin, right margin, nose point, etc.).For example, FIG. 5 illustrates an example of the indication of one or more markings associated with one or more landmarks on the second face 206, in accordance with some embodiments of the present disclosure. As the example in FIG. 5 shows, a user may be provided with the first face 202 indicating the mapping of at least one landmark 204.While the example in FIG. 5 illustrates the location of a single landmark 204, in other examples, the user may be provided with any number of landmark locations.For example, the user may be provided with a landmark location, two landmark locations, five landmark locations, ten landmark locations, and / or the like.The user may then indicate a location of a landmark 502 on the second face 206 corresponding to the landmark 204.As described in more detail herein, other components (e.g., a transformation component 114, an adjustment component 116, etc.) may then use this initial location of the landmark 502 to change the first face 202 as such, that it resembles the second face 206.For example, and with reference to the example of FIG. 1A, the process 100 may include the transformation component 114 performing a rigid transformation in which the first face is shifted, rotated, and / or scaled to better present the second face. As described herein, translation may include rotating the first face with respect to a first coordinate direction, such as the x-coordinate direction in the example of FIGS. 6A-6B, such that the first face is rotated to match the second face in the first coordinate direction. Additionally, the rotation may include rotating the first face with respect to a second coordinate direction, such as the z coordinate direction in the example of FIGS. 6A-6B, such that the first face is rotated to match the second face in the second coordinate direction. Moreover, the scaling may include changing a size of the first face such that the first face better matches the size of the second face.In some examples, the transformation component 114 may use one or more functions to perform the rigid transformation. for example, the transformation component 114 may perform a rigid transformation using the following function:As shown, function (1) performs a rigid transformation by calculating the optimal rotation, translation and scale that minimizes the energy function E. For example, ppd( ) is a point-to-plane distance between a point q i on the second face and a point p i on the first face, and n i is a vertex normal direction from the point q i. In addition, iden may include corresponding point index, such as the nearest point that may be given by the kd-tree search of the nearest point.For example, for a point q i on the first face, the transformation component 114 may find a closest point p i on the second face using one or more techniques. the transformation component 114 may then determine a first normal vector associated with the point p i and a second vector from the point p i to the point q i. In some examples, if the vectors include a similar direction, the inner product of the two vectors may be close to a first value, e.g., 1 If the vectors also include orthogonal directions, the inner product of the two vectors may be close to a second value, e.g., 0.If the vectors are similar to each other, the effect of the vertex pair on function (1) is greater than if the vectors are orthogonal. The transformation component 114 may then use the points to minimize the energy function E.The process 100 may also include the adaptation component 116 that updates the structure of the first face to better present the second face. for example, the adaptation component 116 may update one or more positions of one or more points (e.g., one or more vertices) of the first face to adapt one or more points (e.g., one or more vertices) to the second face. In some examples, the adaptation component 116 may use one or more functions when updating the structure of the first face, such as the following:In function (2), p i is again a point on the second face and (m+ U) i is the face reconstruction performed by the adaptation component 116 on the first face. In addition, iden may include corresponding point index, such as the nearest point that may be given by the kd-tree search of the nearest point. In addition, Weine is a per-correspondence weighting matrix that weights the point distance error based at least on a vertex normal direction. in other words, function (2) minimizes the distances between the points on the first face and the points on the second face.For example, for a point q i on the first face, the adaptation component 116 may find a closest point p i on the second face using one or more techniques. the adaptation component 116 may then determine a first normal vector associated with the point p i and a second vector from the point p i to the point q i. In some examples, if the vectors include a similar direction, the inner product of the two vectors may be close to a first value, e.g., 1 If the vectors also include orthogonal directions, the inner product of the two vectors may be close to a second value, e.g., 0.If the vectors are similar to each other, the effect of the vertex pair on function (2) is greater than if the vectors are orthogonal. The adaptation component 116 may then use the included points to minimize the distances between the points on the first face and the points on the second face.As further illustrated in the example of FIG. 1A, the process 100 may continue between the transformation component 114 performing the rigid transformation and the adaptation component 116 performing the update of the first face for a number of iterations.In some examples, the process 100 may use a fixed number of iterations, such as, but not limited to, one iteration, two iterations, five iterations, ten iterations, and / or any other number of iterations.In some examples, the number of iterations may be based on the results associated with function (1) and / or function (2).For example, the transformation component 114 may continue to perform a rigid transformation and / or the adaptation component 116 may continue to update the first face, until the error Ederfunction (1) satisfies (i.e., is less than or equal to) a threshold error (which may be represented by threshold data 118) and / or until the function (2) satisfies (e.g., is less than or equal to) a threshold (which may also be represented by threshold data 118). In each example, after performing these processes, the landmarks on the first face may substantially correspond to the landmark positions on the second face. For example, the translation, the rotation, the scale, and / or the shape of the first face may be considered such that the landmarks on the second face substantially match due to the translation, the rotation, the scale, and / or the shape of the second face.For example, FIGS. 6A-6B illustrate examples of performing multiple iterations of rigid transformation and structure adjustment to cause the first face 202 to better present the second face 206, in accordance with some embodiments of the present disclosure. Additionally, during a first iteration, as shown in the example of FIG. 6A, the transformation component 114 may rotate 604 the first face 202 with respect to a first coordinate direction, such as the x coordinate direction, such that the first face 202 is rotated to conform to the second face 206 in the first coordinate direction. the transformation component 114 may rotate 604 the first face 202 with respect to a second coordinate direction, such as the z coordinate direction, such that the first face 202 is rotated to conform to the second face 206 in the second coordinate direction. the transformation component 114 may update a scaling of the first face 202 such that the first face 202 better conforms to the size of the second face 206.The adaptation component 116 may then update the structure of the first face 202 to better present the second face 206.For example, the adaptation component 116 may update one or more positions of one or more points (e.g., one or more vertices) of the first face 202 to adapt one or more points (e.g., one or more vertices) of the second face 206. As shown in the example of FIG. 6A, after the rigid transformation of the first face 202 by the transformation component 114 and the update of the structure of the first face 202 by the adaptation component 116, the first face 202 may begin to conform to the second face 206. For example, areas that are smooth and do not include contour lines may indicate that the first face 202 matches the second face 206, while areas that include contour lines may need to be updated to better match the first face 202 to the second face 206.For example, as shown in the example of FIG. 6B, during a second iteration, the transformation component 114 may rotate 608 the first face 202 again with respect to the first coordinate direction, such as the x-coordinate direction, such that the first face 202 is rotated to better conform to the second face 206 in the first coordinate direction. Additionally, the transformation component 114 may rotate 608 the first face 202 again with respect to the second coordinate direction, such as the z-coordinate direction, such that the first face 202 is rotated to better conform to the second face 206 in the second coordinate direction. Moreover, the transformation component 114 may update the scaling of the first face 202 again such that the first face 202 better conforms to the size of the second face 206.The adaptation component 116 may then update the structure of the first face 202 to better present the second face 206.For example, the adaptation component 116 may update one or more positions of one or more points (e.g., one or more vertices) of the first face 202 to adapt one or more points (e.g., one or more vertices) of the second face 206. As shown in the example of FIG. 6B, after rigid transformation of the first face 202 by the transformation component 114 and updating the structure of the first face 202 by the adaptation component 116, the first face 202 may begin to better conform to the second face 206.For example, areas that are smooth and do not include contour lines may in turn indicate that the first face 202 conforms to the second face 206, while areas that include contour lines may need to be updated more so that the first face 202 better conforms to the second face 206.As there are fewer areas that include the contour lines, the first face 202 may better present the second face 206 in the example of FIG. 6B.As described herein, the transformation component 114 may continue the rigid transformation and / or the adaptation component 116 may continue updating the first face 202 for a number of iterations. In some examples, the transformation component 114 and / or the adaptation component 116 may use a fixed number of iterations, such as, but not limited to, one iteration, two iterations, five iterations, ten iterations, and / or any other number of iterations. In some examples, the number of iterations may be based on the results associated with function (1) and / or function (2), until the error E of the function (1) satisfies a threshold error (i.e., less than or equal to) a threshold error and / or until the function (2) satisfies (e.g., less than or equal to) a threshold. In each example, after performing these processes, the first face 202 may substantially represent the second face 206. for example, the translation, rotation, scaling, and / or shape of the first face 202 may substantially match the translation, rotation, scaling, and / or shape of the second face 206.Referring again to the example of FIG. 1A, process 100 may include a landmark component 120 that determines the locations of landmarks on the second face using the locations of landmarks on the first face. As described herein, the landmarks may be associated with features of the second face, such as one or more eye features (e.g., upper edges of the eye, lower edges of the eye, outer edges of the eye, inner edges of the eye), one or more lip features (e.g., upper edges of the lip, the lower portion of the lip, the sides of the lip, the center of the lip, etc.), one or more cheek tags, one or more nose tags, one or more ear tags, one or more chin tags, and / or other characteristics of a face. In some examples, landmark component 120 may use one or more techniques to determine the locations of landmarks on the second face.For example, the landmark component 120 may identify, for a landmark, a closest point on the second face that matches a point associated with the landmark on the first face. The landmark component 120 may then determine a first normal direction of a first vertex associated with the point on the first face and a second normal direction of a second vertex associated with the closest point on the second face. Additionally, the landmark component 120 may then determine whether the second normal direction is similar to the first normal direction. In some examples, the landmark component 120 may determine that the second normal direction is similar to the first normal direction based on at least the second normal direction determining a threshold angle (e.g., 10 degrees, 30 degrees, 45 degrees, 70 degrees, etc.) (represented by threshold data 118) from the first normal direction being satisfied (e.g., less than or equal to), or determining that the second normal direction is not similar to the first normal direction based on at least the second normal direction not satisfying (e.g., being greater than) the threshold angle from the first normal direction.If landmark component 120 determines that the second normal direction is similar to the first normal direction, landmark component 120 may determine that a position on the second face associated with the closest point contains the landmark. However, if landmark component 120 determines that the second normal direction is not similar to the first normal direction, landmark component 120 may determine a closest point on the second face to the point on the first face. In addition, landmark component 120 may execute similar processes to determine whether a third normal direction associated with the second closest point is similar to the first normal direction. landmark component 120 may then continue these processes until it finds the position of the landmark on the second face, Additionally, the landmark component 120 may execute these processes for one or more (e.g., each of) additional landmarks.For example, FIG. 7 illustrates an example of determining landmark positions on the second face 206 using landmark positions on the first face 202, in accordance with some embodiments of the present disclosure. As illustrated, landmark component 120 may perform one or more of the processes described herein to determine the locations of landmarks 702 (though only some are labeled for clarity) on second face 206 using the locations of corresponding landmarks 204 (though only some are labeled again for clarity) on first face 202, Additionally, the landmark component 120 may determine whether the second normal direction 706 is similar to the first normal direction 704.As described herein, if the landmark component 120 determines that the second normal direction 706 is not similar to the first normal direction 704 (e.g., if the second normal direction 706 is greater than a threshold angle from the first normal direction 704), it may identify a closest point on the second face 206. However, as illustrated by the example in FIG. 7, if the landmark component 120 determines that the second normal direction 706 is similar to the first normal direction 704 (i.e., the second normal direction 706 is less than or equal to the threshold angle from the first normal direction 704), then the landmark component 120 may determine that a position of the point on the second face 206 includes a landmark 702( 1) corresponding to the landmark 204( 1).The landmark component 120 may then execute similar processes for one or more (e.g., each) of the other landmarks 204.Referring to the example of FIG. 1A, the process 100 may include outputting updated face data 122 representing the locations of landmarks on the second face. In some examples, the one or more user devices 110 may then use the updated face data 122 to display the second face along with the locations of landmarks on one or more users. The one or more users may then potentially determine whether the locations of the landmarks are correct, and / or update one or more of the locations if the one or more locations are incorrect.Referring to the example in FIG. 1B, FIG. 1B illustrates an example dataflow diagram for a process 124 for interactively identifying landmark positions on faces in accordance with some embodiments of the present disclosure. As illustrated, the process 124 of FIG. 1B may be similar to the process 100 of FIG. 1A, except that the process 124 may include the one or more user devices 110 providing one or more marker input data 126 representing one or more "marker" positions of one or more landmarks associated with the second face, and then a deformation component 128 performing an initial deformation of the first face based on at least the one or more marker positions of the one or more landmarks. Thus, in some examples, the method 124 may better determine landmark positions on certain types of faces, such as faces (e.g., comic faces) that include one or more additional and / or alternative features and / or different and / or alternative feature portions as compared to the first face represented by the face data 104.For example, FIG. 8 illustrates an example of indicating marker locations associated with landmarks on a face, in accordance with some embodiments of the present disclosure; as shown in the example of FIG. 8, a second face 802 now includes a caricature without one or more features of the first face 202, such as the nose. Thus, a user may want to provide additional markers associated with the second face 802 for the remainder of the process 124 to better match the first face 202 with the second face 802. While the example of FIG. 8 illustrates the positions of the five landmarks 204( 1)- ( 5), in other examples, any number of landmark positions may be provided to the user.The user may then identify the locations of landmarks 804( 1)- ( 5) on second face 802 corresponding to the locations of landmarks 204( 1)- ( 5) on first face 202.For example, the user may indicate that the location of landmark 804( 1) corresponds to the location of landmark 204( 1), the location of landmark 804( 2) corresponds to the location of landmark 204( 2), the location of landmark 804( 3) corresponds to the location of landmark 204( 3), the location of landmark 804( 4) corresponds to the location of landmark 204( 4), and the location of landmark 804( 5) corresponds to the location of landmark 204( 5).In some examples, the user may indicate the locations of landmarks 804( 1)- ( 5) using one or more techniques, such as by selecting the locations on the second face 802, by moving the markers to the proper locations on the second face 802, and / or using another technique.Referring to the example in FIG. 1B, the deformation component 128 may then use the marker positions to deform the first face to be more similar to the second face.In some examples, the deformation component 128 may deform the first face by updating at least the vertices associated with the positions of the landmarks on the first face to more closely conform to the marker positions on the second face.In some examples, the deformation component 128 may use one or more functions to perform the deformation of the first face.For example, the deformation component 128 may deform the first face using the following function:In function (3), a deformation function Rmay be trained using landmark correspondences between points p i on the first face and points q i on the second face. The deformation component 128 may then deform one or more (e.g., all) of the points on the first face using the trained deformation function R. In some examples, the deformation component 128 may further use a function, such as a thin plate spline (TPS) function (and / or any other function), as a kernel function that minimizes the bending energy of the deformation. For example, the deformation component 128 may use the following function:For example, FIG. 9 illustrates an example of using marker positions to deform the first face 202 to present the second face 802, in accordance with some embodiments of the present disclosure. As shown, deformation component 128 may deform first face 202 by moving one or more vertices based on at least the positions of landmarks 804( 1)- ( 5) as indicated by the user, the deformation indicated by at least arrows 902( 1)- ( 3). In this manner, after such deformation is performed, the first face 202 looks similar to the second face 802.Referring to the example in FIG. 1B, after performing the deformation, process 124 may again be similar to process 100 by transforming component 114 performing a rigid transformation, adapting component 116 updating the structure of the first face to better present the second face, landmark component 120 determining the positions of the landmarks on the second face, and output data of updated face 122 representing the positions of the landmarks on the second face.Referring to FIG. 10, each block of the method 1000 described herein includes a computing process that may be performed with any combination of hardware, firmware, and / or software. The method 1000 may also be embodied as computer-usable instructions stored on computer storage media. the method 1000 may be provided by a stand-alone application, service or hosted service (stand-alone or in combination with another hosted service), or a plug-in for another product, to name a few. Moreover, method 1000 will be described by way of example with reference to FIGS. 1A and 1B. However, this method 1000 may additionally or alternatively be performed by any system or combination of systems, including, but not limited to, the systems described herein.FIG. 10 illustrates a flowchart illustrating a method 1000 for identifying landmark positions on faces according to some embodiments of the present disclosure; the method 1000 may include, at block B 1002, obtaining first data representing a first three-dimensional (3D) face associated with one or more first landmark positions. Additionally, as described herein, the one or more landmarks may be associated with one or more features of the first face, such as one or more eye features (e.g., upper edges of the eye, lower edges of the eye, outer edges of the eye), one or more lip features (e.g., upper edges of the lip, the lower portion of the lip, the sides of the lip, the center of the lip, etc.), one or more cheek indicia, one or more nose indicia, one or more ear indicia, one or more chin indicia, and / or other indicia.For example, the one or more systems may also receive the face data 106 representing the second face.In some examples, the second face may include a similar structure to the first face.For example, both the second face and the first face may include similar features, such as mouth, eyes, nose, chin, cheeks, ears, etc. In other examples, however, the second face may include additional, fewer, and / or alternative features compared to the first face, and / or have different feature portions compared to the first face.The method 1000 may include, at block B 1006, determining a match between the first 3D face and the second 3D face based on at least one of performing at least one of one or more transformation processes or one or more adaptation processes associated with the first 3D face. For example, the one or more systems may process the first face using at least the transformation component 114 and / or the adaptation component 116, for example, using one or more iterations. In some examples, the one or more systems may further process the first face using the orientation component 102, the constraint component 112, and / or the deformation component 128. As described herein, the match may be associated with morphing the first face to be similar in size, pose, scale, etc. to the second face.The method 1000 may include, at block B 1008, determining, based at least on the match and using one or more first landmark positions, one or more second landmark positions associated with the second 3D face. For example, the one or more systems may process the first face and the second face using the landmark component 120 to determine the one or more second landmark position based on at least the match and the first landmark positions. As described herein, the landmark component 120 may determine the one or more second landmark position based on at least one or more closest points associated with the one or more first landmark positions and / or one or more surface normal directions, In some examples, the one or more systems may further verify the results of the second landmark positions, for example, by using feedback from one or more users.For example, once landmarks have been transmitted from the first face to the second face, various operations may be performed using the transmitted landmarks.For example, face retargeting may be used to transmit animations learned for the first face to the second face without requiring additional programming or learning for the second face (although additional learning / training may be performed for the second face, with retargeting serving as a starting advantage). In other examples, the transfer of landmarks may aid in animation of various types of avatars, figures, non-player figures, etc., which may have large differences in appearance without requiring each individual face structure, layout, feature type, etc. to be learned separately. Therefore, facial features from one face or class of faces may be quickly transferred to other faces to speed up the face animation processes for the transferred or target faces. These animations may be used for avatars, figures, etc., in any use applications such as gaming applications, video conferencing applications, metaversum / omniversum applications, and / or the like.EXAMPLE COMPUTING DEVICEFIG. 11 is a block diagram of one or more example computing devices 1100 suitable for use in implementing some embodiments of the present disclosure. computing device 1100 may include an interconnect system 1102 that directly or indirectly couples the following devices: memory 1104, one or more central processing units (CPUs) 1106, one or more graphics processing units (GPUs) 1108, a communication interface 1110, input / output (I / O) ports 1112, input / output components 1114, a power supply 1116, one or more presentation components 1118 (e.g., displays), and one or more logic units 1120. In at least one embodiment, the one or more computing devices 1100 may include one or more virtual machines (VMs), and / or each of the components thereof may include virtual components (e.g., virtual hardware components). As non-limiting examples, one or more of the GPUs 1108 may include one or more vPUs, one or more of the CPUs 1106 may include one or more vCPUs, and / or one or more of the logic units 1120 may include one or more virtual logic units. Thus, a computing device 1100 may include discrete components (e.g., a full GPU associated with the computing device 1100), virtual components (e.g., a portion of a GPU associated with the computing device 1100), or a combination thereof.Although the various blocks of FIG. 11 are shown as being connected to lines via the connection system 1102, this is not intended to be limiting and is for clarity only. In some embodiments, for example, a presentation component 1118, such as a display device, may be considered an I / O component 1114 (e.g., when the display is a touch screen). In other words, the computing device of FIG. 11 is merely illustrative.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 are not differentiated, as all are within the scope of the computing device of FIG. 11.The interconnect system 1102 may represent one or more interconnects or buses, such as an address bus, a data bus, a control bus, or a combination thereof. the interconnect system 1102 may include one or more types of bus or interconnects, such as an industry standard architecture (ISA) bus, an extended ISA (EISA) 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 interconnect. In some embodiments, there are direct connections between components. For example, CPU 1106 may be directly connected to memory 1104. Further, in a direct or point-to-point connection between components, the interconnect system 1102 may include a PCIe link to establish the connection. In these examples, a PCI bus need not be included in computing device 1100.The computer readable media may be any available media that can be accessed by the computing device 1100. By way of example and not limitation, the computer readable media may include computer storage media and communication media.The computer storage media may 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 types of data. For example, memory 1104 may 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 may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium, which may be used to store the desired information and which may be accessed by computing device 1100. As used herein, computer storage media does not include signals per se.The computer storage media may embody computer readable instructions, data structures, program modules, and / or other types of data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any media for communicating information. The term "modulated data signal" may refer to a signal having one or more of its characteristics set or altered to encode information in the signal. Combinations of the above should also be included within the scope of computer readable media.The one or more CPUs 1106 may be configured to execute at least some of the computer readable instructions to control one or more components of the computing device 1100 to perform one / more of the methods and / or processes described herein, The one or more CPUs 1106 may include any type of processor and may include different types of processors (e.g., processors with fewer cores for mobile devices and processors with more cores for servers) depending on the type of computing device 1100 implemented, The computing device 1100 may include one or more CPUs 1106 in addition to one or more microprocessors or additional co-processors, such as mathematical co-processors.In addition to, or as an alternative to, the one or more CPUs 1106, the one or more GPUs 1108 may be configured to execute at least some of the computer readable instructions to control one or more components of the computing device 1100 to perform one or more of the methods and / or processes described herein. One or more of the GPUs 1108 may be an integrated GPU (e.g., with one or more of the CPUs 1106 and / or one or more of the GPUs 1108 may be a discrete GPU. In embodiments, one or more of the GPUs 1108 may be a coprocessor of one or more of the CPUs 1106, For example, the one or more GPUs 1108 may be used for general purpose computing on GPUs (GPGPUs).The one or more GPUs 1108 may include hundreds or thousands of cores capable of processing hundreds or thousands of software threads simultaneously. The one or more GPUs 1108 may generate pixel data for output images in response to rendering commands (e.g., rendering commands from the one or more CPUs 1106 received via a host interface), The one or more GPUs 1108 may include two or more parallel-operating GPUs (e.g., via a link).The link may connect the GPUs directly (e.g., to NVLINK) or connect the GPUs via a switch (e.g., to NVSwit) when combined together, Each GPU 1108 may generate pixel data or GPGPU data for different portions of an output or for different outputs (e.g., a first GPU for a first image and a second GPU for a second image).In addition to or as an alternative to the one or more CPUs 1106 and / or the one or more GPUs 1108, the one or more logic units 1120 may be configured to execute at least some of the computer readable instructions to control one or more components of the computing device 1100 to perform one / more of the methods and / or processes described herein, One or more of the logic units 1120 may be part of one or more of the CPUs 1106 and / or one or more of the GPUs 1108 and / or one or more of the logic units 1120 may be discrete components or otherwise external to the CPUs 1106 and / or the GPUs 1108. In embodiments, one or more of the logic units 1120 may be a co-processor of one or more of the CPUs 1106 and / or one or more of the GPUs 1108.Examples of the one or more logic units 1120 include one or more processing cores and / or components thereof, such as data processing units (DPUs), tensor cores (TCs), tensor processing units (TPUs), visual cores (PVCs), vision processing units (VPUs), graphics processing clusters (GPCs), texture processing clusters (TPCs), Streaming multiprocessors (SMs), tree traversal units (TTUs), artificial intelligence accelerators (AIAs), deep learning accelerators (DLAs), arithmetic logic units (ALUs), application-specific integrated circuits (ASICs), floating point units (FPUs), input / output (I / O) elements, peripheral component interconnect (ALUs, PCI) or PCI Express (PCIe) elements, and / or the like.Communication interface 1110 may include one or more receivers, transmitters, and / or transceivers that enable computing device 1100 to communicate with other computing devices over an electronic network, including wired and / or wireless communication. communication interface 1110 may include components and functionality that enables communication over a variety of networks, such as wireless networks (e.g., Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, etc.), wired networks (e.g., communication over Ethernet or InfiniBand), low-power wide area networks (e.g., LoRaWA, SigOx, etc.), In one or more embodiments, the one or more logic units 1120 and / or communication interface 1110 may include one or more computing devices (DPUs) to directly transmit data received over a network and / or over the connection system 1102 to one or more GPUs 1108 (e.g., a memory thereof).I / O ports 1112 may enable computing device 1100 to be logically coupled to other devices, including I / O components 1114, one or more presentation components 1118, and / or other components, some of which may be incorporated (e.g., integrated) into computing device 1100. Illustrative I / O components 1114 include a microphone, a mouse, a keyboard, a joystick, a game pad, a game controller, a satellite dish, a scanner, a printer, a wireless device, etc. The I / O components 1114 may provide a natural user interface (NUI) that processes user-generated air gestures, speech, or other physiological inputs. An NUI may implement any combination of voice sensing, pen sensing, face sensing, biometric sensing, gesture sensing on both the screen and adjacent to the screen, air gestures, head and eye tracking, and touch sensing (described in more detail below) associated with a display of computing device 1100. Additionally, computing device 1100 may include accelerometers or gyroscopes (e.g., as part of an inertial measurement unit (IMU)) that enable motion detection.Power supply 1116 may include a hardwired power supply, a battery power supply, or a combination thereof. power supply 1116 may provide power to computing device 1100 to enable operation of the components of computing device 1100.The one or more presentation components 1118 may include a display (e.g., a monitor, a touch screen, a television screen, a heads-up display (HUD), other types of display, or a combination thereof), speakers, and / or other presentation components. The one or more presentation components 1118 may receive data from other components (e.g., the one or more GPUs 1108, the one or more CPUs 1106, DPUs, etc.) and output the data (e.g., as an image, video, sound, etc.).EXAMPLE DATA CENTERFIG. 12 illustrates an example data center 1200 that may be used in at least one embodiment of the present disclosure. data center 1200 may include data center infrastructure layer 1210, framework layer 1220, software layer 1230, and / or application layer 1240.As shown in FIG. 12, data center infrastructure layer 1210 may include resource orchestrator 1212, grouped computing resources 1214, and node computing resources ("node-C.R.s") 1216( 1)- 1216(N), where "N" represents any integer, positive number. In at least one embodiment, node-C.R.s 1216( 1)- 1216(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 processors, or graphics processing units (graphics processing units), GPUs), etc.), memory devices (e.g., dynamic storage), storage devices (e.g., solid state or disk drives), network input / output devices (NW I / O), network switches, virtual machines (VMs), power modules, and / or cooling modules, etc. In some embodiments, one or more node C.R.s among the node C.R.s 1216( 1)- 1216(N) may correspond to a server having one or more of the aforementioned computing resources. In addition, in some embodiments, the node C.R.s 1216( 1)- 12161(N) may include one or more virtual components, such as vPUs, vCPUs and / or the like, and / or one or more of the node C.R.s 1216( 1)- 1216(N) may correspond to a virtual machine (VM).In at least one embodiment, grouped computing resources 1214 may include separate groupings of node C.R.s 1216 residing in one or more racks (not shown) or in multiple racks in data centers at different geographic locations (also not shown). Separate groupings of node C.R.s 1216 within grouped computing resources 1214 may include grouped computing, network, memory, or storage resources that may be configured or allocated to support one or more workloads. In at least one embodiment, multiple node C.R.s 1216, including CPUs, GPUs, DPUs, and / or other processors, may be grouped into one or more racks to provide computing resources to support one or more workloads.The resource orchestrator 1212 may configure or otherwise control one or more node C.R.s 1216( 1)- 1216(N) and / or grouped computing resources 1214. In at least one embodiment, resource orchestrator 1212 may include an entity for managing software design infrastructure (SDI) for data center 1200. Resource orchestrator 1212 may include hardware, software, or a combination thereof.In at least one embodiment, as shown in FIG. 12, framework layer 1220 may include a job scheduler 1228, a configuration manager 1234, a resource manager 1236, and / or a distributed file system 1238. framework layer 1220 may include a framework that supports software 1232 of software layer 1230 and / or one or more applications 1242 of application layer 1240. software 1232 or one or more applications 1242 may each include web-based service software or applications as provided by Amazon Web Services, The framework layer 1220 may be a type of free and open source software web application framework such as Apache SparkTM (hereafter "Spark"), which may utilize a distributed file system 1238 for large volume processing (e.g., "Big Data"), without limitation. The configuration manager 1234 may be capable of configuring various layers, such as the software layer 1230 and the framework layer 1220, including spark and the distributed file system 1238, to facilitate the scheduling of workloads supported by different layers of the data center 1200. The resource manager 1236 may be capable of managing clustered or grouped computing resources associated or allocated to support the distributed file system 1238 and the job scheduler 1228. In at least one embodiment, clustered or grouped computing resources may include grouped computing resource 1214 at data center infrastructure layer 1210. Resource manager 1236 may coordinate with resource orchestrator 1212 to manage these allocated or allocated computing resources.In at least one embodiment, software 1232 included in software layer 1230 may include software used by at least portions of node C.R.s 1216( 1)- 1216(N), grouped computing resources 1214, and / or distributed file system 1238 of framework layer 1220. One or more types of software may include, but are not limited to, website search software, e-mail virus scanning software, database software, and streaming video content software.In at least one embodiment, applications 1242 included in application layer 1240 may include one or more types of applications used by at least portions of node C.R.s 1216( 1)- 1216(N), grouped computing resources 1214, and / or distributed file system 1238, of framework layer 1220. One or more types of applications may include, but are not limited to, any number of a genomic application, a cognitive computing and machine learning application including training or inferencing software, machine learning framework software (e.g., PyTor, TensorFlow, Coffee, etc.), and / or other machine learning applications used in connection with one or more embodiments.In at least one embodiment, configuration manager 1234, resource manager 1236, and resource orchestrator 1212 may implement any number and type of self-modifying actions based on any amount and type of data captured in any technically feasible manner. self-modifying actions may offload a data center operator of data center 1200 from making potentially bad configuration decisions and avoiding potentially unutilized and / or malfunctioning portions of a data center.Data center 1200 may include tools, services, software, or other resources to train one or more machine learning models or predict or derive information using one or more machine learning models according to one or more embodiments described herein. for example, one or more machine learning models may be trained by calculating weight parameters according to a neural network architecture using software and / or computing resources described above with respect to data center 1200. In at least one embodiment, trained or deployed machine learning models corresponding to one or more neural networks may be used to derive or predict information using the above described resources with respect to data center 1200 using weight parameters calculated by one or more training techniques such as those described herein, without being limited thereto.In at least one embodiment, data center 1200 may use CPUs, application specific integrated circuits (ASICs), GPUs, FPGAs, and / or other hardware (or corresponding virtual computing resources) to perform training and / or inferencing using resources described above.EXAMPLE NETWORK ENVIRONMENTSNetwork environments suitable for implementing embodiments of the disclosure may include one or more client devices, servers, network attached storage (NAS), other backend devices, and / or other device types. When backend devices (e.g., servers, NAS, etc.) are implemented, the backend devices may also be included as part of a data center 1200, an example of which is described in more detail herein with reference to FIG. 12.The components of a network environment may communicate with each other over one or more networks, which may be wired, wireless, or both. The network may include, for example, one or more wide area networks (WANs), one or more local area networks (LANs), one or more public networks such as the Internet and / or a public switched telephone network (PSTN), and / or one or more private networks. If the network includes a wireless telecommunications network, components such as a base station, a communication tower, or even access points (as well as other components) may provide wireless connectivity.Compatible network environments may include one or more peer-to-peer network environments - in this case, a server may not be included in a network environment - and one or more client-server network environments - in this case, one or more servers may be included in a network environment.In at least one embodiment, a network environment may include one or more cloud-based network environments, a distributed computing environment, a combination thereof, etc. A cloud-based network environment may include a framework layer, a job scheduler, a resource manager, and a distributed file system implemented on one or more servers, which may include one or more core network servers and / or edge servers. A framework layer may include a framework for supporting software of a software layer and / or one or more applications of an application layer. The software or the one or more applications may each include web-based service software or applications. In embodiments, one or more of the client devices may utilize the web-based service software or applications (e.g., by accessing the service software and / or applications via one or more application programming interfaces (application programming interfaces, APIs)).The framework layer may be a type of free and open source software web application framework that uses, for example, a distributed file system for large volume data processing (e.g., "big data").A cloud-based networking environment may provide cloud computing and / or cloud storage that performs any combination of the computer and / or data storage functions described herein (or one or more portions thereof). Each of these various functions may be distributed from central or core servers (e.g., from one or more data centers, which may be distributed over a state, region, country, globe, etc.) over multiple locations. When a connection to a user (e.g., a client device) is relatively close to one or more edge servers, one or more core servers may transmit at least a portion of the functionality to the one or more edge servers. a cloud-based network environment may be private (e.g., limited to a single organization), public (e.g., available to many organizations), and / or a combination thereof (e.g., a hybrid cloud environment).The one or more client devices may include at least some of the components, features, and functions of the one or more example computing devices 1100 described herein with reference to FIG. 11. A client device may be, for example, a personal computer (PC), a laptop, a mobile device, a smartphone, a tablet computer, a smart watch, a portable computer, a personal digital assistant (PDA), an MP3 player, a virtual reality headset, a global positioning system (GPS), or device, a video player, a video camera, a monitoring device or system, a vehicle, a boat, a flight boat, a virtual machine, a drone, a robot, a portable communication device, a hospital device, a gaming device or system, an entertainment system, a vehicle computer system, an embedded system controller, a remote controller, a remote controller, an apparatus, an consumer electronic device, a workstation, an edge device, any combination of these described devices, or any other suitable device.The disclosure of this application also includes the following numbered clause:Clause 1. method comprising:obtaining first data corresponding to a first three-dimensional (3D) face and one or more first landmark positions corresponding to the first 3D face;obtaining second data corresponding to a second 3D face;determining, based on at least one of performing at least one of one or more transformation processes associated with the first 3D face or one or more adaptation processes associated with the first 3D face, a match between the first 3D face and the second 3D face; anddetermining, at least based on the match and using one or more first landmark positions, one or more second landmark positions associated with the second 3D face; andperforming one or more animation operations with respect to the second 3D face based on at least one or more second landmark positions.Clause 2. the method of Clause 1, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face comprises:performing a transformation process of the one or more transformation processes by at least updating at least one of rotation, translation, and scaling associated with the first 3D face; andperforming an adjustment process of the one or more adjustment processes by at least updating a shape of the first 3D face.Clause 3. the method of Clause 2, wherein performing the adaptation process occurs after performing the transformation process, and wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face further comprises:after performing the adjustment process, performing a second transformation process of the one or more transformation processes by at least further updating at least one of rotation, translation, and scaling associated with the first 3D surface; andafter performing the second transformation process, performing a second matching process by further updating at least the shape of the first 3D face.Clause 4th The method of any preceding clause, further comprising:receiving input data indicating that a third landmark position associated with the first 3D face corresponds to a fourth landmark position associated with the second 3D face, wherein determining the match is further based at least on the input data.Clause 5. the method of any of the preceding clause, further comprising:receiving input data indicating that one or more third landmark positions associated with the first 3D face correspond to one or more fourth landmark positions associated with the second 3D face; andupdating, based on at least one or more third landmark positions corresponding to one or more fourth landmark positions, one or more points of the first 3D face associated with one or more third landmark positions,wherein the determination of the match is further based at least on the update of the one or more points.Clause 6. the method of any of the preceding clause, further comprising:determining a first orientation associated with the first 3D face; anddetermining, based on at least the first orientation, a second orientation associated with the second 3D face such that the second 3D face is substantially aligned with respect to the first 3D face,wherein determining the match is further based at least on the first orientation and the second orientation.Clause 7. the method of any of the preceding clause, further comprising:determining a first boundary shape associated with the first 3D face;determining a second boundary shape associated with the second 3D face; andaligning the first 3D face with respect to the second 3D face based on at least the first boundary shape and the second boundary shape,wherein the determination of the match is further based at least on the orientation of the first 3D shape with respect to the second 3D shape.Clause 8th The method of any preceding clause, wherein determining the one or more second landmark positions associated with the second 3D face comprises:determining, based at least on the match and using a first landmark position of the one or more first landmark positions, a potential landmark position associated with the second 3D face;determining a first surface normal angle associated with the first landmark position and a second surface normal position associated with the potential landmark position;determining that the first surface normal angle is within a threshold angle of the second surface normal angle; andbased on at least the first surface normal angle being within the threshold angle to the second surface normal angle, determining that the potential landmark position includes a second landmark position of the one or more second landmark positions.Clause 9th The method of any preceding clause, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face uses at least one of:one or more distances between one or more first points associated with the first 3D face and one or more second points associated with the second 3D face; orone or more first surface normal angles associated with the one or more first points and one or more second surface normal angles associated with the one or more second points.Clause 10. method according to any of the preceding clause, wherein:the one or more first landmark positions include one or more first positions of one or more facial features associated with the first 3D face; andthe one or more second landmark positions include one or more second positions of the one or more facial features associated with the second 3D face.Clause 11th System comprising:one or more processing units for:determining, based on at least one of performing at least one of one or more transformation processes associated with the first three-dimensional (3D) face or one or more adaptation processes associated with the first 3D face, a match between the first 3D face and a second 3D face;determining one or more first positions of one or more features associated with the first 3D face; anddetermining, based on at least the match and the one or more first positions, one or more second positions of the one or more features associated with the second 3D face.The clause 12th system of clause 11, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face comprises:performing a transformation process of the one or more transformation processes by at least updating at least one of rotation, translation, and scaling associated with the first 3D face; andperforming an adjustment process of the one or more adjustment processes by at least updating a shape of the first 3D face.Clause 13th The system of Clause 12, wherein performing the adaptation process occurs after performing the transformation process, and wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face comprises:after performing the adjustment process, performing a second transformation process of the one or more transformation processes by at least further updating at least one of rotation, translation, and scaling associated with the first 3D surface; andafter performing the second transformation process, performing a second matching process by further updating at least the shape of the first 3D face.The clause 14th system of any of the clause 11- 13, wherein the one or more processing units furtherreceiving input data indicating that a third position of a second feature associated with the first 3D face corresponds to a fourth position of the second feature associated with the second 3D face,wherein the match is further determined based at least on the input data.The clause 15th system of any of the clause 11- 14, wherein the one or more processing units further execute:receiving input data indicating that one or more third positions of one or more second features associated with the first 3D face correspond to one or more fourth positions of the one or more second features associated with the second 3D face; andupdating, at least based on the one or more third positions corresponding to the one or more fourth positions, one or more points associated with the one or more second features on the first 3D face to determine one or more updated points,wherein the match is further determined based on at least one or more updated points.The clause 16th system of any of the clause 11- 15, wherein the one or more processing units further execute:determining a first orientation associated with the first 3D face; anddetermining, based on at least the first orientation, a second orientation associated with the second 3D face such that the second 3D face is substantially aligned with respect to the first 3D face,wherein the determination of the match is further based at least on the first orientation and the second orientation.The clause 17th system of any of clause 11-16, wherein determining the one or more second positions of the one or more features associated with the second 3D face comprises:determining, based on at least the match and using a first position of the one or more first positions, a potential position of a feature of the one or more features associated with the second 3D face;determining a first surface normal angle associated with the first position and a second surface normal position associated with the potential position;determining that the first surface normal angle is within a threshold angle of the second surface normal angle; andbased on at least the first surface normal angle being within the threshold angle of the second surface normal angle, determining that the potential position includes a second position of the one or more second positions for the feature.The clause 18th system of any of clause 11-17, wherein the system 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 twining 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 conversational AI operations;a system for implementing one or more big speech models (LLMs);a system for performing generative AI operations;a system for generating synthetic data;a system including one or more virtual machines (VMs);a system implemented at least partially in a data center; ora system implemented at least in part using cloud computing resources.Clause 19 Processor comprising:one or more processing units to determine one or more first landmark positions associated with a first three-dimensional (3D) face using one or more second landmark positions associated with a second 3D face that is processed to align with the first 3D face, wherein the second 3D face is processed to align with the first 3D face based at least on performing one or more transformation processes and one or more adaptation processes.The clause 20th processor of clause 19, 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 twining 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 conversational AI operations;a system for implementing one or more big speech models (LLMs);a system for generating synthetic data;a system for performing generative AI operations;a system including one or more virtual machines (VMs);a system implemented at least partially in a data center; ora system implemented at least in part using cloud computing resources.The disclosure may be described in the general context of computer code or computer-usable instructions, including computer-executable instructions, such as program modules, executed by a computer or other machine, such as a personal data assistant or other portable device. In general, program modules include routines, programs, objects, components, data structures, etc., and refer to code that performs certain tasks or implements certain abstract data types. The disclosure may be practiced in a variety of system configurations, including handheld devices, consumer electronics, general purpose computers, more specific computer devices, etc. The disclosure may also be practiced in distributed computing environments where tasks are performed by remote devices interconnected for communication via a network.As used herein, a phrase of "and / or" with respect to two or more elements should be interpreted to mean only one element or combination of elements.For example, "element A, element B, and / or element C" may include only element A, only element B, only element C, element A, and element B, element A, and element C, element B, and element C, or elements A, B, and C. Moreover, "at least one of element A or element B" may include at least one of element A, Further, "at least one of element A and element B" may include at least one of element A, at least one of element B, or at least one of element A and element B. Further, "at least one of element A and element B" may include at least one of element A, at least one of element B, or at least one of element A and at least one of element B.The subject matter of the present disclosure is specifically described herein to satisfy the legal requirements. Rather, the inventors have contemplated that the claimed subject matter may be embodied in other ways to include various steps or combinations of steps similar to those described herein in connection with other current or future technologies. Although the terms "step" and / or "block" may be used herein to refer to various elements of the methods employed, the terms should not be interpreted as implying a particular order among or between the various steps disclosed herein unless and except in the case where the order of the individual steps is expressly described.It is to be understood that the above-described aspects and embodiments are merely exemplary and that changes may be made in detail within the scope of the claims.Each device, method and feature disclosed in the specification and (optionally) in the claims and drawings may be presented independently or in any suitable combination.Reference numerals in the claims are intended for illustration purposes only and have no limiting effect on the scope of the claims.
Claims
A method comprising: obtaining first data corresponding to a first three-dimensional (3D) face and one or more first landmark positions corresponding to the first 3D face; obtaining second data corresponding to a second 3D face; determining, based on at least one of one or more transformation processes associated with the first 3D face or one or more adaptation processes associated with the first 3D face, a match between the first 3D face and the second 3D face; and determining, at least based on the match and using one or more first landmark positions, one or more second landmark positions associated with the second 3D face, and performing one or more animation operations with respect to the second 3D face based on at least one or more second landmark positions.The method of claim 1, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face comprises: performing a transformation process of the one or more transformation processes by at least updating at least one of a rotation, a translation, and a scaling associated with the first 3D face; and performing an adaptation process of the one or more adaptation processes by at least updating a shape of the first 3D face.The method of claim 2, wherein performing the adaptation process occurs after performing the transformation process, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face further comprises: after performing the adaptation process, performing a second transformation process of the one or more transformation processes by at least further updating at least one of rotation, translation, and scaling associated with the first 3D face; and after performing the second transformation process, performing a second adaptation process by further updating at least the shape of the first 3D face.The method of any preceding claim, further comprising: receiving input data indicating that a third landmark position associated with the first 3D face corresponds to a fourth landmark position associated with the second 3D face, wherein determining the match is further based at least on the input data.The method of any preceding claim, further comprising: receiving input data indicating that one or more third landmark positions associated with the first 3D face correspond to one or more fourth landmark positions associated with the second 3D face; and updating, based on at least one or more third landmark positions corresponding to one or more fourth landmark positions, one or more points of the first 3D face associated with one or more third landmark positions, wherein the determination of the match is further based on at least the update of the one or more points.The method of any preceding claim, further comprising: determining a first orientation associated with the first 3D face; and determining, based on at least the first orientation, a second orientation associated with the second 3D face such that the second 3D face is substantially aligned with respect to the first 3D face, wherein the determining the match is further based on at least the first orientation and the second orientation.The method of any preceding claim, further comprising: determining a first bounding shape associated with the first 3D face; determining a second bounding shape associated with the second 3D face; and aligning the first 3D face with respect to the second 3D face based on at least the first bounding shape and the second bounding shape, wherein the determination of the match is further based on at least the alignment of the first 3D shape with respect to the second 3D shape.The method of any preceding claim, wherein determining the one or more second landmark positions associated with the second 3D face comprises: determining, based at least on the match and using a first landmark position of the one or more first landmark positions, a potential landmark position associated with the second 3D face; determining a first surface normal angle associated with the first landmark position and a second surface normal position associated with the potential landmark position; determining that the first surface normal angle is within a threshold angle to the second surface normal angle; and based on at least the first surface normal angle being within the threshold angle to the second surface normal angle, determining that the potential landmark position includes a second landmark position of the one or more second landmark positions.The method of any preceding claim, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face uses at least one of: one or more distances between one or more first points associated with the first 3D face and one or more second points associated with the second 3D face; or one or more first surface normal angles associated with the one or more first points and one or more second surface normal angles associated with the one or more second points.The method of any preceding claim, wherein: the one or more first landmark positions include one or more first positions of one or more facial features associated with the first 3D face; and the one or more second landmark positions include one or more second positions of the one or more facial features associated with the second 3D face.A system comprising: one or more processing units to: determine, based on at least one of one or more transformation processes associated with the first three-dimensional (3D) face or one or more matching processes associated with the first 3D face, a match between the first 3D face and a second 3D face; determine one or more first positions of one or more features associated with the first 3D face; and determine, based on at least the match and the one or more first positions, one or more second positions of the one or more features associated with the second 3D face.The system of claim 11, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face comprises: performing a transformation process of the one or more transformation processes by at least updating at least one of a rotation, a translation, and a scaling associated with the first 3D face; and performing an adaptation process of the one or more adaptation processes by at least updating a shape of the first 3D face.The system of claim 12, wherein performing the adaptation process occurs after performing the transformation process, wherein performing the at least one of the one or more transformation processes associated with the first 3D face or the one or more adaptation processes associated with the first 3D face comprises: after performing the adaptation process, performing a second transformation process of the one or more transformation processes by at least further updating at least one of rotation, translation, and scaling associated with the first 3D face; and after performing the second transformation process, performing a second adaptation process by further updating at least the shape of the first 3D face.The system of any of claims 11-13, wherein the one or more processing units further execute: receiving input data indicating that a third position of a second feature associated with the first 3D face corresponds to a fourth position of the second feature associated with the second 3D face, wherein the match is further determined based at least on the input data.The system of any of claims 11-14, wherein the one or more processing units further execute: receiving input data indicating that one or more third positions of one or more second features associated with the first 3D face correspond to one or more fourth positions of the one or more second features associated with the second 3D face; and updating, based at least on the one or more third positions corresponding to the one or more fourth positions, one or more points associated with the one or more second features on the first 3D face to determine one or more updated points, wherein the match is further determined based on at least one or more updated points.The system of any of claims 11-15, wherein the one or more processing units further perform: determining a first orientation associated with the first 3D face; and determining, based on at least the first orientation, a second orientation associated with the second 3D face such that the second 3D face is substantially aligned with respect to the first 3D face, wherein the determination of the match is further based on at least the first orientation and the second orientation.The system of any of claims 11-16, wherein determining the one or more second positions of the one or more features associated with the second 3D face comprises: determining, based on at least the match and using a first position of the one or more first positions, a potential position of a feature of the one or more features associated with the second 3D face; determining a first surface normal angle associated with the first position and a second surface normal position associated with the potential position; determining that the first surface normal angle is within a threshold angle to the second surface normal angle; and based on at least the first surface normal angle being within the threshold angle to the second surface normal angle, determining that the potential position includes a second position of the one or more second positions for the feature.The system of any of claims 11-17, wherein the system 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 twinning 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 conversational AI operations; a system for implementing one or more big language models (LLMs); a system for performing generative AI operations; a system for generating synthetic data; a system including one or more virtual machines (VMs); a system implemented at least partially in a data center; or a system implemented at least partially using cloud computing resources.A processor comprising: one or more processing units to determine one or more first landmark positions associated with a first three-dimensional (3D) face using one or more second landmark positions associated with a second 3D face that is processed to align with the first 3D face, wherein the second 3D face is processed to align with the first 3D face based on at least performing one or more transformation processes and one or more adaptation processes.The processor of claim 19, 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 twinning 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 conversational AI operations; a system for implementing one or more large language models (LLMs); a system for generating synthetic data; a system for performing generative AI operations; a system including one or more virtual machines (VMs); a system implemented at least partially in a data center; or a system implemented at least partially using cloud computing resources.