Handheld object position determination method, electronic device, storage medium, and program product

CN123015920APending Publication Date: 2026-10-30MIGU CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611079741.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-20
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0002]相关技术中,通常采用人工绑定的方法来获取虚拟角色手持物体的坐标位置,即需要人工手动设置物体在每个角色手中的摆放位置,因此,需要针对每个角色和物体进行手动调节,且手动绑定的位置往往只能适配特定角色的手型比例,同一套绑定方法无法直接迁移到其它角色上,导致效率低,且不同角色之间无法通用

Benefits of technology

通过根据第一角色的手部对应的多个骨骼点确定第一角色的手部掌心点对应的第一位置信息,以及第一角色的手部虎口中点对应的第二位置信息,根据第一位置信息和第二位置信息确定手持物体对应的朝向向量,基于朝向向量和第一位置信息确定手持物体对应的第三位置信息,利用手部的多个骨骼点之间的位置信息,确定手部掌心点对应的第一位置信息和手部虎口中点对应的第二位置信息,根据手部关节(如手部掌心点和手部虎口中点)和朝向向量自动确定手持物体对应的第三位置信息,无需人工预设物体位置,从而提高效率,且根据手部骨骼点之间的位置关系确定手持物体的位置,可以适应不同角色的手部大小和骨骼结构,即能够适配多角色的不同手型。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123015920A_ABST
    Figure CN123015920A_ABST
Patent Text Reader

Abstract

The application provides a handheld object position determination method, an electronic device, a storage medium and a program product. The method comprises the following steps: determining first position information corresponding to the palm center point of the hand of a first role according to a plurality of skeleton points corresponding to the hand of the first role, and determining second position information corresponding to the mid-point of the tiger mouth of the hand of the first role based on the plurality of skeleton points; determining an orientation vector corresponding to a handheld object according to the first position information and the second position information; and determining third position information corresponding to the handheld object based on the orientation vector and the first position information. The efficiency can be improved, and different hand shapes of multiple roles can be adapted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, and in particular to a method for determining the position of a handheld object, an electronic device, a storage medium, and a program product. Background Technology

[0002] In related technologies, the coordinates of objects held by virtual characters are usually obtained by manual binding. This means that the placement of objects in each character's hand needs to be set manually. Therefore, manual adjustments are required for each character and object. Moreover, the manually bound positions can only be adapted to the hand proportions of specific characters. The same binding method cannot be directly transferred to other characters, resulting in low efficiency and incompatibility between different characters. Summary of the Invention

[0003] This application provides a method for determining the position of a handheld object, an electronic device, a storage medium, and a program product, which can improve efficiency and adapt to different hand shapes for multiple roles.

[0004] The technical solution of this application embodiment is implemented as follows: This application provides a method for determining the position of a handheld object, the method comprising: The first position information corresponding to the palm of the first character's hand is determined based on multiple skeletal points corresponding to the first character's hand, and the second position information corresponding to the midpoint of the tiger's mouth of the first character's hand is determined based on the multiple skeletal points. The orientation vector corresponding to the handheld object is determined based on the first location information and the second location information; The third position information corresponding to the handheld object is determined based on the orientation vector and the first position information.

[0005] This application provides an electronic device, which includes a processor and a memory for storing a computer program that can run on the processor. When the processor runs the computer program, it implements the handheld object position determination method provided in this application.

[0006] This application provides a storage medium storing a computer program or computer-executable instructions, which, when executed by a processor, implements the handheld object position determination method provided in this application.

[0007] This application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, they implement the handheld object position determination method provided in this application.

