Virtual human hand control method and device, electronic equipment and storage medium

By detecting and adjusting the contact point pairs in the hand movements of virtual humans, the problem of virtual humans passing through the mold in the self-interaction scene in the prior art is solved, and a more natural and accurate hand movement is achieved.

CN119179385APending Publication Date: 2024-12-24BEIJING JULI DIMENSION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411115240.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-14
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

Existing motion capture technology cannot effectively avoid the problem of mold penetration when dealing with human self-interaction scenarios, resulting in inaccurate and unnatural virtual human movements.

Method used

By detecting the contact point pairs during hand movements, the target contact point pairs with mold penetration phenomenon are screened out, and the movement trajectory of the hand bones is adjusted based on the target state and contact point pairs of the hand bones to overcome the mold penetration phenomenon. Ensure the naturalness and consistency of hand movements.

Benefits of technology

It improves the accuracy and naturalness of virtual human hand movements, and solves the problem of unnatural movements caused by the mold penetration phenomenon.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119179385A_ABST
    Figure CN119179385A_ABST
Patent Text Reader

Abstract

The invention discloses a virtual human hand control method and device, electronic equipment and a storage medium, and the method comprises the steps: in the execution process according to a target action, detecting at least one group of contact point pairs in the hand action process, and each group of contact point pairs comprises the positions of two mutual contact points; according to the position distance of each group of contact point pairs, screening target contact point pairs with a mode penetrating phenomenon from at least one group of contact point pairs; and the motion trail of the hand skeleton is adjusted based on the target state and the target contact point pair of the hand skeleton, so that the unnatural action caused by a mold penetrating phenomenon is overcome, the naturalness and consistency of the hand action are ensured, and the accuracy of the hand action is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, device, electronic device and storage medium for controlling a virtual human's hand. Background Art

[0002] In the process of motion capture and driving of virtual humans, two-hand interaction is an extremely common phenomenon. However, due to the inconsistency between the actual person performing the action (that is, the capturer) and the virtual human's body shape, the virtual human will make inaccurate or even physically untrue movements when the capturer makes certain movements. For example, the capturer's hands are in contact but the virtual human's hands are not, or the capturer's limbs cannot penetrate the body and the virtual human will have a penetration problem.

[0003] Currently, commonly used motion capture technologies include optical motion capture, inertial motion capture, etc. Although these motion capture technologies can accurately capture human body movements, for self-interaction scenarios of human movements, such as touching the body with hands, current motion capture technologies still cannot avoid the problem of model penetration caused by self-interaction. Summary of the invention

[0004] The purpose of the present application is to propose a virtual human hand control method, device, electronic device and storage medium to address the deficiencies of the above-mentioned prior art, and this purpose is achieved through the following technical solutions.

[0005] The first aspect of the present application proposes a method for controlling a hand of a virtual human, the method comprising:

[0006] During the execution of the target action, detecting at least one set of contact point pairs during the hand action, each set of the contact point pairs including positions of two mutual contact points;

[0007] According to the position distance of each group of contact point pairs, a target contact point pair with a mold penetration phenomenon is selected from the at least one group of contact point pairs;

[0008] Based on the target state of the hand skeleton and the target contact point pair, the motion trajectory of the hand skeleton is adjusted, wherein the target state is a state that the hand skeleton needs to reach according to the target action.

[0009] The second aspect of the present application provides a hand control device for a virtual person, the device comprising:

[0010] A collision detection module, used for detecting at least one group of contact point pairs in the hand movement process during the execution of the target movement, each group of contact point pairs including the positions of two mutual contact points;

[0011] A collision screening module, used for screening target contact point pairs with a mold penetration phenomenon from the at least one group of contact point pairs according to the position distance of each group of contact point pairs;

[0012] The adjustment module is used to adjust the motion trajectory of the hand bones based on the target state of the hand bones and the target contact point pair, wherein the target state is the state that the hand bones need to reach according to the target action.

