Projection module, stripe decoding method, apparatus, media, device and system

The use of a repeatedly repeated color striped pattern with unique N-bit sequences in color striped code technology addresses the issue of stripe interference and error rates, enhancing scanning efficiency for complex objects.

JP7625704B2Active Publication Date: 2025-02-03SHINING 3D TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023540478
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-31
Filing Date
2021-12-17
Publication Date
2025-02-03
Estimated Expiration
2041-12-17

AI Technical Summary

Technical Problem

Conventional color striped code technology requires a large number of stripes for uniqueness, leading to interference with object surface texture, increased error rates, and limited scanning efficiency, especially for small and complex objects.

Method used

A color striped pattern with a base stripe sequence that is repeatedly repeated, using a reduced number of stripes with unique N-bit sequences, and a decoding method that determines stripe numbers and coordinates to enhance scanning efficiency.

Benefits of technology

Reduces the number of stripes needed for decoding, minimizing interference and error rates, improving stability and efficiency for high-speed, high-precision measurement of complex shapes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007625704000002
    Figure 0007625704000002
  • Figure 0007625704000003
    Figure 0007625704000003
  • Figure 0007625704000004
    Figure 0007625704000004
Patent Text Reader

Abstract

The present disclosure relates to a color projection module, a stripe decoding method, an apparatus, a medium, a device and a system, the color projection module being configured to project a color stripe pattern onto a surface of a measurement object, where the color stripe pattern includes m periodically repeated base stripe sequences, m being a positive integer, the base stripe sequence includes k different color stripes, and an n-bit stripe sequence of any consecutive n stripes is unique, and the total number l of stripes of the base stripe sequence is l≦l. 0 , l 0 =k n where k and n are both positive integers equal to or greater than 2. As a result, stripe encoding and corresponding decoding are achieved by using periodically repeated color stripes, which reduces the number of stripe colors and the number of stripes required for decoding, and is conducive to improving decoding stability, simplifying the structure, and improving scanning efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] <CROSS REFERENCE TO RELATED APPLICATIONS> This disclosure claims priority to Chinese Patent Application No. 202011626487.6, filed with the China Patent Office on December 31, 2020, entitled "Color Projection Module, Stripe Decoding Method, Apparatus, Medium, Device and System," the entire contents of which are incorporated by reference into this disclosure.

[0002] The present disclosure relates to the technical field of three-dimensional measurement, and in particular to a color projection module, a stripe decoding method, an apparatus, a media, a device and a system. [Background technology]

[0003] In recent years, structured light three-dimensional measurement technology has developed rapidly and, relying on the measurement characteristics such as non-contact, high accuracy and high efficiency, has been widely used in industrial inspection, auxiliary medical care, electronic devices, cultural relics restoration and other fields. Structured light three-dimensional measurement technology is a three-dimensional reconstruction technology that obtains the actual three-dimensional shape of the object by projecting a coded pattern onto the surface of the object to be measured and collecting and analyzing the coded pattern modulated by the surface shape of the object. According to the number of coded patterns projected, structured light three-dimensional measurement technology can be divided into single-frame structured light and multi-frame structured light. Here, the multi-frame structured light technology needs to continuously project multiple frames of coded patterns, has certain requirements for the moving speed or scanning speed of the object, cannot achieve a high frame rate in real time, and the corresponding structure is also complex and the projection device is also expensive. The single-frame structured light technology only needs to project one coded pattern onto the surface of the object to be measured, does not need to change the coded pattern at high speed, has a simple structure and low price, and has been widely studied.

[0004] As a single-frame structured light technology, color stripe coded structured light technology is often used for high-precision measurement of complex objects due to its advantages such as excellent interference resistance and high accuracy. The feature of this technology is to project multiple color coded stripes onto an object, uniquely decode the number information of the current stripe from the color information of multiple adjacent stripes, and finally calculate the three-dimensional point coordinates on the object surface by correctly matching them. In order to ensure the coding uniqueness of each stripe on a single image, the number k of stripe colors and the number n of stripes set for decoding a single stripe (hereinafter simply referred to as the decoding width) should be greater than or equal to the total number of stripes on a single image k. n There is a strict condition that must be satisfied less than 100%. In conventional color stripe coding technology, in order to ensure the uniqueness of stripe coding in the entire image, more stripe colors are used or more stripes are required for decoding (at least five stripe colors, or at least four stripes are required for decoding). However, the more the variety of stripe colors, the greater the interference from the surface texture of the object, making the decoding unstable, and the more stripes required to decode a single stripe, the greater the interference from the discontinuous surface of the object surface, resulting in a higher error rate in decoding and making it difficult to reconstruct small objects. Therefore, conventional color stripe coding technology is mostly limited to the uniqueness of each stripe coding on a single image, which results in a large number of stripe colors or a large decoding width, which greatly limits the scanning efficiency due to unstable decoding and low reconstruction completeness. Summary of the Invention [Problem to be solved by the invention]

[0005] The problem that the present disclosure aims to solve is the problem that in the conventional color stripe coding technology, the scanning efficiency is greatly limited due to the large variety of stripe colors or the large decoding width, unstable decoding, and low reconstruction completeness. [Means for solving the problem]

[0006] To solve the above problems, the embodiments of the present disclosure propose a color stripe coded structured light 3D measurement technology in which coding in a single image can be periodically repeated, and provide a color projection module, stripe decoding method, apparatus, media, device and system that significantly reduce the number of stripe colors and decoding width, and improve scanning efficiency. The present disclosure provides a color projection module configured to project a color stripe pattern onto a surface of a measurement object, the color projection module comprising: The color stripe pattern includes m periodically repeated base stripe sequences, where m is a positive integer, The base stripe sequence includes k different color stripes, and any n-bit stripe sequence consisting of n consecutive stripes is unique, and the total number l of stripes in the base stripe sequence is l≦l0, l0=k n where k and n are both positive integers equal to or greater than 2. The base stripe sequence, as represented by an encoding sequence, is also called a base encoding sequence.

[0007] In some embodiments, the base stripe sequence is ordered based on a k-element n-th order de Bruin sequence.

[0008] In some embodiments, at least a portion of the stripe spacing is different between two adjacent cycles.

[0009] In some embodiments, at least some of the stripe spacings are different in the same cycle.

[0010] In some embodiments, the value of k is three, or the value of n is three, or the values ​​of k and n are both three.

[0011] In some embodiments, the three distinct colors are red, green and blue, respectively.

[0012] In some embodiments, the module comprises a three-color light source, a mirror array, and a control system.

[0013] The control system is configured to adjust the angle of each mirror in the mirror array such that the mirror reflects light of a corresponding color to project the preset color stripe pattern.

[0014] In some embodiments, the module includes a three-color light source and an MRSK code.

[0015] The light from the three-color light source projects the preset color stripe pattern via the MRSK code.

[0016] The present disclosure provides a color stripe decoding method for decoding a stripe pattern projected onto a surface of a measurement target by any one of the above color projection modules and then acquired by a camera module, comprising: acquiring a stripe pattern on a surface of a measurement object; determining pixel coordinates at which a center of each stripe is located based on the stripe pattern; determining a number for each stripe based on said pixel coordinates and corresponding color; and reconstructing each stripe three-dimensionally based on the number of each stripe to determine three-dimensional point coordinates of the measurement object.

[0017] In some embodiments, determining a number for each stripe based on the pixel coordinates and the corresponding color comprises: determining a color code corresponding to each stripe based on a preset color code, the pixel coordinates and corresponding colors; For an i-th stripe (i is a positive integer equal to or less than l), determine n consecutive color codes corresponding to the n consecutive stripes in which the i-th stripe is located based on the color codes of each stripe, and set the color codes as the coding value of the i-th stripe; determining a number for each stripe in the single base coding sequence based on the coding value of each stripe; obtaining a preset pixel coordinate range for each cycle; determining a cycle in which each stripe is located based on the preset pixel coordinate range and the pixel coordinates; determining a number for each stripe in the color stripe pattern based on the number of each stripe in the single base coding sequence and the cycle.

