• Nenhum resultado encontrado

@ - IMPA SIBGRAPI - IMPA SIBGRAPI

N/A
N/A
Protected

Academic year: 2021

Share "@ - IMPA SIBGRAPI - IMPA SIBGRAPI"

Copied!
17
0
0

Texto

(1)

3D Photography:

3D Photography:

A Structured Light Approach

A Structured Light Approach

Luiz Velho

Paulo Carvalho

Asla Sá

Esdras Filho

IMPA -Instituto de Matemática Pura e Aplicada

@ Luiz Velho - IMPA SIBGRAPI 2002 2

Outline

Outline

• Overview

– Luiz Velho

• Background on Calibration

– Paulo Carvalho

• Structured Light Coding

– Asla Sá

• Mesh Generation

– Esdras Filho

@ Luiz Velho - IMPA SIBGRAPI 2002 3

Website

Website

• Additional Material:

http://www.visgraf.impa.br/3DP

In the next few weeks....

Overview of 3D Photography

Overview of 3D Photography

Luiz Velho

IMPA -Instituto de Matemática Pura e Aplicada

@ Luiz Velho - IMPA SIBGRAPI 2002 5

3D Photography Applications

3D Photography Applications

• The BIG Picture

Capture

Analysis

Structuring

3D artifact

Model

Results

@ Luiz Velho - IMPA SIBGRAPI 2002 6

Process: Step by Step

Process: Step by Step

• 3D Acquisition

( Measure )

• Pre-Processing

( Model Construction )

Capture

Analysis

Structuring

(2)

@ Luiz Velho - IMPA SIBGRAPI 2002 7

Process: Step by Step

Process: Step by Step

Capture

Analysis

Structuring

• Integration

( Intra-Model )

• Classification

( Database )

@ Luiz Velho - IMPA SIBGRAPI 2002 8

Process: Step by Step

Process: Step by Step

Capture

Analysis

Structuring

• Simulations

( Computation )

• Display

( Visualization )

@ Luiz Velho - IMPA SIBGRAPI 2002 9

Characteristics of the Process

Characteristics of the Process

• Process can be Interactive

(feedback)

* Usually Application Dependent

Capture

Analysis

Structuring

3D artifact

Model

Results

@ Luiz Velho - IMPA SIBGRAPI 2002 10

Potential Applications

Potential Applications

• Science and History

– Digital Record

– Global Controlled Archive

– Computation and Simulation

• Culture and Education

– Virtual Exhibitions

– Interactive Content

– Physical Replicas

Traditional Pipeline

Traditional Pipeline

• Capture

– Calibration

- Fundamentals (Paulo Cezar)

– Active Stereo

- CSL coding (Asla)

• Structuring

– Scan Alignment

- ICP

– Surface Meshing

- Ball Pivoting (Esdras)

• Analysis

– Property Estimation

Recovering

Recovering

depth

depth

from

from

images

images

:

:

triangulation

triangulation

and

and

calibration

calibration

Paulo Cezar P. Carvalho

(3)

@ Luiz Velho - IMPA SIBGRAPI 2002 13

Recovering

Recovering

depth

depth

from

from

images

images

• Basic principle: stereo vision

– same object point in two different views

– object point recovered by intersecting viewing rays

(triangulation)

@ Luiz Velho - IMPA SIBGRAPI 2002 14

Passive

Passive

stereo

stereo

• Uses two (or more) images

• Problem: it is difficult to match points across views

– Noise

– Innacurate depth estimation

@ Luiz Velho - IMPA SIBGRAPI 2002 15

Active

Active

stereo

stereo

• Replace one of the cameras by an

easy-to-detect light source directed at the image

¾Laser scanners

¾Structured light coding

@ Luiz Velho - IMPA SIBGRAPI 2002 16

Laser Scanners

Laser Scanners

(figure by M. Levoy)

@ Luiz Velho - IMPA SIBGRAPI 2002 17

Laser Scanners

Laser Scanners

