Action redirection method and device and computing device cluster

By segmenting the target character and building geometric model, the problem of model penetration in digital human action redirection is solved, and the authenticity and real-timeness of action simulation are improved.

CN119832140APending Publication Date: 2025-04-15HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311324181.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-12
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

In the metaverse, due to differences in shape, limbs and clothing, digital people have problems with mold penetration during redirection of movements, affecting the authenticity and real-time nature of action simulation.

Method used

By segmenting the target role, establishing a local coordinate system and building a geometric model, collision detection and adjustments are performed to ensure the accurate migration of the action sequence.

Benefits of technology

It improves the quality and efficiency of action redirection, solves the problem of mold penetration, and ensures the authenticity and real-timeness of action simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119832140A_ABST
    Figure CN119832140A_ABST
Patent Text Reader

Abstract

The action redirection method comprises the following steps: segmenting a target role based on semantics of different parts on the target role to obtain a plurality of first body segments related to the target role; based on a first coordinate system marked on each first body segment, modeling is carried out on each first body segment to obtain a plurality of first geometric models, and one first geometric model is used for representing the shape of one body segment; performing collision detection on the plurality of first geometric models; and when there is a collision between the first geometric models, adjusting the distance between the first geometric models with the collision, and adjusting the action sequence of the target role based on the adjusted distance. Thus, the coordinate system is constructed on the body segments on the target role, the geometric model is output through modeling, accurate geometric expression of the body segments is achieved, and the quality and efficiency of judging whether mold penetration exists between the body segments or not are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence (AI) technology, and in particular to an action redirection method, device and computing device cluster. Background Art

[0002] The metaverse can be understood as a vast virtual space that can provide a series of functions and services such as games and social interaction. Among them, the core carrier of the metaverse is the digital human. In the process of making a digital human, a set of actions are often made for one character, and the same actions are applied to a large number of different characters. However, due to the differences in body shape, limbs, and clothing between the source character and the target character, when the actions of the source character are applied to the target character, the target character often exhibits some actions that do not conform to the principles of physics, such as: the target character's arm passes through its limbs, which is called "penetration". This makes the target character's action simulation less realistic and affects the user's perception.

[0003] In the related technology, manual correction can be used to redirect the penetration action so that the redirected action conforms to the physical principle. However, this action redirection method is time-consuming and makes the real-time performance of the action simulation poor. Therefore, how to achieve action redirection while ensuring quality and timeliness is a technical problem that needs to be solved urgently. Summary of the invention

[0004] The present application provides an action redirection method, an action semantic migration method, an apparatus, a computing device cluster, a computer storage medium and a computer product, which can realize action redirection under the premise of ensuring quality and timeliness.

[0005] In a first aspect, the present application provides an action redirection method, comprising: based on the semantics of different parts of the target character, segmenting the target character to obtain multiple first body segments related to the target character; based on the first coordinate system marked on each first body segment, modeling each first body segment respectively to obtain multiple first geometric models, wherein a first geometric model is used to characterize the shape of a body segment; performing collision detection on the multiple first geometric models; in the event of a collision between the first geometric models, adjusting the distance between the colliding first geometric models, and, based on the adjusted distance, adjusting the action sequence of the target character, wherein the action sequence of the target character is obtained based on the migration of the action sequence of the source character.

[0006] In this way, by constructing a local coordinate system for each body segment of the target character and outputting a geometric model through segment modeling, the geometric expression of the body segment is achieved accurately, and it can quickly determine whether there is a penetration phenomenon between body segments, thereby improving the quality and efficiency of penetration repair. At the same time, since the geometric model can accurately express the shape of the body segment, collision detection and repair based on the geometric model can well solve the penetration problem caused by the inconsistency of body shape, height, etc. between the source character and the target character.

[0007] In a possible implementation, each first body segment is modeled based on a first coordinate system marked on each first body segment, including: determining a coordinate expression of a point on the surface of the first body segment in the first coordinate system based on the first coordinate system marked on the first body segment; and training a model to be trained based on the coordinate expression to obtain a first geometric model. In this way, a geometric model can be modeled based on the position and direction of a point on the surface of the body segment in the coordinate system.

[0008] In a possible implementation, collision detection is performed on multiple first geometric models, including: for any two first geometric models, determining the minimum distance between the first geometric model and the second geometric model, wherein the minimum distance is the distance between a first point inside the first geometric model and a second point inside the second geometric model; inputting at least a portion of the coordinate expression of the first point in the coordinate system associated with the second geometric model into the second geometric model to obtain a first distance, and inputting at least a portion of the coordinate expression of the second point in the coordinate system associated with the first geometric model into the first geometric model to obtain a second distance; and determining that there is a collision between the first geometric model and the second geometric model when the sum of the first distance and the second distance is greater than the minimum distance. Thus, by using the minimum distance between the geometric models, it is possible to detect whether there is a collision between the geometric models.

[0009] In a possible implementation, before performing collision detection on multiple first geometric models, it also includes: segmenting the source character according to the semantics of different parts of the source character to obtain multiple second body segments related to the source character; modeling the mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on the first coordinate system and the first key point marked on each first body segment, and the second coordinate system and the second key point marked on each second body segment, to obtain multiple mapping models, wherein a mapping model is used to express the mapping relationship between a first body segment and a second body segment; based on the positional relationship between the first limb and each second body segment on the source character, and multiple mapping models, determining the positional relationship between the second limb of the target character and each first body segment, wherein the first limb and the second limb are the same; based on the positional relationship between the second limb of the target character and each first body segment, determining the final position of the second limb in the world coordinate system; based on the final position, adjusting the action sequence of the target character so that the second limb is in the final position. In this way, by establishing a mapping model between the source character and the target character, the semantics of the body movements of the source character can be accurately and quickly transferred to the target character.

[0010] In a possible implementation manner, the first coordinate system and the second coordinate system are both cylindrical coordinate systems.

[0011] The first position relationship between the first limb and the second body segment includes: the first position of the first projection point of the first limb on the central axis of the first coordinate system, the first direction relationship between the direction of the first projection point to the first limb and an axis other than the central axis, the second direction relationship between the direction of the first projection point to the first limb and another axis other than the central axis, and the first distance between the first projection point and the first limb.

[0012] At this time, based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, the positional relationship between the second limb and each first body segment of the target character is determined, including: inputting the first position into the mapping model related to the first positional relationship to obtain the second position of the second projection point of the second limb on the central axis of the second coordinate system; inputting the second position, the first direction relationship and the second direction relationship into the first geometric model of the first body segment related to the first positional relationship to obtain the second distance between the second projection point and the second limb; when the first distance is less than or equal to the second distance, the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the second position, the first direction relationship, the second direction relationship and the second distance; when the first distance is greater than the second distance, the second positional relationship includes: the second position, the first direction relationship, the second direction relationship and the first distance. In this way, the second positional relationship between the second limb and the first body segment related to the first positional relationship can be calculated through the mapping model.

[0013] In a possible implementation manner, the first coordinate system and the second coordinate system are both cylindrical coordinate systems.

[0014] The first position relationship between the first limb and the second body segment includes: the first position of the first projection point of the first limb on the central axis of the first coordinate system, the first direction relationship between the direction of the first projection point to the first limb and an axis other than the central axis, the second direction relationship between the direction of the first projection point to the first limb and another axis other than the central axis, and the first distance between the first projection point and the first limb.

[0015] At this time, based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, the positional relationship between the second limb of the target character and each first body segment is determined, including: inputting the first position into the mapping model related to the first positional relationship to obtain the second position of the second projection point of the second limb on the central axis of the second coordinate system; inputting the second position, the first direction relationship and the second direction relationship into the first geometric model of the first body segment related to the first positional relationship to obtain the second distance between the second projection point and the second limb; inputting the first position, the first direction relationship and the second direction relationship into the second geometric model of the second body segment related to the first positional relationship to obtain the third distance between the first projection point and the first limb of the first limb, wherein the second geometric model is modeled based on the coordinate system marked on the second body segment related to the first positional relationship; obtaining the fourth distance based on the first distance, the second distance and the third distance; wherein the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the second position, the first direction relationship, the second direction relationship and the fourth distance. In this way, by mapping the model and the geometric model of the body segment on the source character, a second positional relationship between the second limb and the first body segment associated with the first positional relationship can be calculated.

