A method for designing and identifying reflective marker clusters

By designing and identifying clusters of reflective markers, this system solves the problem of low automation in the processing of multiple reflective markers in existing optical motion capture systems, and achieves high-precision automatic marking in complex or dynamic scenes. It is applicable to fields such as virtual reality, animation production, sports science, medical rehabilitation and robotics.

CN119992665BActive Publication Date: 2026-05-26BEIJING JIAOTONG UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING JIAOTONG UNIV
Filing Date
2025-02-24
Publication Date
2026-05-26

Smart Images

  • Figure CN119992665B_ABST
    Figure CN119992665B_ABST
Patent Text Reader

Abstract

This application discloses a method for designing and identifying reflective marker clusters. The method for designing reflective marker clusters includes: determining the type of marker cluster based on the intended use scenario; obtaining the required number of reflective marker clusters; obtaining the diameter information of each location where a reflective marker cluster is placed; obtaining the minimum number of binary markers required for each reflective marker cluster; obtaining the diameter information of each reflective marker; obtaining the maximum number of binary markers required for each reflective marker cluster; selecting the number of binary markers in the middle position between the minimum and maximum number of binary markers as the final number of reflective markers used; and generating the code point information for each reflective marker cluster based on the obtained final number of reflective markers used and Hamming constraints. This application enables accurate mapping between each marker cluster and the measured target, without relying on prior information such as the motion, shape, and attitude of the measured target.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of optical motion capture system technology, and in particular to a method for designing reflective marker clusters and a method for recognizing reflective marker clusters. Background Technology

[0002] Passive marker-based optical motion capture systems offer advantages such as high precision and high frame rates, and are therefore widely used in many scenarios requiring motion measurement, including virtual reality, animation, sports science, medical rehabilitation, and robotics. However, transforming the raw captured data into an ordered sequence of motion data remains a significant challenge, primarily in two aspects: First, in many applications, the captured object often has multiple reflective markers. For example, in a swarm of robots composed of multiple independent rigid bodies, these bodies can be viewed as a skeletal structure (such as a human or animal) with motion constraints. Second, these markers are indistinguishable from each other, containing only positional information; therefore, the raw data captured in each frame is essentially unordered.

[0003] Since each marker provides no information other than its location, researchers have explored two distinct approaches to ensuring the accuracy of the markers corresponding to each reflective point. The first approach aims to replace the original markers, which only provide location information, with self-labeling marker clusters. These include using reflective markers combined into independent rigid bodies of different geometries, as well as active marker clusters using frequency modulation or geometric coding. The second approach leverages prior information about the target's pose and motion, primarily based on human model development. Examples include commercial motion capture systems that provide automatic labeling for T-poses with specific marker layouts, and deep learning-based methods offering end-to-end labeling methods for specific marker layouts.

[0004] However, both of these automatic labeling methods have significant limitations. The first type of method has low automation, requiring manual preprocessing in software. Processing time increases with the number of target objects in a small space, and it's difficult to ensure the uniqueness of the geometry representing each rigid body, especially considering system measurement errors. The second type, primarily utilizing deep learning techniques, faces challenges in terms of generality. While these methods have significantly improved automatic labeling across various human body types, they are often limited by specific motion types, single body shapes, predefined capture scenarios, or rigid labeling layouts, and frequently require object-specific calibration sequences. Furthermore, their reliance on high-quality motion capture data limits their scalability in new, more complex, or dynamic scenarios, such as biomimetic research on animals or flexible robots.

[0005] Therefore, there is a need for a technical solution to address or at least mitigate the aforementioned shortcomings of existing technologies. Summary of the Invention

[0006] The purpose of this invention is to provide a method for designing reflective marker clusters to at least solve one of the above-mentioned technical problems.

[0007] This invention provides the following solution:

[0008] According to one aspect of the present invention, a method for designing reflective marker clusters is provided for use in an optical motion capture system. The method for designing reflective marker clusters includes:

[0009] Determine the type of tag cluster based on the scenario in which it will be used;

[0010] Obtain the required number of reflective marker clusters for the desired application scenario;

[0011] Obtain the diameter information of each location where the reflective marker cluster is placed;

[0012] The minimum number of reflective markers for each reflective marker cluster is determined based on the required number of reflective marker clusters and the Hamming constraints.

[0013] Obtain the diameter information for each reflective mark;

[0014] The maximum number of reflective tags for each reflective tag cluster is obtained based on the diameter information of the location where the reflective tag cluster is placed;

[0015] The number of reflective marks that is in the middle between the minimum number of reflective marks and the maximum number of reflective marks is selected as the final number of reflective marks to be used;

[0016] The code information for each reflective tag cluster is generated based on the final number of reflective tags used and the Hamming constraints.

[0017] Optionally, the reflective marker cluster design method further includes:

[0018] A circular base plate, the same number as the number of reflective marker clusters, is manufactured according to the diameter information of the location where the reflective marker clusters are placed;

[0019] According to the code information of each reflective mark cluster, holes are drilled and reflective marks are installed on each circular base plate. Each circular base plate and the reflective marks on the circular base plate constitute the reflective mark cluster. The holes, reflective marks, and the distance between each hole and each reflective mark on each circular base plate constitute the code information of the reflective mark cluster. The reflective marks and holes are all binary marks, where the reflective mark represents 1 in binary and the hole represents 0 in binary.

