Active optical rigid body recognition method, device, equipment and storage medium

Through the active optical rigid body recognition method, the light source and camera shooting are controlled by encoded information, and the recognition of active optical rigid body is achieved, solving the complexity problem caused by the recognition of three-dimensional structure in the prior art, simplifying the process and expanding the application scope .

CN114596511BActive Publication Date: 2025-01-03SHENZHEN REALIS MULTIMEDIA TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210123525.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-10
Publication Date
2025-01-03
Estimated Expiration
2042-02-10

AI Technical Summary

Technical Problem

The rigid body recognition process in the existing optical motion capture system depends on the rigid body three-dimensional structure, resulting in complex identification processes. The active optical motion capture system still has identification complexity after reducing the configuration of device parts.

Method used

The active optical rigid body recognition method is adopted to generate encoding information through preset light emitting encoding rules, control the brightness of the light source and trigger camera shooting, determine the rigid body encoding status information based on the preprocessing results, and identify the active optical rigid body through the encoding information without relying on a three-dimensional structure.

Benefits of technology

The rigid body recognition process is simplified, the recognition complexity is reduced, the application range of active optical rigid bodies is expanded, and the limitations on three-dimensional structures are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114596511B_ABST
    Figure CN114596511B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of optical motion capture, and discloses an active optical rigid body recognition method, device, equipment and storage medium, which are applied to an optical motion capture system, the system comprising: at least three active optical rigid bodies and multiple active optical cameras, the active optical rigid body having at least three light sources, the method comprising: generating coding information corresponding to each active optical rigid body according to a preset light coding rule, and sending the coding information to each active optical rigid body; controlling the light brightness of each light source according to the coding information, and triggering the active optical camera to shoot to generate a light image; receiving the preprocessing result of the light image by the active optical camera, and determining the rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result; comparing the rigid body coding state information with the coding information to identify the active optical rigid body, and determining the current posture information of the active optical rigid body. The present invention reduces the complexity of rigid body recognition and expands the application scope of rigid bodies.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of optical motion capture, and in particular to an active optical rigid body recognition method, device, equipment and storage medium. Background Art

[0002] In the virtual reality world, the process of converting the player's body movements in real space into the behavior of the virtual character in real time mainly involves the recognition of rigid bodies by the optical motion capture system. Currently, passive optical motion capture systems are mostly used to recognize rigid bodies, while some optical motion capture systems use active light.

[0003] Existing optical motion capture systems, such as passive optical motion capture systems, use cameras to emit infrared light, and a rigid body with reflective materials reflects the infrared light and returns it to the camera. The camera constructs a two-dimensional point cloud of each reflection point in the rigid body based on the reflected infrared light, thereby identifying the corresponding rigid body and constructing the spatial posture of the rigid body. This method relies on the three-dimensional structure of the rigid body itself, and all reflection points need to be captured to identify the corresponding rigid body. For existing active optical motion capture systems, the infrared light emitting device is moved into the rigid body. Although this reduces the number of device parts to a certain extent, the above-mentioned problem still exists, making the rigid body recognition process too complicated. Summary of the invention

[0004] The main purpose of the present invention is to solve the technical problem that the existing rigid body recognition technology relies on the rigid body three-dimensional structure, which leads to a complicated recognition process.

[0005] A first aspect of the present invention provides an active optical rigid body recognition method, which is applied to an optical motion capture system, wherein the optical motion capture system comprises: at least three active optical rigid bodies and a plurality of active optical cameras, wherein the active optical rigid bodies have at least three light sources, and the active optical rigid body recognition method comprises:

[0006] Generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body;

[0007] According to the coded information, the light brightness of each light source is controlled, and an active light camera is triggered to shoot, so as to generate a light image;

[0008] Receiving a preprocessing result of the active light camera on the luminous image, and determining rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result;

[0009] The rigid body encoding state information is compared with the encoding information to identify the active light rigid body and determine the current posture information of the active light rigid body.

[0010] Optionally, in a first implementation manner of the first aspect of the present invention, the preprocessing result includes the 2D coordinates, grayscale values, and associated domain areas of each light source, and determining the rigid body encoding state information corresponding to the photographed rigid body according to the preprocessing result includes:

[0011] Determine the relative position distances between the light sources according to the 2D coordinates of the light sources;

[0012] Determining whether the relative position distance is less than a preset distance threshold;

[0013] If so, it is determined that the corresponding light sources belong to the same active light rigid body;

[0014] According to the gray value of the light source corresponding to the same active light rigid body and the associated domain area, the rigid body coding state information corresponding to the photographed rigid body is determined.

[0015] Optionally, in a second implementation manner of the first aspect of the present invention, after determining the rigid body encoding state information corresponding to the photographed rigid body according to the preprocessing result, the method further includes:

[0016] Determine whether the number of light sources belonging to the same active light rigid body is less than a preset light source number threshold;

[0017] If yes, it is determined that the rigid body encoding state information of the corresponding light source is complete;

[0018] If not, it is determined that the rigid body coding state information of the corresponding light source is incomplete, and the rigid body coding state information of the incomplete light source is discarded.

[0019] Optionally, in a third implementation of the first aspect of the present invention, the step of comparing the rigid body encoding state information with the encoding information to identify the active light rigid body and calculating the current posture information of the active light rigid body includes:

[0020] Determining the 3D coordinates of the active optical rigid body according to the rigid body encoding state information corresponding to the active optical rigid body;