[0016] In a possible implementation manner, the first coordinate system and the second coordinate system are both spherical coordinate systems.

[0017] The first positional relationship between the first limb and the second body segment includes: a first relationship between the direction of the first limb to the origin of the first coordinate system and the z-axis direction in the first coordinate system, a second relationship between the direction of the first limb to the origin of the first coordinate system and the x-axis direction in the first coordinate system, a third relationship between the direction of the first limb to the origin of the first coordinate system and the center axis direction in the first coordinate system, and a first distance from the first limb to the origin of the first coordinate system.

[0018] At this time, based on the positional relationship between the first limb and each second body segment on the source character, and multiple mapping models, the positional relationship between the second limb of the target character and each first body segment is determined, including: inputting the first relationship into the mapping model related to the first positional relationship to obtain a fourth relationship between the direction of the second limb to the origin of the first coordinate system and the z-axis direction in the second coordinate system; inputting the fourth relationship, the second relationship and the third relationship into the first geometric model of the first body segment related to the first positional relationship to obtain a second distance from the second limb to the origin of the second coordinate system; when the first distance is less than or equal to the second distance, the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the fourth relationship, the second relationship, the third relationship and the second distance; when the first distance is greater than the second distance, the second positional relationship includes: the fourth relationship, the second relationship, the third relationship and the first distance.

[0019] In a possible implementation manner, the first coordinate system and the second coordinate system are both spherical coordinate systems.

[0020] The first positional relationship between the first limb and the second body segment includes: a first relationship between the direction of the first limb to the origin of the first coordinate system and the z-axis direction in the first coordinate system, a second relationship between the direction of the first limb to the origin of the first coordinate system and the x-axis direction in the first coordinate system, a third relationship between the direction of the first limb to the origin of the first coordinate system and the center axis direction in the first coordinate system, and a first distance from the first limb to the origin of the first coordinate system.

[0021] At this time, based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, the positional relationship between the second limb of the target character and each first body segment is determined, including: inputting the first relationship into the mapping model related to the first positional relationship to obtain a fourth relationship between the direction of the second limb to the origin of the first coordinate system and the z-axis direction in the second coordinate system; inputting the fourth relationship, the second relationship and the third relationship into the first geometric model of the first body segment related to the first positional relationship to obtain a second distance from the second limb to the origin of the second coordinate system; inputting the first relationship, the second relationship and the third relationship into the second geometric model of the second body segment related to the first positional relationship to obtain a third distance from the first limb to the origin of the first coordinate system, wherein the second geometric model is obtained based on the coordinate system modeling marked on the second body segment related to the first positional relationship; obtaining the fourth distance based on the first distance, the second distance and the third distance; wherein the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the fourth relationship, the second relationship, the third relationship and the fourth distance.

[0022] In one possible implementation, the first body segment is associated with the first part of the target character, and the second body segment is associated with the second part of the source character; when the first part and the second part are the same, the coordinate system marked on the first body segment is of the same type as the coordinate system marked on the second body segment, and the first key point marked on the first body segment is of the same type as the second key point marked on the second body segment. In this way, by marking the same coordinate system and key points on the source character and the target character, the mapping model established subsequently can better reflect the mapping relationship between the two, thereby improving the accuracy of action semantic transfer.

[0023] In a possible implementation manner, the first coordinate system is a cylindrical coordinate system or a spherical coordinate system.

[0024] In a second aspect, the present application provides a method for transferring action semantics, comprising: segmenting a target character according to the semantics of different parts of the target character to obtain a plurality of first body segments related to the target character; segmenting a source character according to the semantics of different parts of the source character to obtain a plurality of second body segments related to the source character; modeling a mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on a first coordinate system and a first key point marked on each first body segment, and a second coordinate system and a second key point marked on each second body segment, to obtain a plurality of mapping models. A mapping model is used to express the mapping relationship between a first body segment and a second body segment; based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, the positional relationship between the second limb and each first body segment of the target character is determined, wherein the first limb and the second limb are the same; based on the positional relationship between the second limb and each first body segment of the target character, the final position of the second limb in the world coordinate system is determined; based on the final position, the action sequence of the target character is adjusted so that the second limb is located at the final position, wherein the action sequence of the target character is obtained by migration based on the action sequence of the source character. In this way, by establishing a mapping model between the source character and the target character, the semantics of the limb action on the source character can be accurately and quickly migrated to the target character.

[0025] In a third aspect, the present application provides an action redirection device, comprising: a segmentation module, a modeling module and a processing module. The segmentation module is used to segment the target character based on the semantics of different parts of the target character to obtain multiple first body segments related to the target character. The modeling module is used to model each first body segment based on the first coordinate system marked on each first body segment to obtain multiple first geometric models, wherein a first geometric model is used to characterize the shape of a body segment. The processing module is used to perform collision detection on multiple first geometric models; and, in the event of a collision between the first geometric models, adjust the distance between the first geometric models in which the collision occurs, and, based on the adjusted distance, adjust the action sequence of the target character, wherein the action sequence of the target character is obtained based on the migration of the action sequence of the source character.

[0026] In one possible implementation, when the modeling module models each first body segment separately based on the first coordinate system marked on each first body segment, the modeling module is specifically used to: determine the coordinate expression of the point on the surface of the first body segment in the first coordinate system based on the first coordinate system marked on the first body segment; and train the model to be trained based on the coordinate expression to obtain a first geometric model.

[0027] In one possible implementation, when performing collision detection on multiple first geometric models, the processing module is specifically used to: determine, for any two first geometric models, a minimum distance between a first geometric model and a second geometric model, wherein the minimum distance is a distance between a first point inside the first geometric model and a second point inside the second geometric model; input at least a portion of the coordinate expression of the first point in a coordinate system associated with the second geometric model into the second geometric model to obtain a first distance, and input at least a portion of the coordinate expression of the second point in a coordinate system associated with the first geometric model into the first geometric model to obtain a second distance; and determine that there is a collision between the first geometric model and the second geometric model when the sum of the first distance and the second distance is greater than the minimum distance.

[0028] In a possible implementation, before the processing module performs collision detection on multiple first geometric models, the segmentation module is further used to segment the source character according to the semantics of different parts of the source character to obtain multiple second body segments related to the source character; the modeling module is further used to model the mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on the first coordinate system and the first key point marked on each first body segment, and the second coordinate system and the second key point marked on each second body segment, to obtain multiple mapping models, wherein one mapping model is used to express the mapping relationship between a first body segment and a second body segment; the processing module is further used to determine the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, wherein the first limb and the second limb are the same; the processing module is further used to determine the final position of the second limb in the world coordinate system based on the positional relationship between the second limb of the target character and each first body segment; the processing module is further used to adjust the action sequence of the target character based on the final position so that the second limb is located at the final position.

[0029] In a possible implementation manner, the first coordinate system and the second coordinate system are both cylindrical coordinate systems.

[0030] The first position relationship between the first limb and the second body segment includes: the first position of the first projection point of the first limb on the central axis of the first coordinate system, the first direction relationship between the direction of the first projection point to the first limb and an axis other than the central axis, the second direction relationship between the direction of the first projection point to the first limb and another axis other than the central axis, and the first distance between the first projection point and the first limb.

[0031] At this time, when the processing module determines the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, it is specifically used to: input the first position into the mapping model related to the first positional relationship to obtain the second position of the second projection point of the second limb on the central axis of the second coordinate system; input the second position, the first direction relationship and the second direction relationship into the first geometric model of the first body segment related to the first positional relationship to obtain the second distance between the second projection point and the second limb; input the first position, the first direction relationship and the second direction relationship into the second geometric model of the second body segment related to the first positional relationship to obtain the third distance between the first projection point of the first limb and the first limb, wherein the second geometric model is modeled based on the coordinate system marked on the second body segment related to the first positional relationship; obtain the fourth distance based on the first distance, the second distance and the third distance; wherein the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the second position, the first direction relationship, the second direction relationship and the fourth distance.