[0018] In some embodiments, the decoding method comprises: determining whether the decoding of a current stripe is misaligned based on the continuity of the 3D points; If the decoding is misaligned, correcting and updating the corresponding 3D point coordinates.

[0019] In some embodiments, the step of three-dimensionally reconstructing each stripe based on the number of each stripe comprises: determining a corresponding light plane based on said number; Reconstructing the three-dimensional point coordinates according to the light plane equation of the light plane, the pixel coordinates where the center of the target stripe is located, and the preset parameters of the camera module; or if the camera module is a binocular system, determining corresponding stripes based on the numbers of each stripe in a left camera image and a right camera image of the binocular system; and reconstructing the three-dimensional point coordinates based on the corresponding stripes and preset parameters of the camera module.

[0020] The present disclosure also provides a color stripe decoding device configured to perform any of the above decoding methods, comprising: a stripe pattern acquisition module configured to acquire a stripe pattern on a surface of the measurement object; a pixel coordinate determination module configured to determine pixel coordinates at which a center of each stripe is located based on the stripe pattern; a number determination module configured to determine a number for each stripe based on the pixel coordinates and corresponding color; and a three-dimensional point coordinate determination module configured to perform three-dimensional reconstruction for each stripe based on the number of each stripe and determine three-dimensional point coordinates of the measurement object.

[0021] In some embodiments, the number resolution module comprises: determining a color code corresponding to each stripe based on a preset color code, the pixel coordinates and the corresponding color; For an i-th stripe (i is a positive integer equal to or less than l), determine n consecutive color codes corresponding to the n consecutive stripes in which the i-th stripe is located based on the color codes of each stripe, and set the determined color codes as the coding value of the i-th stripe; determining a number for each stripe in the single base coding sequence based on the coding value for each stripe; Get the preset pixel coordinate range for each cycle, determining a cycle in which each stripe is located based on the preset pixel coordinate range and the pixel coordinates; The method is configured to determine the number of each stripe in the color stripe pattern based on the number of each stripe in the single base coding sequence and the cycle.

[0022] In some embodiments, the three-dimensional point coordinate determination module further comprises: determining a corresponding light plane based on said number; Reconstructing three-dimensional point coordinates according to the light plane equation of the light plane, the pixel coordinates where the center of the target stripe is located, and the preset parameters of the camera module; or If the camera module is a binocular system, determining corresponding stripes based on the numbers of each stripe in the left camera image and the right camera image of the binocular system; It is configured to reconstruct three-dimensional point coordinates based on the corresponding stripes and preset parameters of the camera module.

[0023] In some embodiments, the decoding device comprises: a decoding error identification module configured to determine whether decoding for a current stripe is misaligned based on the continuity of the three-dimensional points; and a decoding error correction module configured to correct and update the corresponding 3D point coordinates if the decoding is misaligned.

[0024] The present disclosure further provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, causes the processor to perform any of the above decoding methods.

[0025] The present disclosure provides a method for implementing a method for detecting a plurality of stimuli comprising: a memory configured to store executable instructions; There is further provided an electronic device in which the processor is configured to read and execute the executable instructions from the memory to perform any of the above decoding methods.

[0026] The present disclosure provides a three-dimensional measurement system based on color stripe coded structured light, comprising a color projection module with a preset angle and a camera module, The color projection module is configured to project a color stripe pattern onto a surface of a measurement object using any of the color projection modules described above; The present invention further provides a three-dimensional measurement system based on color stripe coded structured light, wherein the camera module is configured to acquire a stripe pattern modulated by a surface of the measurement object, the stripe pattern exhibiting no overlapping areas of stripes between each cycle.

[0027] In some embodiments, the color projection module and the camera module are located within the same intraoral scanner.

[0028] In some embodiments, the system further comprises: Further comprising a data processing module configured to receive said stripe pattern and to perform any of the above decoding methods.

[0029] In some embodiments, the color projection module is realized by means of DLP, LCOS or rear projection, the camera module comprises a single color image sensor, or A spectroscopic system and at least two image acquisition sensors are provided. Effect of the Invention

[0030] The above technical solutions according to the embodiments of the present disclosure have the following advantages over the prior art:

[0031] The color projection module according to an embodiment of the present disclosure is configured to project a color stripe pattern onto a surface of a measurement object, the color stripe pattern including m (m is a positive integer) periodically repeated base stripe sequences, the base stripe sequence including k different color stripes, and an n-bit stripe sequence of any consecutive n stripes is unique, and the total number l of stripes in the base stripe sequence is l≦l0, l0=k. nwhere k and n are both positive integers equal to or greater than 2. Therefore, by forming a color stripe pattern using a periodically repeated color stripe coding scheme, the number of colors of the color stripe is reduced, and the number of stripes required for decoding is also reduced. The smaller the number of stripes, the less the interference caused by discontinuities on the object surface, the lower the decoding error rate, and the easier it is to reconstruct small objects. As a result, the color stripe pattern has fewer types of colors and a narrower decoding width, which increases the stability of decoding and improves the completeness of reconstruction, which is favorable for simplifying the structure and improving the scanning efficiency.

[0032] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. [Brief description of the drawings]

[0033] The accompanying drawings herein are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure, and together with the description serve to explain the principles of the present disclosure.

[0034] In the following, in order to more clearly explain the embodiments of the present disclosure or the technical solutions in the prior art, the accompanying drawings necessary in the description of the embodiments or the prior art will be briefly described, but it is obvious to those skilled in the art that other accompanying drawings can be obtained based on these accompanying drawings without any creative efforts. [Figure 1] FIG. 2 is a schematic diagram of a color stripe pattern in an embodiment of the present disclosure. [Diagram 2] 1 is a flowchart of a method for decoding color stripes in an embodiment of the present disclosure. [Diagram 3] FIG. 2 is a structural schematic diagram of a color stripe decoding device in an embodiment of the present disclosure; [Figure 4] FIG. 1 is a structural schematic diagram of an electronic device in an embodiment of the present disclosure. [Diagram 5] FIG. 1 is a structural schematic diagram of a three-dimensional measuring system according to an embodiment of the present disclosure. [Figure 6] FIG. 1 is a structural schematic diagram of another three-dimensional measuring system according to an embodiment of the present disclosure. [Figure 7] FIG. 1 is a principle diagram showing parameter association relationships of a three-dimensional measuring system according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0035] In the following, in order to make the objectives, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure are clearly and completely described, and it is obvious that the described embodiments are only some embodiments of the present disclosure, and are not all of them. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative efforts belong to the protection scope of the present disclosure.

[0036] Combining the contents of the above background art, in conventional color stripe coding structured light 3D measurement technology, in order to ensure the uniqueness of color coding on a single image, the number of stripe colors required is large, and the number of stripes (i.e., the number of pieces) required to decode a single stripe is large. When scanning small and complex-shaped objects (e.g., intraoral teeth, dental molds), the coding pattern is prone to code loss or damage due to depth modulation, resulting in undecodable or decoding errors, and the consistency of the reconstruction data of a single frame is low, which greatly reduces the quality and efficiency of scanning.

[0037] In response to the above problems, the embodiments of the present disclosure provide a periodically repeatable color stripe coded structured light three-dimensional measurement technology, including a color projection module, a decoding method, a decoding device, a medium, an electronic device (e.g., a computer) and a three-dimensional measurement system. In the technical solution, a periodically repeatable stripe arrangement method is used to greatly reduce the number of stripe colors and the number of stripes required for decoding, thereby improving the stability of decoding, simplifying the system structure, improving the scanning efficiency, and enabling the fast, high-precision and complete measurement of small and complex-shaped objects.