[0021] According to the 2D coordinates of each light source in the active light rigid body and the 3D coordinates of the active light rigid body, a matching relationship between the two is obtained;

[0022] According to the matching relationship, the active optical rigid body is identified, and the current posture information of the active optical rigid body is determined.

[0023] Optionally, in a fourth implementation of the first aspect of the present invention, the coding information is a binary coding matrix of K*S, wherein K represents the binary coding length of the active light rigid body, S represents the number of light sources in the active light rigid body, and each row of the coding matrix represents the binary code of a light source of the active light rigid body.

[0024] Optionally, in a fifth implementation of the first aspect of the present invention, controlling the luminous brightness of each light source according to the coded information and triggering an active light camera to shoot to generate a luminous image includes:

[0025] At every preset period, a column of binary codes is read from the binary code matrix and sent to the active light rigid body, and synchronous trigger information is generated and sent to the active light camera;

[0026] According to the column of binary codes, the luminous brightness of each light source is controlled, and according to the synchronous trigger information, the active light camera is triggered to expose and shoot the active light rigid body to generate a luminous image corresponding to the active light rigid body.

[0027] Optionally, in a sixth implementation of the first aspect of the present invention, the lighting time of each light source is equal to the opening time of the exposure window of the active light camera.

[0028] The rigid body recognition module is used to compare the rigid body coding state information with the coding information to identify the active light rigid body and determine the current posture information of the active light rigid body.

[0029] A second aspect of the present invention provides an active optical rigid body recognition device, comprising:

[0030] A coding information generating module, used for generating coding information corresponding to each active optical rigid body according to a preset light coding rule, and sending the coding information to each active optical rigid body;

[0031] A luminous image generation module, used to control the luminous brightness of each luminous source according to the coded information, and trigger an active light camera to take pictures to generate a luminous image;

[0032] A screening module, used for receiving a preprocessing result of the active light camera on the luminous image, and determining the rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result;

[0033] The rigid body recognition module is used to compare the rigid body coding state information with the coding information to identify the active light rigid body and determine the current posture information of the active light rigid body.

[0034] Optionally, in a first implementation of the second aspect of the present invention, the preprocessing result includes the 2D coordinates, grayscale values, and associated domain areas of each light source, and the screening module includes:

[0035] A distance statistics unit, used to determine the relative position distances between the light sources according to the 2D coordinates of the light sources;

[0036] A light source matching unit, used to determine whether the relative position distance is less than a preset distance threshold; if so, determining that the corresponding light sources belong to the same active optical rigid body;

[0037] The screening unit is used to determine the rigid body coding state information corresponding to the photographed rigid body according to the gray value of the light source corresponding to the same active light rigid body and the associated domain area.

[0038] Optionally, in a second implementation of the second aspect of the present invention, the active optical rigid body identification device further includes an information integrity determination module, and the information integrity determination module is used to:

[0039] Determine whether the number of light sources belonging to the same active light rigid body is less than a preset light source number threshold;

[0040] If yes, it is determined that the rigid body encoding state information of the corresponding light source is complete;

[0041] If not, it is determined that the rigid body coding state information of the corresponding light source is incomplete, and the rigid body coding state information of the incomplete light source is discarded.

[0042] Optionally, in a third implementation of the second aspect of the present invention, the rigid body recognition module includes:

[0043] A coordinate conversion unit, used for determining the 3D coordinates of the optical rigid body according to the rigid body encoding state information corresponding to the active optical rigid body;

[0044] A matching unit, used for obtaining a matching relationship between the 2D coordinates of each light source in the active light rigid body and the 3D coordinates of the active light rigid body;

[0045] The identification unit is used to identify the active optical rigid body according to the matching relationship and determine the current posture information of the active optical rigid body.

[0046] Optionally, in a fourth implementation of the second aspect of the present invention, the coding information is a binary coding matrix of K*S, wherein K represents the binary coding length of the active light rigid body, S represents the number of light sources in the active light rigid body, and each row of the coding matrix represents the binary code of a light source of the active light rigid body.

[0047] Optionally, in a fifth implementation of the second aspect of the present invention, the luminous image generation module includes:

[0048] An information sending unit, used for reading a column of binary codes from the binary code matrix and sending the columns to the active light rigid body at every preset period, and generating synchronous trigger information and sending the columns to the active light camera;

[0049] The luminous image generating unit is used to control the luminous brightness of each luminous source according to the column of binary codes, and trigger the active light camera to expose and shoot the active light rigid body according to the synchronous trigger information, so as to generate a luminous image corresponding to the active light rigid body.

[0050] Optionally, in a sixth implementation of the second aspect of the present invention, the lighting time of each light source is equal to the opening time of the exposure window of the active light camera.

[0051] The third aspect of the present invention provides an active light rigid body recognition device, comprising: a memory and at least one processor, wherein the memory stores instructions; the at least one processor calls the instructions in the memory so that the active light rigid body recognition device executes the above-mentioned active light rigid body recognition method.

[0052] A fourth aspect of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the above-mentioned active optical rigid body identification method.

[0053] The technical solution provided by the present invention includes controlling the luminescence of an active light rigid body with coding information, triggering an active light camera to shoot with a synchronous trigger signal, obtaining a luminescent image, and finally determining the rigid body coding state information of the photographed rigid body according to the luminescent image, and then identifying the corresponding active light rigid body by comparing with the coding information. There is no need to rely on the three-dimensional structure of the active light rigid body. It only needs to identify the active light rigid body with coding information. When applied, the corresponding active light rigid body can be identified through the coding information, so that the rigid body identification process is simplified. Since the limitation of the three-dimensional structure of the active light rigid body is reduced, its application range is expanded. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 A schematic diagram of a first embodiment of an active optical rigid body recognition method according to an embodiment of the present invention;

