A method and device for optimizing selection of rigid body marker points and an optical motion capture system

The method optimizes rigid body marker point selection by ensuring non-coplanarity, varying distances, and avoiding similar triangles, improving motion capture system accuracy and stability.

CN112085848BActive Publication Date: 2024-12-31SHENZHEN REALIS MULTIMEDIA TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202010855224.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-21
Publication Date
2024-12-31
Estimated Expiration
2040-08-21

AI Technical Summary

Technical Problem

Existing marker point motion capture systems face issues such as unstable rigid body posture, inaccurate rigid body matching, marker occlusion, and rigid body mismatching due to non-optimal placement and distribution of markers on rigid bodies.

Method used

A method for optimizing rigid body marker point selection involving self-checking and verification steps to ensure markers are non-coplanar, have varying distances, and avoid similar triangle formations, using a processor to screen and prioritize rigid bodies for accurate motion capture.

Benefits of technology

Significantly reduces the occurrence of unstable rigid body posture and inaccurate matching, enhancing the accuracy and stability of motion capture systems by optimizing marker point placement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112085848B_ABST
    Figure CN112085848B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for optimizing the selection of rigid body marking points, comprising: an acquisition step: acquiring a plurality of marking point coordinate sets with different support rod lengths, the coordinate set integrating parameters such as threaded slots, support rods and threaded surfaces, then removing rigid bodies that do not meet preset self-checking conditions through a self-checking step, and saving rigid bodies that meet preset check conditions one by one into a second combination through a verification step, and finally sorting the rigid bodies newly added to the second combination according to the total number of rigid bodies that can form similar triangles with them through a calculation step, and the rigid bodies in the front are the rigid bodies that are preferentially selected for motion capture, so that the problems of unstable rigid body posture, inaccurate or unstable rigid body matching existing in a motion capture system with marking points are significantly improved, and at the same time the probability of these problems occurring in the motion capture system is significantly reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of motion capture, and in particular to a method and device for optimizing selection of rigid body marker points and an optical motion capture system. Background Art

[0002] In the existing marker point motion capture system, there are certain requirements for the installation of rigid bodies and markers. The characteristics of the rigid body determine the accuracy of the system motion capture to a certain extent. The existing marker point motion capture system often has problems such as unstable rigid body posture, inaccurate or unstable rigid body matching, and these problems are almost unavoidable.

[0003] In order to reduce the probability of the above problems in the system, the following problems need to be solved: (1) For a single rigid body, all its markers cannot be coplanar, because in this case, the posture of the rigid body cannot be determined, and the posture of the rigid body becomes very unstable; (2) The distances between all markers in a single rigid body cannot be equal. If all distances are equal, it cannot be guaranteed that the rigid body can be effectively matched or recognized during the motion capture process, and it will also cause the instability of the rigid body posture; (3) For a single rigid body, the distance between markers cannot be too close. If the distance is too close, it is easy to cause marker occlusion or merging, making the solution of the rigid body posture prone to errors or instability; (4) During the motion capture process, the rigid bodies cannot have too high similarity, otherwise it is very easy to have problems such as rigid body mismatching. Therefore, in order to reduce the adverse effects of these problems on the system, it is necessary to optimize the markers on the rigid body. Summary of the invention

[0004] In order to solve the above technical problems, the present application proposes a rigid body marker point optimization method to improve problems such as unstable rigid body posture, inaccurate or unstable rigid body matching, thereby reducing the probability of these problems occurring in the motion capture system.

[0005] According to the first aspect, an embodiment provides a method for optimizing and selecting rigid body marker points, which is used to optimize and select multiple rigid bodies. The method includes the following steps:

[0006] Acquisition steps: Get multiple marker point coordinate sets with different support rod lengths: Coor i {(x1, y1, z1, t1, s1), (x2, y2, z2, t2, s2),..., (x n ,y n , z n , t n ,s n)}, where x, y, z represent three-dimensional coordinate values, i = 1, 2, ..., a, represents the number of the marking point, n = 1, 2, ..., b, represents the number of the threaded slots of the rigid base, t∈{1, 2, ..., a} represents the corresponding number of the marking point support rods of different lengths, and s∈{1, 2, ..., c} represents the number of the threaded surface of the rigid base;

[0007] Self-checking steps: select m thread surfaces from the thread surface of the rigid base to form a combination And obtain the first combination according to the number of the marking point And randomly shuffle The order of the marked points in ; traversal All rigid bodies in the list are removed, and those that do not meet the preset self-test conditions are removed;

[0008] Verification steps: For a rigid body R that meets the self-test conditions k , where k is The total number of rigid bodies in the first rigid body R1 is saved to the second combination {RS i}, where i<MAXNUM, MAXNUM is the final expected number of rigid bodies, starting from the second rigid body R2, it is compared with other rigid bodies in the second combination, and the rigid bodies that meet the preset verification conditions are saved one by one in the second combination, and the next rigid body is traversed. If the number of rigid bodies in the second combination reaches the MAXNUM value, the traversal is exited;

[0009] Calculation steps: Determine the rigid body R newly added to the second combination k 'Can the line connecting the rigid body marker points saved in the second combination form a similar triangle? If so, calculate the line that can connect with the rigid body R k 'The total number of rigid bodies that make up similar triangles is recorded in the matrix Counter. The total number of rigid bodies in Counter is sorted from small to large. The rigid body R in the front k 'Prefer rigid bodies for motion capture.

[0010] The obtaining step comprises:

[0011] Obtain at least three sets of marking point coordinates with different support rod lengths, the number of the rigid base threads can be selected from 1 to 52, and the numbering of the rigid base thread surfaces can be selected from 1 to 16.

[0012] The self-test steps include:

[0013] 4-10 thread surfaces can be selected from the thread surfaces of the rigid base to form a combination.

[0014] The preset self-test conditions include:

[0015] Traverse all rigid bodies in the first combination in order, and check all distance sets {e j}Whether the first condition is met: min(e j )>TH1, wherein TH1 is a set value;

[0016] If the first condition is met, then for all distance sets consisting of the marking points of a single rigid body {e j}, judge any two distance values ​​e j1 and e j2 Whether the second condition is met;

[0017] If the second condition is met, the three vectors formed by the coordinates of any four marking points in a single rigid body are combined into a determinant to determine whether the determinant meets the third condition. If not, the rigid body that does not meet the condition is discarded and the next rigid body is traversed.

[0018] The second condition specifically includes: count = ∑(|e j1 -e j2 |<TH2), count<3, where TH2 is a set value. If the second condition is not met, the rigid body that does not meet the condition is discarded and the next rigid body is traversed.

[0019] The third condition specifically includes:

[0020] The coordinates of any four marking points in the rigid body are (p0, p1, p2, p3), then the three vectors formed are The determinant of the three vectors is Determine whether the determinant satisfies: Wherein, TH3 is a set value.

[0021] The preset verification conditions include:

[0022] Traverse all rigid bodies in the second combination and determine any two distance sets {e t1} and {e t2}Does it satisfy: cnt = ∑(|e t1 -e t2 |<TH2), count<3, if it does not meet the conditions, the rigid body that does not meet the conditions will be discarded and the next rigid body will be traversed;

[0023] If cnt=∑(|e t1 -e t2|<TH2), count<3, randomly select 3 marked points on any rigid body in the second combination and other rigid bodies, determine whether the lines between the 3 marked points form similar triangles, and record the number of similar triangles cnt. If cnt<3, the rigid body meets the preset verification conditions.

[0024] According to a second aspect, an embodiment provides an optical motion capture system, comprising a plurality of marker points to be captured and a plurality of cameras for photographing the marker points, characterized in that it also includes a processor;

