Facial animation reorientation method, apparatus and electronic device

By acquiring and utilizing the topological data of facial bone points, the problem of inaccurate redirection results in facial expression animation redirection was solved, achieving high-precision facial expression animation sharing and fast redirection.

CN115393482BActive Publication Date: 2026-07-28NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NETEASE (HANGZHOU) NETWORK CO LTD
Filing Date
2022-08-08
Publication Date
2026-07-28

AI Technical Summary

Technical Problem

In existing technologies, when retargeting facial animations, the target face and the original face have different face shapes, facial feature sizes and positional distributions. Directly using the fusion deformation parameters of the original face can lead to inaccurate retargeting results, resulting in problems such as interlacing or insufficient deformation.

Method used

By acquiring the source animation data of each facial bone point of the source facial model, its topological structure data is determined. Based on this topological structure data and the facial appearance features of the target facial model, the target animation data of each facial bone point of the target facial model is determined, thereby determining the position information of the skinning vertices and achieving accurate retargeting of facial expression animation.

Benefits of technology

It improves the accuracy of facial animation retargeting, reduces errors caused by insufficient interlacing or deformation of different parts of the retargeted facial expression, and reduces the amount of computation, making the retargeting faster and more efficient.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115393482B_ABST
    Figure CN115393482B_ABST
Patent Text Reader

Abstract

The application discloses an expression animation redirection method and device, electronic equipment and a computer readable storage medium, wherein the method comprises: obtaining source animation data of each facial skeleton point of a source face model; the topological structure data remains unchanged when the appearance characteristics of the source face model change, and the topological structure data is used for representing the positional relationship between the facial skeleton points; based on the topological structure data and facial appearance characteristics of a target face model of expression redirection, target animation data of each facial skeleton point of the target face model is determined; and position information of each skin vertex of the target face model is determined according to the target animation data. The topological structure data of the facial skeleton points of the source face model is extracted, and the expression animation redirection accuracy is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and specifically to a method, apparatus, electronic device, and computer-readable storage medium for redirecting facial expression animation. Background Technology

[0002] Facial animation retargeting is a technology that enables the sharing of facial expression animations between characters with any face shape. It can accurately restore pre-made expressions on the face of a character after the face shape has been changed, thereby achieving facial animation reuse. Animation retargeting can significantly reduce the workload of designers.

[0003] In related technologies, the retargeting of facial animation is mostly based on Blend Shapes (BS). First, key points are determined on the original face and the target face. The base expression is generated for the target face by matching the key point positions. During retargeting, the fusion parameters of the original face are passed to the target face. The base expression of the target face is fused with the fusion parameters of the original face to obtain the retargeting result.

[0004] Because the target face and the original face differ in face shape, facial feature size, and facial feature distribution, directly using the original face's blending and deformation parameters can lead to issues such as overlapping or insufficient deformation, resulting in inaccurate retargeting results. For example, if the target face has small eyes and the original face has large eyes, passing the original face's eye blending parameters to the target face may cause overlapping of the target face's eye areas. Summary of the Invention

[0005] This application provides a method, apparatus, electronic device, and computer-readable storage medium for retargeting facial animation, which can reduce retargeting errors such as overlapping or insufficient deformation of different parts of the retargeted facial expression, and improve the accuracy of facial animation retargeting.

[0006] In a first aspect, embodiments of this application provide a method for redirecting facial expression animations, the method comprising:

[0007] Obtain the source animation data of each facial bone point of the source facial model;

[0008] Based on the source animation data, the topological structure data of each facial bone point of the source facial model is determined. The topological structure data remains unchanged when the appearance features of the source facial model change. The topological structure data is used to characterize the positional relationship between each facial bone point. Based on the topological structure data and the facial appearance features of the target facial model for expression retargeting, the target animation data of each facial bone point of the target facial model is determined.

[0009] The position information of each skin vertex of the target facial model is determined based on the target animation data.

[0010] Optionally, before determining the topological structure data between the facial bone points of the source facial model based on the source animation data, the method further includes:

[0011] Create a source proxy model with reduced face count for the source face model, wherein the source proxy model is consistent with the facial appearance features of the source face model;

[0012] The source proxy animation data for each facial bone point of the source proxy model is determined based on the source animation data;

[0013] Optionally, determining the topological structure data between facial bone points of the source facial model based on the source animation data includes:

[0014] The topological structure data between each facial bone point of the source proxy model is determined based on the source proxy animation data, and the topological structure data between each facial bone point of the source proxy model is determined as the topological structure data between each bone point of the source facial model.

[0015] Optionally, before determining the target animation data of each facial bone point of the target facial model based on the topological structure data and the facial appearance features of the target facial model for expression retargeting, the method further includes:

[0016] A target proxy model with reduced face count is created for the target facial model for expression retargeting. The target proxy model has the same facial appearance features as the target facial model and the same topological structure as the source proxy model.

[0017] Optionally, determining the target animation data for each facial bone point of the target facial model based on the topological structure data and the facial appearance features of the target facial model for expression retargeting includes:

[0018] Based on the topology data and the facial features of the target proxy model, the target proxy animation data for each facial bone point of the target proxy model is determined.

[0019] The target animation data for each facial bone point of the target facial model is determined based on the target proxy animation data.

[0020] Optionally, creating a source proxy model with a reduced face count for the source face model includes:

[0021] Obtain each skinned weighted target facial bone point of the source facial model;

[0022] When the source facial model has a sparse bone region, multiple skinning vertices are selected from the sparse bone region. The sparse bone region is a facial region where the facial bone distribution density is less than a preset threshold.

[0023] A source proxy model is created for the source face model based on the target facial bone points and the multiple skin vertices.

[0024] Optionally, selecting multiple skinning vertices from the sparse bone region includes:

[0025] The sparse bone region is divided into multiple sub-regions, and each sub-region is a continuous region.

[0026] Select multiple discrete vertices from each of the sub-regions.

[0027] Optionally, determining the position information of each skin vertex of the target facial model based on the target animation data includes:

[0028] Calculate the skinning weights of each facial bone point of the target facial model to each skinning vertex of the target facial model;

[0029] Based on the skin weights and the target animation data, the position information of each skin vertex of the target facial model is determined.

[0030] Optionally, calculating the skinning weights of each facial bone point of the target facial model to each skinning vertex of the target facial model includes:

[0031] Determine the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model;

[0032] The target proxy skinning weights of each facial bone point of the target proxy model to each skinning vertex of the target proxy model are determined based on the source proxy skinning weights.

[0033] The skinning weights of each skinning vertex of the target facial model are determined based on the target proxy skinning weights.

[0034] Optionally, determining the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model includes:

[0035] The skinning weight of the first bone point to the first skinning vertex of the source proxy model is determined to be 1. The first skinning vertex is the skinning vertex corresponding to the facial bone point, and the first bone point is the facial bone point corresponding to the first skinning vertex.

[0036] The skinning weights of each second bone point to the second skinning vertex are determined based on the weight determination principle. The second skinning vertex is the vertex other than the first skinning vertex among the skinning vertices of the source proxy model. The second bone point is each skinning vertex whose distance from the second skinning vertex is within a set distance range. The weight determination principle includes: the skinning weight is proportional to the distance between the second bone point and the second skinning vertex, and the sum of the skinning weights corresponding to the second skinning vertex is 1.

[0037] Optionally, creating a target proxy model with a reduced face count for the target facial model of expression retargeting includes:

[0038] When the topology of the target facial model for expression redirection is the same as that of the source facial model, the skinned vertices of the source proxy model are moved by a first displacement to obtain a target proxy model with a reduced number of faces. The first displacement is the displacement of the skinned vertices of the source facial model to the corresponding skinned vertices of the target facial model.

[0039] Optionally, creating a target proxy model with a reduced face count for the target facial model of expression retargeting includes:

[0040] When the topological structure of the target facial model for expression redirection is different from that of the source facial model, the key points of the source facial model and the key points of the target facial model are determined. The number and distribution of the key points of the source facial model and the key points of the target facial model are the same. The key points are used to constitute the appearance features of the facial model.

[0041] Based on the positional difference between the key points of the source facial model and the corresponding key points of the target facial model, each skinned vertex on the source proxy model is moved to obtain a target proxy model with a reduced number of faces.

[0042] Optionally, determining the source proxy animation data for each facial bone point of the source proxy model based on the source animation data includes:

[0043] The facial bone points of the source facial model are projected onto the source proxy model according to the first projection method to obtain the first projection point, and the first projection point is determined as the facial bone point of the source proxy model.

[0044] The source animation data is determined as the source proxy animation data for each facial bone point of the source proxy model.

[0045] Optionally, the step of projecting the facial bone points of the source facial model onto the source facial model according to a first projection method to obtain the first projection points includes:

[0046] The intersection of the target line and the skinned mesh of the source proxy model is determined as the first projection point of the facial bone point of the source face model onto the source proxy model. The target line is the line connecting the facial bone point of the source face model and the target point. The target point is the root bone point of the source face model. The root bone point of the source proxy model corresponds to the root bone point of the source face model.

[0047] Optionally, determining the intersection of the target line and the skinned mesh of the source proxy model as the first projection point of the facial bone points of the source facial model onto the source proxy model includes:

[0048] The intersection points of the target connection lines and the skinned mesh of the source proxy model are determined based on the hierarchical bounding box.

[0049] The intersection point is determined as the first projection point of the facial bone points of the source facial model onto the source proxy model.

[0050] Optionally, before determining the target animation data for each facial bone point of the target facial model based on the target proxy animation data, the method further includes:

[0051] The facial bone points of the target proxy model are projected onto the target facial model according to the second projection method to obtain the second projection points, wherein the second projection method is the reverse of the first projection method;

