Reflective mark cluster design method and reflective mark cluster identification method

By designing reflective mark clusters for optical motion capture systems, using coding theory and geometric constraints, the problem of reflective mark recognition and automatic marking in the prior art is solved, and efficient automatic marking in complex or dynamic scenarios is achieved.

CN119992665AActive Publication Date: 2025-05-13BEIJING JIAOTONG UNIV
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510205513.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-24
Publication Date
2025-05-13
Estimated Expiration
2045-02-24

AI Technical Summary

Technical Problem

Existing optical motion capture systems are difficult to achieve accurate mark recognition and automatic marking in scenes where multiple reflective marks are captured, especially in complex or dynamic scenarios.

Method used

By designing a reflective mark cluster design method, using coding theory and geometric constraints, mark clusters are automatically designed to ensure that each mark cluster has unique coding information and is suitable for different application scenarios.

Benefits of technology

Automatic marking within the frame is achieved without relying on the motion, shape or posture prior information of the target, improving the accuracy of mark recognition and system adaptability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119992665A_ABST
    Figure CN119992665A_ABST
Patent Text Reader

Abstract

The invention discloses a reflective mark cluster design method and a reflective mark cluster identification method. The reflective mark cluster design method comprises the following steps: determining a mark cluster type according to a scene to be used; obtaining the number of required reflective mark clusters; obtaining diameter information of each position for placing the reflective mark cluster; obtaining the minimum binary mark number of each reflective mark cluster; obtaining diameter information of each reflective mark; obtaining the maximum binary mark number of each reflective mark cluster; selecting the number of the binary marks at the middle position from the minimum number of the reflective marks and the maximum number of the binary marks as the final number of the reflective marks; and generating code bit information of each reflective mark cluster according to the obtained number of the finally used reflective marks and the Hamming limitation condition. According to the invention, accurate mapping between each mark cluster and the measured target can be realized without depending on prior information such as motion, shape and attitude of the measured target.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of optical motion capture systems, and in particular to a reflective marker cluster design method and a reflective marker cluster identification method. Background Art

[0002] Optical motion capture systems based on passive markers have the advantages of high precision and high frame rate, so they have been widely used in many scenarios that require motion measurement, such as virtual reality, animation production, sports science, medical rehabilitation, and robotics. However, there are still great challenges in converting raw capture data into an ordered sequence of motion data, which is mainly reflected in the following two aspects: First, in many application scenarios, there are often multiple reflective markers on the captured object. Taking a robot swarm composed of multiple independent rigid bodies as an example, these rigid bodies can be regarded as a skeletal structure composed of multiple rigid bodies and with motion constraints (such as a human body or an animal). Secondly, there is no difference between these markers, and they only contain position information, so the raw data captured in each frame is essentially disordered.

[0003] Since each marker has no information other than its position, researchers have conducted research from two different directions on how to ensure the accuracy of the marker corresponding to each reflective marker point. The first category aims to use a marker cluster with a self-marking function to replace the original marker that can only provide one position information. This includes the use of reflective markers to combine independent rigid bodies of different geometric shapes, and active marker clusters using frequency modulation or geometric coding. The second category aims to utilize the target's posture and motion prior information, which are basically based on the human body model. For example, commercial motion capture systems can now provide automatic marking functions for T-shaped postures and under specific marker layouts, as well as deep learning-based methods, which provide end-to-end marking methods under specific marker layouts.

[0004] However, both of these automatic labeling methods have significant limitations. The first category of methods has a low degree of automation and requires manual preprocessing in software. As the number of target objects in a small space increases, the processing time will also increase. It is difficult to ensure the uniqueness of the geometric shape representing each rigid body, especially considering the systematic measurement errors. The second category of methods, which mainly use deep learning techniques, faces challenges in generality. Although these methods have achieved significant improvements in automatic labeling of various human types, they are often limited to specific types of movements, single body shapes, predefined capture scenes or rigid marker layouts, and often require calibration sequences for specific objects. In addition, their reliance on high-quality motion capture data limits their scalability in new, more complex or dynamic scenarios (such as biomimetic studies on animals or soft robots).

[0005] Therefore, it is hoped that a technical solution can be provided to solve or at least alleviate the above-mentioned deficiencies of the prior art. Summary of the invention

[0006] The object of the present invention is to provide a reflective marking cluster design method to solve at least one of the above-mentioned technical problems.

[0007] The present invention provides the following scheme:

[0008] According to one aspect of the present invention, a reflective marker cluster design method is provided for an optical motion capture system, the reflective marker cluster design method comprising:

[0009] Determine the type of marker cluster based on the scenario to be used;

[0010] Get the number of reflective marker clusters required for the scene to be used;

