It is necessary to use high-precision 3D imaging system for industrial usage like AOI(Automated Optical Inspection) for PCBs or 3D checking in product lines. But currently the cost is very high. Using FPGA for the system could bring a relatively low-cost solution, promotes the transition from 2D+Rules to 3D+AI in the field of cost sensitive industrial usage.
2. System introductionI've implemented the structured-light prototype system firsstly on PC with NVIDIA GPU. Structured-light system requires high-throughput for images patterns and low-latency. Thus not suitable for embeding sytems. To make the cost lower, it is necessary to build a 3D imaging algorithm of structured-light 3D camera with FPGA, and integrates the analysis and detection functions for industrial usage.
Dual Cortex A53 is used for configure the cameras and control the DLP projector. Vivado is used to design and implement the core rule-based algorithm, such as distortion correction, gray code and phase decoding, stereo-matching, etc; Vitis AI is used to realize the algorithm module based on neural network, such as auxiliary binocular feature matching, point cloud correction and target detection.
The main procedure including graycode decoding, phase extending and phase matching. We use 6 gray code pattern and 4 phase pattern for the system. PL part for decoding of gray code decoidng and phase decoding. After the matching, the matching distance (or disparity) will be converted to depth accroding to the baseline and intrinsic parameters of cameras.
The most chanlleging part is the distortion correction and epipolar correction of the image pair. As we know the image should be stereo-rectfied. The operation is using a large LUT to get src poistion of the image data. It is very time consuming because the unorderedd access to DDR.
Comments