Variable coding target and decoding device and coding and decoding method thereof
By distributing multiple marker points on the encoded target, and using the luminous state coding and decoding information of the marker points, the problem of the unique number of coded existing coding targets resulting in excessive calibration plates is solved, and the variability and efficient transmission of encoded information are achieved.
Patent Information
- Application Number
- CN202510045266.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-13
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2045-01-13
AI Technical Summary
Existing coding targets can only have unique numerical identities, resulting in a large number of coding target calibration plates that need to be produced when transmitting different coding numbers.
A variable encoding target is designed to encode and decode information by distributing multiple marker points on the target body and using the luminous state of these marker points to encode and decode information, so as to achieve that the target body has different code numbers.
The variability of coded information is realized, the number of coding target calibration plates that need to be produced is reduced, and the transmission efficiency and security of coded information is improved.
Smart Images

Figure CN119483606B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of photoelectric measurement and communication technology, and in particular to photoelectric cooperation and target encoding and decoding. Background Art
[0002] In the early days, cooperative target recognition did not rely on targets, but was mainly achieved through human observation and calculation, or relying on ground measurement and control stations for monitoring to achieve target recognition and tracking. However, this method is inefficient and easily affected by subjective factors, resulting in low recognition accuracy. Therefore, early research on cooperative target recognition was not mature.
[0003] With the continuous development of spacecraft such as satellites and space stations, the importance of target recognition for space rendezvous and docking, space station establishment, and target capture has gradually been realized. The recognition of cooperative targets provides the attitude information of the target relative to the detector, laying the foundation for other tasks.
[0004] Cooperative target recognition is a method of target recognition that mainly uses computer vision and image processing technologies to analyze image data returned by cameras or lidar to achieve automatic recognition and tracking of cooperative targets. Compared with other methods, space cooperative target recognition has the following significant advantages:
[0005] (1) High accuracy: Since the three-dimensional coordinates of the target in the cooperative target coordinate system are known, the accuracy is relatively high when the feature points are matched successfully.
[0006] (2) Strong reliability: Space cooperative target recognition has high stability and accuracy under most lighting and environmental conditions.
[0007] (3) Good flexibility: If the shape and size of the cooperation target are appropriate, the space cooperation target can be changed and rearranged according to actual needs.
[0008] (4) Lower cost: Compared with other identification methods, space cooperative target identification does not require the use of high-cost, high-footprint hardware, such as lidar. Therefore, the required hardware and equipment costs are low and easy to deploy and maintain.
[0009] However, in the process of space cooperative target recognition, the coding information of the feature points in the circular coded target image is relatively simple, and each coded target can only have a unique numerical identity, that is, the minimum value of the corresponding decimal number is used as the coded number of the coded target. If circular coded targets are used to transmit different coded numbers, the number of coded target calibration plates that need to be produced will also increase with demand. Summary of the invention
[0010] The present invention proposes a variable coding target and a decoding device thereof, which solves the problem that the existing coding target can only have a unique numerical identity, that is, the minimum value of the decimal number corresponding to it is used as the coding number of the coding target, which leads to a large number of coding target calibration plates that need to be produced when different coding numbers are transmitted.
[0011] The variable coding target of the present invention comprises a target body, a coding device and a coding information association device;
[0012] The target body includes a disc-shaped shell;
[0013] The front side of the disc of the shell is a working surface; a circular ring-shaped protrusion is arranged near the edge of the working surface; n marking points of the same shape and volume are evenly distributed on the front surface of the circular ring-shaped protrusion, and the marking points are optical signal transmitters;
[0014] The coding information association device is used to set, store or read a one-to-one correspondence between coding information and a serial number; the serial number represents the arrangement order of each character in a character sequence consisting of n characters;
[0015] The encoding device includes a coding information input module, a binary conversion module, a level signal conversion module and a driving module;
[0016] The coding information input module is used to input coding information;
[0017] The binary conversion module is used to convert the coded information into binary data;
[0018] The level signal conversion module is used to convert binary data into high and low level signals, with a high level signal representing a binary number 1 and a low level signal representing a binary number 0;
[0019] The driving module is used to adjust the luminous state of the mark point according to the high and low level signals, and send a binary number according to the change of the luminous state of the mark point; the binary number encapsulates the coding information.
[0020] Furthermore, a preferred embodiment is provided, wherein the marking point is a near-infrared LED lamp.
[0021] Further, a preferred embodiment is provided, wherein the step of adjusting the luminous state of the mark point according to the high and low level signals and sending a binary number according to the change of the luminous state of the mark point comprises:
[0022] A binary number is represented by the lighting state of a mark point that lasts for a given time. The lighting state of the mark point includes a highlighted state and an unlit state:
[0023] When the driver module receives a high level signal:
[0024] The mark point is in a highlighted state and lasts for a given time, indicating a binary number 1;
[0025] When the driver module receives a low level signal:
[0026] The mark is off for a given time, representing the binary number 0.
[0027] Further, a preferred embodiment is provided, wherein the communication format of the binary number sent according to the change in the luminous state of the mark point is a start bit, a data bit, a stop bit and an idle bit;
[0028] The start bit is three consecutive binary digits 0, represented by the extinguishing state of the mark point for three given times;
[0029] The data bits are 8 consecutive binary numbers used to represent the coded information in binary;
[0030] The stop bit is three consecutive binary digits 0, represented by the extinguishing state of the mark point for three given times;
[0031] The idle bits are two consecutive binary digits 1, which are represented by the lighting state of the mark point lasting for two given times.
[0032] The present invention also provides a decoding device for a variable coding target, wherein the decoding device is used to decode any of the variable coding targets described above;
[0033] The decoding device includes a video signal acquisition module and a video file analysis module;
[0034] The video signal acquisition module is used to collect a video file of the luminous state change of the marking point on the target body at a given frame rate;
[0035] The video file analysis module is used to interpret the coding information based on the video file of the luminous state change of the mark point on the target body; and is also used to obtain the coding number of the target body based on the interpreted coding information and its corresponding relationship with the serial number.
[0036] Further, a preferred embodiment is provided, wherein the coding information is interpreted from the video file of the change in the luminous state of the marking point on the target body, including:
[0037] Process the video file frame by frame, identify and locate the marker point, and obtain a waveform diagram of the luminous state of the marker point within a duration period;
[0038] Divide the waveform graph into multiple time periods evenly in chronological order, each time period lasting for a given time;
[0039] Determine the luminous state of the marker point in each time period and convert the waveform into binary text:
[0040] If the mark point is highlighted, it means that this time period corresponds to the binary number 1;
[0041] If the mark is off, it means that this time period corresponds to the binary number 0;
[0042] The binary text is a binary number sent according to the luminous state of the mark point, from which the coded information is interpreted.
[0043] Furthermore, a preferred implementation is provided, wherein the given time is 100 ms.
[0044] Furthermore, a preferred embodiment is provided, wherein the given frame rate is 30 frames per second.
[0045] Further, a preferred embodiment is provided, wherein the step of obtaining the coding number of the target body according to the decoded coding information and the corresponding relationship between the coding information and the serial number comprises:
[0046] In the character sequence, the character indicated by the serial number corresponding to the decoded coding information is set to binary number 1, and the characters indicated by other serial numbers are set to binary number 0, and the obtained n-bit binary number is used as the coding number of the target body.
[0047] The present invention also proposes a method for encoding and decoding a variable encoding target, wherein the encoding and decoding method is implemented by using any of the variable encoding targets described above and a decoding device for any of the variable encoding targets described above;
[0048] The encoding and decoding method comprises the following steps:
[0049] Set a one-to-one correspondence between the coding information and the serial number;
[0050] Input coded information into the target body and adjust the luminous state of the marking point;
[0051] A video signal acquisition module is used to acquire a video file of the luminous state change of the marking point on the target body at a given frame rate;
[0052] The video file analysis module is used to interpret the coding information based on the video file of the luminous state change of the marking point on the target body; the coding number of the target body is obtained based on the interpreted coding information and its corresponding relationship with the serial number.
[0053] The present invention has the following beneficial effects:
[0054] 1. The variable coding target described in the present invention converts electrical signals into optical signals, transmits coded information in the form of optical signals, and collects video files of the transmitted optical signals. The transmitted coded information can be decoded from the video files by image recognition means. In the process of transmitting the coded information, data leakage and tampering can be effectively prevented, thereby ensuring the security and reliability of the transmitted information.
[0055] 2. The variable coding target described in the present invention realizes that the target body has different coding numbers by setting different corresponding relationships between coding information and serial numbers, or inputting different coding information, that is, realizing variable coding, which solves the problem that the existing coding target can only have a unique numerical identity, that is, the minimum value of the corresponding decimal number is used as the coding number of the coding target, which leads to the need to produce a large number of coding target calibration plates when transmitting different coding numbers.
[0056] The variable coding target and the decoding device thereof described in the present invention are suitable for space cooperative target identification. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0058] Figure 1 The structure diagram of the target body in one embodiment of the present invention; wherein 1 is a shell; 2 is a working surface; 3 is a hollow base; 7 is a circular protrusion; 8 is the first marking point, and its ID number is LED1;
[0059] Figure 2 The present invention is a flowchart of a method for encoding and decoding a variable encoding target in one embodiment of the present invention;
[0060] Figure 3 A schematic diagram of the circuit structure of a driving circuit of a marker point in one embodiment of the present invention;
[0061] Figure 4 A schematic diagram of a communication format of a binary number sent according to a change in the luminous state of a marker point in one embodiment of the present invention;
[0062] Figure 5 A waveform diagram of the light emitting state of a marking point within a duration period in one embodiment of the present invention;
[0063] Figure 6A schematic diagram of a bright but not bright marker point in an image after frame splitting in one embodiment of the present invention;
[0064] Figure 7 In one embodiment of the present invention, when the code number of the target body is "00100110", a schematic diagram of a working state of the mark point on the target body is shown; wherein, the black dot indicates that the mark point is in a continuously extinguished state (i.e., a non-working state), and the white dot indicates that the mark point is in a flashing state (i.e., a working state); the corresponding relationship between the coding information and the serial number is that "0X33" corresponds to the serial number "3", "0x66" corresponds to the serial number "6", and "0x99" corresponds to the serial number "7"; it is assumed that the third mark point (i.e., LED3) sends "0X33", the sixth mark point (i.e., LED3) sends "0x66", and the seventh mark point (i.e., LED3) sends "0x99";
[0065] Figure 8 In one embodiment of the present invention, when the code number of the target body is "00100110", a schematic diagram of another working state of the mark point on the target body; wherein the black dot indicates that the mark point is in a continuously extinguished state (i.e., a non-working state), and the white dot indicates that the mark point is in a flashing state (i.e., a working state); the corresponding relationship between the coding information and the serial number is that "0X33" corresponds to the serial number "3", "0x66" corresponds to the serial number "6", and "0x99" corresponds to the serial number "7"; it is assumed that the first mark point (i.e., LED1) sends "0X33", the second mark point (i.e., LED2) sends "0x66", and the eighth mark point (i.e., LED8) sends "0x99";
[0066] Fig. 9 In one embodiment of the present invention, when the code number of the target body is "00100110", a schematic diagram of the third working state of the mark point on the target body is shown; wherein, the black dot indicates that the mark point is in a continuously off state (i.e., a non-working state), and the white dot indicates that the mark point is in a flashing state (i.e., a working state); the corresponding relationship between the coding information and the serial number is that "0X33" corresponds to the serial number "3", "0x66" corresponds to the serial number "6", and "0x99" corresponds to the serial number "7"; it is assumed that the first mark point (i.e., LED1) sends "0X33", the second mark point (i.e., LED2) sends "0x66", and the fourth mark point (i.e., LED4) sends "0x99". DETAILED DESCRIPTION
[0067] In order to make the technical solutions and advantages of the present invention more clearly described, the specific implementation methods of the present invention will be further described in detail and completely in conjunction with the accompanying drawings. The various implementation methods described below are only part of the preferred solutions of the present invention, rather than all implementation methods; the various implementation methods described below are intended to explain the present invention and cannot be understood as limitations on the present invention; the reasonable combination of technical features defined in the various implementation methods of the present invention, and all other implementation methods obtained by ordinary technicians in the field without creative work based on the implementation methods of the present invention, are within the scope of protection of the present invention.
[0068] In one embodiment, a variable coding target is provided, the target comprising a target body, a coding device, and a coding information association device;
[0069] The target body comprises a disc-shaped shell 1;
[0070] The front of the disk of the housing 1 is a working surface 2; a circular protrusion 7 is provided near the edge of the working surface 2; n marking points of the same shape and volume are evenly distributed on the front surface of the circular protrusion 7, and the marking points are optical signal transmitters;
[0071] The coding information association device is used to set, store or read a one-to-one correspondence between coding information and a serial number; the serial number represents the arrangement order of each character in a character sequence consisting of n characters;
[0072] The encoding device includes a coding information input module, a binary conversion module, a level signal conversion module and a driving module;
[0073] The coding information input module is used to input coding information;
[0074] The binary conversion module is used to convert the coded information into binary data;
[0075] The level signal conversion module is used to convert binary data into high and low level signals, with a high level signal representing a binary number 1 and a low level signal representing a binary number 0;
[0076] The driving module is used to adjust the luminous state of the mark point according to the high and low level signals, and send a binary number according to the change of the luminous state of the mark point; the binary number encapsulates the coding information.
[0077] In this implementation, each marker point has a unique ID number.
[0078] In this implementation, each marker point can independently output an optical signal and further independently output coded information.
[0079] In this implementation manner, each time a binary number is sent according to a change in the luminous state of a marker point, each marker point can only send one coded information.
[0080] If there are three coded messages to be sent, three marker points should be selected to send one coded message respectively.
[0081] In this embodiment, the number of marker points is the same as the number of serial numbers. However, there is no necessary relationship between the ID number of the marker point and the serial number, and any marker point can be selected to send one.
[0082] For example, three coded messages "0X33", "0X55" and "0X99" need to be sent, and there are 8 serial numbers in total, then:
[0083] You can choose to send "0X33" for the first mark point, "0X55" for the second mark point, and "0X99" for the third mark point;
[0084] You can also choose to send "0X33" for the second mark point, "0X55" for the fourth mark point, and "0X99" for the eighth mark point.
[0085] As long as the corresponding relationship between the coding information and the serial number remains unchanged, the coding number of the target body obtained by final decoding will remain unchanged and has nothing to do with the image features of the target body.
[0086] For example, assuming that "0X33" corresponds to the serial number 1, "0X55" corresponds to the serial number 3, and "0X99" corresponds to the serial number 6, it means that the 1st, 3rd and 6th digits of the target body's code number are 1, and the other digits are zero, then the decoded code number of the target body is "10100100"; at this time, no matter which mark point is selected to send "0X33", or which mark point is selected to send "0X55" and "0X99", the target body's code number is "10100100";
[0087] In addition, even if the image features of two target bodies are exactly the same, it cannot be assumed that their encoding numbers are the same.
[0088] For example, in one target body, "0X33" corresponds to serial number 1, "0X55" corresponds to serial number 3, and "0X99" corresponds to serial number 6, and the coding number of the target body is "10100100"; in another target body, "0X33" corresponds to serial number 3, "0X55" corresponds to serial number 4, and "0X99" corresponds to serial number 7, and the coding number of the target body is "00110010"; however, the coding numbers of these two target bodies are sent by the 1st to 3rd marking points. At this time, if the two target bodies are observed, it will be found that the 1st to 3rd marking points in the two target bodies are in a flashing state (i.e., sending coding information), and the other marking points are in an off state (i.e., not sending coding information), that is, the same image features of the target bodies may have different coding numbers.
[0089] Based on this, the confidential transmission of the "coding number of the target body" is achieved. The coding number of the target body cannot be deciphered by observing the flashing state of the mark point of the target body. Only by shooting the complete working video of the target body and deciphering the specific coding information sent, and knowing the correspondence between the coding information and the serial number, can the coding number of the target body be deciphered.
[0090] In this embodiment, the input coding information and the one-to-one correspondence between the coding information and the serial number are used to determine the coding number of the target body. By setting different correspondences between the coding information and the serial number, or inputting different coding information, the target body can have different coding numbers, that is, variable coding is achieved.
[0091] In this embodiment, a circular ring-shaped protrusion is used to make the target and the marking point easy to identify.
[0092] In this embodiment, in order to obtain the coded information, it is necessary to obtain a video of the change in the luminous state (or working state) of the marking point on the target body.
[0093] In this embodiment, the variable coding target can be applied to a posture measurement system to achieve intelligent large-range measurement.
[0094] In this embodiment, the coding information is represented in the form of hexadecimal "0Xxx". When inputting the coding information in the coding information input module, only the last two digits "xx" need to be input, so as to ensure high accuracy in the subsequent transmission of the coding information, and at the same time ensure that the content of the information transmission has more combinations and a wider range of transmission.
[0095] In this implementation, the binary conversion module is used to convert the input 2-digit hexadecimal number "xx" into an 8-digit binary number, that is, to convert a hexadecimal number "x" into an unsigned 4-digit binary number, thereby completing the conversion of binary data.
[0096] In this embodiment, the binary conversion module is implemented by an embedded program. The embedded program is set on an STM32 series single-chip microcomputer. The STM32 series single-chip microcomputer can be packaged in a shell of the target body.
[0097] In this embodiment, the level signal conversion module is implemented by an embedded program. The embedded program is set on an STM32 series single-chip microcomputer. The STM32 series single-chip microcomputer can be packaged in a shell of the target body.
[0098] In this embodiment, the driving module includes a driving circuit for a mark point; the driving circuit for the mark point has a switch enable pin DIM of a step-down constant current source chip, which is used to receive high and low level signals transmitted by a level signal conversion module.
[0099] Assuming there are 8 landmarks, then:
[0100] Each mark point has a driving circuit. The hardware circuit of the level signal conversion module has 8 IO ports, each of which is connected to the switch enable pin DIM of the step-down constant current source chip of the driving circuit of a mark point through a DuPont line, so as to input high and low level signals to the driving circuit.
[0101] According to the working principle of the step-down constant current source chip, the high and low level signals are controlled to act on the mark point (i.e. the near-infrared LED light) to achieve the effect of turning it on and off.
[0102] Working principle of step-down constant current source chip:
[0103] The DIM terminal can be connected by applying a DC voltage ( ) to reduce the mark point output current, and the maximum mark point output current is determined by ( )set up;
[0104] Then the calculation formula of the average output current at the mark point is:
[0105]
[0106]
[0107] when When the mark point maintains 100% current, the output value ;
[0108] When DIM receives a low level (signal), , the mark point is in the off state;
[0109] When DIM receives a high level (signal), , the mark point maintains 100% current and the mark point is in a high light state.
[0110] Based on this, the highlighted state and the unlit state of the mark point correspond to the high and low level signals, and then to the binary data.
[0111] In this embodiment, by sending binary numbers according to the changes in the luminous state of the mark point, the transmission of coded information using visible light wireless communication is achieved.
[0112] In this embodiment, the electrical signal is converted into an optical signal, and the encoded information is transmitted in the form of an optical signal. By capturing the video file of the transmitted optical signal, the transmitted encoded information can be decoded from the video file through image recognition means. During the transmission of the encoded information, data leakage and tampering can be effectively prevented, thereby ensuring the security and reliability of the transmitted information.
[0113] In addition, in one embodiment, the marking point is a near-infrared LED lamp.
[0114] It should be noted that the traditional circular coded target belongs to the passive cooperative target, and the influence of the environment on the transmission and reception of its coded information cannot be ignored. This embodiment adopts infrared LED lights to transmit coded information, overcoming the influence of the environment.
[0115] In this embodiment, each near-infrared LED lamp has a unique ID number, such as LED1 to LED8. The number of the ID number is the same as the number of the serial number. When there is no corresponding relationship between the two, any ID number may correspond to any serial number.
[0116] In addition, in one embodiment, n=8, that is, there are a total of 8 marking points (or referred to as coding units, LED lights). The 8 marking points are evenly distributed on the annular protrusion, and the two marking points maintain the same arc.
[0117] Furthermore, each landmark point is circular.
[0118] Furthermore, the positional relationship of the 8 landmarks is as follows:
[0119] Each landmark point is on a circular protrusion;
[0120] The distance between the center of each marking point and the center point of the working surface of the target body is set to 90 mm;
[0121] The distance from the center of each marking point to the edge of the target body working surface is set to 40 mm;
[0122] Assume that the mark point located at the top of the vertical center line of the working surface (i.e., the mark point corresponding to the reference numeral 8) is the first mark point, i.e., LED1, which can be represented by the symbol A;
[0123] Determine the ID numbers of other landmarks in a clockwise direction:
[0124] Rotate clockwise, the mark point that differs from the first mark point by 45° is the second mark point, i.e. LED2, which can be represented by symbol B;
[0125] The 3rd to 8th marking points, i.e. LED3 to LED8, are obtained in sequence and can be represented by symbols C to H;
[0126] At the same time, it can be seen that the first mark point and the fifth mark point are located on the same straight line, the second mark point and the sixth mark point are located on the same straight line, and the positions of the other mark points are similar.
[0127] In addition, in one embodiment, the target body further includes a control circuit and a drive circuit of the marking point. The control circuit and the drive circuit of the marking point may be packaged in a housing.
[0128] In addition, in one embodiment, a power switch 4, a control panel 6 and a USB port are also provided on the back of the housing.
[0129] The power switch 4 can be used as a main switch for the marking points; turning on the power switch 4 can initialize the marking points on the target body.
[0130] The control panel 6 shown can be used as an input panel to input coded information; that is, the control panel 6 can be used as a coded information input module.
[0131] The USB port can be used for embedded software program compilation and debugging as well as a power charging interface.
[0132] In addition, in one embodiment, the target body further includes an arched hollow base 3;
[0133] The hollow base 3 is arranged below the housing 1;
[0134] The hollow base 3 is used to support the shell 1 and is also used to store a mobile power source, which is used to supply power to the target body.
[0135] In addition, in one embodiment, adjusting the luminous state of the mark point according to the high and low level signals, and sending a binary number according to the change of the luminous state of the mark point includes:
[0136] A binary number is represented by the lighting state of a mark point that lasts for a given time. The lighting state of the mark point includes a highlighted state and an unlit state:
[0137] When the driver module receives a high level signal:
[0138] The mark point is in a highlighted state and lasts for a given time, indicating a binary number 1;
[0139] When the driver module receives a low level signal:
[0140] The mark is off for a given time, representing the binary number 0.
[0141] In addition, in one embodiment, the communication format of the binary number sent according to the change in the luminous state of the mark point is a start bit, a data bit, a stop bit, and an idle bit;
[0142] The start bit is three consecutive binary digits 0, represented by the extinguishing state of the mark point for three given times;
[0143] The data bits are 8 consecutive binary numbers used to represent the coded information in binary;
[0144] The stop bit is three consecutive binary digits 0, represented by the extinguishing state of the mark point for three given times;
[0145] The idle bits are two consecutive binary digits 1, which are represented by the lighting state of the mark point lasting for two given times.
[0146] In this implementation, the format of the start bit, data bit, stop bit and idle bit plays the role of data verification between the sender and the receiver.
[0147] In this embodiment, the communication between the variable coding target and its decoding device belongs to the category of asynchronous communication. In order to ensure the accuracy of the transmitted signal, asynchronous communication is used to transmit data. The data is transmitted in units of characters. There is no fixed time interval requirement between characters, and each bit in each character is transmitted at a fixed time.
[0148] In one embodiment, a decoding device for a variable coding target is provided, wherein the decoding device is used to decode any of the variable coding targets described above;
[0149] The decoding device includes a video signal acquisition module and a video file analysis module;
[0150] The video signal acquisition module is used to collect a video file of the luminous state change of the marking point on the target body at a given frame rate;
[0151] The video file analysis module is used to interpret the coding information based on the video file of the luminous state change of the mark point on the target body; and is also used to obtain the coding number of the target body based on the interpreted coding information and its corresponding relationship with the serial number.
[0152] In addition, in one embodiment, the decoding of the coded information from the video file of the change in the luminous state of the marking point on the target body includes:
[0153] Process the video file frame by frame, identify and locate the marker point, and obtain a waveform diagram of the luminous state of the marker point within a duration period;
[0154] Divide the waveform graph into multiple time periods evenly in chronological order, each time period lasting for a given time;
[0155] Determine the luminous state of the marker point in each time period and convert the waveform into binary text:
[0156] If the mark point is highlighted, it means that this time period corresponds to the binary number 1;
[0157] If the mark is off, it means that this time period corresponds to the binary number 0;
[0158] The binary text is a binary number sent according to the luminous state of the mark point, from which the coded information is interpreted.
[0159] In this implementation, Matlab may be used to perform text processing to decode the coded information from the binary text.
[0160] In this implementation, a new encoding and decoding mechanism is proposed:
[0161] Using the marker point (i.e. LED light) as a carrier, the digital signal is carried to the marker point, and the coded information is transmitted wirelessly using the light pulse emitted by the marker point; the coded information is converted into binary numbers, and the marker point is illuminated in the form of high and low level signals, which are then converted into light signals; the generated light signal is then filmed into a video file with a frame rate, and the video file is processed frame by frame. The highlighted state of the marker point in each frame represents the binary number "1", and the unlit state represents the binary number "0"; and so on, the light signal is finally converted into binary text; after processing the binary text, the final coded information is obtained.
[0162] In addition, in one embodiment, the one given time is 100 ms.
[0163] In addition, in one embodiment, the given frame rate is 30 frames per second.
[0164] In this implementation, if the given time is 100 ms, the given frame rate is 30 frames per second.
[0165] When decoding, the video file needs to be split into frames to determine the status of the marker points in each frame.
[0166] Usually, the frame rate of the shooting device is set to 30 frames per second, that is, the video is deframed, and the obtained frame image is sampled at an interval of 33.333ms. Therefore, 100ms is selected as the time interval, so that three consecutive images can be obtained based on the subsequent deframe, and the luminous state of the mark point can be intuitively judged (for example, if the mark point is highlighted in the three consecutive images after the frame is deframed, it means that the highlighted state lasts for 100ms, which represents the binary number 1).
[0167] In this implementation, if the given time is 100ms, then for the start bit, data bit, stop bit, and idle bit:
[0168] The start bit lasts for 300ms and can be judged by the marker remaining off in 9 consecutive images after frame splitting;
[0169] The data bit lasts for 800ms, corresponding to the change in the luminous state of the marker point in 24 consecutive images after frame splitting;
[0170] The stop position lasts for 300ms, which can be judged by the marker point remaining off in 9 consecutive images after frame splitting;
[0171] The idle position lasts for 200ms, which can be judged by the fact that the marker point remains in a highlighted state in the six consecutive images after the frame splitting.
[0172] By observing the image after frame splitting, we can find the image corresponding to the start bit, the image corresponding to the stop bit and the image corresponding to the idle bit respectively. Then, the image between the start bit and the stop bit (that is, the image corresponding to the data bit) is the encoded information transmitted.
[0173] Specifically, a specific embodiment is provided to illustrate the encoding and decoding process of the encoding information of the variable encoding target:
[0174] Assume that the serial number 1 corresponds to the coded information "0X55" one by one;
[0175] Enter the last two hexadecimal digits of the coded information, "55";
[0176] Convert the hexadecimal number "55" into binary data "01010101";
[0177] Convert the binary data "01010101" into high and low level signals, and then convert the high and low level signals into light signals emitted by the marking points, where:
[0178] For the binary number 1, a high-level signal of 100ms is used to keep the mark point in a highlighted state for 100ms.
[0179] For the binary number 0, a low-level signal of 100ms is used to keep the mark point off for 100ms.
[0180] When using the optical signal of the mark point to transmit binary data, in order to ensure the accuracy of the coded signal transmission, a certain format is used for transmission. The certain format is the start bit, data bit, stop bit and idle bit:
[0181] Start position: Use a low-level signal lasting 300ms to keep the mark point off for 300ms;
[0182] Stop position: Use a low-level signal lasting 300ms to keep the mark point off for 300ms;
[0183] Idle position: Use a high-level signal lasting 200ms to keep the mark point in a highlighted state for 200ms.
[0184] The output high and low level signals are transmitted from the IO port on the hardware circuit board through the DuPont line to the DIM interface of the step-down constant current source chip on the driving circuit of the mark point. The step-down constant current source chip changes the on and off state of the mark point by judging the received high and low level signals.
[0185] Take a video of the working status of the marker point and set the video device (camera) to shoot at 30FPS;
[0186] Import the acquired video (image) file into the Matlab program:
[0187] Identify and locate the landmarks: First, binarize the R channel of the video image and perform morphological filtering to remove noise; then locate the location information of the object to be detected (i.e., the landmark) through the Unicom domain detection (specifically: detect all circles in the image → draw the square boundaries of the landmarks → determine the landmark location coordinates);
[0188] Then, the video is analyzed and processed frame by frame through the Matlab program to obtain binary text as the preliminary data stream:
[0189] In this case, some abnormal situations may occur, such as the situation where the marker point in the image after frame splitting is neither bright nor dark. In this case, the brightness threshold can be set to handle the problem. If the marker point reaches the brightness threshold, the marker point is considered to be in a high-brightness state, otherwise the marker point is considered to be in an off state.
[0190] For example, in the 6 consecutive images after frame splitting, the 4th image is in a state where the marker point is not bright. If the marker point of the 4th image is regarded as being in a highlighted state, then the marker point in the 4 consecutive images is in a highlighted state, and the marker point in the 2 consecutive images is in an unlit state. Generally, 3 consecutive images after frame splitting are used to determine whether a binary number is 0 or 1, but it is impossible to determine at this time. The brightness threshold is used to determine that the marker point in the 4th image is in an unlit state. At this time, the marker point in the 3 consecutive images is in a highlighted state, and the marker point in the following 3 consecutive images is in an unlit state. At this time, it can be determined that the binary number represented by these 6 consecutive images is "10".
[0191] The resulting preliminary data stream is kept correct based on the brightness threshold.
[0192] The preliminary data stream is processed to obtain the encoded information.
[0193] Furthermore, the encoded information obtained by decoding is compared with the input encoded information to determine the accuracy and correctness of the encoding and decoding and information transmission:
[0194] Perform scatter plot analysis on the obtained preliminary data stream, and the obtained scatter plot will contain start bit, data bit, stop bit, and idle bit;
[0195] By comparing the ideal waveform with each position in the obtained scatter plot, it can be determined that the transmitted coded information is consistent with the original coding concept;
[0196] Furthermore, the final encoded information obtained after encoding and decoding the information transmitted by the target is compared with the actual input encoded information:
[0197] The start bit, stop bit, and idle bit of the final encoded information obtained after decoding are filtered out to obtain the required data bits; after converting the actual input encoded information into binary data, the two are compared.
[0198] According to the comparison, the final encoded information obtained after decoding is consistent with the actual input encoded information.
[0199] In addition, in one embodiment, the step of obtaining the coding number of the target body according to the decoded coding information and the corresponding relationship between the decoded coding information and the serial number includes:
[0200] In the character sequence, the character indicated by the serial number corresponding to the decoded coding information is set to binary number 1, and the characters indicated by other serial numbers are set to binary number 0, and the obtained n-bit binary number is used as the coding number of the target body.
[0201] It should be noted that the traditional circular target diagram is in the form of cyclic shifting the selected binary sequence, and selecting the binary sequence with the smallest value as the encoding value of the encoding target. For example, the encoding value that originally needs to be transmitted is binary: 00100110 (ie, decimal 38), but the traditional circular target diagram encoding method is to cyclically shift the binary sequence to obtain the smallest binary sequence as the encoding value, so the transmitted encoding value is changed to binary: 00010011 (ie, decimal 19), and the transmitted information is changed, resulting in information transmission errors; however, in this embodiment, by assigning serial numbers to the marker points and setting the corresponding relationship between the serial numbers and the encoding information, the problem of information transmission errors caused by cyclic shifts is essentially solved.
[0202] In this embodiment, first, a one-to-one correspondence between the coding information and the serial number is set through the coding information association device, and then the input coding information is displayed on the target body in a combined manner, and the coding information transmitted by all the mark points is decoded. The coding number of the target body can be interpreted according to the coding information transmitted by each mark point, and can be compared and verified by querying the coding information association device to determine whether the interpreted coding number of the target body is correct. There is no need to use the binary sequence with the smallest numerical value as the coding value of the coding target; by setting different corresponding relationships between the coding information and the serial number, or inputting different coding information, a target body with a variable coding number is obtained, thereby realizing a variable coded target.
[0203] Specifically, a specific embodiment is provided to illustrate how to obtain the encoding number of the target body according to the decoded encoding information and its corresponding relationship with the sequence number:
[0204] There are 8 landmarks in total, evenly distributed on the circular protrusions;
[0205] The mark point located at the top of the vertical center line of the working surface (i.e., the mark point corresponding to the reference numeral 8) is the first mark point, and its ID number is LED1;
[0206] Determine the serial numbers of other marking points in a clockwise direction. For example, if rotating clockwise, the marking point that differs from the first marking point by 45° in arc is the second marking point, and its ID number is LED2.
[0207] There are 8 serial numbers at the same time. Suppose the character sequence is "12345678", serial number 1 means that character "1" is ranked first in the character sequence, serial number 2 means that character "2" is ranked second in the character sequence, and so on.
[0208] Assume that the input (interpreted) coded information includes "0X33", "0x66" and "0x99".
[0209] Assume that the corresponding relationship between the input coding information and the serial number is:
[0210] "0x33" corresponds to the serial number "3", "0x66" corresponds to the serial number "6", and "0x99" corresponds to the serial number "7".
[0211] As for which marker point "0X33", "0x66" and "0x99" are sent respectively, there is no fixed requirement and it can be freely selected.
[0212] Select three marker points to send three coded messages of "0X33", "0x66" and "0x99" respectively, and shoot video files;
[0213] At this time, in the captured video file, 3 markers are in working state, that is, they are in flashing state (that is, they are off for a while and bright for a while), and the other markers are in continuous off state (that is, they are not working);
[0214] According to the video file, the input coding information can be interpreted, and combined with the one-to-one correspondence between the coding information and the serial number, the coding number of the target body can be further obtained.
[0215] According to the decoded coding information and its correspondence with the serial number, the characters at the corresponding positions of the serial numbers "3", "6" and "7" in the character sequence "12345678" are replaced with the binary number 1, and the characters at other positions are replaced with the binary number 0, and the binary string "00100110" is obtained, which is the coding number of the target body at this time.
[0216] It should be noted that the number of codes of the target body has nothing to do with which marker point is used to send the coding information.
[0217] For example, assuming that the corresponding relationship between the coded information and the serial number remains unchanged, that is, "0X33" still corresponds to the serial number "3", "0x66" corresponds to the serial number "6", and "0x99" corresponds to the serial number "7";
[0218] Assume that the third mark point (LED3) sends "0X33", the sixth mark point (LED3) sends "0x66", and the seventh mark point (LED3) sends "0x99", then the target body's code number is "00100110";
[0219] Assume that the first mark point (LED1) sends "0X33", the second mark point (LED2) sends "0x66", and the eighth mark point (LED8) sends "0x99", then the target body's code number is still "00100110";
[0220] Assume that the first mark point (LED1) sends "0X33", the second mark point (LED2) sends "0x66", and the fourth mark point (LED4) sends "0x99", then the code number of the target body is still "00100110".
[0221] In another case, assume that the correspondence between the input coding information and the serial number is: "0X33" corresponds to the serial number "1"; "0x66" corresponds to the serial number "2"; "0x99" corresponds to the serial number "8", then the character sequence "12345678" is replaced by the binary string "11000001", which is the coding number of the target body at this time.
[0222] In another case, assume that the correspondence between the input coding information and the serial number is: "0X33" corresponds to the serial number "1"; "0x66" corresponds to the serial number "2"; "0x99" corresponds to the serial number "4"; then the character sequence "12345678" is replaced by the binary string "11010000", which is the coding number of the target body at this time.
[0223] In one embodiment, a method for encoding and decoding a variable encoding target is provided, wherein the encoding and decoding method is implemented using any of the variable encoding targets described above and a decoding device for any of the variable encoding targets described above;
[0224] The encoding and decoding method comprises the following steps:
[0225] Set a one-to-one correspondence between the coding information and the serial number;
[0226] Input coded information into the target body and adjust the luminous state of the marking point;
[0227] A video signal acquisition module is used to acquire a video file of the luminous state change of the marking point on the target body at a given frame rate;
[0228] The video file analysis module is used to interpret the coding information based on the video file of the luminous state change of the marking point on the target body; the coding number of the target body is obtained based on the interpreted coding information and its corresponding relationship with the serial number.
[0229] In one embodiment, a coding and decoding system of a variable coding target is provided, wherein the coding and decoding system comprises any one of the variable coding targets described above and a decoding device of any one of the variable coding targets described above.
[0230] In one embodiment, a measurement system of a variable coded target is provided, the measurement system comprising any one of the variable coded targets described above, a decoding device of any one of the variable coded targets described above, and a three-dimensional coordinate calculation module;
[0231] The back of the target body of the variable coding target is provided with a fixing device for fixing with the measured point;
[0232] The three-dimensional coordinate calculation module is used to calculate the three-dimensional space coordinates of the measured point according to the decoded coding information and the coding number of the target body.
[0233] In addition, in one embodiment, the measurement system of the variable coding target further includes a wireless module and a mobile coding information input terminal; the wireless module and the mobile coding information input terminal are used to remotely and wirelessly input coding information to the target body. In this way, the measurement personnel can change the coding information without holding the target, which is convenient for measurement.
[0234] In one embodiment, a method for measuring a variable coded target is provided, which is implemented using the above-mentioned variable coded target measurement system; the method is based on the principle of visual coordinate measurement and includes the following steps:
[0235] System startup and preparation steps: Start the measurement system of the variable coded target and ensure that all components are working properly; move the target body to the vicinity of the object to be measured and prepare for measurement;
[0236] Mark point initialization: fix the target body and the measured point; press the power switch 4 to initialize the mark point; set the one-to-one correspondence between the coding information and the serial number; input the coding information, and send the binary number (coding information) according to the change of the luminous state of the mark point;
[0237] Video file acquisition: Use the camera to collect video files of the changes in the luminous state of the marker points;
[0238] Code number decoding: decode the code information according to the video file of the luminous state change of the mark point on the target body; also used to obtain the code number of the target body according to the decoded code information and its corresponding relationship with the serial number;
[0239] Calculate coordinates: Calculate the three-dimensional space coordinates of the measured point based on the target body's code number, the camera's imaging model and parameters.
[0240] The technical solution provided by the present invention is further described in detail above through several specific implementation modes in order to highlight the advantages and benefits of the technical solution provided by the present invention. However, the several specific implementation modes described above are not intended to be used as limitations on the present invention. Any reasonable changes and improvements to the present invention, reasonable combinations of implementation modes and equivalent substitutions based on the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A variable coding target, characterized in that The target includes a target body, a coding device and a coding information association device; The target body comprises a disc-shaped shell (1); The front side of the disk of the housing (1) is a working surface (2); a circular ring-shaped protrusion (7) is provided on the working surface (2) near the edge; n marking points of the same shape and volume are evenly distributed on the front surface of the circular ring-shaped protrusion (7), and the marking points are optical signal transmitters; The coding information association device is used to set, store or read a one-to-one correspondence between coding information and a serial number; the serial number represents the arrangement order of each character in a character sequence consisting of n characters; The encoding device includes a coding information input module, a binary conversion module, a level signal conversion module and a driving module; The coding information input module is used to input coding information; The binary conversion module is used to convert the coded information into binary data; The level signal conversion module is used to convert binary data into high and low level signals, with a high level signal representing a binary number 1 and a low level signal representing a binary number 0; The driving module is used to adjust the luminous state of the mark point according to the high and low level signals, and send a binary number according to the change of the luminous state of the mark point; the binary number encapsulates the coding information; The input coding information and the one-to-one correspondence between the coding information and the serial number are used to determine the coding number of the target body; by setting different correspondences between the coding information and the serial number, or inputting different coding information, the target body can have different coding numbers, that is, variable coding is achieved.
2. The variable coding target according to claim 1, characterized in that The marking point is a near-infrared LED lamp.
3. The variable coding target according to claim 1, characterized in that The step of adjusting the luminous state of the mark point according to the high and low level signals and sending a binary number according to the change of the luminous state of the mark point comprises: A binary number is represented by the lighting state of a mark point that lasts for a given time. The lighting state of the mark point includes a highlighted state and an unlit state: When the driver module receives a high level signal: The mark point is in a highlighted state and lasts for a given time, indicating a binary number 1; When the driver module receives a low level signal: The mark is off for a given time, representing the binary number 0.
4. The variable coding target according to claim 3, characterized in that The communication format of the binary number sent according to the change of the luminous state of the mark point is a start bit, a data bit, a stop bit and an idle bit; The start bit is three consecutive binary digits 0, represented by the extinguishing state of the mark point for three given times; The data bits are 8 consecutive binary numbers used to represent the coded information in binary; The stop bit is three consecutive binary digits 0, represented by the extinguishing state of the mark point for three given times; The idle bits are two consecutive binary digits 1, which are represented by the lighting state of the mark point lasting for two given times.
5. A decoding device for a variable coded target, characterized in that: The decoding device is used to decode the variable coding target according to any one of claims 1 to 4; The decoding device includes a video signal acquisition module and a video file analysis module; The video signal acquisition module is used to collect a video file of the luminous state change of the marking point on the target body at a given frame rate; The video file analysis module is used to interpret the coding information based on the video file of the luminous state change of the mark point on the target body; it is also used to obtain the coding number of the target body based on the interpreted coding information and its corresponding relationship with the serial number.
6. The variable coding target decoding device according to claim 5, characterized in that: The coding information decoded from the video file of the change of the luminous state of the marking point on the target body includes: Process the video file frame by frame, identify and locate the marker point, and obtain a waveform diagram of the luminous state of the marker point within a duration period; Divide the waveform graph into multiple time periods evenly in chronological order, each time period lasting for a given time; Determine the luminous state of the marker point in each time period and convert the waveform into binary text: If the mark point is highlighted, it means that this time period corresponds to the binary number 1; If the mark is off, it means that this time period corresponds to the binary number 0; The binary text is a binary number sent according to the luminous state of the mark point, from which the coded information is interpreted.
7. The variable coding target decoding device according to claim 6, characterized in that: The given time is 100 ms.
8. The variable coding target decoding device according to claim 7, characterized in that: The given frame rate is 30 frames per second.
9. The variable coding target decoding device according to claim 5, characterized in that: The step of obtaining the coding number of the target body according to the decoded coding information and the corresponding relationship between the coding information and the serial number includes: In the character sequence, the character indicated by the serial number corresponding to the decoded coding information is set to binary number 1, and the characters indicated by other serial numbers are set to binary number 0, and the obtained n-bit binary number is used as the coding number of the target body.
10. A method for encoding and decoding a variable encoding target, characterized in that: The encoding and decoding method is implemented by using the variable encoding target described in any one of claims 1 to 4 and the decoding device of the variable encoding target described in any one of claims 5 to 9; The encoding and decoding method comprises the following steps: Set a one-to-one correspondence between the coding information and the serial number; Input coded information into the target body and adjust the luminous state of the marking point; A video signal acquisition module is used to acquire a video file of the luminous state change of the marking point on the target body at a given frame rate; The video file analysis module is used to interpret the coding information based on the video file of the luminous state change of the marking point on the target body; the coding number of the target body is obtained based on the interpreted coding information and its corresponding relationship with the serial number.
Citation Information
Patent Citations
Visible light positioning system for supermarket shopping guide and navigation method using same
CN107270908A
Flexible calibration method for binocular vision system based on one-dimensional coding target
CN113129384A