• Pros

– Very accurate

• Cons

– Slow (a beam at a time)

– Expensive

– Size limitation

@ Luiz Velho - IMPA SIBGRAPI 2002 18

Structured

Structured

Light

Light

(4)

@ Luiz Velho - IMPA SIBGRAPI 2002 19

Recovering

Recovering

Depth

Depth

image point

camera optical

center

known plane

reconstructed point

P

@ Luiz Velho - IMPA SIBGRAPI 2002 20

Recovering

Recovering

Depth

Depth

• Depth computation: intersect viewing ray

corresponding to the pixel with pattern

projecting plane

• It requires knowing position and orientation of

both camera and projector

in the same frame of

reference.

¾(joint) calibration

@ Luiz Velho - IMPA SIBGRAPI 2002 21

Camera

Camera

Calibration

Calibration

• Goal: to recover the camera parameters

X

Y

Z

X’

Y’

M = (x,y, z)

m

x

y

z

u

v

(u,v)

@ Luiz Velho - IMPA SIBGRAPI 2002 22

Camera

Camera

Calibration

Calibration

• Simple camera model

(no lens distortion, no angular deformation)

=

1

1

0

0

0

0

0

0

z

y

x

v

u

w

v

u

v

u

t

R

α

α

image point

intrinsic

3D point

parameters

extrinsic

parameters

Camera

Camera

Calibration

Calibration

• Parameter estimation problem

• Requires establishing correspondences between

space and image points

¾calibration object

(e.g. chessboard pattern)

¾should be placed near the area of interest

Camera

Camera

Calibration

Calibration

• Nonlinear parameter estimation

• We can use standard optimization procedures (e.g.

Levenberg-Marquardt)

• But we need a good starting solution

– Tsai’s method

2

,

,

(

)

min

P

M

i

m

i

t

R

α

(5)

@ Luiz Velho - IMPA SIBGRAPI 2002 25

Projector

Projector

Calibration

Calibration

• Dual to camera calibration

• Camera: points with known

3D coordinates

are located in the image

• Projector: points with known

image

coordinates

are located in space

– project pattern onto known plane

– capture image through the previously calibrated

camera

@ Luiz Velho - IMPA SIBGRAPI 2002 26

Calibration

Calibration

setup

setup

(image by Dragos Harabor)

@ Luiz Velho - IMPA SIBGRAPI 2002 27

Calibration

Calibration

setup

setup

(image by Dragos Harabor)

Coded Structured Light for

Coded Structured Light for

3D

3D

-

-

Photography: an Overview

Photography: an Overview

Asla Sá

Esdras Soares

Paulo Cezar Carvalho

Luiz Velho

@ Luiz Velho - IMPA SIBGRAPI 2002 29

Structured Light principles

Structured Light principles

Figure from M. Levoy, Stanford Computer Graphics Lab

@ Luiz Velho - IMPA SIBGRAPI 2002 30

Coding structured light

Coding structured light

(6)

@ Luiz Velho - IMPA SIBGRAPI 2002 31

Why coding structured light

Why coding structured light

• Point lighting - O(n²)

• “Line” lighting - O(n)

• Coded light - O(log n)*

*

Log base depends on code base

By reducing the number of captured images we

reduce the requirements on processing power

and storage.

@ Luiz Velho - IMPA SIBGRAPI 2002 32

Pipeline

Pipeline

• Calibrate a pair camera/projector.

• Capture images of the object with projected

patterns.

• Process images in order to correlate camera and

projector pixels :

– Pattern detection.

– Decoding projector position.

• Triangulate to recover depth.

@ Luiz Velho - IMPA SIBGRAPI 2002 33

Working volume

Working volume

@ Luiz Velho - IMPA SIBGRAPI 2002 34

Shadow areas

Shadow areas

Our Goal

Our Goal

• How to correlate camera and projector pixels?

– Different codes gives us several possibilities to

solve correlation problem.

– We are going to show you an overview of many

different approaches.