[0052] The second projection point is used as the bone point of the target facial model corresponding to the facial bone point of the target proxy model.

[0053] Optionally, determining the topological structure data between the skeletal points of the source facial model based on the source animation data includes:

[0054] A target mapping function is determined, which has the performance to convert the animation data of the facial model into target data, wherein the target data is: data used to represent the positional relationship between each bone point;

[0055] The animation data of the source facial model are input into the target mapping function to obtain the mapped animation data;

[0056] The topological structure data between the skeletal points of the source facial model is determined based on the mapped animation data.

[0057] Optionally, the facial features include at least one of the following: face shape, facial features, and the positional distribution relationship between different facial features.

[0058] Secondly, embodiments of this application provide an expression animation redirection device, the device comprising:

[0059] The acquisition unit is used to acquire the source animation data of each facial bone point of the source facial model;

[0060] A determining unit is configured to: determine topological structure data between facial bone points of the source facial model based on the source animation data, wherein the topological structure data remains unchanged when the appearance features of the source facial model change, and the topological structure data is used to characterize the positional relationship between the facial bone points; determine target animation data for each facial bone point of the target facial model based on the topological structure data and the facial appearance features of the target facial model for expression retargeting; and determine the positional information of each skinning vertex of the target facial model based on the target animation data.

[0061] Optionally, the device further includes:

[0062] A creation unit is used to create a source proxy model with a reduced number of faces for the source face model, wherein the source proxy model is consistent with the facial appearance features of the source face model;

[0063] Optionally, the determining unit is further configured to determine the source proxy animation data of each facial bone point of the source proxy model based on the source animation data;

[0064] Optionally, the determining unit is specifically used to determine the topological structure data between each facial bone point of the source proxy model based on the source proxy animation data, and to determine the topological structure data between each facial bone point of the source proxy model as the topological structure data between each bone point of the source facial model.

[0065] Optionally, the creation unit is further configured to create a target proxy model with reduced face count for the target facial model of expression retargeting, wherein the target proxy model has the same facial appearance features as the target facial model and the same topological structure as the source proxy model;

[0066] Optionally, the determining unit is specifically used to determine the target proxy animation data of each facial bone point of the target proxy model based on the topology data and the facial appearance features of the target proxy model;

[0067] Optionally, the determining unit is further configured to determine the target animation data of each facial bone point of the target facial model based on the target proxy animation data.

[0068] Optionally, the acquisition unit is specifically used to acquire each target facial bone point with skinning weights of the source facial model;

[0069] When the source facial model has a sparse bone region, multiple skinning vertices are selected from the sparse bone region. The sparse bone region is a facial region where the facial bone distribution density is less than a preset threshold.

[0070] Optionally, the creation unit is specifically used to create a source proxy model for the source face model based on each of the target facial bone points and the plurality of skin vertices.

[0071] Optionally, the determining unit is further configured to calculate the skinning weights of each facial bone point of the target facial model to each skinning vertex of the target facial model; and determine the position information of each skinning vertex of the target facial model based on the skinning weights and the target animation data.

[0072] Optionally, the determining unit is specifically used to: determine the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model; determine the target proxy skinning weights of each facial bone point of the target proxy model to each skinning vertex of the target proxy model based on the source proxy skinning weights; and determine the skinning weights of each skinning vertex of the target facial model based on the target proxy skinning weights.

[0073] Optionally, the determining unit is further configured to determine that the skinning weight of the first bone point of the source proxy model to the first skinning vertex is 1, wherein the first skinning vertex is the skinning vertex corresponding to the facial bone point, and the first bone point is the facial bone point corresponding to the first skinning vertex.

[0074] The skinning weights of each second bone point to the second skinning vertex are determined based on the weight determination principle. The second skinning vertex is the vertex other than the first skinning vertex among the skinning vertices of the source proxy model. The second bone point is each skinning vertex whose distance from the second skinning vertex is within a set distance range. The weight determination principle includes: the skinning weight is proportional to the distance between the second bone point and the second skinning vertex, and the sum of the skinning weights corresponding to the second skinning vertex is 1.

[0075] Optionally, the creation unit is specifically used to, when the topological structure of the target facial model for expression redirection is the same as that of the source facial model, move the skinned vertices of the source proxy model by a first displacement to obtain a target proxy model with a reduced number of faces, wherein the first displacement is the displacement of the skinned vertices of the source facial model to the corresponding skinned vertices of the target facial model.

[0076] Optionally, the determining unit is further configured to: when the topological structure of the target facial model for expression redirection is different from that of the source facial model, determine the key points of the source facial model and the key points of the target facial model, wherein the number and distribution of the key points of the source facial model and the key points of the target facial model are the same, and the key points are used to constitute the appearance features of the facial model; and based on the positional difference between the key points of the source facial model and the corresponding key points of the target facial model, move each skinned vertex on the source proxy model to obtain a target proxy model with a reduced number of faces.

[0077] Optionally, the determining unit is specifically used to project the facial bone points of the source facial model onto the source proxy model according to a first projection method to obtain a first projection point, and to determine the first projection point as the facial bone point of the source proxy model;

[0078] The source animation data is determined as the source proxy animation data for each facial bone point of the source proxy model.

[0079] Optionally, the determining unit is specifically used to determine the intersection of the target line and the skinned mesh of the source proxy model as the first projection point of the facial bone point of the source face model onto the source proxy model, wherein the target line is the line connecting the facial bone point of the source face model and the target point, the target point is the root bone point of the source face model, and the root bone point of the source proxy model corresponds to the root bone point of the source face model.

[0080] Optionally, the determining unit is further configured to determine the intersection point of the target connection line and the skinned mesh of the source proxy model based on the hierarchical bounding box; and determine the intersection point as the first projection point of the facial bone point of the source face model onto the source proxy model.

[0081] Optionally, the determining unit is further configured to project the facial bone points of the target proxy model onto the target facial model according to a second projection method to obtain second projection points, wherein the second projection method is the reverse of the first projection method; and to use the second projection points as the bone points of the target facial model corresponding to the facial bone points of the target proxy model.

[0082] Optionally, the determining unit is further configured to determine a target mapping function, the target mapping function having the performance of converting animation data of a facial model into target data, the target data being: data used to represent the positional relationship between each bone point;

[0083] Optionally, the device further includes:

[0084] The calculation unit inputs each animation data of the source facial model into the target mapping function to obtain the mapped animation data;

[0085] Optionally, the determining unit is used to determine the topological structure data between the skeletal points of the source facial model based on the mapped animation data.

[0086] Thirdly, embodiments of this application provide an electronic device, including:

[0087] Processor; and

[0088] A memory for storing a data processing program, which, when the electronic device is powered on and runs by the processor, performs the method as described in any of the first aspects.

[0089] Fourthly, embodiments of this application provide a computer-readable storage medium storing a data processing program that is executed by a processor to perform the method as described in any one of the first aspects.

[0090] Compared with the prior art, this application has the following advantages:

[0091] The facial animation retargeting method provided in this application obtains source animation data of each facial bone point of a source facial model, determines the topological structure data between each facial bone point of the source facial model based on the source animation data, and extracts the topological structure data between the facial bone points, which is the topological structure data of the source animation data. Since this topological structure data remains unchanged when the shape of the source facial model changes, it can be used to characterize the positional relationship between each facial bone point. In other words, this topological structure data can filter out the specific positional and other external features of each facial bone point in the source facial model. That is, the topological structure data can decouple the animation data of the facial bone points from the external features of the source facial model, thereby characterizing the positional relationship between each facial bone point. Positional relationships, that is, the positional relationships between various facial parts of the source facial model, can well represent the facial expressions of the facial model. Therefore, the target animation data of each facial bone point of the target facial model, determined based on the topological structure data and the facial appearance features of the target facial model, can accurately represent the facial expressions of the source facial model, and the represented facial expressions can better match the appearance features of the target facial model. In this way, by determining the positional information of each skin vertex of the target facial model based on the target animation data, the redirection of the target facial model is less likely to have redirection errors such as overlapping or insufficient deformation of different parts of the expression after redirection, thus improving the redirection accuracy.

[0092] In addition, this application uses facial bone point animation data for redirection, that is, it uses bone redirection method for redirection. Compared with the fusion deformation method, there is no need to generate base expression for the target facial model. Since the generation of base expression is very computationally intensive, this application can greatly reduce the amount of computation in the redirection process by using facial bone redirection, so that the redirection speed is faster and more efficient. Attached Figure Description

[0093] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0094] Figure 1 : A flowchart of an example of the facial animation redirection method provided in this application embodiment;

[0095] Figure 2 This application provides a schematic diagram of the system framework for facial animation redirection in an embodiment.

[0096] Figure 3 Comparison of facial expression retargeting results between homeomorphic models provided in this application embodiment;

[0097] Figure 4 Comparison of facial expression retargeting results between non-homeomorphic models provided in this application embodiment;

[0098] Figure 5 : A flowchart of another example of the facial animation retargeting method provided in this application embodiment;

[0099] Figure 6 The following is an example of the proxy model generated from the source facial model and the target facial model provided in this application embodiment;

[0100] Figure 7 The source and target facial models provided in this application have the same topological structure.

[0101] Figure 8 This application provides a schematic diagram illustrating the intersection of the lines connecting the facial bone points of the source facial model and the root bones of the head with the surface of the source proxy model.

[0102] Figure 9 This application provides a schematic diagram of the extracted facial model skeletal point topology data in an embodiment.

[0103] Figure 10 This application provides a schematic diagram of the parameter space when constructing the mapping function.

[0104] Figure 11 : A structural block diagram of an example of the facial animation redirection device provided in this application embodiment;

[0105] Figure 12 : A structural block diagram of an example of an electronic device provided in the embodiments of this application. Detailed Implementation