[0032] In a possible implementation manner, the first coordinate system and the second coordinate system are both spherical coordinate systems.

[0033] The first positional relationship between the first limb and the second body segment includes: a first relationship between the direction of the first limb to the origin of the first coordinate system and the z-axis direction in the first coordinate system, a second relationship between the direction of the first limb to the origin of the first coordinate system and the x-axis direction in the first coordinate system, a third relationship between the direction of the first limb to the origin of the first coordinate system and the center axis direction in the first coordinate system, and a first distance from the first limb to the origin of the first coordinate system.

[0034] At this time, when the processing module determines the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, it is specifically used to: input the first relationship into the mapping model related to the first positional relationship to obtain a fourth relationship between the direction of the second limb to the origin of the first coordinate system and the z-axis direction in the second coordinate system; input the fourth relationship, the second relationship and the third relationship into the first geometric model of the first body segment related to the first positional relationship to obtain a second distance from the second limb to the origin of the second coordinate system; input the first relationship, the second relationship and the third relationship into the second geometric model of the second body segment related to the first positional relationship to obtain a third distance from the first limb to the origin of the first coordinate system, wherein the second geometric model is obtained based on the coordinate system modeling marked on the second body segment related to the first positional relationship; obtain the fourth distance based on the first distance, the second distance and the third distance; wherein the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the fourth relationship, the second relationship, the third relationship and the fourth distance.

[0035] In one possible implementation, the first body segment is associated with a first part on the target character, and the second body segment is associated with a second part on the source character; when the first part and the second part are the same, the coordinate system marked on the first body segment is of the same type as the coordinate system marked on the second body segment, and the first key point marked on the first body segment is of the same type as the second key point marked on the second body segment.

[0036] In a fourth aspect, the present application provides an action semantic migration device, comprising: a segmentation module, a modeling module and a processing module. The segmentation module is used to segment the target character according to the semantics of different parts of the target character to obtain multiple first body segments related to the target character; and the source character is segmented according to the semantics of different parts of the source character to obtain multiple second body segments related to the source character. The modeling module is used to model the mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on the first coordinate system and the first key point marked on each first body segment, and the second coordinate system and the second key point marked on each second body segment, to obtain multiple mapping models, wherein one mapping model is used to express the mapping relationship between a first body segment and a second body segment. The processing module is used to determine the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment on the source character, and multiple mapping models, wherein the first limb and the second limb are the same. The processing module is also used to determine the final position of the second limb in the world coordinate system based on the positional relationship between the second limb of the target character and each first body segment; and, based on the final position, adjust the action sequence of the target character so that the second limb is located in the final position, wherein the action sequence of the target character is obtained based on the migration of the action sequence of the source character.

[0037] In a fifth aspect, the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of at least one computing device is used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes the method described in the first aspect or any possible implementation of the first aspect, or executes the method described in the second aspect.

[0038] In a sixth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is run on a computing device cluster including at least one computing device, the computing device cluster executes the method described in the first aspect or any possible implementation of the first aspect, or executes the method described in the second aspect.

[0039] In a seventh aspect, the present application provides a computer program product. When the computer program product is run on a computing device cluster comprising at least one computing device, the computing device cluster executes the method described in the first aspect or any possible implementation of the first aspect, or executes the method described in the second aspect.

[0040] It can be understood that the beneficial effects of the third to seventh aspects mentioned above can be found in the relevant descriptions of the first and second aspects mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 It is a flowchart of an action redirection method provided in an embodiment of the present application;

[0042] Figure 2 is a schematic diagram of marking a coordinate system on a body segment provided in an embodiment of the present application;

[0043] Figure 3 It is a flowchart of an action semantic migration method provided in an embodiment of the present application;

[0044] Figure 4 is a structural diagram of an action redirection device provided in an embodiment of the present application;

[0045] Figure 5 It is a structural schematic diagram of an action semantic migration device provided in an embodiment of the present application;

[0046] Figure 6 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0047] Figure 7 It is a structural diagram of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0048] The term "and / or" in this article is a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The symbol " / " in this article indicates that the associated objects are in an or relationship, for example, A / B means A or B.

[0049] The terms "first" and "second" in the specification and claims herein are used to distinguish different objects rather than to describe a specific order of the objects. For example, a first response message and a second response message are used to distinguish different response messages rather than to describe a specific order of the response messages.

[0050] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0051] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more than two. For example, multiple processing units refer to two or more processing units, etc.; multiple elements refer to two or more elements, etc.

[0052] First, some technical terms involved in this application are introduced.

[0053] (1) Digital Human

[0054] Digital human refers to a comprehensive product that exists in the non-physical world, is created and used by computer means, and has multiple human characteristics (appearance characteristics, human performance and interaction capabilities, etc.). Digital human can be produced through computer graphics (CG) and AI technology.

[0055] Next, the technical solution provided by this application is introduced.

[0056] For example, Figure 1 FIG. 1 is a flow chart of an action redirection method provided in an embodiment of the present application. It is understood that the method can be executed by any device, equipment, platform, or device cluster with computing and processing capabilities. Figure 1 As shown, the action redirection method may include the following steps:

[0057] S101. Segment the acquired target character according to the semantics of different parts of the target character to obtain a plurality of first body segments related to the target character.

[0058] In this embodiment, the target character can be a character uploaded by a user, or a character generated by a computer or other device, etc., which can be determined according to actual conditions and is not limited here. In some embodiments, the target character can be, but is not limited to, a digital person.

[0059] After obtaining the target character, the target character can be segmented according to the semantics of different parts of the target character to obtain multiple first body segments related to the target character. For example, when segmenting, the head, torso, palms, soles, upper arms of the upper limbs, forearms of the upper limbs, thighs of the lower limbs, and calves of the lower limbs of the target character can be segmented separately, so that multiple first body segments related to the target character are obtained. Exemplarily, the target character can be segmented by segmentation based on skin weights; of course, it can also be segmented by manual segmentation.

[0060] S102: Acquire a coordinate system marked by the user on each first body segment, wherein the type of the coordinate system includes a cylindrical coordinate system or a spherical coordinate system.

[0061] In this embodiment, each first body segment obtained by segmentation can be presented to the user so that the user can construct and annotate coordinate systems on these body segments. Exemplarily, the type of coordinate system annotated by the user may include a cylindrical coordinate system or a spherical coordinate system. When the user annotates the coordinate system on the body segment, it is necessary to meet the following requirements: 1) the geometric body represented by the coordinate system (such as a cylinder or a sphere, etc.) can completely cover the body segment, 2) the volume of the geometric body represented by the coordinate system is as small as possible, and 3) when the geometric body represented by the coordinate system is a cylinder, the central axis of the cylinder must be close to the bone direction in the body segment.

[0062] For example, when a cylindrical coordinate system is marked on a body segment, the user can mark the origin of the coordinate system (a point on one bottom surface of the body segment, usually the center of the circle formed by the bottom cross section of the body segment), the end point of the central axis of the cylinder represented by the coordinate system (a point on the other bottom surface of the body segment, usually the center of the circle formed by the bottom cross section of the body segment), the direction of the central axis and a direction perpendicular to the direction of the central axis. For example, taking the example of marking the coordinate system on the head, Figure 2 As shown in (A), you can first mark the origin o of the coordinate system, then mark the end point 21 of the central axis, and then mark the direction of the z-axis in the coordinate system, as well as the direction of the x-axis or y-axis perpendicular to the z-axis (the direction of an unmarked axis can be marked automatically, of course, it can also be marked manually). In this way, you can mark the cylindrical coordinate system on the head. When a spherical coordinate system is marked on a certain body segment, the user can mark the origin of the coordinate system (a point inside the body segment, usually the center of the circle formed by the middle cross-section of the body segment), any two or three directions of the x-axis, y-axis and z-axis of the coordinate system on the body segment. For example: Continue to refer to Figure 2 ,like Figure 2 As shown in (B), you can first mark the origin o of the coordinate system, and then mark the directions of the x-axis, y-axis, and z-axis in the coordinate system. In this way, you can mark the spherical coordinate system on the head. For the process of marking the coordinate system on other body segments, you can refer to Figure 2 The process of marking the coordinate system on the head described in will not be repeated here.