CSL research

CSL research

• Early approaches (the 80’s)

• Structuring the problem (the 90’s)

• New Taxonomy

• Recent trends

• Going back to colors

(7)

@ Luiz Velho - IMPA SIBGRAPI 2002 37

Main ideas

Main ideas

Structured Light Codes can be classified

observing the restrictions imposed on objects to

be scanned:

• Temporal Coherence.

• Spatial Coherence.

• Reflectance restrictions.

@ Luiz Velho - IMPA SIBGRAPI 2002 38

Temporal Coherence

Temporal Coherence

• Coding in more than one frame.

• Does not allow movement.

• Results in simple codes that are as less

restrictive as possible regarding reflectivity.

@ Luiz Velho - IMPA SIBGRAPI 2002 39

Gray Code

Gray Code

@ Luiz Velho - IMPA SIBGRAPI 2002 40

in practice

in practice

:

:

@ Luiz Velho - IMPA SIBGRAPI 2002 41

Spatial Coherence

Spatial Coherence

• Coding in a single frame.

• Spatial Coherence can be local or global.

• The minimum number of pixels used to

identify the projected code defines the accuracy

of details to be recovered in the scene.

@ Luiz Velho - IMPA SIBGRAPI 2002 42

Some examples

Some examples

(8)

@ Luiz Velho - IMPA SIBGRAPI 2002 43

Binary spatial coding

Binary spatial coding

http://cmp.felk.cvut.cz/cmp/demos/RangeAcquisition.html

@ Luiz Velho - IMPA SIBGRAPI 2002 44

Problems in recovering pattern

Problems in recovering pattern

@ Luiz Velho - IMPA SIBGRAPI 2002 45

Introducing color in coding

Introducing color in coding

• Allowing colors in coding is the same as

augmenting code basis. This gives us more words

with the same length.

• If the scene changes the color of projected light,

then information can be lost.

• Reflectivity restrictions (neutral scene colors) have

to be imposed to guarantee the correct decoding.

@ Luiz Velho - IMPA SIBGRAPI 2002 46

Examples

Examples

•Medical Imaging Laboratory

Departments of Biomedical Engineering and Radiology

http://www.mri.jhu.edu/~cozturk/sl.html

Local spatial Coherence

(9)

@ Luiz Velho - IMPA SIBGRAPI 2002

Images from: Tim Monks, University of Southampton

49

6 different colors used to produce sequences of 3

6 different colors used to produce sequences of 3

without repetition

without repetition

@ Luiz Velho - IMPA SIBGRAPI 2002 50

http://cmp.felk.cvut.cz/cmp/demos/RangeAcquisition.html

Rainbow Pattern

Rainbow Pattern

Assumes that the

scene does not

change the color of

projected light

@ Luiz Velho - IMPA SIBGRAPI 2002 51

Noisy

Noisy

transmission

transmission

channel

channel

• There is a natural analogy between coded

structured light and a digital communication

system.

• The camera is recieving the signal transmitted

through object by the projector.

@ Luiz Velho - IMPA SIBGRAPI 2002 52

New

New

Taxonomy

Taxonomy

3

2

8

per channel

-RGB

Binary(2)/

monochromatic

Number of

characters of the

alphabet

4 neighbors

(N,S,E,W)

Single pixel

Single pixel

Neighbor-hood

3

5

1

Dot matrix

(2

8

)

3

per line

1 for coding

plus 1 used in

decoding

Rainbow

pattern

2

n

per line

n

Gray Code

Resolution

(number of

words)

Number of

slides

Method

@ Luiz Velho - IMPA SIBGRAPI 2002 53

Designing codes

Designing codes

Goal: design a light pattern to

acquire depth information with

minimum number of frames without

restricting the object to be scanned

(impose only minimal constraints on

reflectivity, temporal coherence and

spatial coherence.)

@ Luiz Velho - IMPA SIBGRAPI 2002 54

What is minimal?

What is minimal?

• Temporal Coherence: 2 frames.