[0008] The embodiments of this application have the following beneficial effects: By determining the first position information corresponding to the palm of the first character's hand and the second position information corresponding to the midpoint of the forefinger's hand based on multiple bone points of the first character's hand, the orientation vector corresponding to the held object is determined based on the first and second position information, and the third position information corresponding to the held object is determined based on the orientation vector and the first position information. By utilizing the position information between multiple bone points of the hand, the first position information corresponding to the palm of the hand and the second position information corresponding to the midpoint of the forefinger's hand are determined, and the third position information corresponding to the held object is automatically determined based on the hand joints (such as the palm of the hand and the midpoint of the forefinger's hand) and the orientation vector. There is no need to manually preset the object position, thus improving efficiency. Moreover, the position of the held object is determined based on the positional relationship between the bone points of the hand, which can adapt to the hand size and bone structure of different characters, that is, it can adapt to different hand shapes of multiple characters. Attached Figure Description

[0009] Figure 1 A flowchart illustrating a method for determining the position of a handheld object, provided in an embodiment of this application; Figure 2 A schematic diagram of an exemplary hand skeleton provided in this application embodiment; Figure 3 This is an exemplary schematic diagram for calculating the position of the palm point, provided as an embodiment of this application. Figure 4 A schematic diagram illustrating an exemplary palm point offset provided for an embodiment of this application; Figure 5 A schematic diagram illustrating an exemplary handheld position of an object, provided for an embodiment of this application; Figure 6 A schematic diagram of an exemplary handheld object provided for an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a handheld object position determination device provided in an embodiment of this application; Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0010] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0011] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0012] In the following description, references to "some embodiments" refer to a subset of all possible embodiments. It is understood that "some embodiments" may be the same or different subsets of all possible embodiments and may be combined with each other without conflict. It should also be noted that the terms "first," "second," etc., used in the embodiments of this application are merely for distinguishing similar objects and do not represent a specific ordering of objects. It is understood that "first," "second," etc., may be interchanged in a specific order or sequence where permissible, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0013] This application provides a method for determining the position of a handheld object. Figure 1 This is a flowchart illustrating a method for determining the position of a handheld object, as provided in an embodiment of this application; Figure 1 As shown, the method includes: S101. Determine the first position information corresponding to the palm point of the first character's hand based on multiple skeletal points corresponding to the first character's hand, and determine the second position information corresponding to the midpoint of the tiger's mouth of the first character's hand based on multiple skeletal points.

[0014] It should be noted that the handheld object position determination method in this application is applied to the fields related to virtual reality and game engines.

[0015] It should be noted that the first character can be understood as a virtual character, that is, a virtual character obtained through modeling. The specific skeletal structure of the first character can be determined according to the actual situation and is not limited here; as an example, the first character has a standard humanoid skeletal structure, and the initial gesture is a standard T-pose as a reference. Each object that can be held by the character has a predefined "default palm grip position" relative to itself as an anchor point during the design. The multiple skeletal points corresponding to the first character's hand can be understood as the wrist skeletal points, thumb skeletal points, index finger skeletal points, middle finger skeletal points, ring finger (ring finger) skeletal points, and little finger skeletal points, where each finger has one or more skeletal points, the specific number of which is determined according to the hand structure and is not limited here. The position information (or coordinate information) of each skeletal point corresponding to the first character's hand is known, as it has been pre-set during modeling.

[0016] In this embodiment, the first position information corresponding to the palm point of the first character's hand can be understood as the position of the palm point of the first character's hand. The process of determining the first position information corresponding to the palm point of the first character's hand based on multiple skeletal points of the first character's hand specifically includes: obtaining the fourth position information corresponding to the wrist skeletal point of the hand and the fifth position information corresponding to the middle finger skeletal point of the hand respectively; and determining the first position information based on the fourth position information and the fifth position information.

[0017] It should be noted that the fourth positional information corresponding to the wrist bone point can be the positional information corresponding to the wrist point itself; the fifth positional information corresponding to the middle finger bone point can be the positional information corresponding to the middle finger bone point itself. The middle finger bone point can be arbitrarily selected from multiple bone points on the middle finger, without limitation. As an example, the middle finger bone point can be the base of the middle finger or the middle section of the middle finger. Determining the first positional information based on the fourth and fifth positional information can be understood as determining the sum of the fourth and fifth positional information, dividing the sum by 2, and obtaining the first positional information.