[0013] The third aspect of the present application proposes an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described in the first aspect above.

[0014] A fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the method described in the first aspect above.

[0015] Based on the above-mentioned virtual human hand control method, device, electronic device and storage medium, the present application has at least the following beneficial effects or advantages:

[0016] When the virtual human is executing the captured human's movements, it detects at least one set of contact point pairs in the hand movement in real time, and then selects the target contact point pairs with penetration phenomenon according to the position distance of each set of contact point pairs. Based on the target state and target contact point pairs of the hand bones, the movement trajectory of the hand bones is adjusted to overcome the unnatural movements caused by the penetration phenomenon, ensure the naturalness and consistency of the hand movements, and thus improve the accuracy of the hand movements.

[0017] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0019] Figure 1 The present invention is a flowchart of an embodiment of a method for controlling a hand of a virtual person according to an exemplary embodiment;

[0020] Figure 2 is a schematic structural diagram of a hand control device for a virtual human according to an exemplary embodiment;

[0021] Figure 3 is a schematic diagram of a hardware structure of an electronic device according to an exemplary embodiment;

[0022] Figure 4 The figure is a schematic diagram of the structure of a storage medium according to an exemplary embodiment. DETAILED DESCRIPTION

[0023] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of systems and methods consistent with some aspects of the present application as detailed in the appended claims.

[0024] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0025] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0026] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0027] Among existing motion capture solutions, optical motion capture (such as the Vicon system) accurately captures human motion by synchronizing multiple industrial camera arrays and reflective balls, but it still has limitations for self-interaction scenarios of human motion. For example, touching the body still requires complex manual post-processing to fix the problem, and the cost is high. Inertial motion capture uses inertial capture units to fix key parts of the body. Compared with optical systems, it is easier to operate, but it is greatly affected by environmental magnetic fields and device signal interference, which can easily lead to accumulation of capture errors and cannot effectively solve the physical collision and penetration problems caused by interaction. In addition, vision-based motion capture solutions (such as a combination of multiple RGB or RGBD cameras) are also limited in capture accuracy and range of motion, especially when dealing with complex human interaction movements.

[0028] Although these current solutions have improved the accuracy and efficiency of capturing human motions, they still have certain limitations in dealing with complex human interaction scenarios.

[0029] Based on this, the present application proposes a method for controlling the hand of a virtual human. In the process of executing the action of capturing a human, the virtual human detects at least one group of contact point pairs in the hand action process in real time, and then screens out the target contact point pairs with the penetration phenomenon according to the position distance of each group of contact point pairs, and adjusts the movement trajectory of the hand bones based on the target state and target contact point pairs of the hand bones to overcome the unnatural movements caused by the penetration phenomenon, ensure the naturalness and consistency of the hand movements, and thus improve the accuracy of the hand movements.

[0030] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The several specific embodiments listed can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0031] Figure 1 FIG. 1 is a flow chart of an embodiment of a method for controlling a hand of a virtual person according to an exemplary embodiment. The embodiment uses the control system of the virtual person as the execution body to explain the method for controlling the hand. Figure 1 As shown, the following steps 101 to 103 are included:

[0032] Step 101: During the execution of the target action, at least one group of contact point pairs in the hand action is detected, each group of contact point pairs including positions of two mutual contact points;

[0033] Step 102: selecting a target contact point pair with a mold penetration phenomenon from the at least one group of contact point pairs according to the position distance of each group of contact point pairs;

[0034] Step 103: Based on the target state of the hand skeleton and the target contact point pair, the motion trajectory of the hand skeleton is adjusted. The target state is the state that the hand skeleton needs to reach according to the target action.

[0035] The target action can be understood as the action made by the human body captured by the control system. The target action can be a self-interactive action, such as touching the shoulder with the hand, touching the hands, etc. The control system will control the movement of various body parts of the virtual person according to the target action to complete the captured action, such as using physical simulation software to simulate the hand action to ensure that the behavior of the hand during the action conforms to the laws of physics.