• Spatial Coherence: 2 pixels.

• Reflectivity restrictions: allow non neutral

objects to be scanned without loosing

information.

(10)

@ Luiz Velho - IMPA SIBGRAPI 2002 55

Processing images

Processing images

• To recover coded information a pattern detection

procedure has to be carried out on captured images.

• The precision of pattern detection is crucial to the

accuracy of resulting range data.

• Shadow areas also have to be detected.

@ Luiz Velho - IMPA SIBGRAPI 2002 56

Edge Detection

Edge Detection

• Stripes transitions produce

edges on camera images.

• Transitions can be detected

with sub-pixel precision.

• Projecting positive and

negative slides is a robust

way to recover edges.

@ Luiz Velho - IMPA SIBGRAPI 2002 57

Edge Coding

Edge Coding

01

11

10

00

Frame 2 (column 2)

Frame 1 (column 1)

The graph edges are not oriented and

correspond to the stripe transition code

The maximal code

results from an Eulerian

path on graph.

Obs.: 2 frames of Gray

code gives us 4 stripes.

In this case we have 10.

edge 00 → 01

@ Luiz Velho - IMPA SIBGRAPI 2002 58

Rusinkiewicz

Rusinkiewicz

4 frames graph

4 frames graph

space

time

one pixel over time

one frame

4 frames stripe boundary code

4 frames stripe boundary code

• When using a binary base, ghost boundaries have to be allowed

in order to obtain a connected graph.

• The decoding step isn’t straightforward, due to the presence of

ghosts. A matching step have to be carried out.

Ambiguity in decoding

Ambiguity in decoding

(11)

@ Luiz Velho - IMPA SIBGRAPI 2002 61

 2001 Marc Levoy

video frame

range data

merged model

(159 frames)

Real

Real

-

-

time range scanning

time range scanning

@ Luiz Velho - IMPA SIBGRAPI 2002 62

Comments

Comments

• It scans moving objects.

• It is designed to acquire geometry in real-time.

• Some textures can produce false transitions

leading to decoding errors.

• It does not acquire texture.

@ Luiz Velho - IMPA SIBGRAPI 2002 63

Revisiting Colors

Revisiting Colors

• Taking advantage of successively projecting

positive and negative slides, reflectivity

restrictions can be eliminated.

• To solve the problem of allowing ghost

boundaries we have to augment the basis of

code, that is, allowing colors.

@ Luiz Velho - IMPA SIBGRAPI 2002 64

Recovering colored codes

Recovering colored codes

B

B

B

B

G

G

G

G

R

R

R

R

p

r

u

I

p

r

u

I

p

r

u

I

+

=

+

=

+

=

+

=

,

,

i

i

i

i

u

r

u

I

if

if

1

0

=

=

i

i

p

p

•u is the ambient light

•r is the local intensity transfer

factor mainly determined by

local surface properties

•p is the projected intensity for

each channel

←Negative slide

← Positive slide

@ Luiz Velho - IMPA SIBGRAPI 2002 65

Colored Gray code

Colored Gray code

@ Luiz Velho - IMPA SIBGRAPI 2002 66

Confusing colors!

Confusing colors!

(12)

@ Luiz Velho - IMPA SIBGRAPI 2002 67

Recovering texture

Recovering texture

@ Luiz Velho - IMPA SIBGRAPI 2002 68

(b,s)

(b,s)

-

-

BCSL

BCSL

• Augment basis of Rusinkiewicz code

eliminating ghost boundaries.

• We proposed a coding scheme that generates a

boundary stripe codes with a number b of

colors in s slides, it is called (b,s)-BCSL.

@ Luiz Velho - IMPA SIBGRAPI 2002 69

(3,2)

(3,2)

-

-

BCSL

BCSL

@ Luiz Velho - IMPA SIBGRAPI 2002 70

In practice …

In practice …

after processing:

after processing:

How to reconstruct the entire object?

How to reconstruct the entire object?

