dlp 3d scanning sdk introduction - ti.com
TRANSCRIPT
![Page 1: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/1.jpg)
Agenda
• DLP 3D scanning Introduction
• DLP 3D scanning SDK Introduction
• Advance features for existing SDK
– Increasing scanning speed from 20Hz to 400Hz
– Improve the lost point cloud
• 3D Machine Vision Applications: Performance of adaptive patterns
• DMD Performance and Stability for 3D Machine Vision Applications
![Page 2: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/2.jpg)
TI Designs for Targeted Applications
11
Spectroscopy3D Machine
Vision
3D Printing & Stereo-
lithography
![Page 3: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/3.jpg)
Accurate Point Cloud Generation for 3-D Machine Vision Applications using Lightcrafter® 4500
• Provides a 3-D scanner software solution to shorten
development time with DLP technology
• No software or optical development required for evaluating
DLP technology for generating 3-D point clouds!
– Generates and decodes structured light patterns
– Calibrates camera and projector
• Available design files
– Schematic (http://www.ti.com/lit/pdf/tidr157)
– Bill of Materials (http://www.ti.com/lit/pdf/tidr958)
– Command-line 3-D Scanner with DLP Structured Light SDK (http://www.ti.com/tool/dlp-alc-lightcrafter-sdk)
– Camera Trigger Cable Assembly Guide (http://www.ti.com/lit/df/tidu457a/tidu457a.pdf)
• Available from TI Designs
– http://www.ti.com/tool/TIDA-00254 12
![Page 4: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/4.jpg)
Programmable Patterns by using DLP® Technology
Programmable Patterns allow users to gain full control
over the Structured Light System
Multiple patterns• Binary Code
• Gray Code or N-ary Codes
• Phase Shift
• Hybrid: • Gray Code + Phase Shift
Adaptive Patterns
• Varying Color/Light and Pattern depending on object
response and movement
Hybrid Patterns
• Combination of several patterns
![Page 5: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/5.jpg)
DLP® Structured Light SDK- Generate Pattern
TI code is example code
DLP PlatformGenerate
binary Gray code\
Phase shift patterns\
Calibration pattern for
camera and projector
How to calculate the pattern numbers(Hybrid Patterns):THREE_PHASE_PARAMETERS_PIXELS_PER_PERIOD = 32Three phase pattern = 3 =>Vertical + Horizontal=3*2=6For DLP4500(912x1140):Gray Code pattern=
Vertical phase shift period: 912/32=28.5=>29; 29*8=232=>28=>8 patterns=>8*2(invert)=16Horizontal phase shift period: 1140/32=35.625=>36; 36*8=288=> 29=>9 patterns =>9*2(invert)=18
Total patterns= 6+16+18=40
![Page 6: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/6.jpg)
DLP® Structured Light SDK - Calibration
TI code is example code
DLP PlatformGenerate
binary Gray code\
Phase shift patterns\
Calibration pattern for
camera and projector
CalibrationProjector and camera calibration generates
system geometry
CCD
Ref plane
Z
��
∅ �, � � tan�� 3�� �, � � �� �, �
2 ∗ �� �, � � �� �, � � �� �, �
�
4
SDK can share the same calibration data for Gray
code and Hybrid( Gray code + Phase shift) alg.. No
need unwrapping alg. for phase shift.
Formula to calculate the phase for 3 steps phase shift.
It cannot tell if object is over ± π or not.
![Page 7: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/7.jpg)
DLP® Structured Light SDK - Synchronization
TI code is example code
DLP PlatformGenerate
binary Gray code\
Phase shift patterns\
Calibration pattern for
camera and projector
CalibrationProjector and camera calibration generates
system geometry CameraHigh-speed
synchronized captures
Camera trigger projector:
-need to make sure buffer size is enough for scanning
CAMERA_PARAMETERS_FRAME_BUFFER_SIZE = 72
Projector trigger camera:
-need to make sure no overflow in camera
In standard SDK, camera sends trigger to
projector. SDK can find first pattern from
projector.
![Page 8: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/8.jpg)
DLP® Structured Light SDK - Gray Code Pattern DecodingTI code is example code
DLP PlatformGenerate
binary Gray code\
Phase shift patterns\
Calibration pattern for
camera and projector
CalibrationProjector and camera calibration generates
system geometry CameraHigh-speed
synchronized captures
Structured LightDecode Gray coded
patterns to generate disparity
map1 1 1 1 2 2 2 2 3 3 3 3
1 1 1 1 2 2 2 2 3 3 3 3
1 1 1 1 2 2 2 3 3 3 3 3
1 1 1 2 2 2 2 3 3 3 3 3
1 1 1 2 2 2 3 3 3 3 3 4
Gray code: Decode Gray Code to
generate disparity map
Disparity Map
![Page 9: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/9.jpg)
DLP® Structured Light SDK –Hybrid pattern DecodingTI code is example code
DLP PlatformGenerate
binary Gray code\
Phase shift patterns\
Calibration pattern for
camera and projector
CalibrationProjector and camera calibration generates
system geometry CameraHigh-speed
synchronized captures
Structured LightDecode Gray coded
patterns to generate disparity
map
Hybrid: Based on Gray code and three
steps phase shift to generate subpixels
disparity map
1 1.5 1.7 1.8 2 2.1 2.5 2.7 3 3.3 3.5 3.9
1 1.5 1.7 1.8 2 2.1 2.5 2.7 3 3.3 3.5 3.9
1 1.5 1.7 1.8 2 2.1 2.5 3 3.3 3.3 3.5 3.9
1.5 1.7 1.8 2 2.1 2.5 2.7 3 3.3 3.5 3.6 3.9
1.5 1.7 1.8 2 2.1 2.5 3 3.3 3.5 3.6 3.9 4
Phase Shift
Gray Code
Disparity Map
![Page 10: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/10.jpg)
DLP® Structured Light SDK - Reconstruction
TI code is example code
DLP PlatformGenerate
binary Gray code\
Phase shift patterns\
Calibration pattern for
camera and projector
CalibrationProjector and camera calibration generates
system geometry CameraHigh-speed
synchronized captures
Structured LightDecode Gray coded
patterns to generate disparity
map GeometryReconstruct 3D point
clouds
Easy to fine tune the reconstruction performance
from config fileGEOMETRY_PARAMETERS_OVERSAMPLE_COLUMNS = 1
GEOMETRY_PARAMETERS_FILTER_RAYS_ENABLE = 1
![Page 11: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/11.jpg)
DLP® Structured Light SDK-Supports Two Reconstruction Method
20
Triangulation Base
Plane\ Line intersection(V or H scan)
Projector Camera
u
v
u
v
(x,y,z) (x,y,z)
θ Φ
Triangulation Base
Line\ Line intersection(V+H scan)
Projector Camera
u
v
u
v
(x,y,z) (x,y,z)
θ Φ
![Page 12: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/12.jpg)
DLP® Structured Light SDK-Effects of Pixel Over-Sampling• Decreased point cloud accuracy from divergent beams
– Projector rays are straight lines rather than divergent beams
– Over-sampling the projector rays leads to incorrect point reconstructions
21
![Page 13: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/13.jpg)
• When both vertical and horizontal
patterns are used every camera
ray is associated to a specific
projector ray
• During reconstruction, group points
according to their projector ray and
filter!
• This method limits the number of
points to the number of projector
pixels
• This method will not work for scans
with a single orientation of patterns
DLP® Structured Light SDK-Overcoming Pixel Over-Sampling
22
![Page 14: DLP 3D scanning SDK Introduction - TI.com](https://reader031.vdocuments.us/reader031/viewer/2022011721/61d293250402e0515a201574/html5/thumbnails/14.jpg)
DLP® Structured Light SDK-Cross Platform SupportTI code is example code
DLP PlatformGenerate
binary Gray code\
Phase shift patterns\
Calibration pattern for
camera and projector
CalibrationProjector and camera calibration generates
system geometry CameraHigh-speed
synchronized captures
Structured LightDecode Gray coded
patterns to generate disparity
map GeometryReconstruct 3D point
clouds
The DLP 3D Structured Light SDK can also be utilized on smaller (DLP LightCrafter) and larger (DLP LightCrafter 6500) resolution DLP
EVMs for portable and high resolution 3D scanning applications.