[0025] A plurality of cameras are distributed in the motion space and are all connected to the processor for photographing the marking points on the rigid body;

[0026] The processor is used to optimize and screen each of the rigid bodies according to the rigid body marker point optimization selection method described in the first aspect to complete the recognition of the rigid body marker points.

[0027] According to the third aspect, an embodiment provides a rigid body marker point optimization selection device, comprising: a memory and at least one processor, wherein instructions are stored in the memory, and the memory and the at least one processor are interconnected via lines; the at least one processor calls the instructions in the memory so that the rigid body marker point optimization selection device executes the method described in the first aspect.

[0028] According to a fourth aspect, an embodiment provides a computer-readable storage medium, comprising a program, wherein the program can be executed by a processor to implement the method described in the first aspect above.

[0029] The beneficial effects of this application are:

[0030] According to a method, device and optical motion capture system for optimizing selection of rigid body marker points of the above-mentioned embodiment, by obtaining a plurality of marker point coordinate sets with different support rod lengths, an appropriate number of threaded surfaces are selected from the threaded surfaces of the rigid body base to form a mathematical combination, and all rigid bodies in the first combination are traversed to remove the rigid bodies that do not meet the preset self-checking conditions; for the rigid bodies that meet the self-checking conditions, the first rigid body is saved in the second combination, and the second rigid body is compared with other rigid bodies in the second combination, and the rigid bodies that meet the preset verification conditions are saved one by one in the second combination; it is determined whether the connecting line between the newly added rigid body in the second combination and the rigid body marker points saved in the second combination can form a similar triangle, if so, the total number of rigid bodies that can form a similar triangle is calculated and recorded in the matrix, and the total number of rigid bodies in the matrix is ​​sorted from small to large, and the rigid bodies in the front are the rigid bodies that are preferentially selected for motion capture. Through this method, the problems of unstable rigid body posture, inaccurate or unstable rigid body matching existing in the motion capture system with marker points are significantly improved, and the probability of these problems occurring in the motion capture system is significantly reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 It is a schematic diagram of the rigid body structure;

[0032] Figure 2 Flowchart of the method for optimizing selection of rigid body markers;

[0033] Figure 3 A flowchart of the steps for executing the self-check to determine whether the preset conditions are met;

[0034] Figure 4 A flowchart of the steps to check whether the preset verification conditions are met;

[0035] Figure 5 It is a schematic diagram of the structure of the optical motion capture system;

[0036] Figure 6 Schematic diagram of the device structure selected for rigid body marker optimization. DETAILED DESCRIPTION

[0037] The present invention is further described in detail below by specific embodiments in conjunction with the accompanying drawings. Wherein similar elements in different embodiments adopt associated similar element numbers. In the following embodiments, many detailed descriptions are for making the present application better understood. However, those skilled in the art can easily recognize that some features can be omitted in different situations, or can be replaced by other elements, materials, methods. In some cases, some operations related to the present application are not shown or described in the specification, and this is to avoid the core part of the present application being overwhelmed by too much description, and for those skilled in the art, it is not necessary to describe these related operations in detail, and they can fully understand the related operations according to the description in the specification and the general technical knowledge in the art.

[0038] In addition, the features, operations or characteristics described in the specification can be combined in any appropriate manner to form various implementations. At the same time, the steps or actions in the method description can also be interchanged or adjusted in a manner that is obvious to those skilled in the art. Therefore, the various sequences in the specification and the drawings are only for the purpose of clearly describing a certain embodiment and are not meant to be a required sequence, unless otherwise specified that a certain sequence must be followed.

[0039] The serial numbers of the components in this document, such as "second", "second", etc., are only used to distinguish the objects described and do not have any order or technical meaning. The "connection" and "coupling" mentioned in this application, unless otherwise specified, include direct and indirect connections (couplings).