• Capturing images from many different points

of view.

• The resultant clouds of points have to be

aligned to be unified.

• The clouds of points can be processed to

become a mesh.

(13)

@ Luiz Velho - IMPA SIBGRAPI 2002 73

From: Medical Imaging Laboratory

Departments of Biomedical Engineering and Radiology

Johns Hopkins University School of Medicine

Baltimore, MD 21205

Projected pattern changing object’s

Projected pattern changing object’s

position

position

@ Luiz Velho - IMPA SIBGRAPI 2002 74

The End

The End

• Thanks for your attention.

• The talk continues... Esdras will talk about

mesh reconstruction.

Asla Sá

An Overview about Surface

An Overview about Surface

Reconstruction from Sampled

Reconstruction from Sampled

Points

Points

Esdras Soares - IMPA

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 76

Schedule

Schedule

TUTORIAL SIBGRAPI 2002

• Motivation

• The Surface Reconstruction Problem (SRP)

• Classification of methods

• Delaunay Triangulations

• Alpha Shapes Approach

• The Ball-Pivoting Algorithm (BPA) Approach]

• Closing Holes

@ Luiz Velho - IMPA SIBGRAPI 2002 77

Motivation

Motivation

• Edit models

– warp surface

– apply texture

– cut or add points

– multiscale

• Interaction

– zoom

– fly

• Realism

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 78

Given a surface S and a cloud of sampled points P of S,

generate an aproximation S’of the surface S such that

P is in S’or max{||p - S’|| | p in S} is sufficiently small.

SRP

SRP

TUTORIAL SIBGRAPI 2002

(14)

@ Luiz Velho - IMPA SIBGRAPI 2002 79

Classification

Classification

of

of

Methods

Methods

METHODS

Delaunay Based

Surface Based

Volumetric

Deformable

DESCRIPTION

Reconstruct a suface

by extracting, a

subcomplex from

Delaunay complex,

a process simetimes

called sculpting.

Create the surface by

locally each points to its

neighbors by local

operations

Compute a signed

distance field in a

regular grid enclosing

he data and then

extracting the zero set

of the function using

the marching cube

algorithm.

Based on the idea

of morphing an initial

approximation of a

shape, under the effect

of external forces and

internal reactions

and constraints.

RELATED

WORKS

- Edelsbrunner 94

- Amenta 01

- Bernardini 99

- Gopi 00

- Curless&Levoy 96

- Reed & Allen 99

- Terzopoulos 88

- Pentland &Sclarof 91

F. Bernardini 02

TUTORIAL

SIBGRAPI 2002 @ Luiz Velho - IMPA SIBGRAPI 2002 80

Mesh

Mesh

Representation

Representation

eji

nccw

pccw

pi

pj

eji

- Half Winged Edge

i

*

(p)

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 81

Delaunay

Delaunay

Triangulations

Triangulations

- Voronoi Diagram

- Dual Diagram

- We always have

a triangulation wich

the smallest angle

is maximized

TUTORIAL SIBGRAPI 2002

-

Each face circumscribed circle is empty !!

@ Luiz Velho - IMPA SIBGRAPI 2002 82

Delaunay

Delaunay

Triangulations

Triangulations

- 2D Delaunay Triangulations is O(nlogn)

- It can be extended to 3D triangulations.

The complexity is O(n

2

).

- http:\\www.cgal.org has

a C++ library wich

implements these algorithms

TUTORIAL SIBGRAPI 2002

Delaunay

Delaunay

Triangulations

Triangulations

f(x,y) = z

Application

Alpha

Alpha

Shapes

Shapes

- Developed by Edelsbrunner 94

- Generalization of Convex Hull

when alpha tends to infinity

(15)

@ Luiz Velho - IMPA SIBGRAPI 2002 85

Alpha

Alpha

Shapes

Shapes

- It is composed of

edges wich their

“alpha balls” are empty

- It is a subset of the

Delaunay Triangulation

- Edelsbrunner exploited