[0036] A contact point pair can be understood as a combination of surface points where the virtual human's hands interact and collide, or a combination of surface points where the virtual human's hands and body interact and collide. Therefore, by detecting the contact point pairs of the hands, the hand shape in the process of executing the target action can be characterized. The positions of the two contact points in each contact point pair can be represented by three-dimensional coordinates. Since the contact point pair is a combination of contact points where the hands interact or a combination of contact points where the hands interact with the body, at least one contact point in each contact point pair is a surface point belonging to the hand.

[0037] The position distance can be understood as the distance between the positions of the two contact points in the contact point pair. If the position distance is around 0, it can indicate normal contact. If the position distance is greater than 0 and exceeds a certain threshold, it can indicate that there is no real contact. If the position distance is less than 0 and exceeds a certain threshold, it can indicate that penetration has occurred.

[0038] The phenomenon of penetration can be understood as the situation where the hands of virtual people or the hands and body pass through each other during the interaction process, instead of correctly contacting or avoiding each other according to the real physical laws.

[0039] The hand skeleton can be understood as a series of connected bones used to simulate various hand movements, usually including fingers, palms and forearms. The control system simulates the movement and posture of the hand by controlling the hand skeleton system. Since each bone is usually associated with the skin mesh of the virtual human model, the movement of the skeleton can affect the shape and texture of the skin surface. It can be seen that by adjusting the movement of the hand skeleton as a control parameter, the position of the hand contact point can be controlled to change accordingly.

[0040] The target state can be understood as the final posture that the control system sets for the hand bones according to the target action. The target state may include the bone position and bone angle, etc.

[0041] At this point, the above Figure 1The hand control process of the virtual human shown in the figure, when the virtual human executes the action according to the captured human, it detects at least one group of contact point pairs in the hand movement process in real time, and then selects the target contact point pairs with the penetration phenomenon according to the position distance of each group of contact point pairs, and adjusts the movement trajectory of the hand bones based on the target state and target contact point pairs of the hand bones to overcome the unnatural movement caused by the penetration phenomenon, ensure the naturalness and consistency of the hand movement, and thus improve the accuracy of the hand movement.

[0042] In an optional embodiment of the present application, detecting at least one group of contact point pairs during the hand movement process in the above-mentioned step 101 includes: obtaining surface points of the hand in the human body model of the virtual person, and based on the obtained surface points of the hand, extracting at least one group of contact point pairs during the hand movement process, at least one contact point in each group of contact point pairs belongs to the surface points of the hand.

[0043] Among them, the surface points of the hand in the human body model, namely the epidermal points, can reflect the shape and texture of the hand surface, and the acquisition methods thereof may include but are not limited to acquisition by three-dimensional scanning, generative modeling, extraction from two-dimensional image data, and direct extraction from the data of the human body model.

[0044] When extracting contact point pairs during hand movements based on the acquired surface points of the hand, a collision detection algorithm can be used to monitor whether a collision occurs on the hand surface. At least one set of contact point pairs can be obtained based on the collision detection results and combined with the acquired surface points of the hand. Through these contact point pairs, the relative position and deformation of the hands in space can be understood.

[0045] In this embodiment, all surface points reflecting the shape and details of the hand are obtained, and at least one group of contact point pairs of the hand are extracted based on all the obtained surface points. These contact point pairs can well reflect the changes in hand shape.

[0046] In an optional embodiment of the present application, in the above step 102, according to the position distance of each group of contact point pairs, target contact point pairs with penetration phenomenon are screened from the at least one group of contact point pairs, including: selecting candidate contact point pairs that meet physical prior conditions in at least one group of contact point pairs, where the physical prior conditions are contact conditions that will not occur in actual actions, obtaining a contact threshold corresponding to the hand shape currently used by the virtual person, and screening contact point pairs with a position distance less than the contact threshold from the candidate contact point pairs as target contact point pairs, where the contact threshold is a distance threshold for the contact point pairs starting to have the penetration problem.