[0020] Install each reflective marker cluster on the object to be used in the scene.

[0021] Optionally, determining the tag cluster type based on the scenario to be used includes:

[0022] Obtain a tag cluster type database, wherein the tag cluster type database includes at least one preset use scenario information and a tag cluster type corresponding to each preset use scenario information;

[0023] Obtain the tag cluster type corresponding to the preset use case information that is the same as the scenario to be used; where,

[0024] The marker cluster types include dominant marker cluster types and recessive marker cluster types.

[0025] Optionally, obtaining the minimum number of reflective markers for each reflective marker cluster based on the required number of reflective marker clusters and the Hamming constraint includes:

[0026] Based on the Hamming constraints, obtain the codeword combinations that can be generated by each number of reflective marks within a preset range;

[0027] The minimum number of reflective tags for a reflective tag cluster is selected from the codeword combinations that exactly match the required number of reflective tag clusters.

[0028] Optionally, when the marker cluster type is a stealth marker cluster type, the maximum number of reflective markers for each reflective marker cluster is obtained using the following formula based on the radius information of the location where the reflective marker cluster is placed:

[0029] in,

[0030] d s To accurately distinguish the minimum distance between two binary markers in a motion capture system, where D is the diameter of the circular base plate, π is pi, and l max This represents the maximum number of reflective markers in the reflective marker cluster.

[0031] Optionally, after determining the final number of reflective markers to be used, the reflective marker cluster design method for the optical motion capture system further includes:

[0032] The radius of each reflective marker is determined based on the final number of reflective markers used and the minimum distance between two binary markers that can be accurately distinguished under a motion capture system.

[0033] Optionally, when the marker cluster type is a stealth marker cluster type, the radius of each reflective marker is determined based on the final number of reflective markers used and the minimum distance between two binary markers that can be accurately distinguished under the motion capture system, using the following formula:

[0034] in,

[0035] R is the radius dimension of each reflective mark, d s The minimum distance between two binary markers that can be accurately distinguished under a motion capture system, n is the final number of reflective markers used, and π is the mathematical constant pi.

[0036] This application also provides a method for identifying reflective marker clusters, used for identifying reflective marker clusters captured by an optical motion capture system, characterized in that the reflective marker cluster identification method includes:

[0037] Acquire the coordinate information of each binary tagged element captured by the optical motion capture system;

[0038] Based on the coordinate information of each binary tag, Euclidean clustering is performed on each binary tag to obtain multiple classification clusters. Each classification cluster corresponds to a reflective tag cluster, and each classification cluster contains multiple binary tags.

[0039] Based on the radius information of each reflective marker cluster, obtain the marker cluster type and code length information corresponding to that reflective marker cluster;

[0040] Each reflective marker cluster is identified based on its cluster type and code position information, thereby obtaining the corresponding code position information for that reflective marker cluster.

[0041] Optionally, when the marker cluster type is a recessive marker cluster type, the step of identifying each reflective marker cluster according to the marker cluster type and code point information to obtain the code point information corresponding to the reflective marker cluster includes:

[0042] Each reflective marker cluster is identified as follows:

[0043] The number of distance elements in the reflective marker cluster is obtained based on the code position information;

[0044] Based on the coordinate information of each binary tag and the first preset condition, two adjacent nearest binary tags are obtained as reference points. One of them is called the first reference point and the other is called the second reference point. The shortest connecting line between the first reference point and the second reference point is called the reference line.

[0045] Obtain the shortest distance between the first reference point and other binary tags that are not used as reference points in each binary tag;

[0046] Obtain the angle between each binary marker that is not used as a reference point and the reference line;

[0047] Code position information is obtained based on the shortest distances and the included angles.

[0048] Optionally, when the marker cluster type is a dominant marker cluster type, the step of identifying each reflective marker cluster according to the marker cluster type and code point information, thereby obtaining the code point information corresponding to the reflective marker cluster, includes:

[0049] Each reflective marker cluster is identified as follows:

[0050] Obtain the predefined positions corresponding to every two binary markers in each reflective marker cluster;

[0051] We use any two sides of a triangle to map their corresponding positions, and use the third side as the basis for verifying the correctness of the result. Since these two sides intersect, there must be an overlap of predefined positions. This constraint means that the position of one side is collinear with the other side in the horizontal or vertical direction. Under this constraint, the design distance of the other side of the triangle can be determined. The correctness of the mapping is verified by judging whether the design distance of the third side and the actual measured distance satisfy the above condition. By setting the bit code of the corresponding position to 1, the codewords of these three points can be decoded.

[0052] The same mapping method is then applied to other points in the decoding cluster. For a potential cluster with n points, mapping all points requires at most n-2 distinct triangles. The final data bit codeword for the labeled cluster is generated by bitwise ORing the codewords from the multiple triangle mappings. The result is 0 when both bits are 0, and 1 otherwise.

[0053] The reflective marker cluster design method of this application achieves accurate mapping between each marker cluster and the measured target by designing reflective marker clusters and replacing a single reflective marker with a reflective marker cluster, without relying on prior information such as the motion, shape, and attitude of the measured target, thus realizing automatic intra-frame marking. Attached Figure Description

[0054] Figure 1 This is a flowchart illustrating the reflective marker cluster design method in one embodiment of this application.

[0055] Figure 2 This is a schematic diagram illustrating the principle of a reflective marker cluster of the latent marker cluster type in one embodiment of this application.