[0063] S103. Model each first body segment based on the coordinate system marked on each first body segment to obtain a plurality of first geometric models, wherein one first geometric model is used to express the shape of one first body segment.

[0064] In this embodiment, for any first body segment, training data required for modeling can be prepared first. The training data is the coordinate expression of each point on the surface of the first body segment in the coordinate system corresponding to the first body segment. For example, when the first body segment is annotated using a cylindrical coordinate system, for any point "point p" on the first body segment, assuming that the projection point of point p on the central axis of the cylindrical coordinate system is point q, the coordinate expression of point p in the cylindrical coordinate system is v = [h, α, β, L], where h is the position of point q on the central axis, α is the direction relationship between the direction from point q to point p and an axis other than the central axis, β is the direction relationship between the direction from point q to point p and another axis other than the central axis, and L is the distance between point q and point p. When the spherical coordinate system is used to annotate the first body segment, for any point "point p" on the first body segment, the coordinate expression of point p in the spherical coordinate system is v = [γ, δ, ε, L], where γ is the relationship between the direction from the center of the circle to point p and the z-axis direction, δ is the relationship between the direction from the center of the circle to point p and the x-axis direction, ε is the relationship between the direction from the center of the circle to point p and the y-axis direction, and L is the distance between the center of the circle and point p.

[0065] After obtaining the training data, the distance L in the coordinate expression of each coordinate point can be used as a label, and the other data can be used as samples to form paired data. Then, the model to be trained can be trained using a supervised learning method to obtain a first geometric model. The shape expressed by the first geometric model can be a geometric approximation with standard (such as: cylinder or sphere, etc.) geometric features.

[0066] It should be understood that for any point s in space, when it is necessary to know whether the point s is located inside or outside a first body segment, the point s can be first converted into a coordinate expression v in the coordinate system associated with the first body segment. Then, the data except the distance L in the coordinate expression v is input into the first geometric model that can express the shape of the first body segment to obtain the distance r. When the coordinate system marked on the first body segment is a cylindrical coordinate system, the distance r represents the distance between the point s and its projection point on the central axis of the cylindrical coordinate system; when the coordinate system is a spherical coordinate system, the distance r represents the distance from the point s to the center of the spherical coordinate system. If the distance r>L, it indicates that the point s is located outside the first body segment; if the distance r=L, it indicates that the point s is located on the first body segment; if the distance r<L, it indicates that the point s is located inside the first body segment.

[0067] S104 , performing collision detection on the first geometric models obtained by modeling to obtain n groups (n≥0) of first geometric models with collision.

[0068] In this embodiment, for any two geometric models A and B, the distance R between the two geometric models can be calculated first.ab , and the nearest points a and b. When both geometric models are cylindrical approximations, the distance R ab is the distance between the central axes of the two geometric models, and points a and b are points on the central axes of the two geometric models A and B. When one geometric model is a cylindrical approximation and the other geometric model is a spherical approximation, the distance R ab is the distance between the center of the spherical approximation and the central axis of the cylindrical approximation. Points a and b are the center of the spherical approximation and the point on the central axis of the cylindrical geometric model respectively. When both geometric models A and B are spherical approximations, the distance R ab is the distance between the centers of the two geometric models, and points a and b are the centers of the two geometric models respectively. ab It can be understood as the minimum distance between two geometric models. Points a and b can be understood as points inside the geometric models.

[0069] Then, calculate the distance R from point a related to geometric model A to geometric model B a When calculating, point a can be converted into a coordinate expression in the coordinate system associated with geometric model B. Then, the data except the distance in the coordinate expression can be input into geometric model B to obtain the distance R. a At the same time, the distance R from point b related to geometric model B to geometric model A can be calculated b .

[0070] Finally, we can compare R a +R b With R ab When R a +R b ≤R ab When R a +R b >R ab , it indicates that the distance between geometric models A and B is relatively close, and the two will collide, that is, they will penetrate each other.

[0071] S105 . When n≥1, adjust the distance between two geometric models in each group of colliding geometric models, and adjust the action sequence of the target character based on the adjusted distance.

[0072] In this embodiment, when n≥1, it indicates that there are interpenetrating geometric models. In this case, interpenetrating geometric models can be repaired. Specifically, for any set of colliding geometric models A and B, one of the geometric models can be moved so that the distance R between the two is ab ≥R a+R b For R ab , R a and R b , which can refer to the description in S104. After adjusting the distance between the two geometric models, the action sequence of the target character can be adjusted based on the adjusted distance and by inverse kinematics (IK) so that the body segments on the target character can move according to the above position adjustment. Exemplarily, the action sequence of the target character can be, but is not limited to, based on the association relationship between the skeleton of the source character and the skeleton of the target character, and the action sequence of the skeleton of the source character is migrated to the skeleton of the target character.

[0073] Therefore, by constructing a local coordinate system for each body segment of the target character and outputting a geometric model through segment modeling, the geometric expression of the body segment can be accurately expressed, and it can quickly determine whether there is a penetration phenomenon between body segments, which improves the quality and efficiency of penetration repair. At the same time, because the geometric model can accurately express the shape of the body segment, collision detection and repair based on the geometric model can well solve the penetration problem caused by the inconsistency of body shape, height, etc. between the source character and the target character.

[0074] In some embodiments, when migrating the actions of the source character to the target character, the semantics of the source character's actions are often lost, which may also cause the target character to perform some erroneous actions. In view of this, the embodiment of the present application also provides an action semantic migration method to achieve accurate and rapid migration of the semantics of the actions on the source character to the target character.

[0075] For example, Figure 3 FIG. 1 is a flow chart of an action semantic migration method provided by an embodiment of the present application. Figure 3 As shown, the action semantics migration method may include the following steps:

[0076] S301, segmenting the acquired target character according to the semantics of different parts of the target character to obtain a plurality of first body segments related to the target character, and segmenting the acquired source character according to the semantics of different parts of the source character to obtain a plurality of second body segments related to the source character. The segmentation method is described in S101 above, which will not be repeated here. In addition, the source character can be a character uploaded by a user, a character generated by a computer or other device, or a character collected by an image acquisition device such as a camera, etc., which can be determined according to the actual situation and is not limited here.

[0077] S302. Obtain the first key points marked by the user on each first body segment and the second key points marked on each second body segment, wherein when the first body segment and the second body segment are the same human body part, the first key points on the first body segment and the second key points on the second body segment are the same.

[0078] In this embodiment, after the body segments are obtained by segmentation, the body segments obtained by segmentation can be presented to the user so that the user can mark key points on the body segments. The user can mark the first key points on each first body segment respectively, and the second key points on each second body segment respectively. Among them, the number of the first key points and the number of the second key points can be determined according to the actual situation, and are not limited here. Exemplarily, the first key point and the second key point can be understood as points on the surface of the body segment that are more sensitive to the semantics of the action, such as eyes, nose, etc. When the key point is the eye, the direction or height of the finger pointing to the eye will affect the semantics of the action of the finger pointing to the eye. In this embodiment, when the first body segment and the second body segment are the same human body part, the first key point on the first body segment and the second key point on the second body segment are the same. For example, when the first body segment is the head of the target character and the second body segment is the head of the source character, if the first key point is the eye and the nose, the second key point is also the eye and the nose.

[0079] S303, obtaining the first coordinate system annotated by the user on each first body segment, and the second coordinate system annotated on each second body segment, wherein the types of the first coordinate system and the second coordinate system both include a cylindrical coordinate system or a spherical coordinate system. For the annotation process, please refer to the description in the above S102, which will not be repeated here. In addition, when the first body segment and the second body segment are the same human body part, the type of the first coordinate system annotated on the first body segment is the same as the type of the second coordinate system annotated on the second body segment.

[0080] S304. Based on the first coordinate system and the first key point marked on each first body segment, and the second coordinate system and the second key point marked on each second body segment, a mapping relationship between the first body segment and the second body segment associated with the same part on the target character and the source character is modeled to obtain multiple mapping models, wherein one mapping model can express the mapping relationship between a first body segment and a second body segment.