[0055] Figure 2 Schematic diagram of a second embodiment of the active optical rigid body recognition method according to an embodiment of the present invention;

[0056] Figure 3 Schematic diagram of a third embodiment of the active optical rigid body recognition method according to an embodiment of the present invention;

[0057] Figure 4 Schematic diagram of a fourth embodiment of the active optical rigid body recognition method according to an embodiment of the present invention;

[0058] Figure 5 A schematic diagram of an embodiment of an active optical rigid body recognition device according to an embodiment of the present invention;

[0059] Figure 6 It is a schematic diagram of another embodiment of the active optical rigid body recognition device according to an embodiment of the present invention;

[0060] Figure 7 Schematic diagram of an embodiment of an active optical rigid body recognition device in an embodiment of the present invention. DETAILED DESCRIPTION

[0061] The embodiments of the present invention provide an active light rigid body recognition method, device, equipment and storage medium, including: generating coding information corresponding to each active light rigid body according to a preset light coding rule, and sending the coding information to each active light rigid body; controlling the light brightness of each light source according to the coding information, and triggering an active light camera to shoot to generate a light image; receiving a preprocessing result of the light image by the active light camera, and determining the rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result; comparing the rigid body coding state information with the coding information to identify the active light rigid body, and determining the current posture information of the active light rigid body, thereby greatly reducing the complexity of rigid body recognition and expanding the application range of the rigid body.

[0062] According to the preset luminous coding rules, the coding information corresponding to each active light rigid body is generated, and the coding information is sent to each active light rigid body; according to the coding information, the luminous brightness of each light source is controlled, and the active light camera is triggered to shoot to generate a luminous image; the preprocessing result of the luminous image by the active light camera is received, and the rigid body coding state information corresponding to the photographed rigid body is determined according to the preprocessing result; the rigid body coding state information is compared with the coding information to identify the active light rigid body, and the current posture information of the active light rigid body is determined, which greatly reduces the complexity of rigid body recognition and expands the application scope of the rigid body.

[0063] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" or "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0064] For ease of understanding, the specific process of the embodiment of the present invention is described below. Figure 1 , the first embodiment of the active optical rigid body recognition method in the embodiment of the present invention includes:

[0065] 101. Generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body;

[0066] It is understandable that the execution subject of the present invention may be an active optical rigid body recognition device, or a terminal or a server, which is not limited here. The embodiment of the present invention is described by taking a server as the execution subject as an example.

[0067] In this embodiment, during the system configuration stage, according to the preset coding length and the number of light sources of each active optical body, unique coding information is generated for each active optical body according to the preset coding rules, and then the coding information is sent to the corresponding active optical body. In specific implementation, the coding information can be sent to the active optical body by means of wireless transmission technology (such as wireless communication technologies such as wifi and ZigBee). It should be noted that each active optical body has at least three light sources. Among them, the preset light coding rules are encoded by setting a frame header or specifying a parity code coding rule and a Hamming code coding rule, and the coding information can be specifically a binary code, and its coding information includes a coding subset corresponding to the number of light sources.

[0068] For example, if an active optical body includes K light sources, the coding information of the active optical body includes K coding subsets. Each coding subset stores coding data of a light source in an identification cycle. In each identification cycle, the luminous brightness of the light source is controlled according to the coding order and the instruction of the coding information. It is worth noting that in the process of generating unique coding information for each active optical body in advance, in order to determine the coding information of different active optical bodies, each coding subset should be different to ensure the uniqueness of each coding subset.

[0069] During the operation phase, every preset period T, the binary code of each column is sent to the corresponding active optical rigid body in turn through wireless transmission technology, and is assigned to the corresponding light source (if the number of light sources is K, then the binary code of this column has a total of K bits of binary code, and each light source receives 1 bit of coded data).

[0070] 102. According to the coded information, control the light brightness of each light source, and trigger an active light camera to take pictures to generate a light image;

[0071] In this embodiment, after the coded information is sent to the light source, the light intensity of the light source is controlled according to the instruction of the coded information, which can be controlled by binary coding, that is, the corresponding code is displayed as 1 or 0 by the brightness or darkness of the light source. At the same time, a synchronous trigger signal is also generated and transmitted to the active light camera. After the active light camera receives the synchronous trigger signal, it performs an exposure and shooting. That is to say, when a column of binary code is sent to control the light source on the active light rigid body to emit light, a synchronous trigger signal is correspondingly sent to the active light camera, and an exposure and shooting is performed.

[0072] 103. Receive a preprocessing result of the active light camera on the luminous image, and determine the rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result;

[0073] In this embodiment, after the active light camera performs exposure shooting, it is necessary to pre-process the luminous image obtained by the shooting, and then send the pre-processing result back to the server. Specifically, the pre-processing result includes the 2D coordinates, grayscale value and associated domain area of ​​the light source. Therefore, the active light camera first needs to determine the 2D coordinates, grayscale value and associated domain area of ​​each light source in each frame of each frame image of the exposure shooting, and then return the determined 2D coordinates, grayscale value and associated domain area of ​​each light source in the current frame image to the server. It should be noted that after each exposure shooting of the active light camera, the 2D coordinates, grayscale value and associated domain area of ​​each light source in the luminous image obtained by the current exposure shooting need to be immediately sent to the motion capture server. Assuming that one recognition cycle includes S shots, after sending S synchronization trigger signals, the active light camera performs S exposures, that is, within one recognition cycle, the active light camera sends S pre-processing results back to the server.