[0056] Figure 3 This is a schematic diagram illustrating the principle of a reflective marker cluster of the dominant marker cluster type in one embodiment of this application.

[0057] Figure 4 This is a schematic diagram illustrating the identification principle of the dominant marker cluster type in the reflective marker cluster identification method of one embodiment of this application.

[0058] Figure 5This is a schematic diagram illustrating an application scenario of the reflective marker cluster design method in one embodiment of this application.

[0059] Figure 6 This is a schematic diagram of a reflective marker cluster design with a code length of 7, representing a latent marker cluster type in one embodiment of this application.

[0060] Figure 7 This is a schematic diagram of the design of a reflective tag cluster with a code length of 7, which is an exhaustive enumeration of the latent tag cluster type in one embodiment of this application.

[0061] Figure 8 This is a schematic diagram of a reflective marker cluster design with a code length of 7, representing an embodiment of the dominant marker cluster type in this application.

[0062] Figure 9 This is a schematic diagram of an exhaustive design of a reflective marker cluster of code length 7 for an explicit marker cluster type in one embodiment of this application. Detailed Implementation

[0063] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0064] like Figure 1 The reflective marker cluster design method shown is used in optical motion capture systems, and the reflective marker cluster design method includes:

[0065] Step 1: Determine the type of tag cluster based on the scenario in which it will be used;

[0066] Step 2: Obtain the required number of reflective marker clusters for the scene to be used;

[0067] Step 3: Obtain the diameter information of each location used to place the reflective marker cluster;

[0068] Step 4: Obtain the minimum number of reflective markers for each reflective marker cluster based on the required number of reflective marker clusters and the Hamming constraints;

[0069] Step 5: Obtain the diameter information of each reflective mark;

[0070] Step 6: Obtain the maximum number of reflective marks for each reflective mark cluster based on the diameter information of the location used to place the reflective mark cluster;

[0071] Step 7: Select the number of reflective marks that is in the middle between the minimum number of reflective marks and the maximum number of reflective marks as the final number of reflective marks to be used;

[0072] Step 8: Generate the code information for each reflective tag cluster based on the final number of reflective tags used and the Hamming constraints.

[0073] The reflective marker cluster design method of this application achieves accurate mapping between each marker cluster and the measured target by designing reflective marker clusters and replacing a single reflective marker with a reflective marker cluster, without relying on prior information such as the motion, shape, and attitude of the measured target, thus realizing automatic intra-frame marking.

[0074] In this embodiment, the reflective marker cluster design method further includes:

[0075] A circular base plate, the same number as the number of reflective marker clusters, is manufactured according to the diameter information of the location where the reflective marker clusters are placed;

[0076] According to the code information of each reflective mark cluster, holes are drilled and reflective marks are installed on each circular base plate. Each circular base plate and the reflective marks on the circular base plate constitute the reflective mark cluster. The holes, reflective marks, and the distance between each hole and each reflective mark on each circular base plate constitute the code information of the reflective mark cluster. The reflective marks and holes are all binary marks, where the reflective mark represents 1 in binary and the hole represents 0 in binary.

[0077] Install each reflective marker cluster on the object to be used in the scene.

[0078] In this embodiment, determining the tag cluster type based on the scenario to be used includes:

[0079] Obtain a tag cluster type database, wherein the tag cluster type database includes at least one preset use scenario information and a tag cluster type corresponding to each preset use scenario information;

[0080] Obtain the tag cluster type corresponding to the preset use case information that is the same as the scenario to be used; where,

[0081] The marker cluster types include dominant marker cluster types and recessive marker cluster types.

[0082] In this embodiment, the tag cluster type database can be manually set, that is, each preset usage scenario information is assigned a corresponding preset tag cluster type. In actual use, as long as the text information of the corresponding usage scenario is entered, the corresponding preset tag cluster type can be obtained through semantic recognition or text similarity calculation. For example, if a preset usage scenario information is drone, and the text entered by the user is also drone, then the preset tag cluster type corresponding to the preset usage scenario information is obtained. It can be understood that multiple keywords can also be set. As long as the entered keyword is within a certain preset usage scenario information, the preset tag cluster type corresponding to the preset usage scenario information is obtained.

[0083] In this embodiment, the following factors are considered when deciding which type of tag cluster to use:

[0084] For example, in motion capture of robots such as drones, there are requirements for the accuracy of the position and orientation of the marker clusters. Therefore, marker clusters with explicit frame headers are preferred, and all marker clusters are designed to be asymmetric. When size allows, larger marker clusters are used to reduce the optical motion capture system's misidentification of closely spaced markers, thereby improving the stability and accuracy of pose estimation.

[0085] For example, when performing motion capture on the human body, since the main goal is to reconstruct the movement of the human body within the skeletal framework, more attention is paid to the positional information of the markers rather than the pose information of individual marker clusters. At the same time, in order to minimize the impact of the marker cluster size on human movement, the smallest possible marker cluster design should be used. Therefore, in this scenario, it is recommended to prioritize the use of marker clusters with implicit frame headers.

[0086] In an alternative embodiment, in a reflective tag cluster design method, tag clusters of different code lengths can be used in combination.