[0038] Hereinafter, a color projection module, a stripe encoding and decoding method, an apparatus, and a three-dimensional measuring system according to embodiments of the present disclosure will be exemplarily described with reference to FIGS.

[0039] In an embodiment of the present disclosure, the color projection module is configured to project a color stripe pattern (also referred to as a "color stripe" or "stripe pattern") onto a surface of a measurement object, the color stripe pattern includes m (m is a positive integer) periodically repeated base stripe sequences, the base stripe sequence includes k different color stripes, and an n-bit stripe sequence consisting of any consecutive n stripes is unique, and the total number l of stripes in the base stripe sequence is l≦l0, l0=k. n where k and n are both positive integers of 2 or greater.

[0040] Here, l0=k n , k and n are both positive integers equal to or greater than 2, and one or more of the k color stripes are arranged in a stripe sequence having a number n, and the color arrangements are k different from each other. n For example, if two color stripes, red and green, are arranged in a stripe sequence of number 2, two different arrangements can be formed. 2 The four stripe sequences are (red-red), (red-green), (green-red), and (green-green). In addition, if two of the three color stripes, red, green, and blue, are arranged in a stripe sequence with a number of 2, three different arrangements are possible. 2 A stripe sequence of 3 can be formed. Furthermore, if three color stripes of red, green, and blue are arranged in a stripe sequence of 3, 3 different arrangements can be formed. 3In the base stripe sequence, any n-bit color-based l-stripe sequence consisting of any n consecutive stripes is unique, i.e., the base stripe sequence can be formed with n-bit color-based l-stripe sequences consisting of any n consecutive stripes, and any n-bit color-based l-stripe sequence consisting of any n consecutive stripes can be formed with k n The number of n-bit stripe sequences is 1 out of 1 different color sequences. This allows a color stripe pattern to be formed based on the periodically repeated stripe sequences with fewer color types and narrower decoding width.

[0041] Here, the values ​​of k and n can be determined based on the surface size of the measurement object, the performance parameters of the color projection module, and the performance parameters of the camera, and are not limited in the embodiments of the present disclosure. Note that, in the base stripe sequence, an n-bit color-based l stripe sequence consisting of n consecutive stripes is formed, which is determined based on a cyclic stripe sequence formed by connecting the base stripe sequence end-to-end.

[0042] Exemplarily, the value of k may be 2, 3 or other larger values, i.e., the colors of the stripes in the color stripe code may be 2, 3 or more; similarly, the value of n may be 2, 3 or other larger values, i.e., the number of stripes required to decode a single stripe may be 2, 3 or more; the values ​​of k and n may be the same or different, and are not limited in the embodiments of the present disclosure.

[0043] For example, k and n are both 3, and l0=k n = 27, l ≦ 27.

[0044] For example, Figure 1 is a schematic diagram of a color stripe pattern in an embodiment of the present disclosure. As shown in Figure 1, the values ​​of k, n and m are all 3, and l=l0=27, so the total number of stripes is 81, which includes a color stripe pattern with 3 repeat cycles, 3 different colors, and a decoding width of 3.

[0045] The color projection module according to the present embodiment can form a color stripe pattern based on a periodically repeating color stripe coding scheme, which reduces the number of colors in the color stripe and reduces the number of stripes required for decoding, and the smaller the number of stripes, the less the interference caused by the discontinuity of the object surface, the lower the decoding error rate, and the easier it is to reconstruct small objects. As a result, the color stripe pattern has fewer colors and a narrower decoding width, which increases the stability of decoding and improves the completeness of reconstruction, which is favorable for simplifying the structure and improving the scanning efficiency.

[0046] Here, any consecutive n stripes in the base stripe sequence are color stripes in the k color stripes, and the stripe sequences formed by any consecutive n stripes in the base stripe sequence are different from each other. If the k colors are represented by codes 0, 1, ... (k-1), the code sequence determined based on the base stripe sequence satisfies the DeBruijn sequence.

[0047] A k-element n-th order DeBruijn sequence, i.e. B(k,n), is a k-element cyclic sequence such that every k-element sequence of length n is contained in the subsequence (in cyclic form) and occurs exactly once, where the color codes correspond to the elements of the DeBruijn sequence, the color types k correspond to the element types of the DeBruijn sequence, and the stripe sequence formed by any set of n consecutive stripes corresponds to a subsequence of the DeBruijn sequence.

[0048] The total number of stripes in the base stripe sequence is k. n The total number of stripes in the base stripe sequence is k. n If n is equal to , then the n stripes formed based on any consecutive n stripes formed in the base stripe sequence are n The stripe sequences are k distinct n The total number of stripes in the base stripe sequence is k, including all stripe sequences of the n If less than n, the nth stripe is formed based on any consecutive n stripes formed in the base stripe sequence. n The stripe sequences are k distinct n It is part of a stripe sequence of types.

[0049] Illustratively, for a base stripe sequence k=3, n=3, the coding sequence for 27 stripes arranged as follows, with the three colors represented by the numbers 0, 1, and 2, e.g., red is represented by 0, green is represented by 1, and blue is represented by 2: red-red-red-green-red-red-blue-red-green-green-red-green-blue-red-blue-green-red-blue-blue-green-green-green-blue-blue-blue, is {0,0,0,1,0,0,2,0,1,1,0,1,2,0,2,1,0,2,2,1,1,1,2,1,2,2,2}.

[0050] In the coding sequence, any sequence of three consecutive codes is unique, for example, the first three-bit sequence is {0,0,0}, the second three-bit sequence is {0,0,1}... and the last three-bit sequence is {2,2,2}, and thus each three-bit sequence appears only once in the entire coding sequence. Each code corresponds to one color stripe, and each three-bit sequence corresponds to one stripe in the base sequence, i.e., it becomes the coding value of one stripe and is set as the identification position of the stripe, and the sequence corresponds to 27 stripes.

[0051] A 3-bit sequence in the sequence corresponds to one of the stripes, and preferably an n-bit sequence formed by successive n-bit codes is used as the coding value of the stripe corresponding to one bit code of the n-bit codes, for example {0,0,0} is the coding value of the first stripe of the base stripe sequence and {0,0,1} is the coding value of the second stripe of the base stripe sequence, and thus a 3-bit sequence formed by successive 3-bit codes is used as the coding sequence of the stripe corresponding to the first bit code of the 3-bit codes, and of course {0,0,0} can also be the coding value of the second stripe of the base stripe sequence and {0,0,1} is the coding value of the third stripe of the base stripe sequence, and thus a 3-bit sequence formed by successive 3-bit codes is used as the coding sequence of the stripe corresponding to the first bit code of the 3-bit codes.

[0052] In other embodiments, other coding principles can be used for coding, it is sufficient that an n-bit sequence consisting of any consecutive n codes is unique.

[0053] In some embodiments, at least a portion of the spacing between the stripes is different between two adjacent cycles.

[0054] Here, by setting some or all of the stripes in two adjacent cycles to different intervals, a spacing difference design between two adjacent cycles can be achieved, which is beneficial to realizing decoding error checking in the decoding process and ensuring decoding accuracy.

[0055] By way of example, the odd-numbered stripe spacing of an odd-numbered cycle can be set smaller than the stripe spacing corresponding to an even-numbered cycle, and the even-numbered stripe spacing of an odd-numbered cycle can be set larger than the stripe spacing corresponding to an even-numbered cycle, or other methods of setting the difference in stripe spacing can be adopted, but this is not limited thereto.