[0074] After the motion capture server receives the 2D coordinates, grayscale value and associated domain area of ​​each light source in S luminous images within an identification cycle. According to the grayscale value or associated domain area of ​​each light source within an identification cycle, the average value of the grayscale value or the associated domain area of ​​each light source within an identification cycle is calculated, and the grayscale value average value or the associated domain area average value is used as the grayscale value threshold or associated domain area threshold of the current identification cycle. Then, based on the grayscale value threshold or the associated domain area threshold, as well as the grayscale value or the associated domain area of ​​each light source in each frame of the image, the rigid body coding state information of each light source in each frame of the image within an identification cycle is determined respectively. It should be noted that the grayscale value or the associated domain area of ​​different light sources changes dynamically in different identification cycles.

[0075] For example, for determining the active light rigid body coding state information of each light source through the associated domain area threshold, the specific operation method can be: the determined associated domain area threshold is M, if the associated domain area of ​​the light source is greater than or equal to M, then the coding information of the light source is determined to be 1, if the associated domain area of ​​the light source is less than M, then the coding information of the light source is determined to be 0. In this way, the rigid body coding state information of each light source in the light images of different preset periods within an identification cycle can be determined. The rigid body coding state information corresponding to all light sources of the same active light rigid body can be determined by collecting the rigid body coding state information corresponding to the active light rigid body.

[0076] 104. Compare the rigid body encoding state information with the encoding information to identify the active light rigid body and determine current posture information of the active light rigid body.

[0077] In this embodiment, according to the determined light sources belonging to the same active optical rigid body and the rigid body coding information of each light source, the coding state information of each rigid body within an identification cycle can be determined. Then, the determined rigid body coding state information of the active optical rigid body is compared with the preset coding information, and the active optical rigid body is identified according to the comparison result, so as to determine the name or identification number of the active optical rigid body.

[0078] In addition, the rigid body encoding state information and encoding information belonging to the same active light rigid body should be the same. Using this feature, each rigid body encoding state information can be compared with all encoding information in turn. If the two are the same, the active light rigid body represented by the two is the same. The preset encoding information carries the identity information and posture information of the corresponding rigid body. Through the same encoding information, the rigid body corresponding to the rigid body encoding state information can be identified, and the posture information of the corresponding rigid body can be obtained.

[0079] In the embodiment of the present invention, corresponding coding information is generated for each active light rigid body through a preset luminous coding rule and sent to each active light rigid body; then, according to the coding information, the luminous brightness of each light source on each active light rigid body is controlled, and the active light camera is triggered to perform synchronous shooting to generate a luminous image; the preprocessing result after the active light camera shoots the luminous image is received, and the rigid body coding state information of the active light rigid body is determined according to the preprocessing result; finally, the rigid body coding state information is compared with the coding information, the active light rigid body is identified, and the current posture information of the active light rigid body is determined, thereby greatly reducing the complexity of rigid body identification and expanding the application range of the rigid body.

[0080] See also Figure 2 , a second embodiment of the active optical rigid body recognition method in the embodiment of the present invention includes:

[0081] 201. Generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body;

[0082] 202. Every preset period, read a column of binary codes from the binary code matrix and send it to the active light rigid body, and generate synchronous trigger information and send it to the active light camera;

[0083] Specifically, the coding information is a binary coding matrix of K*S, wherein K represents the binary coding length of the active optical rigid body, S represents the number of light sources in the active optical rigid body, and each row of the coding matrix represents the binary coding of a light source of the active optical rigid body.

[0084] In this embodiment, the coded information can be recorded through a binary matrix, and the code length is the product of the number of rows and columns of the corresponding binary matrix. For example, if a binary matrix has 8 rows and 16 columns, the code length is 128, wherein each row of coded data in the binary matrix constitutes a coded subset corresponding to a light source. It should be noted that the binary matrix is ​​only a way of presenting the coded information, and the specific display form of the coded information is not limited here.

[0085] In the binary coding matrix, "0" controls the light source to emit "dark" light, and "1" controls the light source to emit "bright" light. For example, if a row of coded information is "0001100110", the corresponding light source is controlled to emit the brightness of "dark dark dark bright bright bright dark bright bright dark bright dark bright bright" in sequence.

[0086] The number of light sources on the active optical rigid body is the same as the number of coding subsets in the coding information, and each coding subset stores a column of binary codes in one identification cycle of a light source; every preset cycle T, the single column of binary codes sent to the active optical rigid body is specifically a column of binary codes composed of one binary code selected in sequence from the K coding subsets stored in the memory and sent to the active optical rigid body, and then distributed to the corresponding light source; in the next preset cycle 2T, the next column of binary codes is selected from the coding information of the K light sources stored and sent to the corresponding light source, and so on, until the light emission of one identification cycle is completed. When one identification cycle is completed, the coding information of the light source has completed one round of distribution; it should be noted that the coding information used in each identification cycle is the same.

[0087] 203. Control the luminous brightness of each light source according to the column of binary codes, and trigger the active light camera to expose and shoot the active light rigid body according to the synchronous trigger information, so as to generate a luminous image corresponding to the active light rigid body;