[0106] Many specific details are set forth in the following description to provide a full understanding of this application. However, this application can be implemented in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this application; therefore, this application is not limited to the specific embodiments disclosed below.

[0107] It should be noted that the terms "first," "second," "third," etc., in the claims, specification, and drawings of this application are used to distinguish similar objects and are not used to describe a specific order or sequence. Such data are interchangeable where appropriate so that the embodiments of this application described herein can be implemented in a sequence other than that shown or described herein. Furthermore, the terms "comprising," "having," and their variations are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products, or apparatuses.

[0108] Before introducing the embodiments of this application, some technical terms involved in this application will be explained.

[0109] In 3D animation, a model is a collection of triangular faces, formally called a mesh. The mesh stores information such as the position of each vertex, the index of each triangle, the rigging pose, and the bone weights.

[0110] Skinning is the process of linking mesh vertices to bones. Each vertex in the mesh can be bound to one or more bones. If a vertex is bound to only one bone, it will move completely with that bone. If a vertex is bound to multiple bones, its position is equal to the weighted average of the positions of each vertex after being bound to each of the individual bones. To skin a mesh to bones, each vertex must be provided with the index of the bone it is bound to, the weight factor for each bound bone, and other information. Furthermore, the sum of the weight factors for each vertex must be 1.

[0111] Skeletal animation is a type of model animation. In skeletal animation, interconnected "bones" form a skeletal structure and are bound to the model through skinning. Animation is generated for the model by changing the orientation and position of the bones.

[0112] Topology is the study of properties of geometric figures or spaces that remain unchanged after continuous changes in shape. Topological properties are those properties that remain unchanged under homeomorphic mappings. A homeomorphism is a bicontinuous mapping between two topological spaces. A continuous mapping essentially preserves the proximity property of points; for example, if two points in one graph are adjacent to each other, they must also be adjacent to each other in the mapped graph.

[0113] Topological data is a collection of data with a topological structure. It is understood from the abstract concept of the relationships between the graphic elements (points, lines, and surfaces), without considering the coordinate positions of nodes and line segments, but only focusing on their adjacency relationships. For example, trapezoids, squares, parallelograms and circles are different geometric structures, but from the perspective of topological structure, they have the same topological structure because the adjacency relationships between their vertices are the same.

[0114] In games equipped with character customization systems, players can change their character's facial features according to their preferences to obtain a character that matches their aesthetic sense; they can also generate personalized character models based on their own face shape, enhancing the player's sense of immersion in the game and making it easier for them to become engrossed in it.

[0115] Generating rich facial expressions for game characters allows users to more intimately experience the character's emotions. However, because characters with different facial features exhibit significant differences in muscle movement even when expressing the same feelings, each personalized character's expressions require customization. Manually creating facial expressions for each player's unique character is labor-intensive and time-consuming. Therefore, utilizing facial animation redirection technology to share expressions across any face shape can reduce manual workload and improve animation production efficiency.

[0116] In related technologies, the retargeting of facial animation is mostly based on Blend Shapes (BS). First, key points are determined on the original face and the target face. The base expression is generated for the target face by matching the key point positions. During retargeting, the fusion parameters of the original face are passed to the target face. The base expression of the target face is fused with the fusion parameters of the original face to obtain the retargeting result.

[0117] Because the target face and the original face have different face shapes, facial feature sizes, and facial feature positions, directly using the fusion deformation parameters of the original face will result in problems such as interleaving or insufficient deformation, leading to inaccurate retargeting results.

[0118] Furthermore, animation retargeting methods based on fusion deformation require generating base expressions for the target facial model. To create high-quality facial animations, hundreds of base expressions typically need to be generated, resulting in a very high computational load. Additionally, a single facial expression often requires fusing multiple base expressions, making fine-tuning of the expression quite difficult.

[0119] To address the aforementioned issues, the first embodiment of this application provides a facial animation retargeting method. This method is less prone to retargeting errors such as overlapping or insufficient deformation of different parts of the retargeted facial expression, thus improving retargeting accuracy. In addition, it can significantly reduce the computational load during the retargeting process, resulting in faster and more efficient retargeting.

[0120] The following combination Figure 1 and Figure 2 This application describes the facial animation redirection method provided. Figure 1 This is a flowchart of the facial animation redirection method provided in the first embodiment of this application. Figure 2 This is a schematic diagram of the system framework for facial animation redirection provided in the first embodiment of this application.

[0121] like Figure 1 As shown, the facial animation redirection method includes the following steps S110~S140.

[0122] Step S110: Obtain the source animation data of each facial bone point of the source facial model.

[0123] The source animation data is the transformation data corresponding to each facial bone point.

[0124] The bone point transformation data includes bone displacement information, rotation information, scaling information, and hierarchy information. Among them, the displacement and scaling information are three-dimensional coordinates, the rotation information is a quaternion, and the hierarchy information is used to record the parent bone of the current bone.

[0125] For example, Table 1 shows some skeletal animation data. Taking bone number 2 (bone 2) as an example, the displacement information (-7.0, 8.0, -1.0) of bone 2 indicates that the three-dimensional coordinates of bone 2 are (-7.0, 8.0, -1.0), which means that bone 2 moves -7.0 in the X-axis direction, 8.0 in the Y-axis direction, and -1.0 in the Z-axis direction; the rotation information (0.0, 0.0, 0.0, 1.0) uses quaternions to represent the three-dimensional rotation of bone 2, indicating that bone 2 is not currently rotating; the hierarchy information records that the current parent bone of bone 2 is bone number 1.

[0126]

[0127]

[0128] It is understandable that when creating a facial model, corresponding skeletal animation data is usually added to the created facial model and saved. In this embodiment, the source animation data of each facial bone point of the source facial model can be obtained from the saved data.

[0129] Optionally, the animation data of the source facial model can be acquired in real time during animation playback, or it can be acquired offline.

[0130] like Figure 2 As shown, step S110 corresponds to Figure 2 In step S305, the facial animation data of the current frame is obtained from the source data in S301.

[0131] Step S120: Determine the topological structure data between each facial bone point of the source facial model based on the source animation data.

[0132] The topological data is used to characterize the positional relationships between facial bone points, and the topological data remains unchanged when the shape of the source facial model changes.

[0133] Step S120 is used to extract the topological structure data between skeletal points in the source facial model. In step S110, animation data for each skeletal point can be obtained. Based on this animation data, the topological structure data between bones in different frames can be obtained. This process corresponds to... Figure 2 In steps S306 and S307, the source animation data is input and the topological structure data of each facial bone point is output.

[0134] This topological data can be used to characterize the positional relationship between each skeletal point. That is, when the facial features such as the face shape of the source facial model change, the topological data of the source facial model remains unchanged.

[0135] The aforementioned facial bone points may include at least one of the following:

[0136] The bones that allow the upper and lower lips to open and close, namely the upper lip bone and the lower lip bone;

[0137] The bones that propel the movement of the outer corners of the mouth, namely the bones at the corners of the lips;

[0138] The bones that allow the eyes to open and close, namely the upper and lower eyelid bones;

[0139] The bone that controls the opening and closing of the jaw, namely the mandible;

[0140] The bone that controls eyebrow deformation, namely the brow bone;

[0141] The bones that control the deformation of the nose, namely the nasal bones.

[0142] For example, as shown in Table 1, by obtaining the animation data of bone number 1 and bone number 2, the positional relationship between bone 1 and bone 2 in frame 1 can be calculated. When bone 1 and bone 2 move from frame 1 to frame 2, a new positional relationship will be generated between bone 1 and bone 2 in frame 2. And so on, the positional relationship between each bone point in each frame can be obtained.

[0143] The positional relationships between the various skeletal points will be further decoupled from the facial features through step S307 to obtain skeletal topology data.

[0144] By extracting the skeletal topology data, the appearance features of the source facial model are filtered out, and only the topology data between each bone point is retained. This allows for the decoupling of the appearance features of the source facial model from the skeletal animation data, ensuring that the skeletal animation data remains unchanged when the appearance features of the source facial model are changed.

[0145] Facial features may include at least one of the following: face shape, facial features, and the positional distribution of different facial features.

[0146] In step S120, the topological structure data of each facial bone point in the source facial model can be determined by standardizing the bone motion vectors based on facial blocks. Specifically, the topological structure data can be calculated in the following way:

[0147] The source facial model is divided into blocks according to facial features. For example, all mesh vertices around the left eye, right eye, and mouth are each formed into an independent block. In each block, the motion vector of each bone point falling within the block is standardized by dividing the size and orientation of the source block.

[0148] The motion vector of the skeletal point refers to the vector obtained by subtracting the skeletal position of the starting frame from the skeletal position in any animation frame.

[0149] Other methods may also be used to determine the topology data, and this application does not specifically limit them.

[0150] Step S130: Based on the topological structure data and the facial features of the target facial model for expression retargeting, determine the target animation data for each facial bone point of the target facial model.

[0151] Since the topological structure data between the skeletal points of the source facial model extracted in step S120 is topological structure data for matching the appearance features of the source facial model, and the appearance features of the target facial model are inconsistent with those of the source facial model, specifically, there may be at least one inconsistency such as inconsistent face shape, inconsistent facial feature shape, inconsistent facial feature distribution position, etc., a certain processing is required to adapt the topological structure data to the target facial model, thereby obtaining the topological structure data between each skeletal point of the target facial model. This adaptation process corresponds to... Figure 2 In steps S307 and S308, the topological structure data is input and the target animation data of the target facial model is output.

[0152] In step S130, the standardized skeletal motion vectors determined in step S120 and the features of the target facial model can be used to determine the target animation data for each facial bone point of the target facial model. Specifically, the target animation data can be calculated in the following way:

[0153] The target facial model is divided into blocks according to facial features. For example, all the mesh vertices around the left eye, right eye, and mouth are each formed into an independent block. In each block, the motion vector of each bone point falling within the block is equal to the topological data of the corresponding bone point in the corresponding block of the source facial model multiplied by the size and orientation of the target block. This restores the facial features of the target facial model to the topological data, obtains the motion vector of the target bone point, and thus determines the target animation data.

[0154] Other methods may also be used to determine the target animation data; this application does not specifically limit this.

[0155] In this way, this application enables different facial models to share the same set of facial bone animation data, achieving the effect of expression reuse.

[0156] In this embodiment, the user can manually match the skeletal points with the target facial model, or the electronic device can automatically match the skeletal points with the target facial model; this application does not impose any limitations on this.

[0157] Step S140: Determine the position information of each skin vertex of the target facial model based on the target animation data.

[0158] After obtaining the target animation data of the target model in step S130 above, skinning transformation is performed to obtain the position information of each vertex of the target facial model, thereby generating facial animation, such as... Figure 2 As shown, in step S309, the position information of each skin vertex of the target facial model is calculated based on the target animation data, and the redirection animation in step S303 is output.

[0159] like Figure 3As shown, from left to right, the images depict the facial model, the skinned mesh of the facial model, and the retargeted eye area. This embodiment provides a comparison of the retargeting results of this application and existing technologies based on fusion deformation when the source and target facial models are homeomorphic. Figure 3 3-a in the model is the source face model with facial expressions. Figure 3 3-b in the diagram is the effect of the redirection in this application. Figure 3 The 3-c diagram is an effect of existing technology retargeting based on fusion deformation.

[0160] It can be seen that when the target face is shorter than the source face, such as Figure 3 As shown in 3-c, based on existing technology for redirection, the eyelid mesh is severely interlaced and the mouth is opened too wide.

[0161] like Figure 4 As shown in the figure, this embodiment provides a comparison of the expression retargeting effect when the source facial model and the target facial model are not homeomorphic. Figure 3 middle Figure 3 -a redirects the expression of the source facial model to... Figure 4 In the target facial model, Figure 4 4-a in the diagram is the effect of the redirection in this application. Figure 4 Figure 4-b shows the existing facial expression reshaping techniques, specifically the effect of Deformation Transfer for Triangle Meshes (DTTM) reshaping. It is evident that DTTM reshaping results suffer from severe under-deformation; the eyelids of the target facial model only close slightly.

[0162] Therefore, compared with existing technologies, the redirection method of this application is less prone to redirection errors such as overlapping or insufficient deformation of different parts of the redirected expression, thus improving redirection accuracy. Furthermore, this application uses animation data of facial bone points for redirection, i.e., it uses a bone redirection method. Compared with the fusion deformation method, it eliminates the need to generate a base expression for the target facial model. Since the generation of a base expression is computationally very demanding, this application's facial bone redirection method can significantly reduce the computational load during the redirection process, resulting in faster and more efficient redirection.

[0163] As one implementation method, such as Figure 5 As shown, before step S120, a source proxy model with a reduced number of faces can be created for the source face model, specifically including the following steps S150~S160.

[0164] Step S150: Create a source proxy model with reduced face count for the source face model.

[0165] The source proxy model has the same facial features as the source facial model.

[0166] The excessive number of faces in the source facial model leads to a large computational load and long processing time for facial animation retargeting based on it. Creating a source proxy model with fewer faces can reduce the computational load and save time during the retargeting process.

[0167] Creating a source proxy model with a reduced number of faces can be achieved by extracting key points from the source face model and then reconstructing the surface from the extracted key points. For example... Figure 2 As shown, step S304 is to generate the source proxy model. Based on the acquired animation data, surface reconstruction is performed to obtain the source proxy model in step S301.

[0168] The source facial model and its corresponding source proxy model diagram are shown below. Figure 6 As shown in 6-a, the left side is the source face model, and the right side is the source proxy model diagram corresponding to the source face model.

[0169] As one implementation method, creating a source proxy model with a reduced number of faces for the source face model can be achieved through steps S151 to S153.

[0170] Step S151: Obtain each target facial bone point with skinning weights from the source facial model.

[0171] Weight refers to the degree of importance of a factor or indicator relative to a certain thing. It emphasizes the relative importance of the factor or indicator and tends to focus on its contribution or importance.

[0172] Skinning weights refer to the degree of influence that skinned bones have on the vertices of the model's surface mesh. A single bone can control many vertices, and a vertex can be controlled by multiple bones. In this case, it's necessary to assign control weights to these bones for that vertex; this control weight is called the skinning weight. If a vertex is bound to only one bone, the vertex will move completely with that bone. In this case, the weight assigned to that bone is 1, meaning the bone has 100% control over the vertex. If a vertex is bound to multiple bones, each bone has a different degree of influence on the vertex, meaning different weights are assigned to each bone. A weight of 0.5 means the bone has 50% control over the vertex.

[0173] Since the surface of a 3D model is a mesh composed of triangular faces, key areas such as the eyes and corners of the mouth have denser vertices, and these areas are often controlled by skeletons to produce facial expressions. Smooth areas such as the forehead and cheeks have sparser vertices, so these areas often have no skeleton or a sparse skeleton distribution. Therefore, in this implementation, the extraction of key points is divided into two parts.

[0174] Step S151 involves acquiring the facial bone positions with skinning weights, specifically the bone positions of facial features such as the eyes and corners of the mouth, to obtain a set of facial bone positions. Specifically, it can be obtained manually using existing 3D modeling software, such as 3ds Max.

[0175] Step S152: When the source facial model has a sparse bone region, select multiple skinning vertices from the sparse bone region.

[0176] The sparse bone region is the facial region where the facial bone distribution density is less than a preset threshold.

[0177] Step S152 is used to sample vertices in sparse areas of the facial model. The sparse areas can be defined by a user-preset threshold. When the bone distribution density is less than the preset threshold, the area is considered a sparse area. Sparse areas can include facial regions such as the forehead and chin.

[0178] In one implementation, the sparse skeletal region is divided into multiple sub-regions, each of which is a continuous region; multiple discrete vertices are selected from each of the sub-regions.

[0179] Optionally, a probability density d can be predefined by the user. Based on the probability density d, vertices in sparse regions of the skeleton can be randomly and uniformly sampled to make the vertex distribution of the generated proxy model more uniform.

[0180] Specifically, the number of vertices that need to be sampled in each sub-region can be calculated, and then sampling can be performed to obtain the sampling points of the source face model. gather The following formula can be used to calculate the number of sampling points required for each sub-region:

[0181]

[0182] cluster k : Refers to a specific sub-region among all sub-regions;

[0183] count(): is used to calculate the total number of vertices in the current subregion.

[0184] Step S153: Create a source proxy model for the source face model based on each of the target facial bone points and the plurality of skin vertices.

[0185] Step S153 is used to perform surface reconstruction on the facial bone points and multiple skin vertices obtained in steps S151~S152 to obtain the source proxy model of the source facial model.

[0186] The facial bone points and multiple sampled vertices can be referred to as keypoints. Currently, there are many methods for surface reconstruction based on keypoints, such as a mesh surface reconstruction method based on edge growth of unorganized point clouds. The principle of this method is to first construct an octree structure from the unorganized point cloud data and determine the k nearest neighbors of each point. Then, the method searches for flat regions in the point cloud as initial mesh edge growth regions, avoiding unevenness in the reconstructed mesh surface caused by the growth of initial sharp regions. Finally, the mesh edge growth is controlled according to forced constraints and comprehensive optimization criteria to obtain the optimal mesh surface.

[0187] Specifically, the source proxy model is created based on a mesh surface reconstruction method using unorganized point cloud edge growth. Key points are structurally divided, and the nearest neighbor region for each point is determined. Then, flat regions within the key points are selected as initial mesh edge growth regions to ensure the constructed triangular faces are as flat as possible. Next, mesh edge growth is controlled according to forced constraints and comprehensive optimization criteria, ensuring that the shape of each reconstructed triangular face approximates an equilateral triangle as closely as possible, resulting in the optimal mesh surface. Of course, there are many ways to reconstruct surfaces based on key points, as long as it can achieve low-face-count model reconstruction; this application does not impose any limitations.

[0188] Step S160: Determine the source proxy animation data for each facial bone point of the source proxy model based on the source animation data.

[0189] Each facial bone point in the source proxy model can be understood as the projection point of each facial bone point in the source facial model onto the surface of the source proxy model.

[0190] As one implementation method, step S160 can also be implemented according to steps S161 and S162.

[0191] Step S161: Project the facial bone points of the source facial model onto the source proxy model according to the first projection method to obtain the first projection point, and determine the first projection point as the facial bone point of the source proxy model.

[0192] like Figure 9 As shown, the location of the source facial bones Through the first projection method Project the facial bone positions of the source proxy model. In other words, the first projection method can sample the skeletal points of the source facial model to obtain the facial skeletal points of the source proxy model. Then, the relevant features of these skeletal points can be calculated, and these features can also be used to describe the source proxy model.

[0193] Specifically, the first projection method can be a projection function, which can take many forms and can be selected according to the specific circumstances. This application does not impose any limitations on the projection function.

[0194] like Figure 8 As shown, this embodiment provides a projection function, which uses ray intersection to determine the facial bone position of the source proxy model. Specifically, the intersection of the target line and the skinned mesh of the source proxy model is determined as the first projection point of the facial bone point of the source face model onto the source proxy model. Here, the target line is the line connecting the facial bone point of the source face model and the target point, the target point is the root bone point of the source face model, and the root bone point of the source proxy model corresponds to the root bone point of the source face model.

[0195] The target line can be a straight line connecting a facial bone point and a root bone point, or a ray emitted from the root bone to the facial bone point.