[0018] For example, in practical applications, the palm point of the hand (or the first position information corresponding to the palm point of the hand) can be denoted as Pt1, the wrist bone point (or the fourth position information corresponding to the wrist bone point) can be denoted as PO, and the middle finger bone point of the hand (or the fifth position information corresponding to the middle finger bone point) can be denoted as P9. The first position information can be determined based on the fourth and fifth position information using Pt1 = (P0 + P9) / 2. That is, the position information corresponding to the wrist bone point PO and the position information corresponding to the middle finger bone point P9 are summed, and the sum is divided by 2 to obtain the position information corresponding to the palm point Pt1.

[0019] In this embodiment of the application, the process of determining the first position information corresponding to the palm point of the first character's hand based on multiple skeletal points of the first character's hand specifically includes: obtaining the fourth position information corresponding to the wrist skeletal point and the fifth position information corresponding to the middle finger skeletal point of the hand respectively; determining the first distance information between the wrist skeletal point and the middle finger skeletal point based on the fourth position information and the fifth position information; and determining the first position information based on the first distance information and the fourth position information.

[0020] It should be noted that the meanings of the fourth position information corresponding to the wrist bone point and the fifth position information corresponding to the middle finger bone point are explained as described above, and will not be repeated here. The first distance information can be understood as the distance information between the wrist bone point and the middle finger bone point. In practical applications, the palm point of the hand (or the first position information corresponding to the palm point) can be denoted as Pt1, the wrist bone point (or the fourth position information corresponding to the wrist bone point) can be denoted as PO, the middle finger bone point (or the fifth position information corresponding to the middle finger bone point) can be denoted as P9, and the first distance information can be represented by (P9-P0). The first position information can be determined based on the first distance information and the fourth position information by using Pt1=P0+(P9-P0).Normalized*(Distance(P0,P9)*0.7), where Normalized represents normalization, specifically normalizing the result of (P9-P0) to a three-dimensional (3D) coordinate vector. Normalization can be achieved by calling the Application Programming Interface (API).

[0021] In this embodiment of the application, the process of determining the second position information corresponding to the midpoint of the thumb's web of the first character's hand based on multiple skeletal points specifically includes: obtaining the sixth position information corresponding to the index finger skeletal point and the seventh position information corresponding to the thumb skeletal point of the hand respectively; and determining the second position information based on the sixth position information and the seventh position information.

[0022] It should be noted that the index finger bone point can be any one of the multiple bone points of the index finger, without limitation; as an example, the index finger bone point is selected from the proximal point of the index finger; the thumb bone point can be any one of the multiple bone points of the thumb, without limitation. Determining the second position information based on the sixth and seventh position information can be understood as determining the sum of the sixth and seventh position information, dividing the sum by 2, and obtaining the second position information.

[0023] For example, in practical applications, the midpoint of the tiger's mouth (or the second position information corresponding to the midpoint of the tiger's mouth) can be denoted as Pt2, the index finger bone point (or the sixth position information corresponding to the index finger bone point) can be denoted as P5, and the thumb bone point (or the seventh position information corresponding to the thumb bone point) can be denoted as P3. The second position information can be determined based on the sixth and seventh position information using the expression Pt2 = (P3 + P5) / 2. That is, the sum of the position information corresponding to the index finger bone point P5 and the position information corresponding to the thumb bone point P3 is taken, and the sum is divided by 2 to obtain the position information corresponding to the midpoint of the tiger's mouth Pt2.

[0024] S102. Determine the orientation vector corresponding to the handheld object based on the first position information and the second position information.

[0025] It should be noted that the orientation vector can be understood as the orientation vector of the object being held.

[0026] In this embodiment of the application, the process of determining the orientation vector corresponding to the handheld object based on the first position information and the second position information specifically includes: determining the second distance information between the palm point of the hand and the midpoint of the tiger's mouth of the hand based on the first position information and the second position information; and normalizing the second distance information to obtain the orientation vector corresponding to the handheld object.