[0087] For example, in one embodiment, there are 10 locations where reflective marker clusters need to be installed. If we choose to use... Figure 2 When the binary markers shown are 7, and considering the Hamming constraint set in this application, the actual number of marker clusters that can be designed is only 8, which is insufficient to install 10 reflective marker clusters. In this case, it can be used in conjunction with reflective marker clusters composed of 6 binary markers. That is, out of 10 reflective marker clusters, 8 are reflective marker clusters with 7 binary markers and 2 are reflective marker clusters with 6 binary markers.

[0088] In this embodiment, to avoid interfering with the movement or flight of a human or drone, most reflective marker clusters are typically placed at locations with a diameter not exceeding 80mm. Therefore, the diameter of the location for placing the reflective marker cluster in this application does not exceed 80mm. In this embodiment, the minimum distance d between two markers can be accurately distinguished using a motion capture system. s It is 14mm.

[0089] In this embodiment, the present application uses a diameter d m The reflective marking is 7mm.

[0090] In this embodiment, obtaining the minimum number of reflective markers for each reflective marker cluster based on the required number of reflective marker clusters and the Hamming constraint includes:

[0091] Based on the Hamming constraints, obtain the codeword combinations that can be generated by various numbers of reflective marks within a preset range.

[0092] Specifically, the Hamming limitations of this application are as follows:

[0093] The minimum Hamming distance is limited to 3 and the minimum Hamming weight to 4. The reason for this restriction is that this application adopts the coding structure of linear block codes. The coding structure of linear block codes has the following advantages: the linear structure simplifies the analysis of error correction coding capacity. In addition, matrix-based coding and decoding are easier to implement than random codes and can concisely describe the coding scheme.

[0094] To ensure codeword reliability and capacity, Hamming distance and Hamming weight are introduced. Hamming distance refers to the number of distinct symbols between two codewords. Hamming weight refers to the number of symbols in a codeword that are distinct from zero. We set a minimum Hamming weight of 4 to ensure that clusters can still be identified even if at least three binary tokens are lost (e.g., some binary tokens might not be captured by a drone in certain postures). Furthermore, to enhance error correction capabilities, a minimum Hamming distance of at least 3 is required between codewords.

[0095] In this embodiment, both the reflective marks and the holes in this application are binary marks, where the reflective mark represents a 1 in binary and the hole represents a 0 in binary. That is, the sum of the reflective marks and holes on a cluster of reflective marks is the number of code bits. Figure 2 For example, Figure 2 If the sum of the reflective mark and the hole is 7, then the code length is 7. Figure 2 If the description begins at the 12 o'clock position (the top of the circle), then the code information is (1, 0, 1, 1, 0, 0, 1).

[0096] In this embodiment, the preset quantity range can be set by the user. However, since this application has Hamming limitations, that is, if the number of code bits is 6, then the actual number of reflective marker clusters that can be designed is only 2. Therefore, the minimum value of the preset quantity range is at least equal to 6, that is, it cannot be lower than 6, while the maximum value can be estimated and designed according to its own needs.

[0097] In this embodiment, the number of codeword combinations that exactly matches the required number of reflective marker clusters is selected as the minimum number of reflective markers for each reflective marker cluster.

[0098] For example, if the required number of reflective tag clusters is 5, the calculation based on the Hamming constraints above shows that if the number of code bits is 7, the number of reflective tag clusters that can be designed is 5. Therefore, the number of code bits is chosen to be 7, which means that the minimum number of binary tags is 7. In other words, in order to design this reflective tag cluster, the minimum number of code bits cannot be less than 7.

[0099] In this embodiment, when the marker cluster type is a latent marker cluster type, the maximum number of reflective markers for each reflective marker cluster is obtained using the following formula based on the radius information of the location where the reflective marker cluster is placed:

[0100] in,

[0101] d m To accurately distinguish the minimum distance between two binary markers in a motion capture system, where D is the diameter of the circular base plate, π is pi, and l max This represents the maximum number of reflective markers in the reflective marker cluster.

[0102] In this embodiment, after determining the final number of reflective markers to be used, the reflective marker cluster design method for the optical motion capture system further includes:

[0103] The radius of each reflective marker is determined based on the final number of reflective markers used and the minimum distance between two binary markers that can be accurately distinguished under a motion capture system.

[0104] See Figure 2 as well as Figure 3 In this embodiment, the difference between the latent marker cluster type and the dominant marker cluster type is that the distance between any two binary markers in the latent marker cluster type is the same. That is, the positions of each binary marker in the reflective marker cluster of the latent marker cluster type are evenly distributed on n equivalent positions of the circumference. Let the distance between two adjacent positions be d. s The design of the concealed head only needs to meet d s ≥d m Given the number of positions n and the resolution d of the MoCap systemm The radius of each reflective mark can be determined using the following formula (rounded down at the end):

[0105]

[0106] It is understandable that for each binary code point represented by a tag in a latently labeled cluster type, since the starting position of the data bits is uncertain, the codeword in the cluster may have multiple possible recognitions depending on its starting position. For example, as mentioned above... Figure 2 If the codeword is described starting from the 12 o'clock position (the top of the circle), the codeword information is (1, 0, 1, 1, 0, 0, 1). If the starting position is the hole to the right of the 12 o'clock position, the codeword information is (0, 1, 1, 0, 0, 1, 1). To ensure that the correct codeword is decoded from different starting positions, codewords are grouped into cyclic equivalence classes. Within the same cyclic equivalence class, a codeword can be obtained by cyclically shifting another codeword. When the starting position is unknown, the correct codeword can be found by cyclically shifting any codeword.