[0088] In this embodiment, the light emission of the light source in the active light rigid body and the exposure and shooting of the active light camera are performed synchronously, that is, each time the active light rigid body receives a column of binary codes, the active light camera receives a synchronization trigger signal accordingly and performs an exposure and shooting, so as to ensure that the active light camera can capture the brightness change of the light source. For example, each time a column of binary codes is sent to the active light rigid body, a synchronization trigger signal is generated at the same time and sent to each active light camera to perform an exposure and shooting, so as to ensure that when the brightness of the light source such as an LED light changes, the active light camera can synchronously capture it.

[0089] In addition, the pre-processing results sent by the active light camera may include: 2D coordinates, grayscale values, and associated domain area of ​​each light source. Therefore, before sending the pre-processing results, the active light camera also needs to determine the 2D coordinates, grayscale values, and associated domain area of ​​each light source in each frame of the exposure image.

[0090] Specifically, after each exposure, the active light camera immediately determines the 2D coordinates, grayscale value and associated domain area of ​​each light source in each frame of the exposure image, and immediately sends the 2D coordinates, grayscale value and associated domain area to the server. Assuming that one recognition cycle includes S shots, the active light camera performs S exposure shots according to the received S synchronization trigger signals, that is, within one recognition cycle, S pre-processing results sent by the active light camera can be received.

[0091] Then, the number of light sources K on the active optical rigid body is the same as the number of coding subsets included in the coding information, and each coding subset stores the coding data of a light source in one identification cycle. The number of exposure shots in one identification cycle is the same as the coding length S of the coding subset. The coding length of the coding subset can be S, and S is a positive integer greater than or equal to two. For the value of S, the smaller S is, the smaller the coding range is, and the smaller the number of identifiable active optical rigid bodies is; the larger the value of S is, the more exposure shots are in one identification cycle, and the more time is consumed, which will reduce the recognition speed of the active optical rigid body, and the more identifiable active optical rigid bodies are. In specific implementation, S can be selected as 16.

[0092] Assume that K is 8 and S is 16, that is, each active optical body includes 8 light sources, and each light source includes 16 binary codes. At the beginning, the first bit of the code data is selected from all the code subsets to form the first column of binary codes, and the selected first column of binary codes is sent to the active optical body, and then distributed to the corresponding light source; at the same time, the synchronous trigger signal is sent to the active light camera to control the active light camera to shoot. After the first preset cycle T, the second bit of the code data, that is, the second column of binary codes, is selected from all the code subsets, and the selected second column of binary codes is sent to the corresponding light source on the active optical body; at the same time, the synchronous trigger signal is sent to the active light camera through the switch to control the active light camera to shoot; this cycle is repeated until the active optical body completes 16 light emission and the active light camera completes 16 exposure shots within one recognition cycle.

[0093] Here, the lighting time of each light source is equal to the opening time of the exposure window of the active light camera, and one active light camera can capture images of multiple active light rigid bodies.

[0094] 204. Receive a preprocessing result of the active light camera on the luminous image, and determine rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result;

[0095] 205. Compare the rigid body encoding state information with the encoding information to identify the active light rigid body and determine current posture information of the active light rigid body.

[0096] In the embodiment of the present invention, the light emission of the light source on the active light rigid body and the exposure shooting of the active camera are triggered simultaneously, ensuring that the active light camera can capture the complete brightness change of the light source, and the brightness change of the light source can be converted into a binary coding matrix corresponding to the rigid body coding state information, thereby reducing the data processing amount and centrally processing the light signal related data of the light source.

[0097] See also Figure 3 , a third embodiment of the active optical rigid body recognition method in the embodiment of the present invention includes:

[0098] 301. Generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body;

[0099] 302. Control the light brightness of each light source according to the coded information, and trigger an active light camera to take pictures to generate a light-emitting image;

[0100] 303. Receive a preprocessing result of the active light camera on the luminous image;

[0101] 304. Determine the relative position distances between the light sources according to the 2D coordinates of the light sources;

[0102] 305. Determine whether the relative position distance is less than a preset distance threshold;

[0103] 306. If yes, it is determined that the corresponding light sources belong to the same active light rigid body;

[0104] In this embodiment, the light sources belonging to the same active light rigid body may also be determined based on the 2D coordinates of each light source in each frame image sent by the active light camera within one recognition cycle.

[0105] Specifically, the operation of identifying the light sources belonging to the same active optical rigid body is as follows: according to the 2D coordinates of each light source of each frame image within a recognition cycle, the relative position coordinates of different light sources are determined. When the relative position coordinates of different light sources are less than a preset distance threshold, it can be determined that the different light sources whose relative position coordinates are less than the preset distance threshold belong to the same active optical rigid body. For example, the relative distance between light sources A and B can be determined to be a through the 2D coordinates of the two light sources, and the relative distance between the two light sources can be determined to be a+2 through the 2D coordinates of light sources C and D, and the preset distance threshold is a+1, then it can be determined that light sources A and B belong to the same active optical rigid body, and light sources C and D do not belong to the same active optical rigid body.

[0106] It should be noted that, since the average value of the associated domain area of ​​each light source in different identification periods is always in a dynamic change process, correspondingly, the associated domain area thresholds in different identification periods are also in a dynamic change process.

[0107] 307. Determine the rigid body coding state information corresponding to the photographed rigid body according to the grayscale value of the light source corresponding to the same active light rigid body and the associated domain area.