[0040] The inventive concept of the present application is that in an optical motion capture system, multiple rigid bodies with fixed shapes are required for position tracking, the rigid bodies have multiple threaded holes and mounting surfaces, and the marking points are installed on the rigid bodies through support rods, etc. The present application further optimizes the marking points installed on the rigid bodies through the above-mentioned four aspects of the problems, thereby screening out suitable marking points that can improve the accuracy of the motion capture system. In this way, the screening marking points are numbered so that the marking points can be reinstalled according to the screening results, thereby selecting a suitable rigid body.

[0041] Embodiment 1:

[0042] Please refer to Figure 1 The present application discloses a structural schematic diagram of a rigid body, the rigid body structure 100 includes: a rigid body base 110, a threaded surface 111, a threaded slot 112, a support rod 120, a marking point 130, etc. The rigid body base 110 is provided with multiple threaded surfaces 111 and multiple threaded slots 112, the multiple threaded slots 112 are distributed on the multiple threaded surfaces 111, the support rod 120 is inserted into the threaded slot 112, and the marking point 130 is located at the top of the support rod 120.

[0043] The rigid base 110 can be in any shape, that is, the rigid base 110 can be a cube, a cuboid, a cylinder, or other shapes, which are not specifically limited here. The size of the threaded surface 111 can be set according to actual conditions. Generally, 1-16 threaded surfaces 111 are set on the rigid base 110 to distribute a certain number of threaded slots 112, and the number of threaded slots 112 can be 1-52, so as to install enough marking points 130 for motion capture.

[0044] There are at least three support rods 120, each support rod 120 is set at an angle to the threaded surface 111 through a threaded slot 112, and the lengths of the support rods 120 are different. They can be installed in the middle position of the threaded surface 111 or at the edge position of the threaded surface 111 to ensure that the position of the marking point 130 is asymmetrical.

[0045] There are at least three marking points 130, which is the same number as the support rods 120. In order to facilitate the motion capture system to distinguish different marking points 130 when calculating the coordinates of the marking points 130, the distances between any two marking points 130 are different, and all marking points 130 cannot be coplanar. By arranging the marking points 130 according to the above method, each rigid body can be made not too similar, so as to ensure that the motion capture system can effectively identify the rigid body.

[0046] It should be noted that the marking point 130 can be a reflective marking point or an active self-luminous marking point, that is, the rigid body structure can be a rigid body used for passive motion capture or a rigid body used for active motion capture.

[0047] Embodiment 2:

[0048] Please refer to Figure 2 , after understanding Figure 1 Based on the rigid body structure shown, this embodiment discloses a method for optimizing the selection of rigid body marking points. The method to be protected includes steps S200-S500, which will be described separately below.

[0049] Step S200, acquisition step: acquiring a plurality of marker point coordinate sets with different support rod lengths: Coor i {(x1, y1, z1, t1, s1), (x2, y2, z2, t2, s2),..., (x n ,y n , z n , t n ,s n)}, where x, y, z represent three-dimensional coordinate values, i = 1, 2, ..., a represents the number of the marking point, n = 1, 2, ..., b represents the number of threaded slots in the rigid base, t∈{1, 2, ..., a} represents the corresponding number of support rods of the marking points of different lengths, and s∈{1, 2, ..., c} represents the number of the threaded surface of the rigid base.

[0050] In one embodiment, step S200 may include: obtaining at least three sets of coordinates of marking points with different support rod lengths, such as obtaining three sets of coordinates of marking points numbered 1, 2, and 3, which represent the three-dimensional coordinates of n marking points numbered 1, 2, and 3 located on the threaded surface numbered s and corresponding to support rods of different lengths. Due to the introduction of parameters such as threaded slots, support rods, and threaded surfaces, it is convenient to more accurately distinguish the various marking points on the rigid body. In general, the number of rigid body base threads in each set of marking point coordinates can be selected from 1 to 52, and the number of rigid body base threaded surfaces can be selected from 1 to 16.