[0056] By way of example, the stripe spacing may be defined by the distance between the centerlines of two adjacent stripes, or the distance between the opposing sidelines of two adjacent stripes, or by other reference points, and can be defined by the same reference points in the same color stripe pattern, but is not limited thereto.

[0057] In some embodiments, the stripe spacing sizes are set oppositely for two adjacent cycles.

[0058] For example, in any two adjacent cycles, in one cycle, the stripe intervals are arranged in the order of ddDDddDDdd......, and in the other cycle, the stripe intervals are arranged in the order of DDddDDddDD......, where D≠d. For example, if D>d, in one cycle, the stripe intervals are arranged in the order of small small large small small large large small small......, and in the other cycle, the stripe intervals are arranged in the order of large large small small large small small large large....... In this way, in two adjacent cycles, the size of the stripe intervals at corresponding positions is reversed.

[0059] In other embodiments, other stripe spacing arrangement methods may be selected and are not limited to the examples of this disclosure.

[0060] In some embodiments, the stripe spacing is entirely different for each cycle.

[0061] In some embodiments, at least some of the stripe spacings are different in the same cycle.

[0062] Here, in the same cycle, some or all of the stripe intervals are different, which may be set according to the requirements of the color projection module, and is not limited in the embodiment of the present disclosure.

[0063] In some embodiments, the value of k is three.

[0064] In this way, the variety of stripe colors is reduced. In other embodiments, the value of k can be 2, 4, or other values, but is not limited here.

[0065] In some embodiments, the three distinct colors are red, green, and blue.

[0066] In this way, only three primary colors are used as three distinct colors, and no further synthesis or decomposition of the colors of the color stripe is required, which helps to simplify the encoding and decoding method of the stripe.

[0067] In some embodiments, the color projection module comprises a three-color light source, a mirror array, and a control system, where the control system is configured to adjust the angle of each mirror in the mirror array such that the mirror reflects light of a corresponding color to project a preset color stripe pattern.

[0068] Here, an embodiment of the color projection module can include a Digital Light Processing (DLP) projector, which mainly includes an RGB three-color light source, a mirror array such as a Digital Micromirror Device (DMD), and a control system, where the control system adjusts the angle of each mirror in the mirror array so that each mirror reflects light of a corresponding color to project a color stripe pattern.

[0069] Here, the color stripe pattern is a color stripe pattern determined based on the color stripe coding method and satisfies the above color stripe arrangement rules.

[0070] In some embodiments, the color projection module includes a three-color light source and an MRSK code, and the light from the three-color light source passes through the MRSK code to project a preset color stripe pattern.

[0071] Here, the embodiment of the color projection module can further include an optical machine based on the principle of perspective projection, which mainly includes an RGB three-color light source and an MRSK code, and the MRSK code can be customized to project a desired pattern, i.e., a preset color stripe pattern, after the three-color light source passes through. In other embodiments, the color projection module may further include optical mechanisms using other principles, which are not described and are not limited to the embodiments of the present disclosure.

[0072] The color projection module according to the embodiment of the present disclosure can be a projector in a three-dimensional measuring system or a projector in other measuring systems, but is not limited to the embodiment of the present disclosure.

[0073] In the above embodiment, the base coding sequence in the color stripe pattern is repeated m cycles to form a cyclic repeat coding sequence of total length ml.

[0074] Here, m is a positive integer, and the stripes between each cycle do not appear in overlapping areas in the image. Illustratively, m may be 1, 2, 3, or other larger values, but is not limited by the embodiments of the present disclosure.

[0075] The base coding sequence is repeated m times as a cycle unit to form a cycle repetition coding sequence with a total length ml, and the number of cycles m is configured so that the stripes between each cycle do not overlap within the measured depth of field of the system, which makes decoding easier.

[0076] JPEG0007625704000001.jpg22170m can be determined by combining the range of depth of field determined by the structure of the three-dimensional measurement system as follows:

[0077] By way of example, and in keeping with the above, if the base coding sequence is 27 bits and the value of m is 3, the cyclic repetition coding sequence can be represented as {0,0,0,1,0,0,2,0,1,1,0,1,2,0,2,1,0,2,2,1,1,1,2,1,2,2,2,|0,0,0,1,0,0,2,0,1,1,0,1,2,0,2,1,0,2,2,1,1,1,2,1,2,2,2,|0,0,0,1,0,0,2,0,1,1,0,1,2,0,2,1,0,2,2,1,1,1,2,1,2,2,2}.

[0078] Its total length is 3×27=81, that is, ml=81, which can meet the resolution requirements of the following three-dimensional measuring system.

[0079] The color stripe code is such that each coding value within one cycle unit is unique, but is repeated in multiple cycles in the entire coding sequence. As a result, with fewer stripe colors and smaller decoding width, a high resolution coding sequence can be achieved by repeating the coding in cycles; at the same time, with fewer coding colors and smaller decoding width, the color stripe coding has high resolution and low decoding error rate, which allows small measuring objects to be measured quickly, accurately and completely.

[0080] Based on the same inventive concept, the present disclosure further provides a color stripe decoding method, which decodes the stripe pattern acquired by the camera module after any of the above color projection modules are projected onto the surface of the measurement object. By decoding using the above cycle repetition coding method, the number of stripes required for decoding can be greatly reduced, thus improving the stability of decoding, simplifying the system structure, improving the scanning efficiency, and enabling high-speed, high-precision and complete measurement of small and complex-shaped objects.

[0081] Illustratively, Figure 2 is a flow chart of a color stripe decoding method in an embodiment of the present disclosure. As shown in Figure 2, the decoding method may include:

[0082] In S301, a stripe pattern on the surface of a measurement object is obtained.

[0083] Exemplarily, a surface image of the measurement object can be acquired by the camera module, the image including a stripe pattern.

[0084] In S302, the pixel coordinates at which the center of each stripe is located are determined based on the stripe pattern.

[0085] Exemplarily, this step may include performing image analysis on the stripe image, extracting the centerline of the stripe, and obtaining the pixel coordinate x where the center of the stripe is located.

[0086] In S303, a number for each stripe is determined based on the pixel coordinates and the corresponding color.

[0087] Here, the number represents the relative position in the overall color stripe code in which the stripe is located.

[0088] In some embodiments, the steps may include:

[0089] Step 1: Determine the color code (i.e., code name) corresponding to each stripe based on the preset color code, pixel coordinates and corresponding colors.

[0090] Here, the colors are configured to correspond to color codes, and one color code is preset for each color, that is, each color corresponds to one color code. For example, the color code can be expressed by numbers, red can be expressed by 0, green can be expressed by 1, blue can be expressed by 2, or the color code can be expressed in the form of letters, etc., not limited here.

[0091] In this manner, the color code corresponding to each stripe can be determined by looking up the corresponding preset color code based on the pixel coordinates and the corresponding color.

[0092] Step 2: For the i-th stripe (i is a positive integer equal to or less than l), based on the color codes of each stripe, determine n consecutive color codes corresponding to the n consecutive stripes in which the i-th stripe is located, and let this be the coding value of the i-th stripe.

[0093] Here, in conjunction with the above, n consecutive color codes corresponding to n consecutive stripes are used to distinguish each stripe correspondingly, and the n consecutive color codes are used as the code value of the i-th stripe, thereby easily achieving decoding.

[0094] Step 3: Determine the number of each stripe in the single base coding sequence based on the coding value of each stripe.

[0095] That is, for each stripe, the number of the stripe in one base code sequence is determined based on the n consecutive stripe color sequences (ie, code names) in which the stripe is located.

[0096] This allows the number of each stripe in each cycle cell unit to be determined. Specifically, the number I of the stripe in the base code sequence is determined by determining the code value p corresponding to the current stripe based on the n consecutive stripe color sequences in which the current stripe is located. p where there are a total of m stripes with code value p.