[0081] In this embodiment, for the first body segment and the second body segment associated with any part of the target character and the source character, the first key point on the first body segment can be converted to the coordinate expression v1 in the first coordinate system corresponding to the first body segment on the target character, and the second key point on the second body segment can be converted to the coordinate expression v2 in the second coordinate system corresponding to the second body segment on the source character. For the conversion process, please refer to the description in S103 above, which will not be repeated here.

[0082] When the coordinate system marked on the first body segment and the second body segment is a cylindrical coordinate system, the position of the projection point of the first key point on the central axis in the coordinate expression v1 on the central axis can be used as a label, and the position of the projection point of the second key point on the central axis in the coordinate expression v2 on the central axis can be used as a sample. Then, the model to be trained is trained using the constructed samples and labels and a supervised learning method to obtain a mapping model that can characterize the mapping relationship between the first body segment and the second body segment associated with any one part.

[0083] When the coordinate system marked on the first body segment and the second body segment is a spherical coordinate system, the relationship between the direction from the center of the circle to the first key point in the coordinate expression v1 and the z-axis direction can be used as a label, and the relationship between the direction from the center of the circle to the second key point in the coordinate expression v2 and the z-axis direction can be used as a sample. Then, the model to be trained is trained using the constructed samples and labels and a supervised learning method to obtain a mapping model that can characterize the mapping relationship between the first body segment and the second body segment associated with any part.

[0084] S305 . Predicting the positional relationship between the target character's fingers and each first body segment based on the multiple mapping models obtained through modeling and the positional relationship between the source character's fingers and each second body segment.

[0085] In this embodiment, the action sequence of the source character can be calculated by forward kinematics (FK) to calculate the position of the source character's finger in the world coordinate system, and the position and orientation of each second body segment related to the source character in the world coordinate system. Then, the coordinate expression of the finger in the coordinate system of each second body segment can be calculated by coordinate transformation. Among them, a calculated coordinate expression is: the positional relationship between the finger and a second body segment.

[0086] After the positional relationship between the source character's fingers and each second body segment is obtained, the positional relationship between the target character's fingers and each first body segment can be predicted based on the positional relationship.

[0087] Among them, when the coordinate system corresponding to the second body segment is a cylindrical coordinate system, the positional relationship between the source character's finger and the second body segment is: v1 = [h1, α1, β1, L1], h1 is the position of the projection point of the finger on the central axis, α1 is the direction relationship between the direction of the projection point of the finger to the finger and an axis other than the central axis, β1 is the direction relationship between the direction of the projection point of the finger to the finger and another axis other than the central axis, and L1 is the distance between the projection point of the finger and the finger. At this time, h1 can be input into the mapping model associated with the second body segment to obtain the position h2 of the projection point of the target character's finger on the central axis. Then, h2, α1, β1 are input into the geometric model corresponding to the first body segment on the target character to obtain the distance r2 between the projection point of the finger and the first body segment on the central axis of the cylindrical coordinate system. Then, the size relationship between r2 and L1 can be determined, and based on the determination result, the positional relationship between the target character's finger and the first body segment is obtained. Among them, when r2<L1, it indicates that the target character's finger is too close to the first body segment, and it is easy to penetrate the model. In order to avoid penetrating the model, r2 can be discarded and L1 can be used. In this way, the position relationship between the target character's finger and the first body segment is: v2=[h2,α1,β1,L1]. When r2≥L1, the position relationship between the target character's finger and the first body segment is: v2=[h2,α1,β1,r2].

[0088] When the coordinate system corresponding to the second body segment is a spherical coordinate system, the positional relationship between the source character's finger and the second body segment is: v1 = [γ1, δ1, ε1, L1], γ1 is the relationship between the direction from the center of the circle to the finger and the z-axis direction, δ1 is the relationship between the direction from the center of the circle to the finger and the x-axis direction, ε1 is the relationship between the direction from the center of the circle to the finger and the y-axis direction, and L1 is the distance between the center of the circle and the finger. At this time, γ1 can be input into the mapping model associated with the second body segment to obtain the relationship γ2 between the direction of the target character's finger and the z-axis direction. Then, γ2, δ1, and ε1 are input into the geometric model corresponding to the body segment on the target character to obtain the distance r2 between the center of the circle and the finger. Then, the size relationship between r2 and L1 can be determined, and based on the determination result, the positional relationship between the target character's finger and the first body segment is obtained. Among them, when r2<L1, it indicates that the target character's finger is too close to the first body segment. To avoid this situation, r2 can be discarded and L1 can be used. In this way, the position relationship between the target character's finger and the first body segment is: v2=[h2,α1,β1,L1]. When r2≥L1, the position relationship between the target character's finger and the first body segment is: v2=[γ2,δ1,ε1,r2].

[0089] In some embodiments, the source character and the target character often have different body shapes and heights, which may easily lead to deviations in the calculated positional relationship between the target character's finger and the first body segment. In order to eliminate this deviation, after the coordinate system of the second body segment on the source character is marked, each second body segment can be modeled by the modeling method in S103 to obtain multiple second geometric models, wherein one second geometric model is used to express the shape of one second body segment.

[0090] Then, when predicting the positional relationship between the target character's finger and the first body segment, if the coordinate system corresponding to the second body segment is a cylindrical coordinate system, h1, α1, β1 can be input into the second geometric model corresponding to the second body segment on the source character to obtain the distance r1 between the finger and its projection point on the central axis of the cylindrical coordinate system. Then, on the target character, the calculated distance between the projection point of the finger and the finger can be: L2 = r2*L1 / r1. Finally, the positional relationship between the target character's finger and the first body segment is: v2 = [h2, α1, β1, L2].

[0091] When predicting the positional relationship between the target character's finger and the first body segment, if the coordinate system corresponding to the second body segment is a spherical coordinate system, γ1, δ1, ε1 can be input into the second geometric model corresponding to the second body segment on the source character to obtain the distance r1 between the center of the circle and the finger. Then, on the target character, the distance between the center of the circle and the finger can be calculated as: L2 = r2*L1 / r1. Finally, the positional relationship between the target character's finger and the first body segment is obtained as: v2 = [γ2, δ1, ε1, L2].

[0092] After predicting the positional relationship between the target character's fingers and each first body segment, S306 may be executed.

[0093] S306: Determine the final position of the target character's finger in the world coordinate system based on the positional relationship between the target character's finger and each first body segment.

[0094] In this embodiment, the predicted positional relationships between the target character's fingers and each first body segment can be screened to eliminate unimportant positional relationships, thereby obtaining the positional relationship between the target character's fingers and at least one first body segment. For example, when the finger is at the chest position, the finger has no relationship with body segments such as the head, arms and legs. Therefore, these positional relationships can be eliminated, leaving only the positional relationship between the finger and the chest body segment. Next, the screened positional relationship can be converted into a coordinate expression in the world coordinate system to obtain the final position of the target character's finger in the world coordinate system. When there are multiple screened positional relationships, the coordinate expressions of these positional relationships in the world coordinate system are averaged, or weighted averaged, etc., to obtain the final position of the target character's finger in the world coordinate system.

[0095] S307 . Based on the final position of the finger of the target character in the world coordinate system, adjust the action sequence of the target character so that the finger of the target character is located at the determined final position.

[0096] In this embodiment, the determined final position may be used as a reference to adjust the action sequence of the target character through IK so that the finger of the target character is located at the determined final position.

[0097] In this way, the semantics of the source character's finger movements can be accurately and quickly transferred to the target character. Figure 3 The fingers described in the figure may also be replaced by other limbs, depending on the actual situation and are not limited here.

[0098] It is understandable that the size of the sequence number of each step in the above embodiment does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. In addition, in some possible implementations, the steps in the above embodiment can be selectively executed according to actual conditions, and can be partially executed or fully executed, which is not limited here. In addition, all or part of any features of any of the above embodiments can be freely and arbitrarily combined without contradiction; the combined technical solution is also within the scope of the present application.

[0099] The above is the introduction to the action redirection method and action semantic migration method provided by the embodiment of the present application. Next, based on the method in the above embodiment, the embodiment of the present application also provides an action redirection device and an action semantic migration device.