[0051] Step S300, self-checking step: select m thread surfaces from the thread surface of the rigid base to form a combination And get the first combination according to the number of the above marking points And randomly shuffle The order of the marked points in the random order ensures the diversity of the final suitable rigid body generated; traversal All rigid bodies in the , remove the rigid bodies that do not meet the preset self-test conditions. Generally, 4-10 thread surfaces can be selected from the thread surfaces of the rigid body base to form a combination, preferably 5 thread surfaces are selected to form a mathematical combination Selecting the marking points selected from 5 faces makes the system performance higher. For example, if 5 faces are selected from 16 thread faces, then there will be The thread surface is based on the above-mentioned coordinate set Coor i {(x1, y1, z1, t1, s1), (x2, y2, z2, t2, s2),..., (x n ,y n , z n , t n ,s n )}, you can get the same The coordinate set of the marking points corresponding to the thread surface.

[0052] In one embodiment, it can be seen Figure 3 In step S300, whether the preset self-test condition is met may include steps S310-S330, which are described as follows.

[0053] Step S310, traverse all rigid bodies in the first combination in order, and check all distance sets {ej}Whether the first condition is met: min(e j )>TH1, where TH1 is a set value, i.e., any distance between the marking points on the rigid body cannot be too close, and the minimum distance must be greater than the set threshold; if the first condition is not met, the rigid body is discarded and the next rigid body is traversed, and the rigid body that meets the first condition goes to step S320;

[0054] Step S320: If the first condition is met, then for all distance sets {e j}, judge any two distance values ​​e j1 and e j2 Whether the second condition is met; if the second condition is not met, the rigid body is discarded and the next rigid body is traversed, and the rigid body that meets the first condition and the second condition goes to step S330;

[0055] Step S330, if the second condition is met, the three vectors formed by the coordinates of any four marking points in a single rigid body are formed into a determinant to determine whether the determinant meets the third condition. If not, the rigid body that does not meet the condition is discarded and the next rigid body is traversed until a rigid body that meets the preset self-test conditions is screened out.

[0056] The second condition specifically includes: count = ∑(|e j1 -e j2 |<TH2), count<3, where TH2 is a set value, i.e., the number of completely consistent or nearly similar distances between the marking points of a single rigid body should be less than 3, that is, no more than two distances can be consistent or nearly similar. If the second condition is not met, the rigid body that does not meet the condition is discarded and the next rigid body is traversed.

[0057] The third condition specifically includes: if the coordinates of any four marking points in a single rigid body are (p0, p1, p2, p3), then the three vectors formed are The determinant of these three vectors is Determine whether the determinant satisfies: Among them, TH3 is a set value, that is, all the marking points on a single rigid body cannot be located in the same plane, and should be in a non-coplanar state.

[0058] Step S400, verification step: for a rigid body R that meets the self-checking conditions k , where k is The total number of rigid bodies in the first rigid body R1 is saved to the second combination {RS i}, where i<MAXNUM, and MAXNUM is the final expected number of rigid bodies. Starting from the second rigid body R2, it is compared with other rigid bodies in the second combination. According to the comparison result, the rigid bodies that do not meet the preset verification conditions are removed, that is, the rigid bodies that meet the preset verification conditions are saved one by one in the second combination, and the next rigid body is traversed. If the number of rigid bodies in the second combination reaches the MAXNUM value, the traversal is exited.

[0059] It should be noted that the self-checking step in step S300 is a self-checking of a single rigid body to see whether the single body meets the preset self-checking conditions. Only the rigid body that meets all the conditions in the above steps S310-S330 enters the verification step between rigid bodies in step S400. In one embodiment, see Figure 4 The specific steps of executing whether the preset verification conditions are met include the following steps S410-S420:

[0060] Step S410, traverse all rigid bodies in the second combination, and determine any two distance sets {e t1} and {e t2}Does it satisfy: cnt = ∑(|e t1 -e t2 |<TH2), count<3, that is, save to the second combination {RS i The distance between any two rigid body marking points in} should be less than three. If this condition is not met, the rigid body that does not meet the condition is discarded and the next rigid body is traversed;