[0107] In this embodiment, when the marker cluster type is a dominant marker cluster type, the maximum number of reflective markers for each reflective marker cluster is obtained using the following formula based on the radius information of the location where the reflective marker cluster is placed:

[0108] For marker clusters with dominant pillows, the markers are still designed to be distributed on the circumference, but the distribution is non-uniform, and the distribution interval is designed as follows:

[0109] in,

[0110] l represents the Euclidean distance between two points, i = the Euclidean distance from point i to point i+1.

[0111] Taking a tag cluster design with a code length of 7 as an example, its specific design dimensions are as follows:

[0112]

[0113] The following examples further illustrate the recessive and dominant marker cluster types of this application. It should be understood that this distance does not constitute any limitation on this application.

[0114] Design of latent marker cluster types:

[0115] For the implicit marker cluster type, the markers are designed to be evenly distributed on the circumference. First, we determine the range of values ​​for the code length l. Since at least four markers are needed to stably determine the pose of a rigid body, we set the minimum code length l. min The maximum code length is 5.max Determined by the following formula:

[0116]

[0117] Based on the maximum and minimum code lengths, our code length is set to L = (5, 6, 7, ..., 17). For each code length, the design radius of the tag cluster is determined by the following formula:

[0118]

[0119] See Figure 6 For each code length of the tag cluster, the design of its data bits is based on the design principles of cyclic codes, and its minimum Hamming distance is limited to 3 and its minimum Hamming weight to 4. Taking a code length of 7 as an example, its specific design dimensions are as follows: Figure 6 As shown.

[0120] The generator polynomial of its data bit codeword is:

[0121] g(x) = x 3 +x+1

[0122] The generating matrix is:

[0123]

[0124] The generated codewords are as follows:

[0125] (1111000,0101101,0110011,1110100,1111111).

[0126] The corresponding design results are as follows Figure 7 As shown, that is Figure 7 This indicates the types of all reflective marker clusters that can be designed with a code length of 7 under the Hamming constraints of this application.

[0127] The following examples illustrate the maximum number of reflective marker clusters that can be designed for several common latent marker cluster types and code lengths:

[0128]

[0129] As can be seen from the table above, if the code length is 6, the maximum number of reflective marker clusters that can be designed under the design method of this application is only 2.

[0130] Design of dominant marker cluster types:

[0131] For dominant marker cluster types, the binary markers are still designed to be distributed on a circumference, but the distribution is non-uniform, and the distribution interval is designed as follows:

[0132]

[0133] Taking a tag cluster design with a code length of 7 as an example, its specific design dimensions are as follows:

[0134]

[0135] For specific design dimensions, please refer to [reference]. Figure 8 .

[0136] For each code-length tag cluster, the design of its data bits follows the design principles of linear block codes, with a minimum Hamming distance of 3 and a minimum Hamming weight of 4. The generator polynomial for the codeword of its data bits is:

[0137] g(x) = x 3 +x+1

[0138] The generating matrix is:

[0139]

[0140] The generated codewords are as follows:

[0141] (0011110,0101101,0110011,1110100,1111111,1000111,1011001,1101010)

[0142] The corresponding design results are as follows Figure 9 As shown, that is Figure 9 This indicates the types of all reflective marker clusters that can be designed with a code length of 7 under the Hamming constraints and dominant marker cluster types of this application.

[0143] The following are examples comparing the maximum number of reflective marker clusters that can be designed for several common dominant marker cluster types and code lengths:

[0144] Code length 6 7 8 9 The number of designable tag clusters 3 8 13 23

[0145] This application also provides a method for identifying reflective marker clusters, used for identifying reflective marker clusters captured by an optical motion capture system, the method comprising:

[0146] Acquire the coordinate information of each binary tagged element captured by the optical motion capture system;

[0147] Based on the coordinate information of each binary tag, Euclidean clustering is performed on each binary tag to obtain multiple classification clusters. Each classification cluster corresponds to a reflective tag cluster, and each classification cluster contains multiple binary tags.

[0148] Based on the radius information of each reflective marker cluster, obtain the marker cluster type and code length information corresponding to that reflective marker cluster;

[0149] Each reflective marker cluster is identified based on its cluster type and code position information, thereby obtaining the corresponding code position information for that reflective marker cluster.

[0150] In this embodiment, Euclidean clustering is performed on each binary marker based on its coordinate information to obtain multiple clusters. Each cluster corresponds to a reflective marker cluster, and each cluster contains multiple binary markers, including:

[0151] Since the maximum radius Rm of the designed marker cluster is known, the Euclidean distance is used as the metric to identify each binary marker based on the coordinate information of each binary marker captured by the optical motion capture system.

[0152] Specifically, given an arbitrary point (any one of the coordinates captured by the optical motion capture system using binary labeled coordinate information is considered an arbitrary point) q i For any point ∈ Q, the k nearest points to qi can be obtained using Euclidean clustering (the other coordinate information in the coordinate information of each binary marker captured by the optical motion capture system) (3≤k≤L, where L represents the maximum number of binary markers in a reflective marker cluster), and any point ∈ Q can be found using Euclidean clustering. i The distance D satisfies the following condition:

[0153] D≤2R m +2e (systematic error e); In this embodiment, the systematic error e is obtained in the following way:

[0154] Systematic error refers to the difference between the actual measured value and the theoretical value caused by measurement errors in the motion capture system and mechanical errors in the processing and installation of reflective marker balls. To avoid the influence of processing and installation errors of individual reflective marker balls on the systematic error, we used a hidden marker cluster with a code length of 7 and the specific codeword (1111111), meaning that reflective marker balls were installed at all preset positions. Multiple measurements were performed, executing the same linear reciprocating motion and free swinging motion performed by a human hand within the motion capture system's workspace. We compared the measured values ​​with these three design distance values. All measured distances conformed to a normal distribution, with the mean not significantly different from the design distance values. The standard deviations of the fitted normal curves were similar and all less than 1.5 mm. To improve the distance discrimination and decoding confidence, based on the 3sigma principle, we obtained a systematic error of 3sigma = 4.5 mm.

[0155] Then, for any three of these k points, fit a circle (that is, if k is 4, i.e., points A, B, C, and D, then ABC can fit a circle, ACD can fit a circle, ABD can fit a circle, and BCD can also fit a circle). The center P of each circle is then determined. i (X,Y,Z) and radius r i All are known. These points are filtered according to the following conditions:

[0156] ∣r i -R j |≤2e

[0157] |P i P k |≤2e,

[0158] in Through the above filtering, some noise is removed, and the measurement error of the motion capture system is taken into account. In other words, the remaining circles are all circles with relatively close radius values, meaning that these circles belong to the same reflective marker cluster, and each point that makes up these circles is a binary marker within that reflective marker cluster.

[0159] In this embodiment, a database is set up in advance, which contains the radius information of each reflective marker cluster designed in this application. For example, through the above design method, we can know the radius of each reflective marker cluster when the code length of the latent marker cluster type is 7, or the radius of each reflective marker cluster when the code length is 8. It is understood that these radii are different.

[0160] After obtaining the radius r of these circles i Then, by comparing it with the radii of each code length in the database, the radius r can be determined. i The code length of the corresponding reflective marker cluster and the type of the reflective marker cluster.

[0161] By repeating the above method, each binary tag captured by the optical motion capture system can be classified and the code length of each classification cluster and the type of the reflective tag cluster can be determined.

[0162] Once the code length and type of the reflective marker cluster are determined, these clusters (i.e., reflective marker clusters) that have been classified into different categories can be identified.

[0163] In this embodiment, for latently labeled clusters, decoding and identification are performed as follows:

[0164] For decoding the tag clusters with implicit frame headers, we establish a set L whose elements are the design distances between predefined positions. Since these predefined positions are uniformly distributed on a circle, L has only three distinct elements, arranged in ascending order as follows:

[0165] L = (L1, L2, L3).

[0166] For a potential cluster belonging to a labeled cluster with a latent frame header, select the two nearest points as reference points, whose minimum distance l min satisfy:

[0167]

[0168] Connect these points to form a reference line, and choose one of the reference points as the base point. Then, calculate the distance l from the other non-reference points to the base point. i And the angle θ formed by the reference line and other points. i (The vertex is the reference point). The process of converting geometric information into codewords is shown in the code below. Although the random selection of the reference point may result in different codeword matches, these codewords will be identical after cyclic shifting.

[0169]

[0170] The specific operation of the above code is as follows:

[0171] Input: The distance between the two closest points in a given cluster of markers, which are set as reference points, and a set of distances between non-reference points used to design the distance space.

[0172] Output: The decoded codeword C, which is the unique identifier of the tag cluster.

[0173] Step 1: Initialize encoding

[0174] First, the encoding C of the tag cluster is initialized to a binary codeword of all zeros, C = 0000000. This initialization indicates that no decoding of the tag cluster has been performed yet.

[0175] Step 2: Determine condition 1

[0176] Next, determine the distance l between the two closest points in the labeled cluster. m Relationship with preset distances L1 and L2:

[0177] If |l m -L1|≤2e, that is, distance l m If the error between L1 and L1 is less than or equal to the threshold 2e, then perform the following operation:

[0178] C[0]=1; C[1]=1; s=-1;

[0179] Otherwise, if |l m -L2|≤2e, i.e., l m If the error between L2 and L2 is less than or equal to the threshold 2e, then perform the following operation:

[0180] C[0] = 1; C[2] = 1; s = -1

[0181] Step 3: Perform a judgment on each point.

[0182] For each point i∈[1,n] in the labeled cluster, perform the following operations one by one:

[0183] For each predefined position L j Make a judgment for ∈L:

[0184] If |l i -L j |≤2e, that is, the measured distance l i Distance L from the predefined point j If the error between them is less than or equal to 2e, then perform the following operation:

[0185] M≈θ i / (π / 7);

[0186] Then, set C[M+1] to 1: C[M+1] = 1. This operation will set a certain position of the codeword to 1 based on the measured distance.

[0187] Step 4: Return the decoded encoding

[0188] After completing all the judgments and encoding updates, return the final decoding result C.

[0189] The code C represents the unique identifier of the tag cluster, and the codeword is updated according to the distance between different points and the error threshold, finally generating an code adapted to the cluster.

[0190] See Figure 4 In this embodiment, for classification clusters with explicit marker cluster types, decoding and identification are performed in the following manner:

[0191] During the decoding process of a labeled cluster with an explicit frame header, a design distance space T is constructed, which uses all predefined positions in the cluster as templates. The design distance space contains the Euclidean distances between predefined positions, denoted as T(i, j), where i and j represent the distances between two positions. For a potential cluster with n points, there are n(n-1) / 2 distance segments, and the set of measured distances is l. k These distances constitute the basis of the cluster. The predefined positions (i, j) of any two points in the cluster can be determined by the following conditions:

[0192] |l k -T(i,j)|≤2e.

[0193] Due to measurement errors in motion capture systems, the corresponding position for each distance may not be unique. To address this issue, we propose using a triangle formed by three points as a mapping target to determine the predefined positions of these three points within a cluster. In this method, any two sides of the triangle are used to map their corresponding positions, while the third side is used to verify the correctness of the result. Since these two sides intersect, there must be overlap in the predefined positions. This constraint means that the position of one side is collinear with another side in the horizontal or vertical direction. Under this constraint, the design distance of the other side of the triangle can be determined, and the correctness of the mapping is verified by checking whether the design distance of the third side and the actual measured distance satisfy the above condition. By setting the bit code of the corresponding position to 1, the codewords of the three points can be decoded.

[0194] For example, this method uses Euclidean distances between marker points for mapping and, through the constraints of a triangular structure, achieves the parsing of the marker point encoding. The method mainly includes the following steps:

[0195] 1. Marker cluster extraction

[0196] Clustering and filtering algorithms are used to extract all potential marker clusters from the raw motion capture data.

[0197] The extracted clusters of markers are filtered to remove isolated points or false detection points.

[0198] Output the encoded codewords of the marker cluster and their geometric centers.

[0199] 2. Construct template distance space

[0200] Design template distance space T, where Tij represents the Euclidean distance between predefined positions i and j in the template.

[0201] For a potential cluster containing n points, compute the set of measured distances between all pairs of points.

[0202] Based on the measurement error e, determine whether the point pair (i, j) satisfies the following condition:

[0203] |l k -T(i,j)≤2e;

[0204] Due to measurement errors, a measured distance may correspond to multiple predefined locations, resulting in non-uniqueness of the mapping.

[0205] 3. Triangle mapping matching

[0206] Select any three points from the cluster of marked points to form a triangle.

[0207] By matching the measured values ​​of the two sides with a predefined distance in the template distance space T, the possible corresponding positions are determined.

[0208] Due to the intersection constraint of the two edges, the predefined position of the third point can be uniquely determined by the intersection region of these two edges.

[0209] Calculate the measured distance of the third edge and determine whether it matches the predefined distance in the template to verify the correctness of the mapping.

[0210] If a match is successful, the encoded information of the triangle is determined.

[0211] 4. Codeword Decoding

[0212] Based on the mapping relationship of the triangle vertices, obtain the corresponding encoded values.

[0213] The bitwise OR operation is used to merge multiple triangle mapping results to generate a complete cluster code.

[0214] During the merging process, the final result for each encoded bit is determined by the decoded values ​​of multiple triangles: if all corresponding bits of all triangles are 0, the result is 0. If at least one corresponding bit of a triangle is 1, the result is 1.

[0215] 5. Multi-point extended mapping

[0216] For a cluster containing n points, complete encoding parsing requires mapping to at most n-2 distinct triangles.

[0217] The decoding range is expanded using recursion or iteration, and the mapping relationship of all points is processed sequentially.

[0218] The final encoding of all points is determined by template mapping rules.

[0219] The same mapping method is then applied to other points in the decoding cluster. For a potential cluster with n points, mapping all points requires at most n-2 distinct triangles. The final data bit codeword for the labeled cluster is generated by bitwise ORing the codewords from the multiple triangle mappings. The result is 0 when both bits are 0, and 1 otherwise.

[0220] To quantify the confidence level of the decoding results, the actual measured distances l of these points are evaluated. m Distance from its expected distance l d The confidence level is achieved by measuring the difference in distance. This means that the smaller the difference, the higher the confidence level. According to the distance measurement model in motion capture systems, the confidence level of distance measurement can be expressed as:

[0221]

[0222] The confidence α of the decoding result of a decoding cluster can be expressed as:

[0223]

[0224] Each label cluster's position can be estimated using its centroid, obtained through least-squares circle fitting. For attitude estimation, the ordered nature of points within each accurately decoded label cluster contributes to constructing a stable attitude. The local coordinate system for each cluster is established as follows: First, the origin of the coordinate system is designated as the centroid obtained through circle fitting. Second, the point corresponding to the first non-zero position in the data sequence is aligned with the X-axis. Third, the Z-axis is defined by the normal vector of the least-squares fit of the label cluster, with points in the cluster arranged counter-clockwise in a right-handed coordinate system. Finally, the Y-axis is determined by the cross product of the X-axis and Z-axis.

[0225] This application has the following advantages:

[0226] 1. Independent of the structural features of the test object: The labeling results are determined by the inherent characteristics of the label clusters and do not depend on the skeletal structure or posture of the test object, so they can be applied to different types of motion capture tasks.

[0227] 2. Recovery capability after long-term occlusion: The marking process relies on only single-frame data. Even if the marking cluster is occluded for a long time, it can still maintain the same marking accuracy after it reappears in its entirety.

[0228] 3. Efficient matching mechanism: Each cluster contains unique encoding information, and matching a labeled sequence with its source only requires mapping the object under test to the corresponding cluster encoding.