[0097] For example, as shown in FIG. 1, the consecutive 3-bit number of the first stripe in the first cycle is {0,0,0}, and there are three of such codes in the entire stripe pattern, namely, the 1st in the first cycle, the 1st in the second cycle, and the 1st in the third cycle.

[0098] Step 4: Obtain the preset pixel coordinate range for each cycle.

[0099] In this step, the preset pixel coordinate range of each cycle is determined according to the hardware configuration of the projection module and the camera module, so as to provide data support for determining the cycle in which the stripe is located in the subsequent step.

[0100] Step 5: Based on the preset pixel coordinate range and pixel coordinate, determine the cycle in which each stripe is located.

[0101] This makes it possible to determine the cycle in which each stripe resides.

[0102] Here, the color stripes acquired by the camera module take into account the depth of field limit, so that in different cycles, stripes with the same coding value only appear in non-overlapping image areas. Based on this, according to the pixel coordinate x and coding value p of each stripe, the cycle m in which the stripe is located is determined. iThat is, the depth of field is determined by the structure of the three-dimensional measuring device, and when the measurement object is within the depth of field of the three-dimensional measuring device, the stripe pattern projected by the projection module is modulated by the measurement object and acquired by the camera module, and the stripes of each cycle in the stripe pattern are only photographed in the corresponding photographing area of ​​the camera module, so that the photographing range in which the stripes of each cycle are located is determined. The mapping relationship between the stripe pattern projected by the projection module and the stripe pattern photographed by the camera module is determined by the depth of field and magnification of the projection module, the depth of field and magnification of the camera module, and the angle of the optical axis of the projection module and the optical axis of the camera module.

[0103] For example, the image range in which the first stripe of the first cycle appears is x1=[5,100], the image range in which the first stripe of the second cycle appears is x2=[275,370], the image range in which the first stripe of the third cycle appears is x3=[545,640], and based on this, the corresponding stripe can be determined depending on the pixel coordinate x of the stripe coded as {0,0,0} and the range in which said stripe is located.

[0104] Step 6: Based on the number and cycle of each stripe in the single base coding sequence, the number of that stripe in the whole color stripe pattern is determined.

[0105] Based on the previous step, each stripe determines the number p in a single cycle and the cycle m in which it is located. i is calculated, and based on this, the number I of each stripe in the entire sequence can be calculated, i.e., I=Ip+m i ×l.

[0106] In S304, each stripe is three-dimensionally reconstructed based on the number of each stripe, and three-dimensional point coordinates of the measurement object are determined.

[0107] In this step, based on the implementation of the camera module in the three-dimensional measuring system, binocular or monocular reconstruction can be performed according to the stripe encoding to obtain the three-dimensional point coordinates of the measured object, thereby achieving three-dimensional reconstruction of the surface of the measured object.

[0108] In some embodiments, the three-dimensional reconstruction for each stripe based on the number of each stripe in the step is determining a corresponding light plane based on the number; Reconstructing the three-dimensional point coordinates based on the light plane equation of the light plane, the pixel coordinates where the center of the target stripe is located, and the preset parameters of the camera module; or If the camera module is a binocular system, determining corresponding stripes based on the numbers of each stripe in the left camera image and the right camera image of the binocular system; and reconstructing the three-dimensional point coordinates based on the corresponding stripes and preset parameters of the camera module.

[0109] Specifically, the internal and external parameters of the optical machine (i.e., the color projection module) and the camera (i.e., the camera module) are pre-set in the computer (data storage and data processing system) of the 3D measuring system; for example, the internal and external parameters of the optical machine and the camera can be determined by calibration.

[0110] The computer is preset with the coding rule for the color stripe pattern, e.g. R=0, G=1, B=2, and each successive 3-bit code represents the number of the stripe corresponding to the coding value of the first bit (or the second bit, or the third bit).

[0111] The computer is preset with a light plane number corresponding to each stripe of the color stripe pattern, for example, the light plane number corresponding to the first stripe is (0,0,0), the light plane number corresponding to the second stripe is (0,0,1), and exemplarily, the light plane number corresponding to each stripe can be determined by calibration.

[0112] The computer has a preset range of stripe cycles, i.e. a preset range of pixel coordinates, which includes the range of three-dimensional space X, Y and Z.

[0113] Based on this, an optical machine projects a color stripe pattern onto the surface of the object to be measured, a camera captures a stripe image modulated on the surface of the object to be measured and sends it to a computer, the computer extracts the center line of each stripe based on the captured stripe image, and determines pixel coordinates and RGB values ​​corresponding to the pixel coordinates based on the center line of each stripe, determines the corresponding coded value based on the pixel coordinates, their RGB values, and a coding rule (R=0, G=1, B=2) preset in the computer, and determines the number of each stripe based on the coding rule that "the coded value of consecutive 3 bits is the number of the stripe corresponding to the first bit (or second bit, or third bit)."

[0114] Then, for the monocular system, the corresponding light plane is determined based on the stripe number, and the three-dimensional point coordinate is reconstructed according to the light plane equation, the center coordinate of the target stripe, and the internal and external parameters of the camera. For the binocular system, the light plane is not calibrated, but the corresponding stripe is determined based on the number of each stripe in the left and right images, and the three-dimensional point coordinate is reconstructed according to the corresponding stripe and the internal and external parameters of the camera, and thus the three-dimensional point coordinate of the measurement object can be determined.

[0115] In some embodiments, based on FIG. 2, the decoding method further includes identifying and correcting cycle error decoding, and specifically may include the following steps: Step 1: Based on the continuity of 3D points, determine whether the decoding of the current stripe is misaligned.

[0116] Step 2: If the decoding is off, correct and update the corresponding 3D point coordinates.

[0117] The steps 1 and 2 identify and correct the decoding of at least one of strike errors and cycle errors.

[0118] For example, in combination with the above, in the color stripe coding method, an offset operation is performed on the odd stripe of the odd cycle and the even cycle, and when the stripe of the odd cycle is decoded into the even cycle incorrectly, a very large depth difference occurs between the corresponding odd stripes. Based on this, through a certain depth difference threshold, it can be determined whether the decoding cycle of the current stripe is shifted, and if the cycle is incorrect, the cycle number is adjusted toward the adjacent cycle, thereby achieving correction to the cycle number and improving the decoding accuracy.

[0119] Here, the magnitude of the depth difference threshold may be set based on the depth of field and the number of cycles, and the embodiment of the present disclosure does not limit its specific value.

[0120] By way of example, when a cycle shift occurs and it is necessary to rematch the correct cycle (i.e., correct the cycle) to correct the updated three-dimensional point coordinates, this may include case 1 in which multiple (at least n) consecutive stripes are erroneously decoded, and case 2 in which the stripe number of an adjacent cycle is erroneously decoded.

[0121] In addition, if one or two stripes are decoded incorrectly, they can be deleted because they are easy to identify, and no subsequent correction is required, i.e., the three-dimensional point coordinates are updated by deleting the corresponding erroneous points.

[0122] If a correction for cycles is required, it can be recognized in the decoding method according to the embodiment of the present disclosure in the following two steps.

[0123] Step 1: If the decoding is misaligned, the stripe depth will jump and in some cases the misaligned stripe depth will exceed the (pre-calibrated) depth of field of the camera and be identified or removed as such, i.e., if we identify a 3D point coordinate that exceeds the depth of field, we remove the corresponding 3D point coordinate.