[0061] Step S420, if cnt=∑(|e t1 -e t2 |<TH2), count<3, randomly select 3 marked points on any rigid body in the second combination and other rigid bodies, determine whether the lines between the 3 marked points form similar triangles, and record the number of similar triangles cnt. If cnt<3, the rigid body meets the preset verification condition. If it does not meet the condition, the rigid body is discarded and the next rigid body is traversed. For example, randomly select the set of marked points on 3 rigid bodies {rp1 t} and {rp2 t}, each {rp1 t} and {rp2 t The distance value combinations between the marked points in} are {ert1} and {ert2} respectively. According to the formula: t1 -er t2 |<TH2, determine whether the distances corresponding to {ert1} and {ert2} are similar. If all three distances are similar, then {rp1 t} and {rp2t The marking points in the set can form similar triangles. By judging whether the number of similar triangles is within the threshold range, it is possible to judge whether the rigid body meets the preset verification conditions. Meeting the verification conditions means that there are differences in the structures of the rigid bodies, which avoids the rigid bodies from having too high similarities. After the above self-checking and verification steps, the rigid body marking points can be optimized and the problems existing in the prior art can be avoided as much as possible.

[0062] Step S500, calculation step: determine the rigid body R newly added to the second combination k 'Can the line connecting the rigid body marker points saved in the second combination form a similar triangle? If so, calculate the line that can connect with the rigid body R k 'The total number of rigid bodies that make up similar triangles is recorded in the matrix Counter. The total number of rigid bodies in Counter is sorted from small to large, and the corresponding rigid body R in the front k 'Prefer rigid bodies for motion capture.

[0063] It should be understood that after completing the verification step, the optimized rigid bodies can also be sorted according to the calculation step to select the optimal rigid body that can best improve the capture accuracy as the identification object for priority in the motion capture process. Specifically, in the verification step, the rigid bodies that meet the verification conditions are saved one by one in the second combination, and then the rigid body R newly added to the second combination can be k 'Compare with the rigid bodies saved in the second combination to determine whether the lines connecting the marking points between the rigid bodies can form similar triangles. For example, there are L rigid bodies saved, and the numbers of the three newly added rigid bodies are 1, 2, and 3 respectively. k 'Compared with the L rigid bodies saved each time, it is determined that the newly added rigid body No. 1 can form a similar triangle with the 4 saved rigid bodies, the newly added rigid body No. 2 can form a similar triangle with the 3 saved rigid bodies, and the newly added rigid body No. 3 can form a similar triangle with the 2 saved rigid bodies. Then the total number of rigid bodies corresponding to the newly added rigid bodies No. 1-3 that can form similar triangles with other rigid bodies is [4, 3, 2] respectively, and these corresponding total number of rigid bodies are recorded in a matrix Counter. Finally, the total number of rigid bodies [4, 3, 2] in Counter is sorted in ascending order to [2, 3, 4]. The corresponding numbers of the newly added rigid bodies are sorted to [3, 2, 1]. The rigid body No. 3 in the front can be regarded as a rigid body with a large difference, followed by rigid bodies No. 2 and No. 1. In the motion capture process, the rigid bodies in the front will be given priority as the recognition objects.

[0064] Embodiment three:

[0065] Please refer to Figure 5Based on the rigid body marker point optimization selection method disclosed in Example 2, this application also discloses an optical motion capture system, which includes not only multiple marker points to be captured and multiple cameras for photographing these marker points, but also a processor 12.

[0066] Wherein, a plurality of marking points are set on one or more capture objects 11 in the motion space, such as Figure 5 As shown, multiple cameras are distributed in the motion space and are all connected to the processor 12 for capturing the marked points on the object 11.

[0067] It should be noted that the marking points mentioned in this embodiment may be reflective marking points or fluorescent marking points commonly used in optical motion capture systems to configure rigid bodies, or may be active marking points that can actively emit light.

[0068] The processor 12 is used to optimize and select each marking point according to the rigid body marking point optimization selection method disclosed in the second embodiment. For example, according to step S200, a set of marking point coordinates on a plurality of support rods of different lengths is periodically obtained, and then according to steps S300-S400, a self-checking step and a verification step are performed on the marking points on the rigid body, until all marking points meet the preset conditions, and then step S500 is entered to sort the rigid bodies, so as to obtain the rigid bodies that can be preferentially selected for use.

[0069] Furthermore, the present application also describes in detail the rigid body marker point optimization selection device in this embodiment from the perspective of hardware processing, see Figure 6 .

[0070] Figure 6 6 is a schematic diagram of the structure of a rigid body marker point optimization selection device provided in this embodiment. The device 600 may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 610 (for example, one or more processors) and a memory 620, and one or more storage media 630 (for example, one or more mass storage devices) storing application programs 633 or data 632. Among them, the memory 620 and the storage medium 630 can be short-term storage or permanent storage. The program stored in the storage medium 630 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the device 600. Furthermore, the processor 610 can be configured to communicate with the storage medium 630 and execute a series of instruction operations in the storage medium 630 on the device 600.

[0071] The device 600 may also include one or more power supplies 640, one or more wired or wireless network interfaces 650, one or more input and output interfaces 660, and / or one or more operating systems 631, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc. It will be appreciated by those skilled in the art that Figure 6 The structure of the device 600 shown does not constitute a limitation on the rigid body marker point optimization selection device provided in the present application, and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.

[0072] The present application also provides a computer-readable storage medium, which may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium. Instructions are stored in the computer-readable storage medium. When the instructions are executed on a computer, the computer executes the steps of the above-mentioned rigid body marker point optimization selection method.

[0073] Those skilled in the art will appreciate that all or part of the functions of the various methods in the above-mentioned embodiments can be implemented by hardware or by computer programs. When all or part of the functions in the above-mentioned embodiments are implemented by computer programs, the program can be stored in a computer-readable storage medium, and the storage medium can include: read-only memory, random access memory, disk, optical disk, hard disk, etc., and the program is executed by a computer to implement the above-mentioned functions. For example, the program is stored in the memory of the device, and when the program in the memory is executed by the processor, all or part of the above-mentioned functions can be implemented. In addition, when all or part of the functions in the above-mentioned embodiments are implemented by computer programs, the program can also be stored in a storage medium such as a server, another computer, disk, optical disk, flash disk or mobile hard disk, and can be downloaded or copied and saved in the memory of the local device, or the system of the local device is updated, and when the program in the memory is executed by the processor, all or part of the functions in the above-mentioned embodiments can be implemented.

[0074] The above specific examples are used to illustrate the present invention, which is only used to help understand the present invention and is not intended to limit the present invention. For those skilled in the art, according to the concept of the present invention, some simple deductions, modifications or substitutions can be made.

Claims

1. A method for optimizing and selecting rigid body marker points, characterized in that: The following steps are involved: Acquisition steps: Get multiple marker point coordinate sets with different support rod lengths: Coor i {(x1,y1,z1,t1,s1),(x2,y2,z2,t2,s2),...,(x n ,y n ,z n ,t n ,s n )}, where x, y, z represent three-dimensional coordinate values, i = 1, 2, ..., a, represents the number of the marking point, n = 1, 2, ..., b, represents the number of threaded slots in the rigid base, t∈{1, 2, ..., a} represents the corresponding number of the marking point support rods of different lengths, and s∈{1, 2, ..., c} represents the number of the threaded surface of the rigid base; Self-checking steps: select m thread surfaces from the thread surface of the rigid base to form a combination And obtain the first combination according to the number of the marking point And randomly shuffle The order of the marked points in ; traversal All rigid bodies in the list are removed, and those that do not meet the preset self-test conditions are removed; Verification step: For the rigid body R that meets the self-checking conditions k , where k is the total number of rigid bodies in, save the first rigid body R1 to the second combination {RS i}, where i < MAXNUM, and MAXNUM is the number of rigid bodies expected to be obtained finally. Starting from the second rigid body R2, compare it with other rigid bodies in the second combination, save the rigid bodies that meet the preset verification conditions into the second combination one by one, and traverse the next rigid body. If the number of rigid bodies in the second combination reaches the MAXNUM value, exit the traversal; Calculation steps: Determine the rigid body R newly added to the second combination k 'Can the line connecting the rigid body marker points saved in the second combination form a similar triangle? If so, calculate the line that can connect with the rigid body R k 'The total number of rigid bodies that make up similar triangles is recorded in the matrix Counter. The total number of rigid bodies in Counter is sorted from small to large. The rigid body R in the front k 'To prioritize rigid bodies for motion capture; The preset self-test conditions include: Traverse all rigid bodies in the first combination in order, and check all distance sets {e j }Whether the first condition is met: min(e j )>TH1, wherein TH1 is a set value; If the first condition is met, then for all distance sets consisting of the marking points of a single rigid body {e j }, judge any two distance values ​​e j1 and e j2 Whether the second condition is met; If the second condition is met, the three vectors formed by the coordinates of any four marking points in a single rigid body are used to form a determinant, and it is determined whether the determinant meets the third condition. If not, the rigid body that does not meet the condition is discarded and the next rigid body is traversed; The second condition specifically includes: count = ∑ (e j1 -e j2 <TH2), count <3, where TH2 is a set value. If the second condition is not met, the rigid body that does not meet the condition is discarded and the next rigid body is traversed; The third condition specifically includes: The coordinates of any four marking points in the rigid body are (p0, p1, p2, p3), then the three vectors formed are The determinant of the three vectors is Determine whether the determinant satisfies: Among them, TH3 is a set value; The preset verification conditions include: Traverse all rigid bodies in the second combination and determine any two distance sets {e t1 } and {e t2 }Does it satisfy: cnt = ∑ (e t1 -e t2 <TH2), count<3, if it does not meet the conditions, the rigid body that does not meet the conditions will be discarded and the next rigid body will be traversed; If cnt=∑(e t1 -e t2 <TH2),count<3, randomly select 3 marked points on any rigid body in the second combination and other rigid bodies, determine whether the lines between the 3 marked points form similar triangles, and record the number of similar triangles cnt. If cnt<3, the rigid body meets the preset verification conditions.

2. The method for optimizing and selecting rigid body marker points according to claim 1, characterized in that: The obtaining step comprises: Obtain at least three sets of marking point coordinates with different support rod lengths, the number of the threaded slots of the rigid base is 1-52, and the number of the threaded surfaces of the rigid base is 1-16.

3. The method for optimizing and selecting rigid body marker points according to claim 1, wherein: The self-test steps include: 4-10 thread surfaces are selected from the thread surfaces of the rigid base to form a combination.

4. An optical motion capture system, comprising a plurality of marker points to be captured and a plurality of cameras for photographing the marker points, characterized in that: Also includes a processor; A plurality of cameras are distributed in the motion space and are all connected to the processor for photographing the marking points on the rigid body; The processor is used to optimize and screen each of the rigid bodies according to the rigid body marker point optimization selection method according to any one of claims 1 to 3, so as to complete the identification of the rigid body marker points.

5. A rigid body marker point optimization selection device, characterized in that: include: A memory and at least one processor, wherein instructions are stored in the memory, and the memory and the at least one processor are interconnected via a line; The at least one processor calls the instructions in the memory to enable the rigid body marker point optimization selection device to perform the method as described in any one of claims 1-3.

6. A computer-readable storage medium, characterized in that: The method comprises a program which can be executed by a processor to implement the method according to any one of claims 1 to 3.