[0229] Design advantages: Automation and adaptability

[0230] 1. Automatic generation of tag clusters: By combining coding theory with geometric constraints, the automatic design of tag clusters is realized, ensuring that each cluster has a unique code, while optimizing its spatial distribution to adapt to different application scenarios (such as drone formation and human motion capture).

[0231] 2. Two cluster designs meet different needs: the marker cluster with an explicit frame header has a large encoding capacity and is suitable for large-scale target calibration, while the marker cluster with an implicit frame header is smaller and more suitable for compact layout applications.

[0232] 3. Adaptable to multi-target heterogeneous systems: The encoding method of the marker clusters is independent of the structure (such as skeleton or posture) of the object being measured, so it can be used for motion capture of various heterogeneous systems (such as drones, human bodies, robots, etc.) without additional adjustments.

[0233] Decoding advantages: self-labeling and local coordinate system construction

[0234] 1. Self-labeling based on the characteristics of the label clusters themselves: Each cluster contains unique encoded information. The motion capture system can directly decode the cluster ID by detecting the relative layout of points within the cluster, thus achieving automatic labeling without manual intervention or additional matching steps.

[0235] 2. Single-frame decoding with strong anti-occlusion capability: The decoding process relies on only a single frame of data. Even if the marker cluster is occluded for a long time, the original ID can still be recovered after it reappears completely, avoiding the limitations of traditional MoCap methods that rely on time series tracking.

[0236] 3. Adaptive construction of local coordinate system: The label cluster not only provides unique encoding, but can also be used to construct a stable local coordinate system, enabling the system to estimate the target's pose information in real time in dynamic scenes, thereby improving the accuracy and robustness of motion capture.

[0237] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A retro-reflective marker cluster design method for an optical motion capture system, characterized by, The method for designing the reflective marker clusters includes: Determine the type of tag cluster based on the scenario in which it will be used; Obtain the required number of reflective marker clusters for the desired application scenario; Obtain the diameter information of each location where the reflective marker cluster is placed; The minimum number of binary tags for each reflective tag cluster is obtained based on the required number of reflective tag clusters and the Hamming constraints. Obtain the diameter information for each reflective mark; The maximum number of binary tags for each reflective tag cluster is obtained based on the diameter information of the location where the reflective tag cluster is placed; The final number of reflective markers to be used is selected from the minimum number of reflective markers and the maximum number of binary markers, which is the middle number of binary markers. The code information for each reflective tag cluster is generated based on the final number of reflective tags used and the Hamming constraints.

2. The retroreflective marking cluster design method of claim 1, wherein, The reflective marker cluster design method further includes: A circular base plate, the same number as the number of reflective marker clusters, is manufactured according to the diameter information of the location where the reflective marker clusters are placed; According to the code information of each reflective mark cluster, holes are drilled and reflective marks are installed on each circular base plate. Each circular base plate and the reflective marks on the circular base plate constitute the reflective mark cluster. The holes, reflective marks, and the distance between each hole and each reflective mark on each circular base plate constitute the code information of the reflective mark cluster. The reflective marks and holes are all binary marks, where the reflective mark represents 1 in binary and the hole represents 0 in binary. Install each reflective marker cluster on the object to be used in the scene.

3. The reflective marker cluster design method as described in claim 2, characterized in that, Determining the tag cluster type based on the scenario to be used includes: Obtain a tag cluster type database, wherein the tag cluster type database includes at least one preset use scenario information and a tag cluster type corresponding to each preset use scenario information; Obtain the tag cluster type corresponding to the preset use case information that is the same as the scenario to be used; where, The marker cluster types include dominant marker cluster types and recessive marker cluster types.

4. The reflective marker cluster design method as described in claim 3, characterized in that, The step of obtaining the minimum number of binary tags for each reflective tag cluster based on the required number of reflective tag clusters and the Hamming constraint includes: Based on the Hamming constraints, obtain the codeword combinations that can be generated by the binary tags for each quantity within a preset range; The minimum number of binary tags for a reflective tag cluster is selected from the codeword combinations that exactly match the required number of reflective tag clusters.

5. The reflective marker cluster design method as described in claim 4, characterized in that, When the marker cluster type is a latent marker cluster type, the maximum number of reflective markers for each reflective marker cluster is obtained using the following formula based on the radius information of the location where the reflective marker cluster is placed: ;in, To accurately distinguish the minimum distance between two binary markers in a motion capture system, where D is the diameter of the circular base plate and π is pi, This represents the maximum number of reflective markers in the reflective marker cluster.

6. The reflective marker cluster design method as described in claim 5, characterized in that, After determining the final number of reflective markers to be used, the reflective marker cluster design method for the optical motion capture system further includes: The radius of each reflective marker is determined based on the final number of reflective markers used and the minimum distance between two binary markers that can be accurately distinguished under a motion capture system.

7. The reflective marker cluster design method as described in claim 6, characterized in that, When the marker cluster type is a latent marker cluster type, the radius of each reflective marker is determined by the following formula based on the final number of reflective markers used and the minimum distance between two binary markers that can be accurately distinguished under the motion capture system: ;in, The radius dimension of each reflective mark, The minimum distance between two binary markers that can be accurately distinguished under a motion capture system, n is the final number of reflective markers used, and π is the mathematical constant pi.