[0196] Step S162: Determine the source animation data as the source proxy animation data of each facial bone point of the source proxy model.

[0197] After determining each skeletal point of the source proxy model, the source animation data of each skeletal point is converted into source proxy animation data.

[0198] For example, the source facial model in Table 1 has 70 bone points. Traversing these 70 bone points, through... Figure 2 In step S306, all bone points are projected onto the surface of the source proxy model, and the set of transformation data of the projected points is its animation data. For example... Figure 8 As shown, the model on the left is the source proxy model, and the model on the right is the target proxy model. The small ball represents one of the source bone points. By connecting it with the root bone of the head and finding the intersection of the source proxy model, its projection point can be obtained. The position, rotation, and scaling data of the projection point are its animation data.

[0199] The rotation and scaling data of the projection point are consistent with the scaling and rotation data of its corresponding source bone point.

[0200] In step S120, the topological structure data between each facial bone point of the source facial model can be determined according to the following step S121.

[0201] Step S121: Determine the topological structure data between each facial bone point of the source proxy model based on the source proxy animation data, and determine the topological structure data between each facial bone point of the source proxy model as the topological structure data between each bone point of the source facial model.

[0202] Each facial bone point in the source proxy model can be understood as the projection point of each facial bone point in the source facial model onto the surface of the source proxy model.

[0203] The topological structure data between each facial bone point of the source proxy model, that is, the topological structure data between each bone point of the source facial model.

[0204] After creating a source proxy model with reduced face count, the topological structure data of the facial projection points of the source proxy model can be calculated based on the animation data of each facial bone point of the source proxy model. Redirection can then be performed based on the topological structure data of the bone points of the source proxy model, saving computational resources.

[0205] In one implementation, such as Figure 5 As shown, before step S130, the above method may further include the following step S170.

[0206] Step S170: Create a target proxy model with reduced face count for the target facial model for expression retargeting.

[0207] The target proxy model has the same facial features as the target face model, and the target proxy model has the same topological structure as the source proxy model.

[0208] Correspondingly, a source proxy model with reduced facets can be created for the source face model, and a target proxy model with reduced facets can also be created for the target face model. The original redirection problem from the source face model to the target face model is transformed into the redirection of projection points between proxy models, such as... Figure 2 As shown, based on the source proxy model in step S301, the target proxy model is generated in step S302 according to the skinning information, and then output in step S303.

[0209] In step S170, there are two cases for creating a target proxy model with reduced face count for the target facial model of expression redirection: when the topology of the target facial model of expression redirection is the same as that of the source facial model, and when the topology of the target facial model of expression redirection is different from that of the source facial model. The two cases are explained below.

[0210] In the first case: when the topological structure of the target facial model for expression redirection is the same as that of the source facial model, the skinned vertices of the source proxy model are moved by a first displacement to obtain a target proxy model with a reduced number of faces.

[0211] The first displacement is the displacement from the skin vertex of the source face model to the corresponding skin vertex of the target face model.

[0212] This application refers to a source facial model and a target facial model having different appearance features but the same topological structure, such as... Figure 7As shown, the left side is the source face model, and the right side is the target face model. They have the same topology but different face shapes, such as different lengths and widths. In other words, the mesh deformations of the source and target face models are different, but the number of vertices and their numbers are the same.

[0213] Therefore, by shifting the target vertex of the source proxy model through the correspondence between vertices, the target proxy model can be obtained.

[0214] As one implementation method, when the target facial model for expression redirection has the same topological structure as the source facial model, skinning weights can be generated vertex-by-vertex for the source proxy model based on the skinning information of each vertex of the source facial model. In this way, during face shaping, the source proxy mesh deforms synchronously with the deformation of the source facial model, thus automatically generating the target proxy model when the target facial model is obtained.

[0215] Specifically, the generation of skinning weights for the source proxy model per vertex can be divided into two parts. One part is the bone points of the source face model corresponding to the skinning vertices of the source proxy model. At this time, only the bone points affect the skinning vertices, so the weight of the bone points on the skinning vertices is 1.

[0216] Another part consists of skinning vertices obtained in areas with sparse skeletons. These skinning vertices may be influenced by multiple bone points. Specifically, this can be achieved by analyzing the skinning vertices in areas with sparse skeletons. Assign skinning weights to the corresponding multiple bone points. Then calculate each bone point Distance weight The distance weight is proportional to the distance between the skin vertex and the bone point. Therefore, the weight of each skin vertex can be calculated using the following formula:

[0217]

[0218] in, For Gaussian kernel, It is the skinning weight of each bone point. It is the distance between the skin vertex and the bone point.

[0219] Furthermore, unlike models with the same topology, which can rely on the correspondence between vertices to directly transfer the displacement of vertices from the source face model to the target face model, transferring displacement between models with different topologies can cause array out-of-bounds errors or problems such as misalignment and interleaving of vertices in the redirected target model.

[0220] One specific scenario where the topology differs is that, in addition to changing the original face shape of the virtual human character, players can also directly choose a completely different face shape, such as a cat face, a rabbit face, etc., as the facial model of the virtual character. In this case, the original facial model of the virtual character and the facial model generated after face sculpting may have different topologies.

[0221] To address the aforementioned issues, this application provides a method for creating a target proxy model when the topological structure of the target facial model for expression redirection differs from that of the source facial model, as described below.

[0222] The second scenario: When the topological structure of the target facial model for expression redirection is different from that of the source facial model, the creation of the target proxy model can be achieved in the following way.

[0223] By determining the key points of the source facial model and the target facial model. The number and distribution of the key points of the source facial model and the target facial model are the same, and these key points are used to constitute the appearance features of the facial models.

[0224] Based on the positional difference between the key points of the source facial model and the corresponding key points of the target facial model, each skinned vertex on the source proxy model is moved to obtain a target proxy model with a reduced number of faces.

[0225] like Figure 6 As shown in Figure 6-b, the left image represents the source face model and the source proxy model, while the right image represents the target face model and the target proxy model. Key points are obtained from both the source and target face models; these key points constitute the facial features. By ensuring that the number and distribution of key points in the source and target face models are identical, a correspondence is established between the key points of the source and target face models, allowing for direct movement.

[0226] In existing technologies, face alignment or key point detection technology is often used in face recognition technology. Face alignment mainly involves automatically locating key facial feature points based on the input face image, such as eyes, nose tip, corner of mouth, eyebrows, and contour points of various facial parts. The results of face alignment can be used for face verification, face recognition, expression recognition, pose estimation, etc.

[0227] Currently, facial landmark detection methods can be broadly categorized into three types: 1) traditional methods based on Active Shape Model (ASM) and Active Appearance Model (AAM); 2) methods based on cascaded shape regression; and 3) methods based on deep learning. Currently, the most widely used and most accurate method is the deep learning-based method. This embodiment does not limit the face alignment method; it can be selected according to specific circumstances.

[0228] As one implementation method, this application provides a face alignment based on a deep alignment network (DAN). DAN is a key point detection method based on a cascaded approach. By introducing a key point heatmap as a supplement, DAN can extract features from the entire image, thereby obtaining more accurate key point localization.

[0229] Specifically, key points can reflect the facial features of various parts. With the development of technology and the increase in the requirements for accuracy, the number of facial key points has evolved from the initial 5 points to more than 200 points today.

[0230] The five key points are the two corners of the mouth, the center of the eyes, and the nose. These five key points are the internal key points of the face, and the posture of the face can be calculated based on them.

[0231] The 68-point annotation is currently the most common annotation scheme, which was first proposed in the Xm2vtsdb dataset in 1999. Facial keypoints can be divided into internal keypoints and contour keypoints. The internal keypoints include 51 keypoints for eyebrows, eyes, nose, and mouth, while the contour keypoints include 17 keypoints.

[0232] Specifically, this application can use DAN to collect 68 key points of the model's face.

[0233] After detecting key points in the above steps, the vertices on the source proxy face model can be moved according to the positional difference between the key points of the source face model and the corresponding key points of the target face model, so as to obtain a target proxy model with a reduced number of faces.

[0234] Specifically, the radial basis function (RBF) can be used to match the source facial proxy model to the surface of the target facial model to obtain the target proxy model.

[0235] Radial basis functions (RBFs) are real-valued functions whose values ​​depend solely on their distance from the source point. Matching using RBFs allows control of multiple vertices of the source face model by utilizing keypoints. Then, based on the positional differences between the keypoints of the source face model and their corresponding keypoints in the target face model, each vertex on the source proxy face model is moved. Simultaneously, the vertices controlled by these keypoints are also displaced, thus obtaining the target proxy mesh.

[0236] This method can also be used to create a target proxy model when the target facial model has the same topological structure as the source facial model.

[0237] By constructing a target proxy model with the same topology as the source proxy model, the amount of computation can be reduced, and the transmission of animation data can be simplified.

[0238] As one implementation method, step S130 can be implemented according to steps S131 to S132.

[0239] Step S131: Based on the topology data and the facial features of the target proxy model, determine the target proxy animation data for each facial bone point of the target proxy model.

[0240] Step S170 creates a target proxy model with reduced face count. The facial features of the target proxy model are consistent with the facial features of the target model, while the facial features of the source proxy model and the source face model are consistent. Therefore, the animation data between the source face model and the target face model can be redirected to a redirection between the source proxy model and the target proxy model. Step S131 involves matching the extracted topological structure data between the skeletal points of the source proxy model to the target proxy model, thereby determining the target proxy animation data for each skeletal point of the target proxy model.

[0241] Step S132: Determine the target animation data of each facial bone point of the target facial model based on the target proxy animation data.

[0242] The animation data of each bone point in the target proxy model is consistent with the animation data of each bone point in the target facial model.

[0243] The above step S140 can be implemented according to steps S141~S142.