[0027] It should be noted that the second distance information can be understood as the distance between the center of the palm and the midpoint of the web between the thumb and forefinger. In practical applications, the center of the palm (or the first position information corresponding to the center of the palm) is denoted as Pt1, the midpoint of the web between the thumb and forefinger (or the second position information corresponding to the midpoint of the web between the thumb and forefinger) is denoted as Pt2, the orientation vector of the held object is denoted as Dir1, and the second distance information can be denoted as Pt2-Pt1. Normalizing the second distance information, the orientation vector corresponding to the held object can be represented as Dir1=(Pt2-Pt1).Normalized.

[0028] S103. Determine the third position information corresponding to the handheld object based on the orientation vector and the first position information.

[0029] In this application, the process of determining the third position information corresponding to the handheld object based on the orientation vector and the first position information specifically includes: determining the normal vector corresponding to the palm of the hand based on the orientation vector, the fourth position information corresponding to the wrist bone point of the hand, and the fifth position information corresponding to the middle finger bone point of the hand; and determining the third position information corresponding to the handheld object based on the normal vector and the first position information.

[0030] It should be noted that the fourth position information corresponding to the wrist bone point and the fifth position information corresponding to the middle finger bone point have been explained above and will not be repeated here. In practical applications, the orientation vector of the held object is denoted as Dir1, the wrist bone point (or the fourth position information corresponding to the wrist bone point) is denoted as PO, the middle finger bone point (or the fifth position information corresponding to the middle finger bone point) is denoted as P9, and the normal vector of the palm is denoted as Dir2. The normal vector corresponding to the palm of the hand is determined based on the orientation vector, the fourth position information corresponding to the wrist bone point, and the fifth position information corresponding to the middle finger bone point. This can be represented as Dir2 = Dir1 × (P9 - P0).Normalized.

[0031] In this embodiment of the application, the process of determining the third position information corresponding to the handheld object based on the normal vector and the first position information specifically includes: obtaining the first thickness information corresponding to the handheld object and the second thickness information corresponding to the palm of the hand; and determining the third position information based on the first position information, the normal vector, the first thickness information and the second thickness information.

[0032] It should be noted that the first thickness information can be understood as the thickness of the handheld object. This first thickness information can be pre-configured or calculated in real time. The calculation method is to find the intersection of a ray and the handheld object (such as the handle). The distance between the two intersection points is the first thickness information. The second thickness information can be understood as the thickness of the palm. It can be obtained either pre-configured or by finding the intersection point of a ray.

[0033] In practical applications, the normal vector of the palm is denoted as Dir2, the palm center point (or the first position information corresponding to the palm center point) is denoted as Pt1, the first thickness information is denoted as L1, the second thickness information is denoted as L2, and the third position information is denoted as Pt3. The third position information can be determined based on the first position information, the normal vector, the first thickness information, and the second thickness information by using Pt3=Pt1+Dir2*(L1+L2) / 2.

[0034] The solution in this application utilizes the positional information between multiple skeletal points of the hand to determine the first positional information corresponding to the palm point and the second positional information corresponding to the midpoint of the forefinger. Based on the hand joints (such as the palm point and the midpoint of the forefinger) and the orientation vector, the third positional information corresponding to the handheld object is automatically determined. This eliminates the need for manual preset of the object's position, thereby improving efficiency. Furthermore, by determining the position of the handheld object based on the positional relationship between the skeletal points of the hand, it can adapt to the hand size and skeletal structure of different characters, thus being able to accommodate different hand shapes of multiple characters.

[0035] To facilitate understanding, the above method is illustrated with an example. In practical applications, the above method for determining the position of a handheld object can be exemplified as a method for calculating the coordinates of a virtual character's handheld object. This method automatically calculates the gripping position of the virtual character's handheld object by utilizing key skeletal points such as the character's fingers and wrist, combined with the positional relationships of the hand skeletal points. It then finely adjusts the calculated gripping position using the finger joint positions and orientations, and subsequently determines the position of the handheld object in real time based on the calculated position. This achieves the effect of freeing up manual settings and adapting to the dynamic hand shapes of multiple characters.