[0100] For example, Figure 4 FIG. 2 shows a schematic diagram of the structure of an action redirection device provided in an embodiment of the present application. Figure 4As shown, the action redirection device 400 includes: a segmentation module 401, a modeling module 402 and a processing module 403. The segmentation module 401 is used to segment the target character based on the semantics of different parts of the target character to obtain multiple first body segments related to the target character. The modeling module 402 is used to model each first body segment based on the first coordinate system marked on each first body segment to obtain multiple first geometric models, wherein a first geometric model is used to characterize the shape of a body segment. The processing module 403 is used to perform collision detection on the multiple first geometric models; and, in the case of collision between the first geometric models, adjust the distance between the first geometric models that have collision, and adjust the action sequence of the target character based on the adjusted distance, wherein the action sequence of the target character is obtained based on the migration of the action sequence of the source character.

[0101] In some embodiments, when the modeling module 402 models each first body segment based on the first coordinate system marked on each first body segment, it is specifically used to: determine the coordinate expression of the point on the surface of the first body segment in the first coordinate system based on the first coordinate system marked on the first body segment; and train the model to be trained based on the coordinate expression to obtain a first geometric model.

[0102] In some embodiments, when performing collision detection on multiple first geometric models, the processing module 403 is specifically used to: determine the minimum distance between the first geometric model and the second geometric model for any two first geometric models, wherein the minimum distance is the distance between a first point inside the first geometric model and a second point inside the second geometric model; input at least a portion of the coordinate expression of the first point in the coordinate system associated with the second geometric model into the second geometric model to obtain a first distance, and input at least a portion of the coordinate expression of the second point in the coordinate system associated with the first geometric model into the first geometric model to obtain a second distance; and determine that there is a collision between the first geometric model and the second geometric model when the sum of the first distance and the second distance is greater than the minimum distance.

[0103] In some embodiments, before the processing module 403 performs collision detection on the multiple first geometric models, the segmentation module 401 is further used to segment the source character according to the semantics of different parts of the source character to obtain multiple second body segments related to the source character; the modeling module 402 is further used to model the mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on the first coordinate system and the first key point marked on each first body segment, and the second coordinate system and the second key point marked on each second body segment, to obtain multiple mapping models, wherein a mapping model The model is used to express the mapping relationship between a first body segment and a second body segment; the processing module 403 is also used to determine the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, wherein the first limb and the second limb are the same; the processing module 403 is also used to determine the final position of the second limb in the world coordinate system based on the positional relationship between the second limb of the target character and each first body segment; the processing module 403 is also used to adjust the action sequence of the target character based on the final position so that the second limb is located at the final position.

[0104] In some embodiments, the first coordinate system and the second coordinate system are both cylindrical coordinate systems.

[0105] The first position relationship between the first limb and the second body segment includes: the first position of the first projection point of the first limb on the central axis of the first coordinate system, the first direction relationship between the direction of the first projection point to the first limb and an axis other than the central axis, the second direction relationship between the direction of the first projection point to the first limb and another axis other than the central axis, and the first distance between the first projection point and the first limb.

[0106] At this time, when the processing module 403 determines the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, it is specifically used to: input the first position into the mapping model related to the first positional relationship to obtain the second position of the second projection point of the second limb on the central axis of the second coordinate system; input the second position, the first direction relationship and the second direction relationship into the first geometric model of the first body segment related to the first positional relationship to obtain the second distance between the second projection point and the second limb; input the first position, the first direction relationship and the second direction relationship into the second geometric model of the second body segment related to the first positional relationship to obtain the third distance between the first projection point of the first limb and the first limb, wherein the second geometric model is modeled based on the coordinate system marked on the second body segment related to the first positional relationship; obtain the fourth distance based on the first distance, the second distance and the third distance; wherein the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the second position, the first direction relationship, the second direction relationship and the fourth distance.

[0107] In some embodiments, the first coordinate system and the second coordinate system are both spherical coordinate systems.

[0108] The first positional relationship between the first limb and the second body segment includes: a first relationship between the direction of the first limb to the origin of the first coordinate system and the z-axis direction in the first coordinate system, a second relationship between the direction of the first limb to the origin of the first coordinate system and the x-axis direction in the first coordinate system, a third relationship between the direction of the first limb to the origin of the first coordinate system and the center axis direction in the first coordinate system, and a first distance from the first limb to the origin of the first coordinate system.

[0109] At this time, when the processing module 403 determines the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment on the source character and multiple mapping models, it is specifically used to: input the first relationship into the mapping model related to the first positional relationship to obtain a fourth relationship between the direction of the second limb to the origin of the first coordinate system and the z-axis direction in the second coordinate system; input the fourth relationship, the second relationship and the third relationship into the first geometric model of the first body segment related to the first positional relationship to obtain a second distance from the second limb to the origin of the second coordinate system; input the first relationship, the second relationship and the third relationship into the second geometric model of the second body segment related to the first positional relationship to obtain a third distance from the first limb to the origin of the first coordinate system, wherein the second geometric model is obtained based on the coordinate system modeling marked on the second body segment related to the first positional relationship; obtain the fourth distance based on the first distance, the second distance and the third distance; wherein the second positional relationship between the second limb and the first body segment related to the first positional relationship includes: the fourth relationship, the second relationship, the third relationship and the fourth distance.

[0110] In some embodiments, the first body segment is associated with a first part on the target character, and the second body segment is associated with a second part on the source character; when the first part and the second part are the same, the coordinate system marked on the first body segment is of the same type as the coordinate system marked on the second body segment, and the first key point marked on the first body segment is of the same type as the second key point marked on the second body segment.

[0111] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method, which will not be repeated here.

[0112] For example, Figure 5 FIG. 1 shows a schematic diagram of the structure of an action semantic migration device provided in an embodiment of the present application. Figure 5As shown, the action semantic migration device 500 includes: a segmentation module 501, a modeling module 502 and a processing module 503. The segmentation module 501 is used to segment the target character according to the semantics of different parts of the target character to obtain multiple first body segments related to the target character; and the source character is segmented according to the semantics of different parts of the source character to obtain multiple second body segments related to the source character. The modeling module 502 is used to model the mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on the first coordinate system and the first key point marked on each first body segment, and the second coordinate system and the second key point marked on each second body segment, so as to obtain multiple mapping models, wherein one mapping model is used to express the mapping relationship between a first body segment and a second body segment. The processing module 503 is used to determine the positional relationship between the second limb of the target character and each first body segment based on the positional relationship between the first limb and each second body segment of the source character and multiple mapping models, wherein the first limb and the second limb are the same. The processing module 503 is also used to determine the final position of the second limb in the world coordinate system based on the positional relationship between the second limb of the target character and each first body segment; and, based on the final position, adjust the action sequence of the target character so that the second limb is located in the final position, wherein the action sequence of the target character is obtained based on the action sequence migration of the source character.

[0113] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method, which will not be repeated here.

[0114] The present application embodiment also provides a computing device 600. Figure 6 As shown, computing device 600 includes: bus 602, processor 604, memory 606 and communication interface 608. Processor 604, memory 606 and communication interface 608 communicate through bus 602. Computing device 600 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in computing device 600.

[0115] The bus 602 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6The bus 604 is represented by only one line, but does not mean that there is only one bus or one type of bus. The bus 604 may include a path for transmitting information between various components of the computing device 600 (eg, the memory 606, the processor 604, and the communication interface 608).

[0116] The processor 604 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0117] The memory 606 may include a volatile memory, such as a random access memory (RAM). The processor 604 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0118] The memory 606 stores executable codes, and the processor 604 executes the executable codes to implement the functions of the aforementioned action redirection device or action semantic migration device, thereby implementing the action redirection method or action semantic migration method described in the above embodiment. That is, the memory 606 stores instructions for executing the action redirection method or action semantic migration method described in the above embodiment.

[0119] The communication interface 603 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 600 and other devices or a communication network.

[0120] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0121] like Figure 7As shown, the computing device cluster includes at least one computing device 600. The memory 606 in one or more computing devices 600 in the computing device cluster may store the same instructions for executing the action redirection method or action semantic migration method described in the above embodiments.