[0244] Step S141: Calculate the skinning weights of each facial bone point of the target facial model to each skinning vertex of the target facial model.

[0245] Calculating the skin weights of each vertex of the target facial model is to obtain the control strength of each bone that controls the vertex. This process can be determined manually by the user or by calling commonly used weight coefficients.

[0246] Step S142: Based on the skin weights and the target animation data, determine the position information of each skin vertex of the target facial model.

[0247] Based on the aforementioned steps, the skinning weights of each bone point relative to each vertex of the skinning mesh of the target facial model are known. Combined with the target animation data, the position information of each vertex of each skinning mesh can be determined, thereby obtaining the facial animation.

[0248] Specifically, step S141 can be implemented according to steps S141-1 to S141-3.

[0249] Step S141-1: Determine the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model.

[0250] Specifically, the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model in step S141-1 can be calculated in the following way:

[0251] The skinning weight of the first bone point of the source proxy model to the first skinning vertex is determined to be 1. The first skinning vertex is the skinning vertex corresponding to the facial bone point, and the first bone point is the facial bone point corresponding to the first skinning vertex.

[0252] The skinning weights of each second bone point relative to the second skinning vertex are determined based on the weight determination principle. The second skinning vertex is the vertex other than the first skinning vertex among the skinning vertices of the source proxy model. The second bone point is any skinning vertex whose distance from the second skinning vertex is within a set distance range. The weight determination principle includes: the skinning weight is proportional to the distance between the second bone point and the second skinning vertex, and the sum of the skinning weights corresponding to the second skinning vertex is 1.

[0253] The first skinning point can be understood as a vertex where only one bone exerts control over it. At this point, the weight of this one bone over the vertex is 1.

[0254] Furthermore, multiple skeletal points influence a single vertex. Therefore, the second skinned vertex can be understood as a vertex controlled by multiple skeletal points. These multiple skeletal points jointly control the movement of the second skinned vertex, and the sum of the weights of the multiple skeletal points on the second skinned vertex is 1. That is, the second skinned vertex can be any vertex in the source proxy model other than the first skinned vertex.

[0255] The second bone point can be understood as the bone point that controls the second skin vertex. In this embodiment, it can be each skin vertex whose distance from the second skin vertex is within a set distance range.

[0256] The weight determination principle is a user-defined method for determining weights. The skin weight can be proportional to the distance between the second bone point and the second skin vertex. The closer the bone point is to the skin vertex, the more weight it is assigned, and the farther away it is, the less weight it is assigned.

[0257] Step S141-2: Determine the target proxy skinning weights of each facial bone point of the target proxy model to each skinning vertex of the target proxy model based on the source proxy skinning weights.

[0258] Weight information is stored in each skin vertex, and the target proxy skin weight can be directly obtained by using the calculated source proxy skin weight.

[0259] Step S141-3: Determine the skinning weights of each skinning vertex of the target facial model based on the target proxy skinning weights.

[0260] Through the above calculations, the skin weights of each skin vertex of the target facial model can be obtained, along with the positional information of each vertex, thus enabling the generation of facial animation.

[0261] As one implementation, when determining the intersection of the target line and the skinned mesh of the source proxy model as the first projection point of the facial bone point of the source face model onto the source proxy model, a Bounding Volume Hierarchy (BVH) can also be established for the source proxy model. Based on the BVH, the intersection of the target line and the skinned mesh of the source proxy model is determined, and the intersection point is determined as the first projection point of the facial bone point of the source face model onto the source proxy model.

[0262] The principle of hierarchical bounding boxes is to enclose complex set objects with a bounding box that is slightly larger in volume and has simple geometric features. Before a ray intersects with an object in the scene, it will first perform an intersection test with this bounding box. If the ray does not touch the bounding box, it means that the ray will definitely not intersect with the geometric objects in the bounding box; if the ray touches the bounding box, then it will calculate whether the ray intersects with the geometric objects in the bounding box.

[0263] For example, if you randomly select a point on a world map and want to find the nearest city, you would first find out which continent the point is on, then which country it is in, then which province it is in, and finally select the city closest to the point, instead of searching through all the cities in the world.

[0264] In this embodiment, adding hierarchical bounding boxes to the source proxy model involves repeatedly dividing all the triangular faces of the skinned mesh of the source proxy model along the longest axis of its 3D coordinates. For example, for the source proxy model, firstly, all its triangular faces are divided in half along the longest Y-axis, and a cuboid bounding box is added to each half; then, these two bounding boxes are then divided in half again along the longest X-axis, and four smaller cuboid bounding boxes are added. This process continues until the number of triangular faces within the cuboid bounding boxes is less than a preset threshold, at which point the process stops.

[0265] When projecting the source facial bone points, the ray is first tested for intersection with the largest bounding box, and then for intersection with the smaller bounding boxes within the larger bounding box. Bounding boxes that do not intersect with the ray contain no triangles that can intersect with the ray; therefore, all triangles within those bounding boxes can be skipped, improving computational efficiency.

[0266] Hierarchical bounding boxes are a commonly used method for accelerating rendering in the game industry, but they are not the focus of this application, so they will not be described in detail.

[0267] By adding a hierarchical bounding box, computation is accelerated. It eliminates the need to traverse the skinned mesh of the source proxy model; only the intersection of triangles within the hierarchical bounding box is required. This enables real-time character creation and expression transfer on mobile devices, providing a WYSIWYG experience that is user-friendly and facilitates efficient iteration of art assets. Furthermore, the reduced computational load allows all redirection calculations to be performed directly on the mobile device, eliminating reliance on server-side computation and thus reducing server load and increasing throughput.

[0268] In one implementation, steps S180 to S190 may be included before step S132.

[0269] Step S180: Project the facial bone points of the target proxy model onto the target facial model according to the second projection method to obtain the second projection points.

[0270] Step S190: Use the second projection point as the bone point corresponding to the facial bone point of the target facial model and the target proxy model.

[0271] like Figure 9 As shown, the second projection method and the first projection method Inverse, that is, the second projection method is ,pass The facial bone points of the target proxy model can be... Projecting onto the target facial model yields the second projection point. The second projection point is the facial bone point of the target facial model.

[0272] Alternatively, a hierarchical bounding box can be constructed for the target proxy model.

[0273] When the first projection method is a projection function, when calculating the second projection point, the projection function is inversely operated, with the facial bone points of the target proxy model as input and the facial bone points of the target facial model as output.

[0274] In one implementation, step S120 may further determine the topological data between the various skeletal points of the source facial model in the following manner, including steps S122 to S124.

[0275] Step S122: Determine the target mapping function.

[0276] The target mapping function has the ability to convert animation data of a facial model into target data, which is data used to represent the positional relationship between various skeletal points.

[0277] Step S123: Input the animation data of each bone point of the source facial model into the target mapping function to obtain the mapped animation data.

[0278] Step S124: Determine the topological structure data between each bone point of the source facial model based on the mapped animation data.

[0279] The target data is used to characterize the topological structure data between each bone point. It can be understood that the target data is a topological structure data of the animation data of the facial model.

[0280] The target mapping function is invertible. Inputting animation data of each bone point in the source facial model, it outputs target data representing the topological structure between the bone points of the facial model. Correspondingly, inputting the target data representing the topological structure of each bone point yields the animation data of each bone point in the facial model.

[0281] In one implementation, the animation data of each facial bone point of the source proxy model can be input into a target mapping function, and the mapped animation data can be output. Based on the mapped animation data, the topological structure data between each facial bone point of the source proxy model can be determined. The topological structure data between each facial bone point of the source proxy model is the same as the topological structure data between each facial bone point of the source facial model.

[0282] like Figure 9 As shown, the facial bone points of the source proxy model are... The animation data input mapping function R can obtain the topological structure data of each facial bone point of the source proxy model. During redirection, the mapping function is inversely operated on, i.e., the solution is obtained. The topological structure data of each facial bone point in the input proxy model. This allows us to obtain the facial bone points of the target proxy model. Animation data.

[0283] The mapped animation data is a discrete topology of the source proxy model, and the mapped animation data is a topological property of the source proxy model, that is, no matter how the model changes, the mapped animation data remains unchanged.

[0284] The construction of a mapping function must satisfy the following conditions:

[0285] 1) There exists an invertible mapping function R;

[0286] 2) The skeletal animation data satisfies the condition that the source facial model is a discrete topology and the skeletal animation data is a topological property of the source proxy model.

[0287] Specifically, this application provides a mapping function R, which can be defined as follows:

[0288]

[0289] in, It is the animation data of each skeletal point of the input source proxy model. The corresponding target data, for homogeneous coordinates;

[0290] This function calculates the centroid coordinates of each skeletal point in the source surrogate model within its nearest tetrahedron. By finding the centroid coordinates corresponding to each skeletal point, i.e., the weight relationship between the four vertices of the tetrahedron and the skeletal points, the topological structure data between the skeletal points of the source proxy model can be characterized. For example... Figure 10 As shown in 10-a, the centroid coordinates are actually located in the four-dimensional parameter space defined by the tetrahedral set formed by the triangular facets of the source facial model and the lines connecting the root bones of the head. Inside, , , , These are the three-dimensional coordinates of the four vertices of the tetrahedron. These are the components of the centroid coordinates, which are the skeletal points. Relative to each vertex of the tetrahedron The weights are calculated as follows: In the above formula, each parameter is calculated as follows:

[0291] ,and

[0292] ,

[0293] ,

[0294] ,

[0295] ,

[0296] ,

[0297] ,

[0298] ,

[0299] ,

[0300] ,

[0301] ,

[0302] - ,

[0303] ,

[0304] ,

[0305] ,

[0306] .

[0307] Specifically, this application also provides a method for constructing a target mapping function, which constructs a three-dimensional parameter space. The topological structure data between bone points is represented by the UV coordinates and depth position of each bone point.