[0036] The method will be explained in detail below.

[0037] First, it is assumed that the virtual character adopts a standard humanoid skeletal structure, and the initial gesture is a standard T-pose as a reference. Each object that can be held by the character has a predefined "default palm grip position" relative to itself as an anchor point during the design phase. Based on the above premises, this method includes the following steps.

[0038] (1) Calculate the position of the palm point.

[0039] For ease of understanding, Figure 2 A schematic diagram of an exemplary hand skeleton provided in this application embodiment; as shown Figure 2 As shown, the following are represented: 0: Wrist (WRIST), 1: Thumb root (THUMB_CMC), 2: Thumb first phalanx (THUMB_MCP), 3: Thumb second phalanx (THUMB_IP), 4: Thumb tip (THUMB_TIP), 5: Index finger root (INDEX_FINGER_MCP), 6: Index finger first phalanx (INDEX_FINGER_PIP), 7: Index finger second phalanx (INDEX_FINGER_DIP), 8: Index finger tip (INDEX_FINGER_CMCP). 10: Middle finger root (MIDDLE_FINGER_MCP), 11: Middle finger first joint (MIDDLE_FINGER_PIP), 12: Middle finger second joint (MIDDLE_FINGER_DIP), 13: Ring finger root (RING_FINGER_MCP), 14: Ring finger first joint (RING_FINGER_PIP), 15: Ring finger second joint (RING_FINGER_DIP), 16: Ring finger tip (RING_FINGER_TIP), 17: Little finger root (PINKY_FINGER_MCP), 18: Little finger first joint (PINKY_FINGER_PIP), 19: Little finger second joint (PINKY_FINGER_DIP), 20: Little finger tip (PINKY_FINGER_TIP).

[0040] Figure 3 An exemplary schematic diagram for calculating the position of the palm point is provided as an embodiment of this application; as shown Figure 3 As shown, the palm point (Pt1) is calculated based on the wrist point (P0) and the middle finger bone point (P9). The palm point (Pt1) is calculated based on the already bound middle finger bone point (usually located at the base or middle section of the middle finger). Figure 3By analyzing the positional relationship between point (a) in Figure 3 and the wrist bone point (point (b) in Figure 3), the center point of the character's palm (i.e., palm point Pt1, point (c) in Figure 3) is calculated. The palm point is typically located at the midpoint of the line connecting the wrist and middle finger, slightly towards the fingers, at approximately 70% of the line. The calculated palm point is relatively stable relative to the hand skeleton, thus accurately reflecting the current position and orientation of the palm. It can be calculated using Pt1 = (P0 + P9) / 2.

[0041] Since the palm point, when offset, better matches the center position of the object held by the human hand, the palm point offset method can also be used to replace the point in (1) above in the actual solution. The details are as follows.

[0042] (2) Palm point offset.

[0043] Figure 4 A schematic diagram illustrating an exemplary palm point offset is provided for an embodiment of this application; as shown below. Figure 4 As shown; the palm point, with an offset, better matches the center position of the human hand holding the object, and the calculated position is at 70% of the line connecting the middle finger bone point and the wrist bone point ( Figure 4 (d) point). The formula to replace the position of point Pt1 can be Pt1=P0+(P9-P0).Normalized*(Distance(P0,P9)*0.7), where Normalized means normalization, specifically normalizing the result of (P9-P0) to a 3D coordinate vector. Normalization can be achieved by calling the API.

[0044] (3) Calculate the midpoint of the tiger's mouth based on the index finger and thumb.

[0045] Calculate the center point of the tiger's mouth by taking the proximal point of the index finger (P5) and the point of the thumb (P3). The center point of the tiger's mouth is denoted as Pt2. The calculation formula can be expressed as Pt2 = (P3 + P5) / 2.

