• 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

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

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

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

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