[0108] In this embodiment, the specific coding state data in the coding information can be determined based on the preprocessing results sent by the active light camera, such as grayscale value and correlation domain area. Taking the correlation domain as an example, the average value of the correlation domain area of ​​all light sources in one identification cycle is determined by the correlation domain area of ​​each light source in each frame image in one identification cycle, and the average value of the correlation domain area is used as the correlation domain area threshold; then, based on the correlation domain area threshold and the corresponding correlation domain area of ​​each light source in each frame image, the rigid body coding state data of each light source in each frame image in one identification cycle is determined respectively.

[0109] The specific encoding data of each light source is determined in the following manner, as follows:

[0110] Determine whether the associated domain area of ​​the light source is greater than or equal to the associated domain area threshold. If the associated domain area of ​​the light source is greater than or equal to the associated domain area threshold, the coding data of the light source is determined to be 1. If the associated domain area of ​​the light source is less than the associated domain area threshold, the coding data of the light source is determined to be 0. Similarly, the specific rigid body coding state data of each light source in each frame image within an identification cycle can be determined.

[0111] After determining the specific rigid body coding state data of each light source, the light sources belonging to the same active light rigid body can also be determined based on the 2D coordinates of each light source in each frame image within an identification cycle sent by the active light camera; and the rigid body coding state information of the corresponding active light rigid body can be determined based on the rigid body coding state data of each light source within an identification cycle and the light sources belonging to the same active light rigid body.

[0112] 308. Compare the rigid body encoding state information with the encoding information to identify the active light rigid body and determine current posture information of the active light rigid body.

[0113] In an embodiment of the present invention, a screening process of rigid body coding state information is introduced in detail. The rigid body coding state information has a matching relationship with the coding information, and the coding information is interrelated with the identity information of the rigid body. Therefore, the identity information of the rigid body can be quickly identified through the rigid body coding state information, thereby reducing the identification process and the identification complexity.

[0114] See also Figure 4 , a fourth embodiment of the active optical rigid body recognition method in the embodiment of the present invention includes:

[0115] 401. Generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body;

[0116] 402. Control the light brightness of each light source according to the coded information, and trigger an active light camera to take pictures to generate a light image;

[0117] 403. Receive a preprocessing result of the active light camera on the luminous image, and determine rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result;

[0118] 404. Determine whether the number of light sources belonging to the same active optical rigid body is less than a preset light source number threshold;

[0119] 405. If yes, determine that the rigid body encoding state information corresponding to the light source is complete;

[0120] 406. If not, determine that the rigid body coding state information corresponding to the light source is incomplete, and discard the rigid body coding state information of the incomplete light source;

[0121] In the present embodiment, only part of the light sources of the same active light rigid body need to be received to identify the corresponding active light rigid body. Therefore, after receiving the preprocessing result, it can be determined whether the number of light sources therein is greater than the preset light source number threshold. When the number of light sources is greater than the preset light source number threshold, the rigid body coding state information corresponding to the active light rigid body is complete, and the corresponding active light rigid body can be identified. When the number of light sources is less than the preset light source number threshold, the rigid body coding state information corresponding to the active light rigid body is incomplete, and the corresponding active light rigid body cannot be identified, so it needs to be eliminated.

[0122] 407 : Compare the rigid body coding state information with the coding information to identify the active light rigid body and determine the current posture information of the active light rigid body.

[0123] In this embodiment, for the complete rigid body coding state information, the 3D coordinates of the corresponding active light rigid body can be determined in combination with the relative position relationship of the active light camera, and then the 3D coordinates are projected to each active light camera, and matched with the 2D coordinates captured by the active light camera itself. According to the matching results, the same rigid body coding state information and coding information can be determined. Among them, the coding information and the posture information themselves are associated, and only the rigid body coding state information that is the same as the coding information needs to be determined, and the corresponding posture information can be determined according to the coding information.

[0124] In the embodiment of the present invention, the active light camera can identify the corresponding active light rigid body without capturing all the light sources on the active light rigid body, thereby reducing the restrictions on the active light rigid body recognition caused by the shooting environment and the use of the characters, and increasing the application scope of the active light rigid body.

[0125] The above describes the active optical rigid body recognition method in the embodiment of the present invention. The following describes the active optical rigid body recognition device in the embodiment of the present invention. Figure 5 , an embodiment of the active optical rigid body recognition device in the embodiment of the present invention includes:

[0126] The coding information generating module 501 is used to generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body;

[0127] A luminous image generation module 502, used to control the luminous brightness of each luminous source according to the coded information, and trigger an active light camera to take pictures to generate a luminous image;

[0128] A screening module 503 is used to receive a preprocessing result of the active light camera on the luminous image, and determine the rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result;

[0129] The rigid body identification module 504 is used to compare the rigid body encoding state information with the encoding information to identify the active light rigid body and determine the current posture information of the active light rigid body.

[0130] In the embodiment of the present invention, corresponding coding information is generated for each active light rigid body through a preset luminous coding rule and sent to each active light rigid body; then, according to the coding information, the luminous brightness of each light source on each active light rigid body is controlled, and the active light camera is triggered to perform synchronous shooting to generate a luminous image; the preprocessing result after the active light camera shoots the luminous image is received, and the rigid body coding state information of the active light rigid body is determined according to the preprocessing result; finally, the rigid body coding state information is compared with the coding information, the active light rigid body is identified, and the current posture information of the active light rigid body is determined, thereby greatly reducing the complexity of rigid body identification and expanding the application range of the rigid body.

[0131] See also Figure 6 Another embodiment of the active optical rigid body recognition device in the embodiment of the present invention includes:

[0132] The coding information generating module 501 is used to generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body;

