Support algorithm and system based on lightweight physical virtual human standing posture balance
By obtaining the foot status of the virtual person and calculating the hip height of the standing posture, and adjusting the hip and legs position of the virtual person, the problem of underfitting in the balance control of the virtual person is solved, and the stability and generalization ability of the virtual person in standing and balance are achieved.
Patent Information
- Application Number
- CN202411992488.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-16
AI Technical Summary
The existing virtual human stance balance control method is prone to underfitting, making it difficult for virtual humans to maintain a balance state and restore body balance.
By obtaining the foot status of the virtual person, judging the target foot and calculating the height of the standing hip, stretching the virtual person's hip to the height of the standing hip, so that the virtual person reaches the standing state, and generating the foot movement trajectory curve to adjust the leg position to restore balance.
Reduce the underfitting phenomenon of virtual people, build a generalizable virtual person balanced standing posture system, and improve the stability of virtual people in standing and balance.
Smart Images

Figure CN120014125A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of virtual human control, and in particular to a support algorithm and system for lightweight physical virtual human standing balance. Background Art
[0002] A virtual person refers to a virtual character with a digital appearance. A virtual person has three major characteristics: (1) having human appearance and personality characteristics; (2) having the ability to express through language, facial expressions or body movements; and (3) having the ability to recognize the external environment and communicate and interact with people.
[0003] The earliest virtual humans appeared in the 1980s. Due to technical limitations, the production of virtual humans at that time was mainly hand-painted. In the early 21st century, with the gradual development of motion capture, rendering and other technologies, virtual human-related technologies began to gradually become popular in the film and television industry, used to present surreal characters and scenes. The birth of Hatsune Miku in 2007 marked the beginning of a booming development of the virtual idol industry. In recent years, with the emergence of AI and deep learning algorithms, the production process of virtual humans has been greatly simplified, and the functionality of virtual humans has also become increasingly prominent: new formats such as digital employees and intelligent hosts have been developed. At present, major domestic related companies have begun to layout and realize virtual humans, and it is expected that their application in many industries such as entertainment, e-commerce, education, culture and tourism will gradually be implemented.
[0004] The inverted pendulum (IP) feedback model is a commonly used physics-based character standing support solution. Its principle is to push the two feet of the character towards the hips by applying spring force, so that the character can keep standing. This method is not only applicable to traditional physics-based characters, but also to physics-based characters combined with data-driven. Therefore, in the work of building standing balance for physics-based characters, the inverted pendulum model has always been the mainstream choice.
[0005] In the physical character model driven by IK motion, there is a parent-child relationship between body parts, and the parent and child will affect each other. The hips are the root node of the whole body. When people apply spring force to the feet, the position attributes of the hips will be affected. Since the hips are the parent node, they will in turn affect the position attributes of the feet. This closed-loop effect will cause the body to shake and cannot maintain a stable standing posture, and thus it is impossible to accurately build the standing balance of the virtual person. Summary of the invention
[0006] In order to overcome the shortcomings of the prior art, the present invention provides a support algorithm for a lightweight physical virtual human standing balance, which is used to solve the technical problem that the existing virtual human standing balance control method is prone to underfitting, making it difficult for the virtual human to always maintain a balanced state and restore body balance through body adjustment, thereby achieving the purpose of reducing the underfitting phenomenon of the virtual human and building a generalizable virtual human balance standing system.
[0007] To solve the above problems, the technical solution adopted by the present invention is as follows:
[0008] A support algorithm for standing balance of a lightweight physical virtual human comprises the following steps:
[0009] Acquire the foot state of the virtual person, and determine which foot of the virtual person is to be used for standing posture calculation according to the foot state, and the foot used for standing posture calculation is the target foot;
[0010] Acquire the ground data under the target foot, the lower limb data and the hip data corresponding to the target foot, and calculate the standing hip height of the virtual person;
[0011] stretching the crotch of the virtual person to the height of the crotch of the standing posture, so that the virtual person reaches a standing state;
[0012] A foot motion trajectory curve of the virtual person is generated, and the leg position of the virtual person is adjusted according to the foot motion trajectory curve to restore the balance of the virtual person.
[0013] Preferably, the step of obtaining the foot state of the virtual person and determining which foot of the virtual person is to be used for standing posture calculation according to the foot state comprises:
[0014] If the judgment result is that only one foot is in a state of motion change and off the ground, the stance calculation is performed for the other foot that has not yet undergone motion change;
[0015] If the judgment result is that both feet of the virtual person are in a static and upright state, the standing posture calculation is performed for the foot with a lower ground height.
[0016] Preferably, the step of obtaining the ground data under the target foot, the lower limb data and the hip data corresponding to the target foot, and calculating the standing hip height of the virtual person includes:
[0017] The ground data under the feet refers to the height H of the object under the feet of the target foot, and the lower limb data refers to the leg length L on the side corresponding to the target foot. f , the crotch data refers to the crotch position coordinates P s , the standing hip height h and the standing hip position coordinate P are calculated by equations (1) and (2):
[0018]
[0019] P=(P s .x,R p .y+h,P s .z) (2);
[0020] Wherein, h refers to the height difference between the hips and the ground data under the feet when the virtual person is in a standing state, L sf is the horizontal distance between the hip and the foot, R p It refers to the ground position corresponding to the target foot, whose coordinate y is H.
[0021] Preferably, the step of stretching the virtual person's hips to the standing hip height so that the virtual person reaches a standing state comprises: pulling the virtual person's hips to deviate on a vertical plane until the virtual person reaches a standing state.
[0022] The present invention also provides an algorithm system for balancing a standing posture of a lightweight physical virtual human, comprising:
[0023] A judgment module, used for obtaining the foot state of the virtual person, and judging which foot of the virtual person is to be used for standing posture calculation according to the foot state, and the foot used for standing posture calculation is the target foot;
[0024] A calculation module, used to obtain ground data under the target foot, lower limb data and hip data corresponding to the target foot, and calculate the standing hip height of the virtual person;
[0025] A stretching module, used for stretching the crotch of the virtual person to the height of the crotch of the standing posture, so that the virtual person reaches a standing state;
[0026] The balance module is used to generate a foot motion trajectory curve of the virtual person, and adjust the leg position of the virtual person according to the foot motion trajectory curve to restore the balance of the virtual person.
[0027] Preferably, the judgment module is specifically used for:
[0028] If the judgment result is that only one foot is in a state of motion change and off the ground, the stance calculation is performed for the other foot that has not yet undergone motion change;
[0029] If the judgment result is that both feet of the virtual person are in a static and upright state, the standing posture calculation is performed for the foot with a lower ground height.
[0030] Preferably, the computing module is specifically used for:
[0031] The ground data under the feet refers to the height H of the object under the feet of the target foot, and the lower limb data refers to the leg length L on the side corresponding to the target foot. f , the crotch data refers to the crotch position coordinates P s , the standing hip height h is calculated by equations (1) and (2):
[0032]
[0033] P=(P s .x,R p .y+h,P s .z) (2);
[0034] The standing hip height h refers to the height difference between the hips and the ground data under the feet when the virtual person is in a standing state, L sf is the horizontal distance between the hip and the foot, R p It refers to the ground position corresponding to the target foot, and P is the calculated standing hip position coordinate.
[0035] Preferably, the stretching module is specifically used to pull the hips of the virtual person to offset on a vertical plane until the virtual person reaches a standing state.
[0036] Compared with the prior art, the present invention has at least the following advantages:
[0037] The present invention divides the three-dimensional space into horizontal position and vertical height, couples and reconstructs the two behaviors of standing and maintaining balance, and controls the position of the body's hips. In this process, the standing posture behavior is discussed, and different standing posture behaviors are analyzed, such as standing on one foot, standing with both legs upright, kneeling on one knee, etc., and the action of restoring balance is designed according to different standing posture behaviors. Not only different balance judgment methods are designed, but also the method of restoring body balance by generating motion trajectories with feet [Bruijn 2018] is referred to. The method of the present invention brings new ideas and methods to the field of standing balance control of physics-based characters.
[0038] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 It is a schematic diagram of the supporting algorithm before, after and after calculation of an embodiment of the present invention;
[0040] Figure 2 is the ground height of H in the real environment according to the embodiment of the present invention;
[0041] Figure 3This is a rendering of the virtual human of the embodiment of the present invention selecting the correct foot for support when in motion;
[0042] Figure 4 This is a rendering of an embodiment of the present invention in which a virtual human in a dynamic state selects an incorrect foot for support;
[0043] Figure 5 This is a rendering of the virtual human in an embodiment of the present invention selecting the correct foot for support when in a static state;
[0044] Figure 6 This is a rendering of an embodiment of the present invention in which a virtual human in a static state selects an incorrect foot for support;
[0045] Figure 7 This is an experimental effect diagram of the standing balance of a lightweight physical virtual human according to an embodiment of the present invention;
[0046] Figure 8 It is the height change curve of the virtual person's ankle when the foot is lifted and landed;
[0047] Fig. 9 It is a flow chart of a support algorithm for a lightweight physical virtual human standing balance according to an embodiment of the present invention. DETAILED DESCRIPTION
[0048] Embodiment 1:
[0049] This embodiment provides a support algorithm based on lightweight physical virtual human standing balance. The algorithm steps are as follows: Fig. 9 As shown, including:
[0050] Step S1: obtaining the foot movement state of the virtual person and determining whether the virtual person is in a moving state;
[0051] Step S2: If the judgment result is yes, then obtain the non-moving foot, which is the foot in a stationary state, i.e., the first target foot; if not, i.e., both feet are in a stationary state, then identify the foot whose sole is in contact with the lower ground, i.e., the second target foot;
[0052] Step S3: Calculate the standing hip height of the virtual person using the height data of the object surface contacted by the sole of the first target foot or the second target foot, the hip position data, and the lower limb data corresponding to the first target foot or the second target foot;
[0053] Step S4: Pull the hips of the virtual person until the virtual person reaches a standing state: pull the hips of the virtual person to offset on the vertical plane until the virtual person reaches a standing state.
[0054] Step S5: generating a foot motion trajectory curve of the virtual person, and adjusting the leg position of the virtual person according to the foot motion trajectory curve to restore the balance of the virtual person.
[0055] The purpose of generating the virtual person's foot motion trajectory curve is to move or restore balance. The foot is still is a foot state. Whether to generate a curve is determined based on the body state. The foot state is only one of the judgments of the body state and does not make a decision. Therefore, the foot is "currently" still, which does not affect the body state's decision to move the foot or hip, and does not cause the foot or hip to change from "still" to "moving". The foot state is also constantly affecting the body's decision.
[0056] The standing hip height h and the standing hip position coordinate P of the virtual person in step 3 are specifically calculated by the following method:
[0057]
[0058] P=(P s .x,R p .y+h,P s .z) (2);
[0059] Where h is the height difference between the hip and foot, that is, the vertical height from the target foot to the hip, L sf is the horizontal distance between the hip and foot, L f is leg length, P s is the hip position data before calculation, R p It refers to the ground position corresponding to the target foot, and its coordinate y is the height H of the object touched by the target foot, and P is the calculated coordinate of the standing hip position.
[0060] in Figure 1 is a flow chart of a supporting algorithm according to an embodiment of the present invention, Figure 1 (a) is the data that needs to be obtained in the initial state without support algorithm processing, as shown in formula 1:
[0061]
[0062] Furthermore, the present invention calculates the hip position data, specifically, Figure 1 (b) is a schematic diagram of data calculation when the virtual human is supported, and the specific calculation method of the standing hip position coordinate P is shown in Formula 2:
[0063] P=(P s .x,R p .y+h,P s .z) (2);
[0064] Where h is the height difference between hip and foot, Lsf is the horizontal distance between the hip and foot, L f is leg length, P s is the hip position data before calculation, R p Refers to the ground position corresponding to the target foot.
[0065] When the support algorithm is calculated, the virtual human will provide support. Figure 1 (c) as shown.
[0066] Figure 3 This is the effect of selecting the correct foot for support when the virtual human in the embodiment of the present invention is in motion. Generally, using the foot that is not moving for support processing can make the picture reasonable, while the effect of using the foot that is moving for support algorithm unreasonably is as follows Figure 4 As shown, it causes the movement of the virtual person to be squeezed downward, and the original movement posture of the virtual person is lost, so a static foot needs to be selected for support.
[0067] Figure 5 1 is a rendering of a virtual human in a static state of the present invention using the correct foot for support. The virtual human with a reasonable height under the ground and a relatively low height under the feet can maintain a stable balance in the picture, while the virtual human with an incorrect height under the ground and a relatively low height under the feet can maintain a stable balance in the picture. Figure 6 As shown, a higher ground height is used for calculation, so the standing posture is generally unreasonable, especially when the center of gravity of the body is not on one foot.
[0068] Figure 7 This is the experimental effect of the standing balance of a lightweight physical virtual human according to an embodiment of the present invention, and is the screen effect when the virtual human is actually standing.
[0069] Embodiment 2:
[0070] This embodiment provides a system for implementing the support algorithm based on lightweight physical virtual human standing balance described in Embodiment 1, which specifically includes:
[0071] A judgment module, used for obtaining the foot state of the virtual person, and judging which foot of the virtual person is to be used for standing posture calculation according to the foot state, and the foot used for standing posture calculation is the target foot;
[0072] A calculation module, used to obtain ground data under the target foot, lower limb data and hip data corresponding to the target foot, and calculate the standing hip height of the virtual person;
[0073] A stretching module, used for stretching the crotch of the virtual person to the height of the crotch of the standing posture, so that the virtual person reaches a standing state;
[0074] The balance module is used to generate a foot motion trajectory curve of the virtual person, and adjust the leg position of the virtual person according to the foot motion trajectory curve to restore the balance of the virtual person.
[0075] The judgment module is specifically used for:
[0076] If the judgment result is that only one foot is in a state of motion change and off the ground, the stance calculation is performed for the other foot that has not yet undergone motion change;
[0077] If the judgment result is that both feet of the virtual person are in a static and upright state, the standing posture calculation is performed for the foot with a lower ground height.
[0078] The computing module is specifically used for:
[0079] The ground data under the feet refers to the height H of the object under the feet of the target foot, and the lower limb data refers to the leg length L on the side corresponding to the target foot. f , the crotch data refers to the crotch position coordinates P s , the standing hip height h and the standing hip position coordinate P are calculated by equations (1) and (2):
[0080]
[0081] P=(P s .x,R p .y+h,P s .z) (2);
[0082] Wherein, h refers to the height difference between the hips and the ground data under the feet when the virtual person is in a standing state, L sf is the horizontal distance between the hip and the foot, R p It refers to the ground position corresponding to the target foot, and its coordinate y is the height H of the object touched by the foot.
[0083] The stretching module is specifically used to pull the hips of the virtual person to deviate on the vertical plane until the virtual person reaches a standing state.
[0084] The above-mentioned embodiments are only preferred embodiments of the present invention and cannot be used to limit the scope of protection of the present invention. Any non-substantial changes and substitutions made by technicians in this field on the basis of the present invention shall fall within the scope of protection required by the present invention.
Claims
1. A support algorithm for standing balance of lightweight physical virtual human, characterized in that: The following steps are involved: Acquire the foot state of the virtual person, and determine which foot of the virtual person is to be used for standing posture calculation according to the foot state, and the foot used for standing posture calculation is the target foot; Acquire the ground data under the target foot, the lower limb data and the hip data corresponding to the target foot, and calculate the standing hip height of the virtual person; stretching the crotch of the virtual person to the height of the crotch of the standing posture, so that the virtual person reaches a standing state; A foot motion trajectory curve of the virtual person is generated, and the leg position of the virtual person is adjusted according to the foot motion trajectory curve to restore the balance of the virtual person.
2. The support algorithm based on lightweight physical virtual human standing balance according to claim 1 is characterized in that: The step of obtaining the foot state of the virtual person and determining which foot of the virtual person is to be used for standing posture calculation according to the foot state includes: If the judgment result is that only one foot is in a state of motion change and off the ground, the stance calculation is performed for the other foot that has not yet undergone motion change; If the judgment result is that both feet of the virtual person are in a static and upright state, the standing posture calculation is performed for the foot with a lower ground height.
3. The support algorithm based on lightweight physical virtual human standing balance according to claim 1 is characterized in that: The step of obtaining the ground data under the target foot, the lower limb data and the hip data corresponding to the target foot, and calculating the standing hip height of the virtual person includes: The ground data under the feet refers to the height H of the object under the feet of the target foot, and the lower limb data refers to the leg length L on the side corresponding to the target foot. f The hip data refers to the hip position coordinates P corresponding to the target foot before calculation. s , the virtual person's standing hip height h and standing hip position coordinates P are calculated by equations (1) and (2): P=(P s .x,R p .y+h,P s .z) (2); Wherein, h refers to the height difference between the hips and the ground data under the feet when the virtual person is in a standing state, L sf is the horizontal distance between the hip and the foot, R p It refers to the ground position corresponding to the target foot, and its coordinate in the y direction is the H.
4. The support algorithm based on lightweight physical virtual human standing balance according to claim 1 is characterized in that: The stretching of the virtual person's hips to the standing hip height so that the virtual person reaches a standing state includes: pulling the virtual person's hips to deviate on a vertical plane until the virtual person reaches a standing state.
5. An algorithm system for standing balance of lightweight physical virtual human, characterized by: include: A judgment module, used for obtaining the foot state of the virtual person, and judging which foot of the virtual person is to be used for standing posture calculation according to the foot state, and the foot used for standing posture calculation is the target foot; A calculation module, used to obtain ground data under the target foot, lower limb data and hip data corresponding to the target foot, and calculate the standing hip height of the virtual person; A stretching module, used for stretching the crotch of the virtual person to the height of the crotch of the standing posture, so that the virtual person reaches a standing state; The balance module is used to generate a foot motion trajectory curve of the virtual person, and adjust the leg position of the virtual person according to the foot motion trajectory curve to restore the balance of the virtual person.
6. The algorithm system for lightweight physical virtual human standing balance according to claim 5 is characterized in that: The judgment module is specifically used for: If the judgment result is that only one foot is in a state of motion change and off the ground, the stance calculation is performed for the other foot that has not yet undergone motion change; If the judgment result is that both feet of the virtual person are in a static and upright state, the standing posture calculation is performed for the foot with a lower ground height.
7. The algorithm system for lightweight physical virtual human standing balance according to claim 5 is characterized in that: The computing module is specifically used for: The ground data under the feet refers to the height H of the object under the feet of the target foot, and the lower limb data refers to the leg length L on the side corresponding to the target foot. f The crotch data refers to the crotch position coordinates P s , the standing hip height h and the standing hip position coordinate P are calculated by equations (1) and (2): P=(P s .x,R p .y+h,P s .z) (2); Wherein, h refers to the height difference between the hips and the ground data under the feet when the virtual person is in a standing state, L sf is the horizontal distance between the hip and the foot, R p refers to the ground position corresponding to the target foot, and its coordinate in the y direction is the H.
8. The algorithm system based on lightweight physical virtual human standing balance according to claim 5 is characterized in that: The stretching module is specifically used to pull the hips of the virtual person to deviate on the vertical plane until the virtual person reaches a standing state.