[0047] Physical prior conditions can be understood as a kind of prior knowledge, which means that the range and direction of hand movement must conform to the natural structure and movement limitations of the human body to avoid unnatural movements. By using physical prior conditions to filter out surface point pairs that are unlikely to produce contact among the detected contact point pairs, subsequent redundant calculations can be reduced.

[0048] The contact threshold can ensure the accuracy and reliability of collision detection. Considering the specific characteristics and physical properties of different hand shapes, such as hand size, finger length and thickness, which will affect the movement characteristics of the hand, different contact thresholds are set for different hand shapes to ensure the accuracy of the detection results.

[0049] Specifically, the contact threshold is a value less than 0, and different hand shapes have different set values.

[0050] In this embodiment, by using physical prior conditions to screen out surface point pairs that are impossible to make contact, subsequent redundant calculations can be reduced, and then the contact threshold of the current hand shape is used to screen out target contact point pairs with penetration, thereby ensuring the accuracy of the detection results. In addition, since the contact threshold is reasonably set based on the physical properties of the hand shape, different hand shapes correspond to different contact thresholds, and therefore the present application can be applied to different hand shapes.

[0051] In an embodiment of the present application, fine semantic segmentation is performed on the hands of a virtual person so that real hand movements can be more accurately simulated and reproduced during complex interactions. Therefore, the surface points of the hands can be divided into multiple semantic blocks: fingers, palms, backs of hands and arms, among which the semantic blocks of fingers include four semantic blocks of thumb, index finger, middle finger, ring finger and little finger.

[0052] Furthermore, the physical prior conditions may include that surface points of the same semantic block do not touch each other, and surface points of fingers do not touch surface points of the back of the hand.

[0053] That is to say, the surface points of the same semantic block should not self-collide or self-penetrate during the movement. For example, the surface points within the semantic block of the thumb should not overlap or penetrate each other under any action. This prior condition ensures that each finger maintains consistency and rationality during the movement, avoiding unnatural deformation and penetration.

[0054] Based on the natural limitations of human movements, it is set that fingers should not come into contact or collide with the back of the hand during movement. This means that the range and direction of finger movement must conform to the natural structure and movement limitations of the human body to avoid unnatural movements. This can prevent unreasonable deformation of the fingers when performing complex movements, ensuring the authenticity and rationality of the movements.

[0055] In an optional embodiment of the present application, the above-mentioned step 103 adjusts the motion trajectory of the hand skeleton based on the target state of the hand skeleton and the target contact point pair, including: converting the position of the contact point belonging to the hand in the target contact point pair from the world coordinate system to the local coordinate system of the hand, and then determining the expected position of the contact point belonging to the hand in the target contact point pair in the local coordinate system according to the target state of the hand skeleton, and adjusting the motion trajectory of the hand skeleton according to the position error between the position of the contact point in the local coordinate system and the expected position.

[0056] The world coordinate system can be understood as the camera coordinate system of the virtual person. The coordinates of the contact point in the world coordinate system are absolute representations, that is, the absolute relationship of the contact point relative to the camera.

[0057] The local coordinate system can be understood as a three-dimensional coordinate system established based on a certain part of the hand (such as the wrist), which is used to realize the local representation of the surface points of the hand, that is, the relative relationship of the surface points to the surrounding adjacent surface points. By converting the position of the contact point of the hand from the absolute coordinate representation in the world coordinate system to the local coordinate representation in the local coordinate system, the relative position relationship of the hand can be well reflected, thereby achieving the decoupling of action and hand shape.

[0058] The expected position can be understood as the position where the contact point needs to be as close as possible. The expected position is determined by the target state of the hand skeleton, which represents the hand skeleton posture required for the target action and may include the skeleton position and skeleton angle.