[0133] A luminous image generation module 502, used to control the luminous brightness of each luminous source according to the coded information, and trigger an active light camera to take pictures to generate a luminous image;

[0134] A screening module 503 is used to receive a preprocessing result of the active light camera on the luminous image, and determine the rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result;

[0135] The rigid body identification module 504 is used to compare the rigid body encoding state information with the encoding information to identify the active light rigid body and determine the current posture information of the active light rigid body.

[0136] Specifically, the preprocessing result includes the 2D coordinates, grayscale value and associated domain area of ​​each light source, and the screening module 503 includes:

[0137] A distance statistics unit 5031 is used to determine the relative position distances between the light sources according to the 2D coordinates of the light sources;

[0138] The light source matching unit 5032 is used to determine whether the relative position distance is less than a preset distance threshold; if so, it is determined that the corresponding light sources belong to the same active optical rigid body;

[0139] The screening unit 5033 is used to determine the rigid body coding state information corresponding to the photographed rigid body according to the gray value of the light source corresponding to the same active light rigid body and the associated domain area.

[0140] Specifically, the active optical rigid body identification device further includes an information integrity determination module 505, and the information integrity determination module 505 is specifically used for:

[0141] Determine whether the number of light sources belonging to the same active light rigid body is less than a preset light source number threshold;

[0142] If yes, it is determined that the rigid body encoding state information of the corresponding light source is complete;

[0143] If not, it is determined that the rigid body coding state information of the corresponding light source is incomplete, and the rigid body coding state information of the incomplete light source is discarded.

[0144] Specifically, the rigid body recognition module 504 includes:

[0145] A coordinate conversion unit 5041 is used to determine the 3D coordinates of the active optical rigid body according to the rigid body encoding state information corresponding to the active optical rigid body;

[0146] A matching unit 5042, configured to obtain a matching relationship between the 2D coordinates of each light source in the active light rigid body and the 3D coordinates of the active light rigid body;

[0147] The root identification unit 5043 is used to identify the active optical rigid body according to the matching relationship and determine the current posture information of the active optical rigid body.

[0148] Specifically, the coding information is a binary coding matrix of K*S, wherein K represents the binary coding length of the active optical rigid body, S represents the number of light sources in the active optical rigid body, and each row of the coding matrix represents the binary coding of a light source of the active optical rigid body.

[0149] Specifically, the luminous image generation module 502 includes:

[0150] The information sending unit 5021 is used to read a column of binary codes from the binary code matrix and send it to the active light rigid body at every preset period, and to generate synchronous trigger information and send it to the active light camera;

[0151] The luminous image generating unit 5022 is used to control the luminous brightness of each luminous source according to the column of binary codes, and trigger the active light camera to expose and shoot the active light rigid body according to the synchronous trigger information, so as to generate a luminous image corresponding to the active light rigid body.

[0152] Specifically, the lighting time of each light source is equal to the opening time of the exposure window of the active light camera.

[0153] Through the preset luminous coding rules, corresponding coding information is generated for each active light rigid body and sent to each active light rigid body; then, according to the coding information, the luminous brightness of each light source on each active light rigid body is controlled, and the active light camera is triggered to shoot synchronously to generate a luminous image; the preprocessing result of the luminous image shot by the active light camera is received, and the rigid body coding state information of the active light rigid body is determined according to the preprocessing result; finally, the rigid body coding state information is compared with the coding information, the active light rigid body is identified, and the current posture information of the active light rigid body is determined, which greatly reduces the complexity of rigid body recognition and expands the application range of rigid bodies. Specifically, the light emission of the light source on the active light rigid body is triggered simultaneously with the exposure shooting of the active camera, ensuring that the active light camera can capture the complete brightness change of the light source, and the brightness change of the light source can be converted into a binary coding matrix corresponding to the rigid body coding state information, thereby reducing the amount of data processing and centrally processing the light signal related data of the light source; then, the screening process of the rigid body coding state information is introduced in detail, the rigid body coding state information has a matching relationship with the coding information, and the coding information is mutually related to the identity information of the rigid body, so the identity information of the rigid body can be quickly identified through the rigid body coding state information, thereby reducing the recognition process and the recognition complexity; finally, the active light camera can identify the corresponding active light rigid body without capturing all the light sources on the active light rigid body, thereby reducing the restrictions on the recognition of the active light rigid body due to the shooting environment and the use of the characters, and increasing the application scope of the active light rigid body.

[0154] above Figure 5 and Figure 6 The active optical rigid body recognition device in the embodiment of the present invention is described in detail from the perspective of modular functional entities. The active optical rigid body recognition device in the embodiment of the present invention is described in detail from the perspective of hardware processing.

[0155] Figure 77 is a schematic diagram of the structure of an active optical rigid body recognition device provided by an embodiment of the present invention. The active optical rigid body recognition device 700 may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 710 (for example, one or more processors) and a memory 720, and one or more storage media 730 (for example, one or more mass storage devices) storing application programs 733 or data 732. Among them, the memory 720 and the storage medium 730 can be short-term storage or permanent storage. The program stored in the storage medium 730 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the active optical rigid body recognition device 700. Furthermore, the processor 710 can be configured to communicate with the storage medium 730, and execute a series of instruction operations in the storage medium 730 on the active optical rigid body recognition device 700 to implement the steps of the active optical rigid body recognition method provided in the above-mentioned embodiments.