[0046] (4) Calculate the orientation of the object.

[0047] The midpoint of the tiger's mouth (center point) and the center point of the palm can determine a vector. This vector is used as the object's orientation, denoted as Dir1. The calculation formula can be expressed as Dir1=(Pt2-Pt1).Normalized.

[0048] (5) Calculate the palm normal vector.

[0049] The palm normal vector can be determined by the cross product of vectors. We can use the cross product of the object's orientation (Dir1) and the middle finger's orientation (P9-P0) to determine the palm normal vector, which is denoted as Dir2. The calculation formula can be expressed as Dir2=Dir1×(P9-P0).Normalized.

[0050] (6) Calculate the hand position of the object (such as the handle).

[0051] Let L1 be the thickness (diameter) of the handle. The handle thickness can be pre-configured or calculated in real-time. The calculation method uses a ray to find the intersection of the ray and the handle mesh; the distance between the two intersection points is the handle diameter. Similarly, we can use the palm thickness as L2. This can also be pre-configured or calculated using a ray. The offset of the handle's grip position relative to the palm is (L1 + L2) / 2. Let Pt3 be the handle's grip position, and the calculation formula can be expressed as Pt3 = Pt1 + Dir2 * (L1 + L2) / 2.

[0052] With the object's hand position Pt3 and the calculated object orientation Dir1, we can correctly place the object in the palm of our hand and achieve the effect of the object being close to the palm. Figure 5 A schematic diagram illustrating an exemplary handheld position of an object is provided for embodiments of this application; as shown below. Figure 5 As shown.

[0053] (7) Dynamically adjust the position and rotation of the object.

[0054] In scenarios with multiple characters or constantly changing character actions, the above method can update the coordinates and rotation angle of the held object in real time and dynamically. Whenever the character's hand skeleton points change (e.g., switching character models or changing the current character's gesture), the algorithm recalculates the palm point, the index finger-thumb center point, and the object's offset position and angle. By adjusting the angle formed by the index finger and thumb, correcting the palm point position, and continuously updating the object's orientation, it ensures that the object is always held naturally regardless of the character's hand movements. Especially when switching between characters with different hand proportions, the grip position calculated by this solution will adaptively adjust to the hand structure of each character, ensuring that each character can hold the object correctly without interlocking or slipping. Figure 6 A schematic diagram of an exemplary handheld object provided in this application embodiment; as shown Figure 6 As shown.

[0055] The solution in this application embodiment can automatically calculate the grip coordinates. By using key nodes such as the wrist point, middle finger point, index finger point, and thumb point in the standard skeletal structure of the character, the grip position of the object is automatically determined through mathematical calculations. There is no need to manually preset the object position, which greatly improves the configuration efficiency and ensures real-time response in different scenarios.

[0056] The solution in this application embodiment is a universal skeleton adapter. It calculates the grip point based on the positional relationship of the hand skeleton points, which can adapt to the hand size and skeleton structure of different characters, thus improving the universality of the solution among multiple characters.

[0057] The solution in this application provides a natural and precise grip posture, using fine adjustments based on the position and orientation of the finger joints. This includes calculating the object's rotation based on the positions of the thumb and forefinger, ensuring a close fit between the object and the fingers, and guaranteeing a natural and realistic feel when the character holds the object. Real-time recalculation is supported during character switching and gesture changes to ensure the object's position always accurately conforms to the hand.

[0058] This application also provides a device for determining the position of a handheld object. Figure 7 This is a schematic diagram of the structure of a handheld object position determination device provided in an embodiment of this application; as shown below. Figure 7 As shown, the handheld object position determination device 700 includes: The first determining unit 701 is used to determine the first position information corresponding to the palm point of the first character's hand based on multiple skeletal points corresponding to the first character's hand, and to determine the second position information corresponding to the midpoint of the tiger's mouth of the first character's hand based on the multiple skeletal points. The second determining unit 702 is used to determine the orientation vector corresponding to the handheld object based on the first position information and the second position information; The third determining unit 703 is used to determine the third position information corresponding to the handheld object based on the orientation vector and the first position information.