[0011] Obtaining diameter information of each location for placing the reflective marker cluster;

[0012] Obtaining the minimum number of reflective markers for each reflective marker cluster according to the required number of reflective marker clusters and the Hamming restriction condition;

[0013] Obtain diameter information of each reflective mark;

[0014] obtaining a maximum number of reflective markers for each reflective marker cluster based on diameter information of a location for placing the reflective marker cluster;

[0015] Selecting the number of reflective marks located 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;

[0016] The code position information of each reflective mark cluster is generated according to the obtained final number of used reflective marks and the Hamming restriction condition.

[0017] Optionally, the reflective marking cluster design method further comprises:

[0018] Manufacturing circular base plates having the same number as the reflective marker clusters according to the diameter information of the positions for placing the reflective marker clusters;

[0019] Punching holes and installing reflective marks on each circular bottom plate according to the code position information of each reflective mark cluster, each circular bottom plate and the reflective marks on the circular bottom plate constitute the reflective mark cluster, and the holes on each circular bottom plate, the reflective marks, and the distance between each hole and each reflective mark constitute the code position information of the reflective mark cluster, wherein the reflective marks and the holes are both binary marks, wherein the reflective marks represent 1 in binary, and the holes represent 0 in binary;

[0020] Mount each reflective marker cluster on the object of use in the scene where it is to be used.

[0021] Optionally, determining the marker cluster type according to the scenario to be used includes:

[0022] Acquire a marker cluster type database, wherein the marker cluster type database includes at least one type of preset usage scenario information and a marker cluster type corresponding to each type of preset usage scenario information;

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

[0024] The marker cluster types include explicit marker cluster types and implicit marker cluster types.

[0025] Optionally, obtaining the minimum number of reflective markers for each reflective marker cluster according to the required number of reflective marker clusters and the Hamming constraint condition comprises:

[0026] Obtaining codeword combinations that can be generated by each number of reflective markers within a preset number range according to a Hamming restriction condition;

[0027] The number of code word combinations that just meet the required number of reflective mark clusters is selected from each code word combination as the minimum number of reflective mark clusters.

[0028] Optionally, when the marker cluster type is an invisible marker cluster type, the maximum number of reflective markers of each reflective marker cluster is obtained according to the radius information of the position for placing the reflective marker cluster using the following formula:

[0029] in,

[0030] d s is the minimum distance between two binary markers that can be accurately distinguished in the motion capture system, D is the diameter of the circular base, π is the circumference, l max The maximum number of reflective markers in a reflective marker cluster.

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

[0032] The radius size of each reflective marker is determined based on the number of reflective markers ultimately used and the minimum distance at which two binary markers can be accurately distinguished under the motion capture system.

[0033] Optionally, when the marker cluster type is an invisible marker cluster type, the radius size of each reflective marker is determined according to the number of reflective markers finally used and the minimum distance at which two binary markers can be accurately distinguished under the motion capture system, and is obtained by the following formula:

[0034] in,

[0035] R is the radius size of each reflective mark, d s is the minimum distance that can accurately distinguish two binary markers under the motion capture system, n is the number of reflective markers used in the end, and π is the circumference of a circle.

[0036] The present application also provides a reflective marker cluster recognition method for identifying a reflective marker cluster captured by an optical motion capture system, characterized in that the reflective marker cluster recognition method comprises:

[0037] Obtaining coordinate information of each binary marker captured by the optical motion capture system;

[0038] Performing Euclidean clustering on each binary marker according to the coordinate information of each binary marker, thereby obtaining multiple classification clusters, one classification cluster corresponds to one reflective marker cluster, and one classification cluster has multiple binary markers;

[0039] According to the radius information of each reflective marker cluster, the marker cluster type and code length information corresponding to the reflective marker cluster are obtained;

[0040] Each reflective marking cluster is identified according to the marking cluster type and code position information, thereby obtaining the code position information corresponding to the reflective marking cluster.

[0041] Optionally, when the marking cluster type is an implicit marking cluster type, identifying each reflective marking cluster according to the marking cluster type and the code position information, thereby obtaining the code position information corresponding to the reflective marking cluster includes:

[0042] Identify each reflective marker cluster as follows:

[0043] Obtain the number of distance elements of the reflective marker cluster according to the code position information;

[0044] According to the coordinate information of each binary marker and the first preset condition, two adjacent and closest binary markers are obtained as reference points, one of which is called a first reference point and the other is called a second reference point, and the shortest connecting line between the first reference point and the second reference point is called a reference line;

[0045] respectively obtaining the shortest distances between the other binary markers that are not used as reference points and the first reference point in each binary marker;