[0156] The active optical rigid body recognition device 700 may also include one or more power supplies 740, one or more wired or wireless network interfaces 750, one or more input and output interfaces 760, and / or one or more operating systems 731, such as Windows Serve, Mac OS X, Unix, Linux, FreeBSD, etc. It will be appreciated by those skilled in the art that Figure 7 The structure of the active optical rigid body recognition device shown does not constitute a limitation on the active optical rigid body recognition device, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.

[0157] The present invention also provides a computer-readable storage medium, which may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium. Instructions are stored in the computer-readable storage medium. When the instructions are executed on a computer, the computer executes the steps of the active optical rigid body identification method.

[0158] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0159] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program codes.

[0160] As described above, the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features thereof may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. An active optical rigid body recognition method, applied to an optical motion capture system, the optical motion capture system comprising: At least three active optical rigid bodies and multiple active optical cameras, wherein the active optical rigid body has at least three light sources, and the active optical rigid body identification method comprises: Generate coding information corresponding to each active optical rigid body according to a preset light coding rule, and send the coding information to each active optical rigid body; According to the coded information, the light brightness of each light source is controlled, and an active light camera is triggered to shoot, so as to generate a light image; Receiving a preprocessing result of the active light camera on the luminous image, and determining rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result; Comparing the rigid body encoding state information with the encoding information to identify the active light rigid body and determine the current posture information of the active light rigid body; The preprocessing result includes the 2D coordinates, grayscale value and associated domain area of ​​each light source, and the rigid body encoding state information corresponding to the photographed rigid body is determined according to the preprocessing result, including: Determine the relative position distances between the light sources according to the 2D coordinates of the light sources; Determining whether the relative position distance is less than a preset distance threshold; If so, it is determined that the corresponding light sources belong to the same active light rigid body; According to the gray value of the light source corresponding to the same active light rigid body and the associated domain area, the rigid body coding state information corresponding to the photographed rigid body is determined.

2. The active optical rigid body recognition method according to claim 1, characterized in that: After determining the rigid body encoding state information corresponding to the photographed rigid body according to the preprocessing result, the method further includes: Determine whether the number of light sources belonging to the same active light rigid body is less than a preset light source number threshold; If yes, it is determined that the rigid body encoding state information of the corresponding light source is complete; If not, it is determined that the rigid body coding state information of the corresponding light source is incomplete, and the rigid body coding state information of the incomplete light source is discarded.

3. The active optical rigid body recognition method according to claim 1, characterized in that: The step of comparing the rigid body encoding state information with the encoding information to identify the active light rigid body and calculating the current posture information of the active light rigid body includes: Determining the 3D coordinates of the active optical rigid body according to the rigid body encoding state information corresponding to the active optical rigid body; According to the 2D coordinates of each light source in the active light rigid body and the 3D coordinates of the active light rigid body, a matching relationship between the two is obtained; According to the matching relationship, the active optical rigid body is identified, and the current posture information of the active optical rigid body is determined.

4. The active optical rigid body recognition method according to any one of claims 1 to 3, characterized in that: The coding information is a binary coding matrix of K*S, wherein K represents the binary coding length of the active optical rigid body, S represents the number of light sources in the active optical rigid body, and each row of the coding matrix represents the binary coding of a light source of the active optical rigid body.

5. The active optical rigid body recognition method according to claim 4, characterized in that: The step of controlling the luminous brightness of each luminous source according to the coded information and triggering an active light camera to shoot to generate a luminous image includes: At every preset period, a column of binary codes is read from the binary code matrix and sent to the active light rigid body, and synchronous trigger information is generated and sent to the active light camera; According to the column of binary codes, the luminous brightness of each light source is controlled, and according to the synchronous trigger information, the active light camera is triggered to expose and shoot the active light rigid body to generate a luminous image corresponding to the active light rigid body.

6. The active optical rigid body recognition method according to claim 5, characterized in that: The lighting time of each light source is equal to the opening time of the exposure window of the active light camera.

7. An active optical rigid body recognition device, applied to an optical motion capture system, the optical motion capture system comprising: At least three active optical rigid bodies and multiple active optical cameras, wherein the active optical rigid body has at least three light sources, and the active optical rigid body recognition device comprises: A coding information generating module, used for generating coding information corresponding to each active optical rigid body according to a preset light coding rule, and sending the coding information to each active optical rigid body; A luminous image generation module, used to control the luminous brightness of each luminous source according to the coded information, and trigger an active light camera to take pictures to generate a luminous image; A screening module, used for receiving a preprocessing result of the active light camera on the luminous image, and determining the rigid body coding state information corresponding to the photographed rigid body according to the preprocessing result; A rigid body identification module, used for comparing the rigid body encoding state information with the encoding information to identify the active light rigid body and determine the current posture information of the active light rigid body; The preprocessing result includes the 2D coordinates, grayscale value and associated domain area of ​​each light source, and the rigid body encoding state information corresponding to the photographed rigid body is determined according to the preprocessing result, including: Determine the relative position distances between the light sources according to the 2D coordinates of the light sources; Determining whether the relative position distance is less than a preset distance threshold; If so, it is determined that the corresponding light sources belong to the same active light rigid body; According to the gray value of the light source corresponding to the same active light rigid body and the associated domain area, the rigid body coding state information corresponding to the photographed rigid body is determined.

8. An active optical rigid body recognition device, characterized in that: The active optical rigid body recognition device comprises: a memory and at least one processor, the memory stores instructions, and the memory and the at least one processor are interconnected via a line; The at least one processor calls the instructions in the memory to enable the active optical rigid body recognition device to perform the active optical rigid body recognition method according to any one of claims 1 to 6.