[0059] The position of the contact point belonging to the hand in the target contact point pair is the actual position of the hand surface point. The position error can be understood as a quantitative representation of the difference between the expected position and the actual position. Through the position error, the movement trajectory of the hand bones is adjusted to reduce the position error between the expected position and the actual position.

[0060] The motion trajectory of the hand skeleton may be a trajectory sequence consisting of multiple sets of bone positions and bone angles.

[0061] In this embodiment, the target state of the hand skeleton is used to calculate the expected position of the contact point belonging to the hand in the target contact point pair in the local coordinate system. According to the position error between the expected position and the actual position in the same space, the movement trajectory of the hand skeleton is adjusted so that the surface point of the hand is as close to the expected position as possible, thereby achieving a natural movement effect.

[0062] In an optional embodiment of the present application, the motion trajectory of the hand skeleton is adjusted according to the position error between the position of the contact point in the local coordinate system and the expected position, including: calculating the sum of the squares of the distances between the position of the contact point belonging to the hand in the target contact point pair in the local coordinate system and the expected position as the position error, and when the position error exceeds a preset threshold, adjusting the motion trajectory of the hand skeleton according to the position error, and returning to the step of calculating the sum of the squares of the distances between the position of the contact point belonging to the hand in the target contact point pair in the local coordinate system and the expected position as the position error. The change in the motion trajectory of the hand skeleton will cause the position of the contact point belonging to the hand in the target contact point pair to change accordingly.

[0063] Based on the above adjustment process, it can be seen that by calculating the sum of the squares of the distances between the actual position and the expected position, various noise and uncertainty factors can be effectively handled to ensure the accuracy of the error calculation. By minimizing the position error between the actual position and the expected position, the motion trajectory of the hand bones is continuously adjusted to achieve repositioning of the hand movements and ensure the accuracy and naturalness of the hand movements.

[0064] It should be noted that a deformable 3D voxel envelope can also be constructed for each semantic block. The 3D voxel envelope is a 3D model represented by volume pixels, which can flexibly adapt to various shape changes. Based on this, when a target contact point pair with a penetration phenomenon is screened, the penetration problem can be corrected by adjusting the distance between the 3D voxel envelopes of the semantic block to which the target contact point pair belongs.

[0065] Corresponding to the above-mentioned embodiment of the method for controlling a virtual human hand, the present application also provides an embodiment of a device for controlling a virtual human hand.

[0066] Figure 2 FIG. 1 is a schematic diagram of a structure of a virtual human hand control device according to an exemplary embodiment. The device is used to execute the virtual human hand control method provided in any of the above embodiments. Figure 2 As shown, the hand control device of the virtual person includes:

[0067] A collision detection module 210, configured to detect at least one set of contact point pairs during the hand motion process, each set of contact point pairs including positions of two mutual contact points;

[0068] A collision screening module 220, configured to screen target contact point pairs with a mold penetration phenomenon from the at least one group of contact point pairs according to the position distance of each group of contact point pairs;

[0069] The adjustment module 230 is used to adjust the motion trajectory of the hand skeleton based on the target state of the hand skeleton and the target contact point pair, wherein the target state is the state that the hand skeleton needs to reach according to the target action.

[0070] In an optional implementation, the collision detection module 210 is specifically used to obtain the surface points of the hand in the human body model of the virtual person; based on the obtained surface points of the hand, a preset collision detection method is used to extract at least one group of contact point pairs in the hand movement process; at least one contact point in each group of the contact point pairs belongs to the surface points of the hand.

[0071] In an optional implementation, the collision screening module 220 is specifically used to select candidate contact point pairs that meet physical prior conditions from the at least one group of contact point pairs; the physical prior conditions are contact conditions that will not occur in actual actions; obtain a contact threshold corresponding to the hand shape currently used by the virtual person; screen contact point pairs whose position distance is less than the contact threshold from the candidate contact point pairs as the target contact point pairs; the contact threshold is the distance threshold at which the contact point pairs begin to have a mold penetration problem.