[0046] respectively obtaining the angles between the reference line and other binary marks that are not used as reference points in each binary mark;

[0047] The code position information is obtained based on the shortest distances and angles.

[0048] Optionally, when the mark cluster type is an explicit mark cluster type, identifying each reflective mark cluster according to the mark cluster type and the code position information, thereby obtaining the code position information corresponding to the reflective mark cluster includes:

[0049] Identify each reflective marker cluster as follows:

[0050] respectively obtaining corresponding predefined positions of every two binary markers in each reflective marker cluster;

[0051] Use any two sides of the triangle to map their corresponding positions, and use the third side as the basis for verifying whether the result is correct. Since the two sides intersect, there must be an overlap in the predefined position. This constraint is expressed as the position of one side being 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, and the mapping is verified by judging whether the design distance of the third side and the actual measured distance meet the above conditions. By setting the bit code of the corresponding position to 1, the codewords of these three points can be decoded;

[0052] Subsequently, the same mapping method is applied to the other points in the decoded cluster. For a potential cluster with n points, at most n-2 different triangles are required to map all the points. The data bit codeword of the final labeled cluster is generated by bitwise OR operation of the codewords from multiple triangle mappings. When the bits in both positions are 0, the result is 0, otherwise the result is 1.

[0053] The reflective marker cluster design method of the present application achieves accurate mapping of each marker cluster with the measured target by designing a reflective marker cluster and replacing one reflective marker with a reflective marker cluster, without relying on prior information such as the movement, shape, and posture of the measured target, thereby achieving automatic marking within the frame. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 It is a schematic flow chart of a reflective marking cluster design method in one embodiment of the present application.

[0055] Figure 2 It is a schematic diagram of the principle of a reflective marking cluster of the covert marking cluster type in one embodiment of the present application.

[0056] Figure 3 It is a schematic diagram of the principle of a reflective marking cluster of the explicit marking cluster type in one embodiment of the present application.

[0057] Figure 4 It is a schematic diagram of the recognition principle of the explicit marker cluster type in the reflective marker cluster recognition method in one embodiment of the present application.

[0058] Figure 5It is a schematic diagram of an application scenario of a reflective marking cluster design method in one embodiment of the present application.

[0059] Figure 6 This is a schematic diagram of a reflective marking cluster design with a code length of 7 of a covert marking cluster type in an embodiment of the present application.

[0060] Figure 7 This is a schematic diagram of an exhaustive reflective marker cluster design with a code length of 7 for a covert marker cluster type in an embodiment of the present application.

[0061] Figure 8 A schematic diagram of a reflective marking cluster design of an explicit marking cluster type with a code length of 7 in one embodiment of the present application.

[0062] Fig. 9 This is a schematic diagram of an exhaustive design of reflective marking clusters with a code length of 7 for an explicit marking cluster type in an embodiment of the present application. DETAILED DESCRIPTION

[0063] The technical solution of the present invention will be described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

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

[0065] Step 1: Determine the marker cluster type according to the scenario to be used;

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

[0067] Step 3: Obtaining diameter information of each location for placing the reflective marker cluster;

[0068] Step 4: Obtain the minimum number of reflective markers for each reflective marker cluster according to the required number of reflective marker clusters and the Hamming constraint condition;

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

[0070] Step 6: obtaining the maximum number of reflective marks for each reflective mark cluster according to the diameter information of the position for placing the reflective mark cluster;

[0071] Step 7: Selecting a reflective mark number located in the middle between the minimum reflective mark number and the maximum reflective mark number as the final reflective mark number to be used;

[0072] Step 8: Generate the code position information of each reflective mark cluster according to the final number of reflective marks used and the Hamming restriction condition.

[0073] The reflective marker cluster design method of the present application achieves accurate mapping of each marker cluster with the measured target by designing a reflective marker cluster and replacing one reflective marker with a reflective marker cluster, without relying on prior information such as the movement, shape, and posture of the measured target, thereby achieving automatic marking within the frame.

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

[0075] Manufacturing circular base plates having the same number as the reflective marker clusters according to the diameter information of the positions for placing the reflective marker clusters;

[0076] Punching holes and installing reflective marks on each circular bottom plate according to the code position information of each reflective mark cluster, each circular bottom plate and the reflective marks on the circular bottom plate constitute the reflective mark cluster, and the holes on each circular bottom plate, the reflective marks, and the distance between each hole and each reflective mark constitute the code position information of the reflective mark cluster, wherein the reflective marks and the holes are both binary marks, wherein the reflective marks represent 1 in binary, and the holes represent 0 in binary;

[0077] Mount each reflective marker cluster on the object of use in the scene where it is to be used.

[0078] In this embodiment, determining the type of the marker cluster according to the scenario to be used includes:

[0079] Acquire a marker cluster type database, wherein the marker cluster type database includes at least one type of preset usage scenario information and a marker cluster type corresponding to each type of preset usage scenario information;

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

[0081] The marker cluster type includes an explicit marker cluster type and an implicit marker cluster type.

[0082] In this embodiment, the tag cluster type database can be set manually, that is, each preset usage scenario information is manually given a corresponding preset tag cluster type. In actual use, as long as the text information of the corresponding usage scenario is input, the corresponding preset tag cluster type can be obtained through semantic recognition or text similarity calculation. For example, a preset usage scenario information is a drone, and the text input by the user is also a 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 input keyword is in 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 contents are mainly considered when considering which type of marker cluster to use:

[0084] For example, when capturing the motion of robots such as drones, the position and posture accuracy of the marker cluster are required, so marker clusters with explicit frame headers are preferred, and all marker clusters are designed to be asymmetric. If the size allows, a larger marker cluster is used to reduce the optical motion capture system's own misidentification of adjacent markers and improve the stability and accuracy of pose estimation.

[0085] For example, when capturing human motion, since the main goal is to reconstruct the movement of the human body under the skeletal framework, more attention is paid to the position information of the markers rather than the posture information of a single marker cluster. At the same time, in order to minimize the impact of the marker cluster size on human activities, it is necessary to use a marker cluster design that is as small as possible. Therefore, in this scenario, it is recommended to use marker clusters with implicit frame headers.

[0086] In an alternative embodiment, in a reflective marker cluster design method, marker clusters with different code lengths may be used in combination.

[0087] For example, in one embodiment, there are 10 locations where reflective marking clusters need to be installed. Figure 2 When the binary markers are 7, plus the Hamming restriction condition set in the present application, the number of marker clusters that can actually be designed is only 8, that is, not enough to install 10 reflective marker clusters. At this time, the reflective marker cluster composed of 6 binary markers can be used in conjunction. That is, among the 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, in order not to affect the movement or flight of the human body or the drone, the diameter information of the position where the reflective marker cluster is usually placed does not exceed 80 mm. Therefore, the diameter information of the position where the reflective marker cluster is placed in this application does not exceed 80 mm. In this embodiment, the minimum distance d between two markers that can be accurately distinguished under the motion capture system is s It is 14mm.

[0089] In this embodiment, the present application uses the diameter d m 7mm reflective markings.

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

[0091] According to the Hamming restriction condition, code word combinations that can be generated by each number of reflective marks in a preset number range are obtained.

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

[0093] The minimum Hamming distance is limited to 3 and the minimum Hamming weight is limited to 4. The reason for adopting this restriction condition is that the present 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 encoding and decoding are easier to implement than random codes, and the coding scheme can be described concisely.

[0094] To ensure the reliability and capacity of codewords, Hamming distance and Hamming weight are introduced. Hamming distance refers to the number of different symbols between two codewords. Hamming weight refers to the number of symbols different from zero in a codeword. We set the minimum Hamming weight to 4 to ensure that clusters can still be identified when at least three binary markers are lost (for example, some binary markers may not be captured by the drone in certain postures). In addition, in order to enhance error correction capabilities, the minimum Hamming distance between codewords is required to be at least 3.

[0095] In this embodiment, the reflective mark and the hole of the present application are both binary marks, wherein the reflective mark represents 1 in binary and the hole represents 0 in binary. That is, the sum of the reflective mark and the hole on a reflective mark cluster is the number of code bits. Figure 2 For example, Figure 2 The sum of the reflective mark and the hole is 7, so the code number is 7. Figure 2 The description starts from the 12 o'clock position in the middle circle (the topmost position in the circle), and the code position information is (1, 0, 1, 1, 0, 0, 1).

[0096] In this embodiment, the preset number range interval can be set by oneself, however, since this application has a Hamming restriction condition, that is, if the number of code bits is 6, the number of reflective marking clusters that can actually be designed is only 2. Therefore, the minimum value of the preset number range interval is at least equal to 6, that is, it cannot be lower than 6, and the maximum value can be estimated and designed according to one's own needs.

[0097] In this embodiment, the number of code word combinations that just meet the required number of reflective mark clusters is selected as the minimum number of reflective mark clusters.

[0098] For example, if the required number of reflective mark clusters is 5, it is found through the above-mentioned Hamming constraint that if the number of code bits is 7, the number of reflective mark clusters that can be designed is 5, then the code bit number is selected to be 7, that is, the minimum number of binary marks is 7, that is, in order to design this reflective mark cluster, the minimum number of code bits cannot be less than 7.