[0122] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also respectively store partial instructions for executing the action redirection method described in the above embodiment. In other words, a combination of one or more computing devices 600 can jointly execute instructions for executing the action redirection method described in the above embodiment. Alternatively, the memory 606 of one or more computing devices 600 in the computing device cluster may also respectively store partial instructions for executing the action semantic migration method described in the above embodiment. In other words, a combination of one or more computing devices 600 can jointly execute instructions for executing the action semantic migration method described in the above embodiment.

[0123] It should be noted that the memory 606 in different computing devices 600 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the aforementioned action redirection device, or respectively used to execute part of the functions of the aforementioned action semantic migration device.

[0124] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network.

[0125] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Figure 7 The connection mode of the computing device cluster is different in that the memory 606 in one or more computing devices 600 in the computing device cluster may store the same instructions for executing the method in the above embodiment.

[0126] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also respectively store some instructions for executing the action redirection method in the above-mentioned embodiment. In other words, a combination of one or more computing devices 600 can jointly execute instructions for executing the action redirection method in the above-mentioned embodiment. Alternatively, the memory 606 of one or more computing devices 600 in the computing device cluster may also respectively store some instructions for executing the action semantic migration method in the above-mentioned embodiment. In other words, a combination of one or more computing devices 600 can jointly execute instructions for executing the action semantic migration method in the above-mentioned embodiment.

[0127] Based on the method in the above embodiment, the embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a computing device cluster including at least one computing device, the computing device cluster executes the method described in the above embodiment. Exemplarily, the computer-readable storage medium can be any available medium that can be stored by the computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk), etc.

[0128] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product including instructions. When the computer program product is run on a computing device cluster including at least one computing device, the computing device cluster executes the method in the above embodiment.

[0129] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0130] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.

[0131] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0132] It should be understood that the various numerical numbers involved in the embodiments of the present application are only used for the convenience of description and are not used to limit the scope of the embodiments of the present application.

[0133] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present application.

Claims

1. An action redirection method, characterized in that: include: Based on the semantics of different parts of the target character, segment the target character to obtain a plurality of first body segments related to the target character; Based on the first coordinate system marked on each of the first body segments, model each of the first body segments respectively to obtain a plurality of first geometric models, wherein one of the first geometric models is used to represent the shape of one of the body segments; Performing collision detection on the plurality of first geometric models; In the case of a collision between the first geometric models, a distance between the first geometric models that collide is adjusted, and based on the adjusted distance, an action sequence of the target character is adjusted, wherein the action sequence of the target character is obtained by migrating based on the action sequence of the source character.

2. The method according to claim 1, characterized in that: The modeling of each of the first body segments based on the first coordinate system marked on each of the first body segments comprises: Based on a first coordinate system marked on the first body segment, determining a coordinate expression of a point on the surface of the first body segment in the first coordinate system; Based on the coordinate expression, the model to be trained is trained to obtain the first geometric model.

3. The method according to claim 1 or 2, characterized in that: The performing collision detection on the plurality of first geometric models comprises: For any two first geometric models, determining a minimum distance between the first geometric model and the second geometric model, wherein the minimum distance is a distance between a first point inside the first geometric model and a second point inside the second geometric model; Inputting at least a portion of the coordinate expression of the first point in the coordinate system associated with the second geometric model into the second geometric model to obtain a first distance, and inputting at least a portion of the coordinate expression of the second point in the coordinate system associated with the first geometric model into the first geometric model to obtain a second distance; When the sum of the first distance and the second distance is greater than the minimum distance, it is determined that there is a collision between the first geometric model and the second geometric model.

4. The method according to any one of claims 1 to 3, characterized in that: Before performing collision detection on the plurality of first geometric models, the method further includes: Segmenting the source character according to the semantics of different parts of the source character to obtain a plurality of second body segments related to the source character; Based on the first coordinate system and the first key point marked on each of the first body segments, and the second coordinate system and the second key point marked on each of the second body segments, a mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character is modeled to obtain a plurality of mapping models, wherein one of the mapping models is used to express the mapping relationship between one of the first body segments and one of the second body segments; Determine the positional relationship between the second limb of the target character and each of the first body segments based on the positional relationship between the first limb of the source character and each of the second body segments and the multiple mapping models, wherein the first limb and the second limb are the same; Determining a final position of the second limb of the target character in a world coordinate system based on a positional relationship between the second limb and each of the first body segments; Based on the final position, an action sequence of the target character is adjusted so that the second limb is located at the final position.

5. The method according to claim 4, characterized in that The first coordinate system and the second coordinate system are both cylindrical coordinate systems; The first positional relationship between the first limb and the second body segment includes: a first position of a first projection point of the first limb on the central axis of the first coordinate system, a first direction relationship between a direction from the first projection point to the first limb and an axis other than the central axis, a second direction relationship between a direction from the first projection point to the first limb and another axis other than the central axis, and a first distance between the first projection point and the first limb; Determining the positional relationship between the second limb of the target character and each of the first body segments based on the positional relationship between the first limb of the source character and each of the second body segments and the multiple mapping models includes: inputting the first position into a mapping model associated with the first positional relationship to obtain a second position of a second projection point of the second limb on the central axis of the second coordinate system; Inputting the second position, the first direction relationship and the second direction relationship into a first geometric model of a first body segment associated with the first position relationship to obtain a second distance between the second projection point and the second limb; Inputting the first position, the first direction relationship and the second direction relationship into a second geometric model of a second body segment associated with the first position relationship to obtain a third distance between the first projection point and the first limb of the first limb, wherein the second geometric model is modeled based on a coordinate system marked on the second body segment associated with the first position relationship; Obtaining a fourth distance based on the first distance, the second distance, and the third distance; The second positional relationship between the second limb and the first body segment associated with the first positional relationship includes: the second position, the first direction relationship, the second direction relationship and the fourth distance.

6. The method according to claim 4, characterized in that The first coordinate system and the second coordinate system are both spherical coordinate systems; The first positional relationship between the first limb and the second body segment includes: a first relationship between the direction of the first limb to the origin of the first coordinate system and the z-axis direction in the first coordinate system, a second relationship between the direction of the first limb to the origin of the first coordinate system and the x-axis direction in the first coordinate system, a third relationship between the direction of the first limb to the origin of the first coordinate system and the center axis direction in the first coordinate system, and a first distance from the first limb to the origin of the first coordinate system; Determining the positional relationship between the second limb of the target character and each of the first body segments based on the positional relationship between the first limb of the source character and each of the second body segments and the multiple mapping models includes: inputting the first relationship into a mapping model associated with the first positional relationship to obtain a fourth relationship between the direction of the second limb to the origin of the first coordinate system and the z-axis direction in the second coordinate system; Inputting the fourth relationship, the second relationship and the third relationship into a first geometric model of a first body segment associated with the first positional relationship to obtain a second distance from the second limb to the origin of the second coordinate system; Inputting the first relationship, the second relationship and the third relationship into a second geometric model of a second body segment associated with the first positional relationship to obtain a third distance from the first limb to the origin of the first coordinate system, wherein the second geometric model is modeled based on a coordinate system marked on the second body segment associated with the first positional relationship; Obtaining a fourth distance based on the first distance, the second distance, and the third distance; The second positional relationship between the second limb and the first body segment associated with the first positional relationship includes: the fourth relationship, the second relationship, the third relationship and the fourth distance.

7. The method according to any one of claims 4 to 6, characterized in that: The first body segment is associated with a first part of the target character, and the second body segment is associated with a second part of the source character; When the first part and the second part are the same, the coordinate system marked on the first body segment is of the same type as the coordinate system marked on the second body segment, and the first key point marked on the first body segment is of the same type as the second key point marked on the second body segment.

8. An action semantic transfer method, characterized in that: include: Segmenting the target character according to the semantics of different parts of the target character to obtain a plurality of first body segments related to the target character; Segmenting the source character according to the semantics of different parts of the source character to obtain a plurality of second body segments related to the source character; Based on the first coordinate system and the first key point marked on each of the first body segments, and the second coordinate system and the second key point marked on each of the second body segments, a mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character is modeled to obtain a plurality of mapping models, wherein one of the mapping models is used to express the mapping relationship between one of the first body segments and one of the second body segments; Determine the positional relationship between the second limb of the target character and each of the first body segments based on the positional relationship between the first limb of the source character and each of the second body segments and the multiple mapping models, wherein the first limb and the second limb are the same; Determining a final position of the second limb of the target character in a world coordinate system based on a positional relationship between the second limb and each of the first body segments; Based on the final position, the action sequence of the target character is adjusted so that the second limb is located at the final position, wherein the action sequence of the target character is obtained by migrating based on the action sequence of the source character.