[0072] In an optional implementation, the hand is divided into four semantic blocks: fingers, palm, back of hand and arm, and the physical prior conditions include that surface points of the same semantic block do not touch, and surface points of fingers do not touch surface points of the back of hand.

[0073] In an optional implementation, the adjustment module 230 is specifically used to convert the position of the contact point belonging to the hand in the target contact point pair from the world coordinate system to the local coordinate system of the hand; determine the expected position of the contact point belonging to the hand in the target contact point pair in the local coordinate system according to the target state of the hand skeleton; and adjust the movement trajectory of the hand skeleton according to the position error between the position of the contact point belonging to the hand in the target contact point pair in the local coordinate system and the expected position.

[0074] In an optional implementation, the adjustment module 230 is specifically used to calculate the sum of squares of distances between the positions of the contact points belonging to the hand in the target contact point pair in the local coordinate system and the expected position as the position error during the process of adjusting the motion trajectory of the hand skeleton according to the position error between the positions of the contact points belonging to the hand in the target contact point pair in the local coordinate system and the expected position; when the position error exceeds a preset threshold, adjust the motion trajectory of the hand skeleton according to the position error, and return to execute the step of calculating the sum of squares of distances between the positions of the contact points belonging to the hand in the target contact point pair in the local coordinate system and the expected position as the position error; wherein, the change of the motion trajectory of the hand skeleton will cause the position of the contact points belonging to the hand in the target contact point pair to change accordingly.

[0075] The implementation process of the functions and effects of each unit in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.

[0076] For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can refer to the partial description of the method embodiment. The device embodiment described above is only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application scheme. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0077] The embodiment of the present application also provides an electronic device corresponding to the virtual human hand control method provided in the aforementioned embodiment, so as to execute the aforementioned virtual human hand control method.

[0078] Figure 3 6 is a hardware structure diagram of an electronic device according to an exemplary embodiment, the electronic device includes: a communication interface 601, a processor 602, a memory 603 and a bus 604; wherein the communication interface 601, the processor 602 and the memory 603 communicate with each other through the bus 604. The processor 602 can execute the virtual human hand control method described above by reading and executing the machine executable instructions corresponding to the control logic of the virtual human hand control method in the memory 603. The specific content of the method is referred to the above embodiment, which will not be repeated here.