Delaunay triangulations

to construct the alpha shapes

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 86 TUTORIAL SIBGRAPI 2002

Alpha

Alpha

Shapes

Shapes

Sampling Conditions (F. Bernardini 97)

@ Luiz Velho - IMPA SIBGRAPI 2002 87

Ball

Ball

-

-

Pivoting

Pivoting

Algorithm

Algorithm

(BPA)

(BPA)

Developed by F. Bernardini et al. 99

• It is related to the concept of alpha shapes

• It is a surface growing technique

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 88

The point normals may be consistent

with the normal of the face.

• Why do we need the normal information?

BPA

BPA

-

-

2D

2D

Example

Example

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 89

TUTORIAL SIBGRAPI 2002

BPA

BPA

-

-

3D

3D

Example

Example

boundary maintainance

@ Luiz Velho - IMPA SIBGRAPI 2002 90

•Deal with topological events

BPA

BPA

-

-

Boundary

Boundary

TUTORIAL SIBGRAPI 2002

(16)

@ Luiz Velho - IMPA SIBGRAPI 2002 91

BPA

BPA

-

-

some

some

results

results

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 92

Radius

Radius

estimation

estimation

• We can estimate the

radius from projected

stripes over the object

d

TUTORIAL SIBGRAPI 2002

Caltech

Bunny

361k points

I/O time 4.5s

CPU time 2.1

Dragon

2.0M points

I/O time 22s

CPU time 10.1

TUTORIAL SIBGRAPI 2002

BPA

BPA

-

-

data

data

vs

vs

. time

. time

(Bernardini 99)

Stanford Stanford

@ Luiz Velho - IMPA SIBGRAPI 2002 94

Closing

Closing

Holes

Holes

• Scanning

– hidden parts not reached by the scanner

• Algorithmic

– the surface reconstruction algorithm cannot

TUTORIAL SIBGRAPI 2002

Closing

Closing

Holes

Holes

Closing

Closing

Holes

Holes

(17)

@ Luiz Velho - IMPA SIBGRAPI 2002 97

Closing

Closing

Holes

Holes

• Poligonization

– Find a poliginization without self intersection

• Volumetric Difusion (Levoy 02)

– Deal with complex holes using heat equation.

– It uses the line of sight to solve ambiguities

TUTORIAL SIBGRAPI 2002

@ Luiz Velho - IMPA SIBGRAPI 2002 98

The End

The End

TUTORIAL SIBGRAPI 2002

Referências

Documentos relacionados

035 Nuclisol - Jean Piaget - Associação para o desenvolvimento da criança, a integração e a solidariedade 054 O Companheiro - Associação de Fraternidade Cristã. 142 ORIENTAR

A Instituição para fins de abono de faltas ao serviço, ou horas não trabalhadas para assistir seus ascendentes e descendentes reconhecerá os atestados médicos e

No texto, o autor apresenta argumentos de pessoas que discordam da sua opinião. Assinale a alternativa que apresenta esse argumento. a) ...”Temos que fazer as opções mais eficientes

Estudos geotécnicos realizados demostraram que misturas de RCC com solo residual da Formação Geológica Palermo (SRFGP), na proporção, em porcentagem 50/50, atingiram

Considerando-se apenas a separação do módulo de resiliência típico quanto à gênese (vide Tabela 5.13), observa-se que os valores calculados para os solos lateríticos

O paciente apresentou pontuação mais baixa nas áreas relacionadas ao estado geral de saúde, as- pectos sociais e saúde mental na avaliação da qualida- de de vida pela SF-36

Arruda, Silvana Gonçalves Brito de Perfil de ácidos graxos e qualidade da carne de caprinos da raça Saanen inteiros e castrados, com diferentes pesos ao abate / Silvana Gonçalves

Pode-se trazer como exemplo a relação do álbum de canção, também de Pitty, Admirável Chip Novo 2003 com o romance quase homônimo de Huxley 1932, Admirável Mundo novo: porque se