[0124] Step 2: If the depth of the stripe does not exceed the depth of field, it will be offset in different directions relative to the stripes of the adjacent cycles, resulting in a difference in the spacing between the stripes of the adjacent cycles. Based on this, if the stripe decoding is misaligned, the depth between consecutive n stripes will appear wavy. For example, if stripes 1, 2, and 3 of the first cycle are misidentified as 1, 2, and 3 of the second cycle due to a decoding error, the corresponding reconstructed three-dimensional point coordinates of the first and third stripes will have a large jump relative to the surrounding adjacent coordinates, and the depth corresponding to these three stripes will be identified as being "V" shaped, that is, if a ripple-like distribution of three-dimensional points is identified, it can be identified that the corresponding stripes have a cycle misalignment.

[0125] Furthermore, if a cycle misalignment is identified in a stripe, the cycle is corrected (i.e., compensated for). The correction step may include the following steps:

[0126] The depth of the stripe with the shifted cycle is recalculated, and multiple depth cases are calculated using the light planes of adjacent cycles (e.g., if the first stripe of the second cycle is decoded incorrectly, its depth is calculated using the first light plane of the first cycle and the first light plane of the third cycle), and the cycle with the smallest ripple pattern is determined to be the correct cycle for that stripe.

[0127] In this way, stripe cycle errors are identified and corrected, the decoding accuracy is improved, and the 3D point coordinates are corrected and updated.

[0128] In some embodiments, the decoding method for the above encoding method extracts the center line of a stripe based on the stripe pattern, and obtains the pixel coordinate x where the center of the stripe is located. Then, the coding value of each stripe is determined, i.e., based on the n consecutive stripe color sequences in which the current stripe is located, the code value p corresponding to the stripe is determined, thereby obtaining the number Ip of the stripe in the base code sequence, where there are m stripes with code value p in total. Next, the cycle in which each stripe is located is determined. Here, when the color stripe coding is generated, taking into account the depth of field limit, in different cycles, stripes with the same coding value only appear in non-overlapping image regions, and based on this, the cycle m in which the stripe is located is determined based on the pixel coordinate x and number Ip of each stripe. i Then, the coding value p calculated by each stripe, the number Ip, and the cycle m in which it is located can be determined. i Based on the number of stripes in the entire sequence, I = I p +m iCalculate xl. Then, perform binocular or monocular reconstruction according to the encoding of the stripes to obtain the three-dimensional point coordinates of each stripe, thereby achieving three-dimensional reconstruction for the surface of the measurement object. Preferably, the decoding method also identifies the decoding of the wrong cycle, that is, based on the above differential design for the stripes of adjacent cycles, when the stripes of odd cycles are erroneously decoded into even cycles, a very large depth difference will occur between the corresponding odd stripes, so that a certain depth difference threshold can be used to determine whether the decoding cycle of the current stripe is out of alignment, and then correct the cycle in combination with the depth of field. By decoding with the above cycle repetition encoding method, the number of stripes required for decoding can be greatly reduced, which improves the stability of decoding, simplifies the system structure, improves the scanning efficiency, and enables high-speed, high-precision and complete measurement of small and complex-shaped objects.

[0129] Based on the above embodiment, the present disclosure also provides a color stripe decoding device configured to execute any of the above decoding methods. Therefore, the decoding device also has the beneficial effects of any of the above decoding methods. The same can be understood with reference to the above, and the description is omitted here.

[0130] Illustratively, Fig. 3 is a structural schematic diagram of a color stripe decoding device in an embodiment of the present disclosure. As shown in Fig. 3, the decoding device includes: a stripe pattern acquisition module 501 configured to acquire a stripe pattern on the surface of a measurement object; a pixel coordinate determination module 502 configured to determine a pixel coordinate where the center of each stripe is located according to the stripe pattern; a number determination module 503 configured to determine a number of each stripe according to the pixel coordinate and corresponding color; and a three-dimensional point coordinate determination module 504 configured to perform three-dimensional reconstruction for each stripe based on the number of each stripe, and determine a three-dimensional point coordinate of the measurement object.

[0131] As a result, the color stripe decoding device can decode the color stripe pattern using the above-mentioned cycle repetition, and the number of stripes required for decoding can be greatly reduced, thereby improving the decoding stability, simplifying the system structure, improving the scanning efficiency, and enabling high-speed, high-precision and complete measurement of small and complex-shaped objects.

[0132] In some embodiments, the number resolution module 503 is The method is configured to: determine a color code corresponding to each stripe based on the preset color code, the pixel coordinates, and the corresponding color; for an i-th stripe (i is a positive integer less than or equal to l), determine n consecutive color codes corresponding to n consecutive stripes in which the i-th stripe is located based on the color code of each stripe, which is taken as the coding value of the i-th stripe; determine a number of each stripe in a single base coding sequence based on the coding value of each stripe; obtain a preset pixel coordinate range for each cycle; determine a cycle in which each stripe is located based on the preset pixel coordinate range and the pixel coordinates; and determine a number of each stripe in the color stripe pattern based on the number and cycle of each stripe in the single base coding sequence.

[0133] In this way, the number of each stripe in the stripe pattern in one cycle unit and the cycle number in which it is located can be determined, and therefore its number in the entire color stripe code.

[0134] In some embodiments, the 3D point coordinate determination module 504 includes: Based on the number, determine the corresponding light plane; Reconstructing the three-dimensional point coordinates based on the light plane equation of the light plane, the pixel coordinates where the center of the target stripe is located, and the preset parameters of the camera module; or If the camera module is a binocular system, determining corresponding stripes based on the numbers of each stripe in the left camera image and the right camera image of the binocular system; It is configured to reconstruct three-dimensional point coordinates based on the corresponding stripes and preset parameters of the camera module.

[0135] In this way, a three-dimensional reconstruction of the measurement object can be achieved based on a monocular or binocular system.

[0136] In some embodiments, the decoding device further comprises a decoding error identification module configured to determine whether decoding for a current stripe is misaligned based on the continuity of the 3D points, and a decoding error correction module configured to correct and update corresponding 3D point coordinates if decoding is misaligned.

[0137] In this way, by determining the continuity of three-dimensional points, it is possible to determine whether the decoding cycle of the current stripe is out of sync, and if a cycle shift occurs, the cycle is adjusted toward the adjacent cycle to correct the number of cycles and improve the decoding accuracy.

[0138] Based on the above embodiments, an embodiment of the present disclosure also provides an electronic device (ie, a decoding device) that can be configured to perform any of the above decoding methods.

[0139] Illustratively, Fig. 4 is a structural schematic diagram of an electronic device in an embodiment of the present disclosure. As shown in Fig. 4, the electronic device 70 includes a processor 701 and a memory 702 configured to store computer program instructions (i.e. executable instructions), and the processor is configured to read and execute the executable instructions from the memory to perform any of the above-mentioned decoding methods.

[0140] In particular, the processor 701 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0141] Memory 702 may include mass memory configured as information or instructions. By way of example, and not limitation, memory 702 may include a Hard Disk Drive (HDD), a floppy disk drive, flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more thereof. Where appropriate, memory 702 may include removable or non-removable (or fixed) media. Where appropriate, memory 702 may be internal or external to the integrated gateway device. In certain embodiments, memory 702 is a non-volatile solid-state memory. In certain embodiments, memory 702 includes Read-Only Memory (ROM). Where appropriate, the ROM may be a mask programmable ROM, a programmable ROM (PROM), an erasable PROM (PROM), or a combination of two or more of the above. Erasable The memory may be an Electrically Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), an Electrically Alterable ROM (EAROM) or a flash memory, or a combination of two or more of these.

[0142] The processor 701 performs steps of the decoding method according to the embodiments of the present disclosure by reading and executing computer program instructions stored in the memory 702 .

[0143] In one example, the electronic device 70 may further include a transceiver 703 and a bus 704. Here, as shown in FIG. 4, the processor 701, the memory 702 and the transceiver 703 are connected and communicate via the bus 704.