[0059] In one embodiment, the first determining unit 701 is further configured to acquire fourth position information corresponding to the wrist bone point of the hand and fifth position information corresponding to the middle finger bone point of the hand; and determine the first position information based on the fourth position information and the fifth position information.

[0060] In one embodiment, the first determining unit 701 is further configured to acquire fourth position information corresponding to the wrist bone point of the hand and fifth position information corresponding to the middle finger bone point of the hand; determine first distance information between the wrist bone point and the middle finger bone point based on the fourth position information and the fifth position information; and determine the first position information based on the first distance information and the fourth position information.

[0061] In one embodiment, the first determining unit 701 is further configured to acquire the sixth position information corresponding to the index finger bone point of the hand and the seventh position information corresponding to the thumb bone point of the hand; and determine the second position information based on the sixth position information and the seventh position information.

[0062] In one embodiment, the third determining unit 703 is further configured to determine the normal vector corresponding to the palm of the hand based on the orientation vector, the fourth position information corresponding to the wrist bone point of the hand, and the fifth position information corresponding to the middle finger bone point of the hand; and to determine the third position information corresponding to the handheld object based on the normal vector and the first position information.

[0063] In one embodiment, the third determining unit 703 is further configured to acquire first thickness information corresponding to the handheld object and second thickness information corresponding to the palm of the hand; and determine the third position information based on the first position information, the normal vector, the first thickness information and the second thickness information.

[0064] In one embodiment, the second determining unit 702 is further configured to determine second distance information between the palm point of the hand and the midpoint of the tiger's mouth of the hand based on the first position information and the second position information; and to normalize the second distance information to obtain the orientation vector corresponding to the handheld object.

[0065] This application also provides an electronic device. Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application; as shown below. Figure 8 As shown, the electronic device 800 includes a processor 801 and a memory 803. Optionally, the electronic device 800 may also include a communication bus 802.

[0066] In specific embodiments, the processor 801 described above can be at least one of the following: Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), CPU, controller, microcontroller, and microprocessor. It is understood that for different devices, the electronic device used to implement the above processor function can also be other types, and this embodiment does not specifically limit it.

[0067] In this embodiment, the communication bus 802 is used to establish communication between the processor 801 and the memory 803; when the processor 801 executes the running program stored in the memory 803, it implements the following method for determining the position of a handheld object: Based on multiple skeletal points corresponding to the first character's hand, determine the first position information corresponding to the palm point of the first character's hand, and based on the multiple skeletal points, determine the second position information corresponding to the midpoint of the tiger's mouth of the first character's hand; based on the first position information and the second position information, determine the orientation vector corresponding to the handheld object; based on the orientation vector and the first position information, determine the third position information corresponding to the handheld object.

[0068] Furthermore, the processor 801 is also configured to acquire the fourth position information corresponding to the wrist bone point of the hand and the fifth position information corresponding to the middle finger bone point of the hand; and determine the first position information based on the fourth position information and the fifth position information.

[0069] Furthermore, the processor 801 is also configured to acquire, respectively, fourth position information corresponding to the wrist bone point of the hand and fifth position information corresponding to the middle finger bone point of the hand; determine first distance information between the wrist bone point and the middle finger bone point based on the fourth position information and the fifth position information; and determine the first position information based on the first distance information and the fourth position information.

[0070] Furthermore, the processor 801 is also configured to acquire the sixth position information corresponding to the index finger bone point of the hand and the seventh position information corresponding to the thumb bone point of the hand; and determine the second position information based on the sixth position information and the seventh position information.