[0079] The memory 603 mentioned in this application can be any electronic, magnetic, optical or other physical storage system, and can contain storage information, such as executable instructions, data, etc. Specifically, the memory 603 can be RAM (Random Access Memory), flash memory, storage drive (such as hard disk drive), any type of storage disk (such as optical disk, DVD, etc.), or similar storage medium, or a combination thereof. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 601 (which can be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. can be used.

[0080] The bus 604 may be an ISA bus, a PCI bus or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. The memory 603 is used to store programs, and the processor 602 executes the programs after receiving execution instructions.

[0081] Processor 602 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in processor 602 or an instruction in software form. The above-mentioned processor 602 can be a general-purpose processor, including a network processor (Network Processor, referred to as NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a readily available programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The disclosed methods, steps and logic block diagrams in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor are combined to execute.

[0082] The electronic device provided in the embodiment of the present application and the hand control method of a virtual person provided in the embodiment of the present application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by them.

[0083] The present application also provides a computer-readable storage medium corresponding to the virtual human hand control method provided in the above embodiment. Figure 4 As shown, the computer-readable storage medium shown is a CD 30 on which a computer program (ie, a program product) is stored. When the computer program is run by a processor, the virtual human hand control method provided in any of the aforementioned embodiments will be executed.

[0084] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical or magnetic storage media, which are not listed here one by one.

[0085] The computer-readable storage medium provided in the above-mentioned embodiments of the present application and the virtual human hand control method provided in the embodiments of the present application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the application programs stored therein.

[0086] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the following claims.

[0087] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0088] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A method for controlling a virtual human hand, characterized in that: The method comprises: During the execution of the target action, detecting at least one group of contact point pairs during the hand action, each group of the contact point pairs including positions of two mutual contact points; According to the position distance of each group of contact point pairs, a target contact point pair with a mold penetration phenomenon is selected from the at least one group of contact point pairs; Based on the target state of the hand skeleton and the target contact point pair, the motion trajectory of the hand skeleton is adjusted, wherein the target state is a state that the hand skeleton needs to reach according to the target action.

2. The method according to claim 1, characterized in that The at least one set of contact point pairs in the process of detecting the hand movement includes: Obtaining surface points of the hands in the human body model of the virtual person; Based on the acquired surface points of the hand, at least one group of contact point pairs in the hand movement process is extracted; at least one contact point in each group of the contact point pairs belongs to the surface points of the hand.

3. The method according to claim 1, characterized in that The step of selecting target contact point pairs with a mold penetration phenomenon from the at least one group of contact point pairs according to the position distance of each group of contact point pairs includes: Selecting a candidate contact point pair that meets a physical priori condition from the at least one group of contact point pairs; the physical priori condition is a contact condition that will not occur in an actual action; Obtaining a contact threshold corresponding to the hand shape currently used by the virtual person; A contact point pair whose position distance is less than the contact threshold is selected from the candidate contact point pairs as the target contact point pair; the contact threshold is a distance threshold at which the contact point pair begins to have a mold penetration problem.

4. The method according to claim 3, characterized in that The hand is divided into four semantic blocks: fingers, palm, back of hand and arm. The physical prior conditions include that surface points of the same semantic block do not touch each other, and surface points of fingers do not touch surface points of back of hand.

5. The method according to claim 1, characterized in that The step of adjusting the motion trajectory of the hand skeleton based on the target state of the hand skeleton and the target contact point pair includes: Converting the position of the contact point belonging to the hand in the target contact point pair from the world coordinate system to the local coordinate system of the hand; Determining, according to the target state of the hand skeleton, an expected position of the contact point belonging to the hand in the target contact point pair in the local coordinate system; The motion trajectory of the hand skeleton is adjusted according to a position error between a position of a contact point belonging to the hand in the target contact point pair in the local coordinate system and the expected position.

6. The method according to claim 5, characterized in that The step of adjusting the motion trajectory of the hand skeleton according to a position error between a position of a contact point belonging to the hand in the target contact point pair in the local coordinate system and the expected position comprises: Calculating the sum of squares of distances between the position of the contact point belonging to the hand in the target contact point pair in the local coordinate system and the expected position as the position error; In the case where the position error exceeds a preset threshold, adjusting the motion trajectory of the hand skeleton according to the position error, and returning to the step of calculating the sum of squares of distances between the positions of the contact points belonging to the hand in the target contact point pair in the local coordinate system and the expected positions as the position error; The change of the movement trajectory of the hand skeleton will cause the position of the contact point belonging to the hand in the target contact point pair to change accordingly.

7. A hand control device for a virtual person, characterized in that: The device comprises: A collision detection module, used for detecting at least one group of contact point pairs in the hand movement process during the execution of the target movement, each group of contact point pairs including the positions of two mutual contact points; A collision screening module, used for screening target contact point pairs with a mold penetration phenomenon from the at least one group of contact point pairs according to the position distance of each group of contact point pairs; The adjustment module is used to adjust the motion trajectory of the hand bones based on the target state of the hand bones and the target contact point pair, wherein the target state is the state that the hand bones need to reach according to the target action.

8. The device according to claim 7, characterized in that The collision detection module is specifically used to obtain surface points of the hand in the human body model of the virtual person; based on the obtained surface points of the hand, at least one set of contact point pairs in the hand movement process is extracted using a preset collision detection method; At least one contact point in each set of the contact point pairs belongs to a surface point of the hand.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: The processor executes the program to implement the method according to any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the method according to any one of claims 1 to 6.