[0308] The 3D parameter space is a 3D parameter space consisting of the model's UV space and an additional T-axis; the T-axis originates from the root bones of the head. Pointing to the bone point The radial coordinate axis, such as Figure 10 As shown in Figure 10-b.

[0309] At this point, the mapping function is used to calculate the UV coordinates of each bone point in the source proxy model in the three-dimensional parameter space. And the depth of each bone point.

[0310] It can be calculated using centroid interpolation, while the depth position is the skeletal point. and the root bones of the head Length of the connection Then the final target animation data for each skeletal point of the source proxy model can be:

[0311]

[0312] Extracting skeletal animation data from the source facial model involves extracting topological structure data that only represents the positions of skeletal points, thus decoupling the facial shape from the skeletal animation data.

[0313] As one implementation method, when animation retargeting is required after face shaping, the target data is obtained, and the target data is inversely mapped using a mapping function to obtain the skeletal animation data of the target facial model. This data is then applied to the target facial model to achieve the purpose of facial animation retargeting.

[0314] Since the source and target proxy models are homeomorphic, the triangular index is a topological property of both models, that is, the triangular index of the triangular faces on the surfaces of both models. Similarly, using triangular indexes This allows you to find the triangular facets on the target proxy model surface that correspond to the triangular facets on the surface of the source facial proxy model. For example, if the triangular facet index of the corner of the mouth on the source facial model is 1, then the triangular facet index of the corner of the mouth on the target facial model is also 1.

[0315] According to the index The triangular facets corresponding to the target proxy model were obtained. , The three vertices are respectively .

[0316] Based on the mapping function for obtaining the target data described above, the inverse operation of the mapping function needs to be performed during redirection, i.e., solving... .

[0317] Optionally, The function uses When constructing a four-dimensional parametric space, the formula for calculating the bone position of the target facial model is as follows:

[0318]

[0319] Based on the method described above, the skeletal positions of the target facial model are calculated. This refers to the process of obtaining the animation data of the target facial model based on the animation data of the target proxy model, which is the second projection method. The redirected facial bone position is obtained, and the vertex position of the skinned mesh of the target facial model is calculated and updated based on the facial bone position to obtain the redirected facial animation output.

[0320] Optionally, function based on When constructing the three-dimensional parameter space,

[0321] The UV coordinates of each vertex are known, and the bone position is known. Corresponding UV coordinates Given the information, the centroid coordinates of the skeletal points on the triangular face can be determined. Then the skeletal position on the surface of the target proxy model Then by adjusting By determining the depth position, the bone position in the world space of the target facial model can be obtained. The calculation formula is as follows:

[0322]

[0323] Corresponding to the facial animation redirection method provided in the first embodiment of this application, the second embodiment of this application also provides an apparatus for facial animation redirection, such as... Figure 11 As shown, the device includes:

[0324] Acquisition unit 210 is used to acquire source animation data of each facial bone point of the source facial model;

[0325] The determining unit 220 is configured to determine the topological structure data between facial bone points of the source facial model based on the source animation data, wherein the topological structure data remains unchanged when the appearance features of the source facial model change, and the topological structure data is used to characterize the positional relationship between the facial bone points; based on the topological structure data and the facial appearance features of the target facial model for expression retargeting, determine the target animation data for each facial bone point of the target facial model; and determine the positional information of each skinning vertex of the target facial model based on the target animation data.

[0326] Optionally, the device further includes:

[0327] Creation unit 230 is used to create a source proxy model with reduced face count for the source face model, the source proxy model being consistent with the facial appearance features of the source face model;

[0328] Optionally, the determining unit 220 is further configured to determine the source proxy animation data of each facial bone point of the source proxy model based on the source animation data;

[0329] Optionally, the determining unit 220 is specifically used to determine the topological structure data between each facial bone point of the source proxy model based on the source proxy animation data, and to determine the topological structure data between each facial bone point of the source proxy model as the topological structure data between each bone point of the source facial model.

[0330] Optionally, the creation unit 230 is further configured to create a target proxy model with reduced face count for the target facial model of expression retargeting, wherein the target proxy model has the same facial appearance features as the target facial model and the same topological structure as the source proxy model;

[0331] Optionally, the determining unit 220 is specifically used to determine the target proxy animation data of each facial bone point of the target proxy model based on the topology data and the facial appearance features of the target proxy model;

[0332] Optionally, the determining unit 220 is further configured to determine the target animation data of each facial bone point of the target facial model based on the target proxy animation data.

[0333] Optionally, the acquisition unit is specifically used to acquire each target facial bone point with skinning weights of the source facial model;

[0334] When the source facial model has a sparse bone region, multiple skinning vertices are selected from the sparse bone region. The sparse bone region is a facial region where the facial bone distribution density is less than a preset threshold.

[0335] Optionally, the creation unit 230 is specifically used to create a source proxy model for the source face model based on each of the target facial bone points and the plurality of skin vertices.

[0336] Optionally, the determining unit 220 is further configured to calculate the skin weights of each facial bone point of the target facial model to each skin vertex of the target facial model; and determine the position information of each skin vertex of the target facial model based on the skin weights and the target animation data.

[0337] Optionally, the determining unit 220 is specifically configured to: determine the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model; determine the target proxy skinning weights of each facial bone point of the target proxy model to each skinning vertex of the target proxy model based on the source proxy skinning weights; and determine the skinning weights of each skinning vertex of the target facial model based on the target proxy skinning weights.

[0338] Optionally, the determining unit 220 is further configured to determine that the skinning weight of the first bone point of the source proxy model to the first skinning vertex is 1, wherein the first skinning vertex is the skinning vertex corresponding to the facial bone point, and the first bone point is the facial bone point corresponding to the first skinning vertex.

[0339] The skinning weights of each second bone point to the second skinning vertex are determined based on the weight determination principle. The second skinning vertex is the vertex other than the first skinning vertex among the skinning vertices of the source proxy model. The second bone point is each skinning vertex whose distance from the second skinning vertex is within a set distance range. The weight determination principle includes: the skinning weight is proportional to the distance between the second bone point and the second skinning vertex, and the sum of the skinning weights corresponding to the second skinning vertex is 1.

[0340] Optionally, the creation unit 230 is specifically used to, when the topological structure of the target facial model for expression redirection is the same as that of the source facial model, move the skinned vertices of the source proxy model by a first displacement to obtain a target proxy model with a reduced number of faces, wherein the first displacement is the displacement of the skinned vertices of the source facial model to the corresponding skinned vertices of the target facial model.

[0341] Optionally, the determining unit 220 is further configured to: when the topological structure of the target facial model for expression redirection is different from that of the source facial model, determine the key points of the source facial model and the key points of the target facial model, wherein the number and distribution of the key points of the source facial model and the key points of the target facial model are the same, and the key points are used to constitute the appearance features of the facial model; and based on the positional difference between the key points of the source facial model and the corresponding key points of the target facial model, move each skinned vertex on the source proxy model to obtain a target proxy model with a reduced number of faces.

[0342] Optionally, the determining unit 220 is specifically used to project the facial bone points of the source facial model onto the source proxy model according to the first projection method to obtain the first projection point, and determine the first projection point as the facial bone point of the source proxy model;

[0343] The source animation data is determined as the source proxy animation data for each facial bone point of the source proxy model.

[0344] Optionally, the determining unit 220 is specifically used to determine the intersection of the target line and the skinned mesh of the source proxy model as the first projection point of the facial bone point of the source face model onto the source proxy model, wherein the target line is the line connecting the facial bone point of the source face model and the target point, the target point is the root bone point of the source face model, and the root bone point of the source proxy model corresponds to the root bone point of the source face model.

[0345] Optionally, the determining unit 220 is further configured to determine the intersection point of the target connection line and the skinned mesh of the source proxy model based on the hierarchical bounding box; and determine the intersection point as the first projection point of the facial bone point of the source face model onto the source proxy model.

[0346] Optionally, the determining unit 220 is further configured to project the facial bone points of the target proxy model onto the target facial model according to a second projection method to obtain second projection points, wherein the second projection method is the reverse of the first projection method; and use the second projection points as the bone points of the target facial model corresponding to the facial bone points of the target proxy model.

[0347] Optionally, the determining unit 220 is further configured to determine a target mapping function, the target mapping function having the performance of converting animation data of a facial model into target data, the target data being: data used to represent the positional relationship between each bone point;

[0348] Optionally, the device further includes:

[0349] The calculation unit 240 inputs each animation data of the source facial model into the target mapping function to obtain the mapped animation data;

[0350] Optionally, the determining unit 220 is used to determine the topological structure data between the skeletal points of the source facial model based on the mapped animation data.

[0351] Corresponding to the facial animation redirection method provided in the first embodiment of this application, the third embodiment of this application also provides an electronic device for facial animation redirection, such as... Figure 12 As shown, the electronic device includes a processor 410 and a memory 420 for storing a program for the facial animation retargeting method. After the device is powered on and the program for the facial animation retargeting method is run through the processor, the following steps are performed:

[0352] Obtain the source animation data of each facial bone point of the source facial model;

[0353] The topological structure data between each facial bone point of the source facial model is determined based on the source animation data. The topological structure data remains unchanged when the appearance features of the source facial model change. The topological structure data is used to characterize the positional relationship between each facial bone point.

[0354] Based on the topological data and the facial features of the target facial model for expression redirection, the target animation data for each facial bone point of the target facial model is determined.

[0355] The position information of each skin vertex of the target facial model is determined based on the target animation data.

[0356] Corresponding to the facial animation retargeting method provided in the first embodiment of this application, the fourth embodiment of this application provides a computer-readable storage medium storing a program for the facial animation retargeting method. This program is executed by a processor to perform the following steps:

[0357] Obtain the source animation data of each facial bone point of the source facial model;

[0358] The topological structure data between each facial bone point of the source facial model is determined based on the source animation data. The topological structure data remains unchanged when the appearance features of the source facial model change. The topological structure data is used to characterize the positional relationship between each facial bone point.

[0359] Based on the topological data and the facial features of the target facial model for expression redirection, the target animation data for each facial bone point of the target facial model is determined.

[0360] The position information of each skin vertex of the target facial model is determined based on the target animation data.

[0361] It should be noted that for a detailed description of the apparatus, electronic device and computer-readable storage medium provided in the second, third and fourth embodiments of this application, please refer to the relevant description of the first embodiment of this application, which will not be repeated here.

[0362] Although this application discloses preferred embodiments as described above, it is not intended to limit this application. Any person skilled in the art can make possible changes and modifications without departing from the spirit and scope of this application. Therefore, the scope of protection of this application should be determined by the scope defined in the claims of this application.

[0363] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0364] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0365] 1. Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include non-transitory computer-readable media, such as modulated data signals and carrier waves.

[0366] 2. Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0367] Although this application discloses preferred embodiments as described above, it is not intended to limit this application. Any person skilled in the art can make possible changes and modifications without departing from the spirit and scope of this application. Therefore, the scope of protection of this application should be determined by the scope defined in the claims of this application.

Claims

1. A method for redirecting facial expression animations, characterized in that, The method includes: Obtain the source animation data of each facial bone point of the source facial model; A source proxy model with reduced face count is created for the source face model; the source proxy model is consistent with the facial features of the source face model. The topological structure data of each facial bone point of the source facial model is determined based on the source animation data. The topological structure data remains unchanged when the appearance features of the source facial model change. The topological structure data is used to characterize the positional relationship between each facial bone point. Creating a target proxy model with reduced face count for a target facial model for expression redirection includes: when the topology of the target facial model for expression redirection is the same as that of the source facial model, moving the skinned vertices of the source proxy model by a first displacement to obtain a target proxy model with reduced face count for the target facial model, wherein the first displacement is the displacement of the skinned vertices of the source facial model to the corresponding skinned vertices of the target facial model. Based on the topological data and the facial features of the target facial model for expression redirection, the target animation data of each facial bone point of the target facial model is determined. The position information of each skin vertex of the target facial model is determined based on the target animation data.

2. The method according to claim 1, characterized in that, Before determining the topological structure data between facial bone points of the source facial model based on the source animation data, the method further includes: The source proxy animation data for each facial bone point of the source proxy model is determined based on the source animation data; The step of determining the topological structure data between facial bone points of the source facial model based on the source animation data includes: The topological structure data between each facial bone point of the source proxy model is determined based on the source proxy animation data, and the topological structure data between each facial bone point of the source proxy model is determined as the topological structure data between each bone point of the source facial model.

3. The method according to claim 2, characterized in that, Before determining the target animation data of each facial bone point of the target facial model based on the topological structure data and the facial appearance features of the target facial model for expression retargeting, the method further includes: The target proxy model has the same facial features as the target face model, and the target proxy model has the same topological structure as the source proxy model. The step of determining the target animation data for each facial bone point of the target facial model based on the topological structure data and the facial appearance features of the target facial model for expression retargeting includes: Based on the topology data and the facial features of the target proxy model, the target proxy animation data for each facial bone point of the target proxy model is determined. The target animation data for each facial bone point of the target facial model is determined based on the target proxy animation data.

4. The method according to claim 2, characterized in that, Creating a source proxy model with a reduced face count for the source facial model includes: Obtain each skinned weighted target facial bone point of the source facial model; When the source facial model has a sparse bone region, multiple skinning vertices are selected from the sparse bone region. The sparse bone region is a facial region where the facial bone distribution density is less than a preset threshold. A source proxy model is created for the source face model based on the target facial bone points and the multiple skin vertices.

5. The method according to claim 4, characterized in that, The selection of multiple skinning vertices from the sparse bone region includes: The sparse bone region is divided into multiple sub-regions, and each sub-region is a continuous region. Select multiple discrete vertices from each of the sub-regions.

6. The method according to claim 3, characterized in that, Determining the position information of each skin vertex of the target facial model based on the target animation data includes: Calculate the skinning weights of each facial bone point of the target facial model to each skinning vertex of the target facial model; Based on the skin weights and the target animation data, the position information of each skin vertex of the target facial model is determined.

7. The method according to claim 6, characterized in that, The calculation of the skinning weights of each facial bone point of the target facial model to each skinning vertex of the target facial model includes: Determine the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model; The target proxy skinning weights of each facial bone point of the target proxy model to each skinning vertex of the target proxy model are determined based on the source proxy skinning weights. The skinning weights of each skinning vertex of the target facial model are determined based on the target proxy skinning weights.

8. The method according to claim 7, characterized in that, The determination of the source proxy skinning weights of each facial bone point of the source proxy model to each skinning vertex of the source proxy model includes: The skinning weight of the first bone point to the first skinning vertex of the source proxy model is determined to be 1. The first skinning vertex is the skinning vertex corresponding to the facial bone point, and the first bone point is the facial bone point corresponding to the first skinning vertex. The skinning weights of each second bone point to the second skinning vertex are determined based on the weight determination principle. The second skinning vertex is the vertex other than the first skinning vertex among the skinning vertices of the source proxy model. The second bone point is each skinning vertex whose distance from the second skinning vertex is within a set distance range. The weight determination principle includes: the skinning weight is proportional to the distance between the second bone point and the second skinning vertex, and the sum of the skinning weights corresponding to the second skinning vertex is 1.

9. The method according to claim 3, characterized in that, The process of creating a target proxy model with a reduced face count for the target facial model used for expression retargeting includes: When the topological structure of the target facial model for expression redirection is different from that of the source facial model, the key points of the source facial model and the key points of the target facial model are determined. The number and distribution of the key points of the source facial model and the key points of the target facial model are the same. The key points are used to constitute the appearance features of the facial model. Based on the positional difference between the key points of the source facial model and the corresponding key points of the target facial model, each skinned vertex on the source proxy model is moved to obtain a target proxy model with a reduced number of faces.

10. The method according to claim 3, characterized in that, The step of determining the source proxy animation data for each facial bone point of the source proxy model based on the source animation data includes: The facial bone points of the source facial model are projected onto the source proxy model according to the first projection method to obtain the first projection point, and the first projection point is determined as the facial bone point of the source proxy model. The source animation data is determined as the source proxy animation data for each facial bone point of the source proxy model.

11. The method according to claim 10, characterized in that, The step of projecting the facial bone points of the source facial model onto the source proxy model according to a first projection method to obtain the first projection points includes: The intersection of the target line and the skinned mesh of the source proxy model is determined as the first projection point of the facial bone point of the source face model onto the source proxy model. The target line is the line connecting the facial bone point of the source face model and the target point. The target point is the root bone point of the source face model. The root bone point of the source proxy model corresponds to the root bone point of the source face model.

12. The method according to claim 11, characterized in that, The step of determining the intersection of the target line and the skinned mesh of the source proxy model as the first projection point of the facial bone points of the source facial model onto the source proxy model includes: The intersection points of the target connection lines and the skinned mesh of the source proxy model are determined based on the hierarchical bounding box. The intersection point is determined as the first projection point of the facial bone points of the source facial model onto the source proxy model.

13. The method according to claim 3, characterized in that, Before determining the target animation data of each facial bone point of the target facial model based on the target proxy animation data, the method further includes: The facial bone points of the target proxy model are projected onto the target facial model according to the second projection method to obtain the second projection points, wherein the second projection method is the reverse of the first projection method; The second projection point is used as the bone point of the target facial model corresponding to the facial bone point of the target proxy model.

14. The method according to claim 1, characterized in that, The step of determining the topological structure data between the skeletal points of the source facial model based on the source animation data includes: A target mapping function is determined, which has the performance to convert the animation data of the facial model into target data, wherein the target data is: data used to represent the positional relationship between each bone point; The animation data of the source facial model are input into the target mapping function to obtain the mapped animation data; The topological structure data between the skeletal points of the source facial model is determined based on the mapped animation data.

15. The method according to claim 3, characterized in that, The facial features include at least one of the following: face shape, facial features, and the positional distribution of different facial features.

16. An expression animation redirection device, characterized in that, The device includes: The acquisition unit is used to acquire the source animation data of each facial bone point of the source facial model; A creation unit is used to create a source proxy model with a reduced number of faces for the source face model, wherein the source proxy model is consistent with the facial appearance features of the source face model; The determining unit is used to determine the topological structure data between each facial bone point of the source facial model based on the source animation data. The topological structure data remains unchanged when the appearance features of the source facial model change, and the topological structure data is used to characterize the positional relationship between each facial bone point. The creation unit is also used to create a target proxy model with reduced face count for the target facial model of expression redirection, including: when the topology of the target facial model of expression redirection is the same as that of the source facial model, the skin vertex of the source proxy model is moved by a first displacement to obtain the target proxy model with reduced face count of the target facial model, wherein the first displacement is: the displacement of the skin vertex of the source facial model to the corresponding skin vertex of the target facial model. The determining unit is further configured to determine the target animation data of each facial bone point of the target facial model based on the topological structure data and the facial appearance features of the target facial model for expression redirection; and to determine the position information of each skinning vertex of the target facial model based on the target animation data.

17. An electronic device, characterized in that, include: processor; as well as A memory for storing a data processing program, which, when the electronic device is powered on and runs by the processor, performs the method as described in any one of claims 1-16.

18. A computer-readable storage medium, characterized in that, The system contains a data processing program that is executed by a processor to perform the method as described in any one of claims 1-15.