[0099] In this embodiment, when the marker cluster type is a hidden marker cluster type, the maximum number of reflective markers of each reflective marker cluster is obtained according to the radius information of the position for placing the reflective marker cluster using the following formula:

[0100] in,

[0101] d m is the minimum distance between two binary markers that can be accurately distinguished in the motion capture system, D is the diameter of the circular base, π is the circumference, l max The maximum number of reflective markers in a 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 an optical motion capture system further includes:

[0103] The radius size of each reflective marker is determined based on the number of reflective markers ultimately used and the minimum distance at which two binary markers can be accurately distinguished under the motion capture system.

[0104] See also Figure 2 as well as Figure 3 In this embodiment, the difference between the implicit marking cluster type and the explicit marking cluster type is that the distance between each two binary markings in the implicit marking cluster type is the same, that is, the positions of the binary markings of the reflective marking cluster of the implicit marking cluster type are evenly distributed on n equivalent positions of the circumference, and the distance between two adjacent positions is d s , the design of the hidden 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 size of each reflective mark can be determined by the following formula (rounding is sufficient):

[0105]

[0106] It is understandable that for each binary code bit information represented by the implicit tag cluster type, since the starting position of the data bit is uncertain, the code words in the cluster may have multiple recognition possibilities depending on their actual positions. Figure 2 If the code is described starting from the 12 o'clock position in the middle circle (the top of the circle), the code position information is (1, 0, 1, 1, 0, 0, 1). If the hole to the right of the 12 o'clock position is used as the starting position, the code position information is (0, 1, 1, 0, 0, 1, 1). In order to ensure that the correct code word is decoded from different starting positions, the code words are grouped into cyclic equivalence classes. In the same cyclic equivalence class, a code word can be obtained by cyclic shifting another code word. When the starting position is unknown, the correct code word can be found by cyclic shifting any code word.

[0107] In this embodiment, when the marker cluster type is an explicit marker cluster type, the maximum number of reflective markers of each reflective marker cluster is obtained according to the radius information of the position for placing the reflective marker cluster using the following formula:

[0108] For the marker cluster with dominant pillow, the design position of the marker is still distributed on the circumference, but it is non-uniformly distributed, and its distribution interval is designed as follows:

[0109] in,

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

[0111] Taking the design of a marker cluster with a code length of 7 as an example, its design size is as follows:

[0112]

[0113] The implicit marker cluster type and the explicit marker cluster type of the present application are further described in detail below by way of examples. It can be understood that the distance does not constitute any limitation to the present application.

[0114] Hidden Marker Cluster Type Design:

[0115] For the implicit marker cluster type, the design positions of the markers are evenly distributed on the circumference. First, we determine the value range of the code length l. Since at least 4 markers are required to stably determine the position of a rigid body, we set the minimum code length l min is 5, the maximum value of the code length is lmax Determined by the following formula:

[0116]

[0117] According to 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 marker cluster is determined by the following formula:

[0118]

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

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

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

[0122] The generated 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, Figure 7 It represents the types of all reflective marking clusters that can be designed with a code length of 7 under the Hamming restriction condition of this application.

[0127] The following are examples of the maximum number of reflective marker clusters that can be designed under the code length of several common covert marker cluster types, as follows:

[0128]

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

[0130] Dominant marker cluster type design:

[0131] For the dominant marker cluster type, the design positions of the binary markers are still distributed on the circumference, but they are non-uniformly distributed, and their distribution intervals are designed as follows:

[0132]

[0133] Taking the design of a marker cluster with a code length of 7 as an example, its design size is as follows:

[0134]

[0135] For specific design dimensions, see Figure 8 .

[0136] For each code length tag cluster, the data bit is designed according to the design principle of linear block code, and its minimum Hamming distance is limited to 3, the minimum Hamming weight is 4, and the codeword generator polynomial of the data bit is:

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

[0138] The generated 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 Fig. 9 As shown, Fig. 9 It represents all types of reflective mark clusters that can be designed with a code length of 7 under the Hamming restriction condition and explicit mark cluster type of this application.

[0143] The following examples show the maximum number of reflective marker clusters that can be designed under the code length of several common explicit marker cluster types, as follows:

[0144] Code length 6 7 8 9 The number of marker clusters that can be designed 3 8 13 23

[0145] The present application also provides a reflective marker cluster recognition method for identifying a reflective marker cluster captured by an optical motion capture system, the reflective marker cluster recognition method comprising:

[0146] Obtaining coordinate information of each binary marker captured by the optical motion capture system;

[0147] Performing Euclidean clustering on each binary marker according to the coordinate information of each binary marker, thereby obtaining multiple classification clusters, one classification cluster corresponds to one reflective marker cluster, and one classification cluster has multiple binary markers;