9. An action redirection device, characterized in that: include: A segmentation module, configured to segment the target character based on the semantics of different parts of the target character to obtain a plurality of first body segments related to the target character; a modeling module, configured to model each of the first body segments based on a first coordinate system marked on each of the first body segments, so as to obtain a plurality of first geometric models, wherein one of the first geometric models is used to represent the shape of one of the body segments; A processing module, configured to perform collision detection on the plurality of first geometric models; A processing module is used to adjust the distance between the first geometric models in the event of a collision between the first geometric models, and to adjust the action sequence of the target character based on the adjusted distance, wherein the action sequence of the target character is obtained by migrating the action sequence of the source character.

10. The device according to claim 9, characterized in that When the modeling module models each of the first body segments based on the first coordinate system marked on each of the first body segments, the modeling module is specifically used to: Based on a first coordinate system marked on the first body segment, determining a coordinate expression of a point on the surface of the first body segment in the first coordinate system; Based on the coordinate expression, the model to be trained is trained to obtain the first geometric model.

11. The device according to claim 9 or 10, characterized in that When performing collision detection on the plurality of first geometric models, the processing module is specifically used to: For any two first geometric models, determining a minimum distance between the first geometric model and the second geometric model, wherein the minimum distance is a distance between a first point inside the first geometric model and a second point inside the second geometric model; Inputting at least a portion of the coordinate expression of the first point in the coordinate system associated with the second geometric model into the second geometric model to obtain a first distance, and inputting at least a portion of the coordinate expression of the second point in the coordinate system associated with the first geometric model into the first geometric model to obtain a second distance; When the sum of the first distance and the second distance is greater than the minimum distance, it is determined that there is a collision between the first geometric model and the second geometric model.

12. The device according to any one of claims 9 to 11, characterized in that: Before the processing module performs collision detection on the plurality of first geometric models, The segmentation module is further used to segment the source character according to the semantics of different parts of the source character to obtain a plurality of second body segments related to the source character; The modeling module is further used to model the mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on the first coordinate system and the first key point marked on each of the first body segments, and the second coordinate system and the second key point marked on each of the second body segments, so as to obtain a plurality of mapping models, wherein one of the mapping models is used to express the mapping relationship between one of the first body segments and one of the second body segments; The processing module is further used to determine the positional relationship between the second limb of the target character and each of the first body segments based on the positional relationship between the first limb of the source character and each of the second body segments and the multiple mapping models, wherein the first limb and the second limb are the same; The processing module is further used to determine the final position of the second limb of the target character in the world coordinate system based on the positional relationship between the second limb and each of the first body segments; The processing module is further used to adjust the action sequence of the target character based on the final position so that the second limb is located at the final position.

13. The device according to claim 12, characterized in that The first coordinate system and the second coordinate system are both cylindrical coordinate systems; The first positional relationship between the first limb and the second body segment includes: a first position of a first projection point of the first limb on the central axis of the first coordinate system, a first direction relationship between a direction from the first projection point to the first limb and an axis other than the central axis, a second direction relationship between a direction from the first projection point to the first limb and another axis other than the central axis, and a first distance between the first projection point and the first limb; When the processing module determines the positional relationship between the second limb of the target character and each of the first body segments based on the positional relationship between the first limb of the source character and each of the second body segments and the multiple mapping models, it is specifically used to: inputting the first position into a mapping model associated with the first positional relationship to obtain a second position of a second projection point of the second limb on the central axis of the second coordinate system; Inputting the second position, the first direction relationship and the second direction relationship into a first geometric model of a first body segment associated with the first position relationship to obtain a second distance between the second projection point and the second limb; Inputting the first position, the first direction relationship and the second direction relationship into a second geometric model of a second body segment associated with the first position relationship to obtain a third distance between the first projection point and the first limb of the first limb, wherein the second geometric model is modeled based on a coordinate system marked on the second body segment associated with the first position relationship; Obtaining a fourth distance based on the first distance, the second distance, and the third distance; The second positional relationship between the second limb and the first body segment associated with the first positional relationship includes: the second position, the first direction relationship, the second direction relationship and the fourth distance.

14. The device according to claim 12, characterized in that The first coordinate system and the second coordinate system are both spherical coordinate systems; The first positional relationship between the first limb and the second body segment includes: a first relationship between the direction of the first limb to the origin of the first coordinate system and the z-axis direction in the first coordinate system, a second relationship between the direction of the first limb to the origin of the first coordinate system and the x-axis direction in the first coordinate system, a third relationship between the direction of the first limb to the origin of the first coordinate system and the center axis direction in the first coordinate system, and a first distance from the first limb to the origin of the first coordinate system; When the processing module determines the positional relationship between the second limb of the target character and each of the first body segments based on the positional relationship between the first limb of the source character and each of the second body segments and the multiple mapping models, it is specifically used to: inputting the first relationship into a mapping model associated with the first positional relationship to obtain a fourth relationship between the direction of the second limb to the origin of the first coordinate system and the z-axis direction in the second coordinate system; Inputting the fourth relationship, the second relationship and the third relationship into a first geometric model of a first body segment associated with the first positional relationship to obtain a second distance from the second limb to the origin of the second coordinate system; Inputting the first relationship, the second relationship and the third relationship into a second geometric model of a second body segment associated with the first positional relationship to obtain a third distance from the first limb to the origin of the first coordinate system, wherein the second geometric model is modeled based on a coordinate system marked on the second body segment associated with the first positional relationship; Obtaining a fourth distance based on the first distance, the second distance, and the third distance; The second positional relationship between the second limb and the first body segment associated with the first positional relationship includes: the fourth relationship, the second relationship, the third relationship and the fourth distance.

15. The device according to any one of claims 12 to 14, characterized in that: The first body segment is associated with a first part of the target character, and the second body segment is associated with a second part of the source character; When the first part and the second part are the same, the coordinate system marked on the first body segment is of the same type as the coordinate system marked on the second body segment, and the first key point marked on the first body segment is of the same type as the second key point marked on the second body segment.

16. An action semantic migration device, characterized in that: include: A segmentation module, used for segmenting the target character according to the semantics of different parts of the target character to obtain a plurality of first body segments related to the target character; and, segmenting the source character according to the semantics of different parts of the source character to obtain a plurality of second body segments related to the source character; a modeling module, configured to model a mapping relationship between the first body segment and the second body segment associated with the same part of the target character and the source character based on the first coordinate system and the first key point marked on each of the first body segments, and the second coordinate system and the second key point marked on each of the second body segments, so as to obtain a plurality of mapping models, wherein one of the mapping models is used to express a mapping relationship between one of the first body segments and one of the second body segments; a processing module, configured to determine a positional relationship between a second limb of the target character and each of the first body segments based on a positional relationship between a first limb of the source character and each of the second body segments and the plurality of mapping models, wherein the first limb and the second limb are the same; The processing module is further used to determine the final position of the second limb of the target character in the world coordinate system based on the positional relationship between the second limb and each of the first body segments; The processing module is further used to adjust the action sequence of the target character based on the final position so that the second limb is located at the final position, wherein the action sequence of the target character is obtained by migrating the action sequence of the source character.

17. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 7, or executes the method according to claim 8.

18. A computer-readable storage medium storing a computer program, which, when executed on a computing device cluster comprising at least one computing device, enables the computing device cluster to execute the method according to any one of claims 1 to 7, or the method according to claim 8.

19. A computer program product, characterized in that When the computer program product is run on a computing device cluster including at least one computing device, the computing device cluster executes the method according to any one of claims 1 to 7, or executes the method according to claim 8.

Citation Information

Cited By

  • Action redirection method and apparatus, and computing device cluster

    EP4697280A1

  • Action redirection method and apparatus, and computing device cluster

    WO2025077255A1