[0071] Furthermore, the processor 801 is also configured to determine the normal vector corresponding to the palm of the hand based on the orientation vector, the fourth position information corresponding to the wrist bone point of the hand, and the fifth position information corresponding to the middle finger bone point of the hand; and to determine the third position information corresponding to the handheld object based on the normal vector and the first position information.

[0072] Furthermore, the processor 801 is also configured to acquire first thickness information corresponding to the handheld object and second thickness information corresponding to the palm of the hand; and determine the third position information based on the first position information, the normal vector, the first thickness information and the second thickness information.

[0073] Furthermore, the processor 801 is also configured to determine a second distance information between the palm point of the hand and the midpoint of the tiger's mouth of the hand based on the first position information and the second position information; and to normalize the second distance information to obtain the orientation vector corresponding to the handheld object.

[0074] This application provides a storage medium storing a computer program thereon. The computer-readable storage medium stores one or more programs, which can be executed by one or more processors. The computer program implements the handheld object position determination method described above.

[0075] Based on the above embodiments, this application provides a computer program product, including a computer program that can be executed by one or more processors, and the computer program implements the handheld object position determination method as described above.

[0076] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0077] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the related technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause an image display device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this disclosure.

[0078] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A method for determining the position of a handheld object, characterized in that, The method includes: The first position information corresponding to the palm of the first character's hand is determined based on multiple skeletal points corresponding to the first character's hand, and the second position information corresponding to the midpoint of the tiger's mouth of the first character's hand is determined based on the multiple skeletal points. The orientation vector corresponding to the handheld object is determined based on the first location information and the second location information; The third position information corresponding to the handheld object is determined based on the orientation vector and the first position information.

2. The method according to claim 1, characterized in that, The step of determining the first position information corresponding to the palm point of the first character's hand based on multiple skeletal points of the first character's hand includes: The fourth position information corresponding to the wrist bone point of the hand and the fifth position information corresponding to the middle finger bone point of the hand are obtained respectively. The first location information is determined based on the fourth location information and the fifth location information.

3. The method according to claim 1, characterized in that, The step of determining the first position information corresponding to the palm point of the first character's hand based on multiple skeletal points of the first character's hand includes: The fourth position information corresponding to the wrist bone point of the hand and the fifth position information corresponding to the middle finger bone point of the hand are obtained respectively. The first distance information between the wrist bone point and the middle finger bone point is determined based on the fourth position information and the fifth position information; The first location information is determined based on the first distance information and the fourth location information.

4. The method according to claim 1, characterized in that, The step of determining the second position information corresponding to the midpoint of the thenar eminence of the first character's hand based on the plurality of skeletal points includes: Obtain the sixth position information corresponding to the index finger bone point and the seventh position information corresponding to the thumb bone point of the hand, respectively; The second position information is determined based on the sixth position information and the seventh position information.

5. The method according to claim 1, characterized in that, Determining the third position information corresponding to the handheld object based on the orientation vector and the first position information includes: The normal vector corresponding to the palm of the hand is determined based on the orientation vector, the fourth position information corresponding to the wrist bone point of the hand, and the fifth position information corresponding to the middle finger bone point of the hand. The third position information corresponding to the handheld object is determined based on the normal vector and the first position information.

6. The method according to claim 5, characterized in that, Determining the third position information corresponding to the handheld object based on the normal vector and the first position information includes: The first thickness information corresponding to the handheld object and the second thickness information corresponding to the palm of the hand are obtained respectively. The third position information is determined based on the first position information, the normal vector, the first thickness information, and the second thickness information.

7. The method according to claim 1, characterized in that, Determining the orientation vector corresponding to the handheld object based on the first position information and the second position information includes: The second distance information between the palm of the hand and the midpoint of the web between the thumb and forefinger is determined based on the first location information and the second location information; The second distance information is normalized to obtain the orientation vector corresponding to the handheld object.

8. An electronic device, characterized in that, include: The processor and the memory used to store computer programs that can run on the processor. When the processor is used to run the computer program, it performs the steps of the method according to any one of claims 1 to 7.

9. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.