Coded Structured Light Depth Camera Using De Bruijn Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing depth camera systems face challenges in reducing computational complexity while maintaining or improving temporal and lateral resolution, and often require significant processing time and cost, especially when dealing with untextured scenes or complex patterns.
Innovation Solution
The implementation of a depth camera system that uses a structured light pattern with a plurality of parallel bars encoding codes, allowing for row-by-row processing to reduce processing complexity, and employs a de Bruijn sequence for encoding, which is resistant to noise and enables efficient decoding and error detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional stereo correlation techniques are used to determine depth values, then depth information can be obtained, but processing time and computational complexity increase significantly
Solution Approach 1:
The system projects structured light patterns with embedded codes (such as de Bruijn sequences) onto the scene before capture. These pre-encoded patterns allow the depth camera to directly decode depth information from the reflected light without performing computationally intensive stereo correlation matching during processing, thereby reducing processing time while maintaining depth measurement accuracy
Solution Approach 2:
The invention changes the parameter of light pattern encoding by using coded structured light patterns with specific mathematical sequences (de Bruijn sequences) instead of traditional unstructured or simple structured patterns. This encoding approach transforms the depth measurement problem from a correlation matching task into a direct decoding task, significantly reducing computational complexity and processing time
2Measurement precision
If complex structured light patterns are used to improve depth measurement accuracy, then depth resolution improves, but detection and matching of pattern features becomes computationally expensive
Solution Approach 1:
Complex structured light patterns are pre-encoded with unique identifiable codes (such as de Bruijn sequences) before projection. This preliminary encoding allows the system to directly detect and decode pattern features through simple correlation with the known code sequence, avoiding the need for computationally expensive feature matching algorithms while maintaining high depth resolution
Solution Approach 2:
The system uses the known structured light pattern codes as a reference to verify and validate the detected pattern features in the captured image. This feedback mechanism allows for error detection and correction, ensuring accurate depth measurement while simplifying the detection process through direct code matching rather than complex feature correspondence algorithms
3Measurement precision
If temporal structured light methods are used to provide accurate range maps, then range accuracy improves, but the scene must remain stationary which limits applicability
Solution Approach 1:
Multiple structured light patterns with unique codes are projected in rapid succession before the scene can move significantly. The known codes in each pattern allow the system to capture and process multiple temporal frames and combine them into an accurate range map, achieving high range accuracy while tolerating certain scene motion that would invalidate traditional single-shot methods
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
Depth camera systems and methods of operation use coded structured light to determine depth values. One example method includes projecting a structured light pattern towards a target region. The structured light pattern includes a plurality of parallel bars that encode a plurality of codes. The method includes, for each of a plurality of rows of pixels that are transverse to the plurality of parallel bars: decoding the plurality of parallel bars represented in the row of pixels to identify a location of each of the plurality of codes in the row of pixels; determining a plurality of disparities respectively between the identified locations of the plurality of codes and a plurality of reference locations respectively associated with the plurality of codes; and determining a depth value for each identified location based at least in part on the determined disparity for such location.