[0148] According to the radius information of each reflective marker cluster, the marker cluster type and code length information corresponding to the reflective marker cluster are obtained;

[0149] Each reflective marking cluster is identified according to the marking cluster type and code position information, thereby obtaining the code position information corresponding to the reflective marking cluster.

[0150] In this embodiment, each binary marker is subjected to Euclidean clustering according to the coordinate information of each binary marker, thereby obtaining multiple classification clusters, one classification cluster corresponding to one reflective marker cluster, and a classification cluster having multiple binary markers includes:

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

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

[0153] D≤2R m +2e (system error e); In this embodiment, the system error e is obtained by the following method:

[0154] Systematic error refers to the difference between the actual measured value and the theoretical value caused by the measurement error of the motion capture system and the mechanical error caused by the processing and installation of the reflective marker ball. In order to avoid the influence of the processing and installation error of a single reflective marker ball on the systematic error, we use a hidden marker cluster with a code length of 7 and a specific code word of (1111111), that is, reflective marker balls are installed at all preset positions. It performs the same linear reciprocating motion and free swinging performed by a human hand in the workspace of the motion capture system, and multiple measurements are performed. We compared the measured values ​​with the three designed distance values. All the measured distances conform to the normal distribution, and the mean is not much different from the designed distance value. The standard deviation of the fitted normal curve is similar and is less than 1.5mm. In order to improve the distance discrimination and the confidence of decoding, we use the 3sigma principle to obtain a systematic error of 3sigma=4.5mm.

[0155] Then, fit a circle for any three of these k points (that is, if the number of k is 4, namely point A, point B, point C, point D, then ABC can fit a circle, ACD can fit a circle, ABD can fit a circle, and BCD can also fit a circle). Then the center of each circle P i (X,Y,Z) and radius r i are all known. These points are filtered by the following criteria:

[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 circles that are retained are circles with relatively close radius values, that is, these circles belong to the same reflective marker cluster, and the points that make up these circles are binary markers in the reflective marker cluster.

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

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

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

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

[0163] In this embodiment, for the classification cluster of the implicit marker cluster type, decoding and identification are performed in the following manner:

[0164] For decoding of tag clusters with implicit headers, we establish a set L whose elements are the designed distances between predefined positions. Since these predefined positions are evenly distributed on the circle, L has only three different elements, which are arranged in ascending order:

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

[0166] For the potential clusters belonging to the marked cluster with implicit frame header, two nearest points are selected as reference points, whose minimum distance l min satisfy:

[0167]

[0168] Connect these points to form a reference line and select any reference point as the reference point. Then, calculate the distance l from other non-reference points to the reference point. i , and the angle θ formed by the reference line and the other points i (vertices are reference points). The process of converting geometric information into codewords is shown in the following code. Although the random selection of reference points may result in different codeword matches, after cyclic shift, these codewords will be the same.

[0169]

[0170] The above code operates as follows:

[0171] Input: The distances of the two closest points in a given labeled cluster are set as reference points, as well as the distances of a set of non-reference points, which are 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 the code

[0174] First, the code C of the marker cluster is initialized to an all-zero binary codeword, C=0000000. This initialization indicates that no decoding has been performed on the marker cluster 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, the distance l m If the error between L1 and L1 is less than or equal to the threshold 2e, the following operations are performed:

[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, the following operations are performed:

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

[0181] Step 3: Judge 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 ∈L to judge:

[0184] If |l i -L j |≤2e, that is, the measured distance l i With a predefined distance L j If the error between them is less than or equal to 2e, then do the following:

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

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

[0187] Step 4: Return the decoded code

[0188] After completing all judgments and coding updates, the final decoding result C is returned.

[0189] The code C represents the unique identifier of the marking cluster, and the codeword is updated according to the distance between different points and the error threshold, and finally a code suitable for the cluster is generated.

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

[0191] In the decoding process of the labeled cluster with explicit frame header, a designed distance space T is constructed, which uses all predefined positions in the cluster as templates. The designed 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 distances between them, and the measured distance set l k The corresponding 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 the measurement error of the motion capture system, the corresponding position of each distance may not be unique. To solve this problem, we propose to use a triangle formed by three points as the mapping target to determine the corresponding predefined positions of these three points in the cluster. In this method, any two sides of the triangle are used to map their corresponding positions, and the third side is used as the basis for verifying whether the result is correct. Since these two sides intersect, there must be an overlap of the predefined positions. This constraint is expressed as the position of one side being 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, and the mapping is verified by judging whether the design distance of the third side and the actual measured distance meet the above conditions. The codewords of the three points can be decoded by setting the bit code of the corresponding position to 1.

[0194] For example, the method uses the Euclidean distance between the marker points for mapping, and implements the parsing of the marker point codes through the constraint relationship of the triangle structure. The method mainly includes the following steps:

[0195] 1. Marker point cluster extraction

[0196] A clustering and filtering algorithm is used to extract all potential marker clusters from the raw motion capture data.

[0197] The extracted marker point clusters are screened to remove isolated points or false detection points.

[0198] Output the encoded codeword of the marker point cluster and its geometric center.

[0199] 2. Construct template distance space

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

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

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

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

[0204] Due to the existence of 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] The measured values ​​of the two edges are matched with the predefined distances in the template distance space T to determine the possible corresponding positions.

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

[0209] The measured distance of the third edge is calculated and whether it matches the predefined distance in the template is determined to verify the correctness of the mapping.

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

[0211] 4. Codeword decoding

[0212] According to the mapping relationship of the triangle vertices, the corresponding encoding value is obtained.

[0213] The logic OR (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 of each coded bit is determined by the decoded values ​​of multiple triangles: if the corresponding bit of all triangles is 0, the result is 0. If the corresponding bit of at least one triangle is 1, the result is 1.

[0215] 5. Multi-point extended mapping

[0216] For a cluster of n points, a complete encoding resolution requires at most n-2 distinct triangles to map.

[0217] The decoding range is expanded recursively or iteratively, and the mapping relationships of all points are processed in turn.

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

[0219] Subsequently, the same mapping method is applied to the other points in the decoded cluster. For a potential cluster with n points, at most n-2 different triangles are required to map all the points. The data bit codeword of the final labeled cluster is generated by bitwise OR operation of the codewords from multiple triangle mappings. When the bits in both positions are 0, the result is 0, otherwise the result is 1.

[0220] In order to quantify the confidence of the decoding result, the actual measured distance l of these points is evaluated. m Its expected distance l d This means that the smaller the difference, the higher the confidence. According to the distance measurement model under the motion capture system, the confidence of the measured distance can be expressed as:

[0221]

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

[0223]

[0224] Each marker cluster can be used as the center of mass obtained by least squares circle fitting as the position estimate. In terms of pose estimation, the orderliness of the points in each accurately decoded marker cluster helps to construct a stable pose. The local coordinate system of each cluster is established as follows: First, the origin of the coordinate system is assigned to the center of mass obtained by 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 marker cluster, and the points in the marker cluster are arranged in a counterclockwise order in a right-handed coordinate system. Finally, the Y-axis is determined by the vector cross product of the X-axis and the Z-axis.

[0225] This application has the following advantages:

[0226] 1. Independent of the structural features of the object being measured: The labeling result is determined by the inherent characteristics of the labeling cluster and does not depend on the skeletal structure or posture of the object being measured. Therefore, it can be applied to different types of motion capture tasks.

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

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

[0229] Design Advantages: Automation and Adaptability

[0230] 1. Automatically generate marker clusters: By combining coding theory with geometric constraints, the automatic design of marker clusters is realized to ensure 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 tag cluster with explicit frame header has large coding capacity and is suitable for large-scale target calibration, while the tag cluster with implicit frame header is smaller in size and more suitable for compact layout applications.

[0232] 3. Adaptability to multi-target heterogeneous systems: The encoding method of the marker cluster is independent of the structure of the object being measured (such as skeleton or posture), so it can be used for motion capture of various heterogeneous systems (such as drones, humans, 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 marker cluster: Each cluster contains unique coding information. The motion capture system can directly decode the cluster ID by detecting the relative layout of the points in the cluster to achieve automatic labeling without manual intervention or additional matching steps.

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

[0236] 3. Adaptive construction of local coordinate system: The marker 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 posture 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, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements 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 method for designing a reflective marker cluster for an optical motion capture system, characterized in that: The reflective marking cluster design method comprises: Determine the type of marker cluster based on the scenario to be used; Get the number of reflective marker clusters required for the scene to be used; Obtaining diameter information of each location for placing the reflective marker cluster; Obtain the minimum number of binary markers for each reflective marker cluster according to the required number of reflective marker clusters and the Hamming restriction condition; Obtain diameter information of each reflective mark; Obtaining a maximum number of binary markers for each reflective marker cluster based on diameter information of a location for placing the reflective marker cluster; Selecting the binary mark number located in the middle position between the minimum reflective mark number and the maximum binary mark number as the final reflective mark number; The code position information of each reflective mark cluster is generated according to the obtained final number of used reflective marks and the Hamming restriction condition.

2. The method for designing a reflective marking cluster according to claim 1, wherein: The reflective marking cluster design method further comprises: Manufacturing circular base plates having the same number as the reflective marker clusters according to the diameter information of the positions for placing the reflective marker clusters; Punching holes and installing reflective marks on each circular bottom plate according to the code position information of each reflective mark cluster, each circular bottom plate and the reflective marks on the circular bottom plate constitute the reflective mark cluster, and the holes on each circular bottom plate, the reflective marks, and the distance between each hole and each reflective mark constitute the code position information of the reflective mark cluster, wherein the reflective marks and the holes are both binary marks, wherein the reflective marks represent 1 in binary, and the holes represent 0 in binary; Mount each reflective marker cluster on the object of use in the scene where it is to be used.

3. The method for designing a reflective marking cluster according to claim 2, wherein: Determining the marker cluster type according to the scenario to be used includes: Acquire a marker cluster type database, wherein the marker cluster type database includes at least one type of preset usage scenario information and a marker cluster type corresponding to each type of preset usage scenario information; Obtain a tag cluster type corresponding to preset usage scenario information that is the same as the scenario to be used; wherein the tag cluster type includes an explicit tag cluster type and an implicit tag cluster type.

4. The method for designing a reflective marking cluster as claimed in claim 3, characterized in that: The method of obtaining the minimum number of binary markers for each reflective marker cluster according to the required number of reflective marker clusters and the Hamming constraint condition includes: Obtain codeword combinations that can be generated by binary markers of various quantities in a preset quantity range according to a Hamming restriction condition; The number of code word combinations that just meet the required number of reflective mark clusters is selected from each code word combination as the minimum binary number of reflective mark clusters.

5. The method for designing a reflective marking cluster according to claim 4, wherein: When the marker cluster type is a hidden marker cluster type, the maximum number of reflective markers of each reflective marker cluster is obtained according to the radius information of the position for placing the reflective marker cluster using the following formula: in, d s is the minimum distance between two binary markers that can be accurately distinguished in the motion capture system, D is the diameter of the circular base, π is the circumference, l max The maximum number of reflective markers in a reflective marker cluster.

6. The method for designing a reflective marking cluster according to claim 5, wherein: After determining the number of reflective markers to be used in the end, the reflective marker cluster design method for an optical motion capture system further includes: The radius size of each reflective marker is determined based on the number of reflective markers ultimately used and the minimum distance at which two binary markers can be accurately distinguished under the motion capture system.

7. The method for designing a reflective marking cluster according to claim 6, wherein: When the marker cluster type is an implicit marker cluster type, the radius size of each reflective marker is determined according to the number of reflective markers used in the end and the minimum distance that can accurately distinguish two binary markers under the motion capture system, and is obtained by the following formula: in, R is the radius size of each reflective mark, d s is the minimum distance that can accurately distinguish two binary markers under the motion capture system, n is the number of reflective markers used in the end, and π is the circumference of a circle.

8. A method for identifying a reflective marker cluster captured by an optical motion capture system, characterized in that: The reflective marker cluster identification method comprises: Obtaining coordinate information of each binary marker captured by the optical motion capture system; Performing Euclidean clustering on each binary marker according to the coordinate information of each binary marker, thereby obtaining multiple classification clusters, one classification cluster corresponds to one reflective marker cluster, and one classification cluster has multiple binary markers; According to the radius information of each reflective marker cluster, the marker cluster type and code length information corresponding to the reflective marker cluster are obtained; Each reflective marking cluster is identified according to the marking cluster type and code position information, thereby obtaining the code position information corresponding to the reflective marking cluster.

9. The method for identifying a reflective marker cluster according to claim 8, wherein: When the marking cluster type is an implicit marking cluster type, identifying each reflective marking cluster according to the marking cluster type and the code position information, thereby obtaining the code position information corresponding to the reflective marking cluster includes: Identify each reflective marker cluster as follows: Obtain the number of distance elements of the reflective marker cluster according to the code position information; According to the coordinate information of each binary marker and the first preset condition, two adjacent and closest binary markers are obtained as reference points, one of which is called a first reference point and the other is called a second reference point, and the shortest connecting line between the first reference point and the second reference point is called a reference line; respectively obtaining the shortest distances between the other binary markers that are not used as reference points and the first reference point in each binary marker; respectively obtaining the angles between the reference line and other binary marks that are not used as reference points in each binary mark; The code position information is obtained based on the shortest distances and angles.

Citation Information

Patent Citations

  • Chinese character sign identification method and device

    CN108629238A

  • Sphere stationing method, capture ball and system for optical motion capture

    CN108830132A

  • Method and device for identifying reflective identifier based on two-dimensional laser radar intensity value

    CN110824494A

  • Motion posture recognition method and device of capture ball

    CN113269810A

  • Robot position identification method and device using laser radar

    CN114265083A