[0144] Bus 704 may include hardware, software, or both. By way of example, and without limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side BUS (FSB), a Hyper Transport (HT) interconnect, an Industrial Standard Architecture (ISA) bus, an Unlimited Bandwidth Interconnect, a Low Pin Count (LPN) interconnect, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VLB) bus, or any other suitable bus, or a combination of two or more thereof. Where appropriate, bus 704 may include one or more buses. Although a particular bus is described and illustrated in the illustrative embodiments, this application contemplates any suitable bus or interconnect.

[0145] Based on the above embodiments, an embodiment of the present disclosure further provides a computer-readable storage medium having stored thereon a computer program that, when executed by a processor, causes the processor to perform any of the above decoding methods.

[0146] Exemplarily, as shown in FIG. 4, a storage medium containing instructions, such as a memory 302 containing instructions, can be executed by a processor 301 to complete a decoding method according to an embodiment of the present disclosure.

[0147] Preferably, the storage medium may be a non-transitory computer-readable storage medium, for example, the non-transitory computer-readable storage medium may be a ROM, a Random Access Memory (RAM), a Compact Disc ROM (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.

[0148] Based on the above embodiments, the embodiment of the present disclosure further provides a color stripe coded structured light based three-dimensional measurement system, which can adopt any of the above color projection modules and decoding methods to achieve three-dimensional measurement of the measurement object. Therefore, it also has the beneficial effects of any of the above embodiments, and can be understood by referring to the above, so the description is omitted here.

[0149] Illustratively, Fig. 5 is a structural schematic diagram of a three-dimensional measuring system in an embodiment of the present disclosure, and Fig. 6 is a structural schematic diagram of another three-dimensional measuring system in an embodiment of the present disclosure. As shown in Fig. 5 and Fig. 6, the system includes a color projection module 601 with a preset angle and a camera module 602, the color projection module 601 is configured to project a color stripe pattern onto the surface of the measurement object 600 using any of the above color projection modules, and the camera module 602 is configured to acquire the stripe pattern modulated by the surface of the measurement object 600, and the stripe pattern does not have an overlapping area of ​​stripes between each cycle.

[0150] Here, the color stripes acquired by the camera module take into account the depth of field limit, so that in different cycles, stripes with the same coding value only appear in non-overlapping image areas. Based on this, according to the pixel coordinate x and coding value p of each stripe, the cycle m in which the stripe is located is determined. i can be determined. That is, the depth of field is determined by the structure of the three-dimensional measuring device, and when the measurement object is within the depth of field of the three-dimensional measuring device, the stripe pattern projected by the projection module is modulated by the measurement object and photographed by the camera module, and the stripes of each cycle in the stripe pattern are photographed only in the corresponding photographing area of ​​the camera module, so that the photographing range in which the stripes of each cycle are located is determined. The mapping relationship between the stripe pattern projected by the projection module and the stripe pattern photographed by the camera module is determined by the depth of field and magnification of the projection module, the depth of field and magnification of the camera module, and the angle of the optical axis of the projection module and the optical axis of the camera module. Hereinafter, as shown in FIG. 7, the relationship between the preset angle (the angle between the optical axis of the projection module and the optical axis of the camera module) and the depth of field and the number of cycles will be illustratively described. Illustratively, FIG. 7 is a principle diagram showing the parameter association relationship of the three-dimensional measuring system in the embodiment of the present disclosure. As shown in Fig. 7, 6021 represents the camera lens, the preset angle between the color projection module 601 and the camera module 602 is α, ΔL1 and ΔL2 respectively represent the foreground depth and the background depth, the sum of which is the depth of field, and the moving range of the fixed projection light on the camera image corresponding to the depth of field is (a+b) / v, that is, the single cycle range (a+b) / v=(ΔL1+ΔL2)×tanα÷v, in which at most one cycle unit is set so that the stripes between each cycle do not overlap. Here, v represents the scale factor, which is generally the camera magnification, and can be set according to the system structure, but is not limited here.

[0151] By way of example, the color projection module 601 and the camera module 602 can be integrated into the same scanner, such as when both are in the same intraoral scanner, or they can be separate, and are not limited to the embodiments of the present disclosure.

[0152] By way of example, the encoding method may be performed locally in the color projection module 601 or on a remote server, and the decoding method may be performed locally in the camera module 602 or on an electronic device (e.g., a computer) or on a remote server, and is not limiting in the embodiments of the present disclosure.

[0153] In some embodiments, the system may further include a data processing module configured to receive the stripe pattern and execute any of the above decoding methods, thereby achieving a scanning process for the measurement object, where the data processing module may be a functional module incorporated in an electronic device, such as a respective functional module in any of the above decoding apparatuses.

[0154] In some embodiments, color projection module 601 is implemented by means such as Digital Light Processing (DLP), Liquid Crystal on Silicon (LCOS) or rear projection.

[0155] Here, DLP technology does not require polarization, has high light utilization efficiency, and has a small pixel pitch, so that an almost seamless color stripe coding image can be obtained, and the stripes are finer. LCOS technology is realized by single crystal silicon, which allows finer lines, so that a high-resolution projection structure is easily achieved, and the product structure is simple. Transverse projection technology, also called perspective projection technology, generates a target light that is projected on the surface of the measurement object 600 in the form of a color stripe after a preset light passes through a preset pattern corresponding to the color stripe pattern provided on the light transmitting part, so the light coding method is simple.

[0156] In other embodiments, other means known to those skilled in the art can be used to enable the color projection module 601 to implement the above encoding method, and are not limited to the examples of the present disclosure.

[0157] In some embodiments, the camera module 602 includes a single color image sensor or includes a spectroscopic system and at least two image capture sensors.

[0158] 5, the camera module 602 includes a color image sensor 620, that is, the camera module 602 can adopt a color camera, which can directly obtain the color stripe pattern and the texture map, and decode them using the above decoding method.

[0159] Illustratively, as shown in FIG. 6, the camera module 602 includes a spectroscopic system 622 and at least two (two are shown in FIG. 6) image capture sensors (or cameras) 621; illustratively, the spectroscopic system 622 can include a spectroscopic mirror that can be used to separate different spectral colors and captured by multiple cameras, each capturing one or more colors.

[0160] Illustratively, corresponding to the above three color coding methods, one implementation of the camera module 602 is to provide three image capture sensors, all of which employ black and white image capture sensors to capture one color each, or to provide two black and white image capture sensors (i.e., black and white cameras) and one color image capture sensor (i.e., color camera), with the two black and white cameras capturing two of the three colors, such as blue light and green light, respectively, and the color camera capturing a third color, such as red light and a three-channel texture pattern.

[0161] In other embodiments, the camera module 602 may also be implemented in other ways and is not limited to the examples of this disclosure.

[0162] Based on the above, the color stripe-coded structured light based three-dimensional measurement system mainly comprises one color projection module 601 and one camera module 602, the color projection module 601 and the camera module 602 form a certain angle, the color projection module 601 is configured to project a color-coded stripe pattern, and the camera module 602 is configured to capture the stripe pattern modulated by the surface of the measurement object 600. Here, the color projection module 601 includes but is not limited to DLP, LCOS or transmission projection and other means. The camera module 602 includes but is not limited to one color image sensor, two image sensors and a spectroscopy system, three image sensors and a spectroscopy system, etc.

[0163] Therefore, based on the above-mentioned three-dimensional measuring system structure design, encoding method and decoding method, a simple, efficient, stable and low-cost color stripe coded structured light three-dimensional measuring method can be achieved, which can be set to measure small and complex objects at high speed and high accuracy. Specifically, the embodiment of the present disclosure uses periodically repeated color stripe coded structured light technology to greatly reduce the number of stripe colors used, thereby reducing the number of spectra, simplifying the color stripe projection structure, reducing hardware costs, and also reducing the number of stripes set for decoding, improving the stability and efficiency of decoding, with high solvability and low error rate, based on a small number of stripe colors and a smaller decoding width, high resolution is achieved by using periodically repeated coding, the structure of the three-dimensional measuring system is simpler, and the scanning efficiency is higher.

[0164] It should be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another and do not necessarily imply any actual relationship or order between those entities or operations. Also, the terms "comprise", "include", or other variations are intended to be non-exclusively inclusive, such that a process, method, article, or device that includes various elements includes not only those elements, but also other elements not expressly listed or inherent to such process, method, article, or device. Without further limitation, an element defined by the phrase "including a ..." does not exclude the presence of additional identical elements in the process, method, article, or device that includes said element.

[0165] The above are merely specific embodiments of the present disclosure to enable those skilled in the art to understand or practice the present disclosure. Various modifications to these examples will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other examples without departing from the spirit or scope of the present disclosure. Thus, the present disclosure is not limited to these examples shown herein, but should be accorded the widest scope consistent with the principles and novel features disclosed herein. [Industrial Applicability]

[0166] The present disclosure achieves stripe encoding and decoding using periodically repeated color stripes, thereby reducing the number of stripe colors and the number of stripes required for decoding, which is helpful in improving decoding stability, simplifying the structure, and improving scanning efficiency, and has high industrial applicability.

Claims

1. A projection module configured to project a color stripe pattern onto a surface of a measurement object, the projection module being adapted for a color stripe coding scheme in which coding in a single image is periodically repeatable, the projection module comprising: the color stripe pattern includes m periodically repeated base stripe sequences (m is a positive integer); The base stripe sequence includes stripes of k colors, and an n-bit stripe sequence consisting of any consecutive n stripes is unique, and the total number l of stripes in the base stripe sequence is l≦l. 0 , l 0 = k n wherein k and n are both positive integers of 2 or more; The projection module determines the three-dimensional point coordinates of the measurement object by the steps of obtaining pixel coordinates at which the center of each stripe is located based on a stripe pattern on the surface of the measurement object, obtaining a number for each stripe based on the pixel coordinates and the corresponding color, and three-dimensionally reconstructing each stripe based on the number of each stripe to obtain the three-dimensional point coordinates of the measurement object.

2. The projection module of claim 1 , wherein the base stripe sequence is arranged based on a de Bruin sequence.

3. 2. The projection module of claim 1, wherein at least a portion of the stripe spacing is different between two adjacent cycles of the m periodically repeated base stripe sequence.

4. 2. The projection module of claim 1, wherein at least a portion of the stripe spacing is different in identical cycles of the m periodically repeated cycles of the base stripe sequence.

5. 2. The projection module of claim 1, wherein the value of k is 3, or the value of n is 3, or the values ​​of k and n are both 3.

6. 6. The projection module of claim 5, wherein the three distinct colors are red, green and blue, respectively.

7. A method for decoding a color stripe, which decodes a stripe pattern projected onto a surface of a measurement object by the projection module according to any one of claims 1 to 6 and then photographed by a camera module, comprising: acquiring a stripe pattern on a surface of a measurement object; determining pixel coordinates at which a center of each stripe is located based on the stripe pattern; determining a number for each stripe based on said pixel coordinates and corresponding color; A decoding method including a step of three-dimensionally reconstructing each stripe based on the number of each stripe and determining three-dimensional point coordinates, which are the coordinates of the three-dimensional point of the measurement object.

8. Determining a number for each stripe based on the pixel coordinates and corresponding color, determining a color code corresponding to each stripe based on a preset color code, the pixel coordinates and corresponding colors; For an ith stripe (i is a positive integer equal to or smaller than l), determine n consecutive color codes corresponding to the n consecutive stripes in which the ith stripe is located based on the color codes of each stripe, and set the color codes as the coded value of the ith stripe; determining a number for each stripe in the single base stripe sequence based on the coding value for each stripe; obtaining a preset pixel coordinate range for each cycle; determining a cycle in which each stripe is located based on the preset pixel coordinate range and the pixel coordinates; and determining a number for each stripe in the color stripe pattern based on the number of each stripe in the single base stripe sequence and the cycle.

9. determining whether the decoding of a current stripe is misaligned based on the continuity of the 3D points; The decoding method of claim 8, further comprising the step of: correcting and updating the corresponding 3D point coordinates if the decoding is misaligned.

10. The step of three-dimensionally reconstructing each stripe based on the number of each stripe includes: determining a corresponding light plane based on said number; Reconstructing the three-dimensional point coordinates according to the light plane equation of the light plane, the pixel coordinates where the center of the target stripe is located, and the preset parameters of the camera module; or if the camera module is a binocular system, determining corresponding stripes based on the numbers of each stripe in a left camera image and a right camera image of the binocular system; and reconstructing the three-dimensional point coordinates based on the corresponding stripes and preset parameters of the camera module.

11. A color stripe decoding device arranged to carry out the decoding method according to any one of claims 7 to 10, comprising: a stripe pattern acquisition module configured to acquire a stripe pattern on a surface of the measurement object; a pixel coordinate determination module configured to determine pixel coordinates at which a center of each stripe is located based on the stripe pattern; a number determination module configured to determine a number for each stripe based on the pixel coordinates and corresponding color; and a three-dimensional point coordinate determination module configured to perform three-dimensional reconstruction for each stripe based on the number of each stripe and determine three-dimensional point coordinates of the measurement object.

12. The number resolution module includes: determining a color code corresponding to each stripe based on a preset color code, the pixel coordinates and the corresponding color; For an ith stripe (i is a positive integer equal to or less than l), determine n consecutive color codes corresponding to the n consecutive stripes in which the ith stripe is located based on the color codes of each stripe, and set the color codes as the coded value of the ith stripe; determining a number for each stripe in the single base stripe sequence based on the coding value for each stripe; Get the preset pixel coordinate range for each cycle, determining a cycle in which each stripe is located based on the preset pixel coordinate range and the pixel coordinates; 12. The decoding device of claim 11, configured to determine the number of each stripe in the color stripe pattern based on the number of each stripe in the single base stripe sequence and the cycle.

13. A computer-readable storage medium having stored thereon a computer program which, when executed by a processor, causes the processor to carry out the decoding method according to any one of claims 7 to 10.

14. A color stripe coded structured light based 3D measurement system, comprising a projection module with a preset angle and a camera module, The projection module is configured to project a color stripe pattern onto a surface of a measurement object using a projection module according to any one of claims 1 to 6, The camera module is configured to acquire a stripe pattern modulated by a surface of the measurement object; In the stripe pattern, no overlapping areas of the stripes appear between each cycle, A three-dimensional measuring system further comprising a data processing module configured to receive the stripe pattern and to perform the decoding method according to any one of claims 7 to 10.

15. The three-dimensional measurement system of claim 14 , wherein the projection module and the camera module are located within the same intraoral scanner.

16. said projection module being realised by means of DLP, LCOS or rear projection, The camera module includes: a single color image sensor, or The three-dimensional measuring system of claim 14 comprising a spectroscopic system and at least two image acquisition sensors.

Citation Information

Patent Citations

  • Method and system for scanning surface and generating three-dimensional object

    JP2005214965A

  • Image information processing apparatus and control method thereof

    JP2012079294A

  • Method and scanner for touch free detection of positions and three-dimensional shapes of multiple products on running surface

    JP2015083975A

  • Calibration device and method for calibrating a dental camera

    JP2016500546A

  • Range finding device, range finding system, and range finding method

    JP2018185162A