dlp 3d scanning sdk introduction - ti.com

14
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

Upload: others

Post on 03-Jan-2022

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DLP 3D scanning SDK Introduction - TI.com

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

TI Designs for Targeted Applications

11

Spectroscopy3D Machine

Vision

3D Printing & Stereo-

lithography

Page 3: DLP 3D scanning SDK Introduction - TI.com

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

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

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

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

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

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

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

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

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

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

• 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

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.