Robótica MO810/MC959 lmarcos/mo810.

Post on 17-Apr-2015

142 views 21 download

Transcript of Robótica MO810/MC959 lmarcos/mo810.

RobóticaMO810/MC959

http://www.ic.unicamp.br/~lmarcos/mo810

Gradiente 1D• Uma dimensão:

• Duas dimensões:

),()( fxx

f

x

fxf

y

f

x

fyxf

),(

x

y ou inclinação ou direção ou tangente

Módulo ouintensidade

Na prática, uma aproximação

P0(x0,y0)

P1(x1,y1)

Gradiente 2D

x

y

yx

y

x

y

x

fDireção

fsMagnitude

yxfnyxf

yxfynxf

xfnxfxfxfyy

xx

1

22

000101

01

tan)(:

)(:

),(),(

),(),(

)()()()(

Vários tipos de gradiente

• Roberts:

• Prewit

• Sobel

01

10

10

01

101

101

101

111

000

111

101

202

101

121

000

121

Gradiente e imagem

• Gradiente mede variação da intensidade

• Gradiente realça arestas

• Pode-se derivar outras máscaras para outras direções (tudo é mesmo uma aproximação dada pelo cálculo infinitesimal):

• Exemplo:110

101

011

Laplaciano

• Aproximação:

2

2

2

22

y

f

x

ff

),1(),1()1,()1,(4

1),(),( yxfyxfyxfyxfyxfyxL

Problemas com o Laplaciano

• Informação direcional não disponível

• Aumenta o ruído nas imagens (duplica), lembre-se que é uma aproximação

• Prejudicado por picos e vales bruscos

• Solução: suavizar imagem antes com o gaussiano G => muitos cálculos.

• Juntar 2 e G num único filtro:

• L(G(I(x,y))) = LoG(I(x,y))

Filtro Gaussiano

• G0:

• G1: Gradiente do gaussiano

• G2: Laplaciano do gaussiano

2222 ,2

1),(

2

2

yxreyxgr

2

2

23 2

)(

r

er

rg

2

2

235

2 1

2

1)(

r

er

rg

Exemplos de máscara gaussiana• Normalized Gaussian (norma 1) (G0 1D)

• double gn[3][7]={/*3 sigmas diferentes*/

• {0.0000, 0.0003, 0.1065, 0.7866, 0.1065, 0.0003, 0.0000 },

• {0.0513, 0.1219, 0.2049, 0.2436, 0.2049, 0.1219, 0.0513 },

• {0.1063, 0.1403, 0.1658, 0.1752, 0.1658, 0.1403, 0.1063 }};

• Normalized Gaussian first derivative (norma 1) (G1 1D)

• double dgn[3][7]={/*3 sigmas diferentes*/

• {0.0000, 0.0025, 0.4975,-0.0000,-0.4975,-0.0025,-0.0000 },

• {0.1278, 0.2023, 0.1700,-0.0000,-0.1700,-0.2023,-0.1278 },

• {0.2083, 0.1834, 0.1083,-0.0000,-0.1083,-0.1834,-0.2083 }};

• Normalized LoG (by norma 1) (G2 1D)

• double lgn[3][7]={ /*3 sigmas diferentes*/

• { 0.0000, 0.0028, 0.2228,-0.5488, 0.2228, 0.0028, 0.0000 },

• { 0.1320, 0.0570,-0.1629,-0.2962,-0.1629, 0.0570, 0.1320 },

• {-0.0000,-0.1246,-0.2354,-0.2800,-0.2354,-0.1246,-0.0000 }};

Gráficos

Gradiente de superfícies

• Vetor (p,q) tal que:y

fq

x

fp

;

p

q

p

qx

y

f

f

Normal

Shape from shading

• Mapa de reflectância

• dão a direção da luz

N

Luz

Observador

),(

)1)(1(

)(),(

2222

0

ss

ss

ss

qp

onde

qpqp

qqpprqpR

Recuperando a forma de uma esfera

Mapa de reflectância

Recuperando a forma de uma bacia

Mapa de reflectância

Processo iterativo

• Resultado mapa de normais ou diagrama de agulhas

• Em cada posição, vetor normal indica a direção da normal à superfície.

Problemas

• Alguns casos, mais de uma solução

• Dependente do tipo de iluminação

• Bordas complicam

• Necessidade de inicialização (n0)

Estéreo fotométrico

• Variação da posição de iluminação

N

Luz

Observador

N

Luz

Observador

Estéreo fotométrico

• e

• mas p1 = p2 e q1 = q2

• ps1 e ps2 são conhecidos, portanto, é possível encontrar uma solução

)1)(1(

)(),(

21

21

21

21

11110111

ss

ss

qpqp

qqpprqpR

)1)(1(

)(),(

22

22

22

22

22220222

ss

ss

qpqp

qqpprqpR

Shape from line-drawing

Shape from line-drawing

Shape from line-drawing

• 1) Detetor de arestas

• 2) Binarização

• 3) Tentar encontrar estruturas que permitam reconstruir a forma (cantos, etc)

• 4) Tentar achar a orientação espacial destas estruturas.

• 5) Tentar juntar as estruturas no espaço

Shape from line-drawing

Shape from motion

• Imagem como uma série de Taylor:

• Se considerarmos que a intensidade da imagem não muda se movermos a imagem de um ponto a outro:

• Assim: (eq. fundamental)

...),,(

),,(

22

22

2

2

ydy

fdx

x

fdt

t

fdy

y

fdx

x

ftyxf

dttdyydxxf

),,(),,( tyxfdttdyydxxf

tt

f

t

dy

y

f

t

dx

x

f

Ignorados

Fluxo óptico

• Fazendo obtém-se

• ou

• onde é o gradiente (espacial) da imagem

dt

dyv

dt

dxu ;

vy

fu

x

f

t

f

fUt

f

f

Explicação

• Considere câmera fixa e objeto movendo

• A taxa de variação no tempo da intensidade de um ponto na imagem é explicada como sendo a taxa variação no espaço da intensidade da cena multiplicada pela velocidade com que o ponto se move em relação à câmera.

• Algo como a segunda lei de Newton ?

Integrando motion (relaxação)

• T=0

• Estime u(x,y,o),v(x,y,0)

• Até que algum erro seja satisfeito, faça

• fim;

• Obs:

22yx

t

ff

fU

D

Pfvv

D

Pfuu

ykav

k

xkav

k

1

1

222

;

yx

tavyavx

ffD

fvfufP

Shape from stereo

• Duas ou mais imagens da mesma cena

• Tomadas de pontos de vista diferentes

• Percepção da 3a dimensão

Calibração de câmera

x y z

R R R D

R R R D

R R R D

x

y

zi i i

i

i

i, , , 1

0 0 0 1 1

1 1 1 2 1 3 1

2 1 2 2 2 3 2

3 1 3 2 3 3 3 ( 1 )

x y z

R R R

R R R

R R R

x

y

z

D

D

Di i i

i

i

i

, ,1 1 1 2 1 3

2 1 2 2 2 3

3 1 3 2 3 3

1

2

3

( 2 )

X fx

zf

y

zi ii

i

i

i, Y ,

X fR x R y R z D

R x R y R z Dii i i

i i i

1 1 1 2 1 3 1

3 1 3 2 3 3 3

Y fR x R y R z D

R x R y R z Dii i i

i i i

2 1 2 2 2 3 2

3 1 3 2 3 3 3

Restrições de ortonormalidade

R R R

R R R

R R R

112

122

132

212

222

232

312

322

332

1

1

1

R R R R R R

R R R R R R

R R R R R R

11 21 12 22 13 23

11 31 12 32 13 33

21 31 22 32 23 33

0

0

0

R R R

R R R

R R R

112

212

312

122

222

322

132

232

332

1

1

1

R R R R R R

R R R R R R

R R R R R R

11 12 21 22 31 32

11 13 21 23 31 33

12 13 22 23 32 33

0

0

0

Princípio básico da reconstrução estéreo (triângulos)

Objeto

Olhoesquerdo

Olhodireito

Transformações

• Objetos guardam relações com o mundo real

• Rotação, translação e escala

• Se conseguirmos determinar pontos correspondentes, pode-se determinar os triângulos e a 3a dimensão

• Casamento de todos os pontos

Disparidade estéreo

yl

y

P(x,y, z)

yr

xl xr

xO b

Figura 2.1 - Modelo estéreo

f

b

Premissas

• (x, y, z) = coordenadas de um ponto no espaço

• Origem imagem esquerda (xl, yl) em (0, 0, f)

• Ponto focal esquerdo em (0, 0, 0)

• Imagem direita (xr, yr) com origem em (b, 0, f)

• Ponto focal direito em (b, 0, 0)• b = linha de base• f = distância focal (dos centros aos planos

imagens)

Disparidade e Profundidade

xfx

zl

x

f x b

zr

y yfy

zl r

yl

y(x,y,z)

yr

xl xr

xO b

Figura 2.1 - Modelo estéreo

d

bxx l

d

byy l

d

bfz

d = xl - xr,

b

f

xl xr

Generalizando (movendo origem)

(0,0,0) (d,0,0)(-d,0,0)

Calculando a disparidade

Observações

• z é inversamente proporcional a d• z é diretamente proporcional a b• fixado um erro na determinação de d:

– precisão na determinação de z cresce de forma direta com b.

– com o crescimento de b, imagens tendem a ser muito diferentes uma da outra

– ponto visível numa imagem pode não ser noutra, mesmo com vergência

Mais observações

• d é proporcional à distância focal f

• à medida que f cresce, imagens também

• aumenta a distância do ponto projetado nas imagens ao centro destas e em conseqüência a disparidade

Determinando altura dos pontos

ii

i ddd

hh

0

0

000

0

lr

lirii

ii

xxd

xxd

ddd

ii dd

hh

0

0 ii

i ddd

hhh

0

00

Restrição epipolar

r

rr

r

rr

z

y

f

y

z

x

f

x

e

wcszvbsyuasx rrr e ,

wcsc

bwcv

c

b

f

y

wcsc

awcu

c

a

f

x

r

r

1

1

Linhas epipolares

S'l

S'r

Sl S

r

D'l

D'r

P'l

P'r

b

P

Dl D

r

Orientação relativa (interior)

Orientação relativa

rlll

rlll

rlll

zrzryrxr

yrzryrxr

xrzryrxr

34333231

24232221

14131211

9 incógnitas para R3 incógnitas para TTotal de 12 incógnitas (ou graus de liberdade)

3 equações (restrições normalidade de R) +1 equação (restrição de ortogonalidade de R)4 pontos correspondentes no sistema de câmeraTotal de 12 restrições seria OK?

r

rr

r

rr

z

y

f

y

z

x

f

x

e

Orientação relativa

Mínimo de 5 pontos = 5x2 = 1010 + 4 = 14 > 131 incógnita para S

yl

y P(x, y, z)

yr

xl xr

xO b

Figura 2.1 - Modelo estéreo

y

l

y P(x, y, z)

y

rx

l

x

r

xO bFigura 2.1 - Modelo estéreo

Solução

• 5 pontos com coordenadas de mundo conhecidas (não coplanares) e seus correspondentes nas imagens

Orientação absoluta (exterior)

Algoritmos estéreos1) Extração de feições ou características das

imagens;

2) Estabelecimento de correspondência (matching) entre as feições extraídas;

3) Reconstrução tridimensional.

Objeto

Olhoesquerdo

Olhodireito

Corresp. estéreo (matching)

• estereogramas de pontos randômicos • evidências da fase de correspondências • correlação de áreas ou de características (ou

elementos)• as imagens são pré-filtradas (eliminar altas

frequencias e realce de características)• Ideal: correspondênca para todos os pixels

nas imagens (na prática impossível).

Possivel método

• 1) determinar detalhes inconfundíveis (contornos, certos ângulos, linhas)

• 2) tentar sua localização na outra imagem• 3) usar as diferenças observadas nos tons de cinza entre pixels

vizinhos (textura) para tentar a correspondência• Valores da luminância de pixels correspondentes a um mesmo

ponto na superfície podem ser diferentes nas duas imagens• diferença na quantização, sistemas de aquisição, pontos de vista

ou ângulos de iluminação, distorções na aquisição, má localização dos elementos, ruídos, ocultação de um elemento numa das imagens.

Métodos de matching

• Matching baseado em áreas (completo)– correlacão entre janelas– minimização de erros– relaxação

• Matching baseado em elementos– encontrar elementos– correlação entre elementos (esparso)

Filtragem

Imn(,) =

(,)(,)

mnImn 2 =

2

(,)(,)

mnImn

2

CORRELAÇÃO de ELEMENTOS

• encontrar numa das imagens elementos que possuam características semelhantes a dados elementos (pixels ou grupos de pixels) da outra imagem, através do cômputo de valores de correlaçã

CORRELAÇÃO DE SINAIS

• Nishihara (1982)

primitiva “and” em espaço de escalas

Imagem 2G(8) Corr. Sinais Mapa de

Digital Disparid.

JANELAS ADAPTATIVAS

• 1) restringir tamanho de janela por contornos e por um tamanho máximo

• 2) Cálculo da disparidade para cada ponto da imagem com precisão a nível de píxel.

• 3) Completar o mapa de disparidade iterativamente

• 4) Densificar o mapa de disparidade

CORRELAÇÃO DE CANTOS

• 1) Extração de elementos tais como sequências de arestas ou aproximações de polígonos e localizar cantos nestes.

• 2) Aplica-se um operador diferencial e relaciona-se pontos que são cantos por limiarização (thresholding).

• 3) Uso de um modelo explícito da estrutura local da imagem na vizinhança dos cantos e procurar similares numéricos para tal modelo por uma minimização não linear.

CORRESPONDÊNCIA de ARESTAS

• 1) Extração de arestas. Definição de estruturas lineares compostas or sequencias de pixels.

• 2) Cálculos de valores de correlação nestas estruturas

• 3) Pode-se eliminar algumas arestas pelo tamanho da estrutura (comprimento), pela curvatura, etc...

VARREDURA DE LINHAS EPIPOLARES COM USO DE PROGRAMAÇÃO DINÂMICA

),( )(

e ),()(( )(

onde , )(

21121

3222132

32

1

2

3

xxhMinxf

xxhxfMinxf

xfMin

x

x

x

),,( 321

,, 321

xxxhMinxxx

Divide-se o espaço de disparidade dentro de cadalinha epipolar em dois sub-espaçosResolve-se o problema em um deles e depois no outroInter e intra-scan-line

UTILIZAÇÃO DE SNAKES• tracking de objetos em sequências de imagens

• snake minimiza energia numa spline, guiada por restrições de forças externas e influenciada pelas forças da imagem que a empurram em direção a elementos (features) tais como linhas e arestas

• snakes são contornos ativos que estacionam-se nas proximidades de arestas, localizando-as de forma precisa.

• Usa-se a continuidade de espaços de escala para enlarguecer a região de captura nos arredores de um elemento, ou seja, uma borração inicial da imagem com um filtro. 2)()( sVsVE R

sL

sest

MATCHING POR NÍVEIS DE CINZA E RELAXAÇÃO

x

E

x

EEEdd rl

llnji

nji

2

1)(

1

)(

2

)( 4

4

22

4

4

4 22

jiji ddkyyxxx

CLIQUE MAXIMAL• Considere o grafo completo completo cujos nós são os

píxels (ou elementos) de cada imagem

• Ligações ou ramos estão definidos entre cada par deste conjunto de nós, nos dois sentidos.

• Uma esfera, onde os pontos sobre a superfície de cada hemisfério é o conjunto de píxels de cada uma das duas imagens respectivamente, havendo arestas ligando a todos.

• Estabelecer um subgrafo que indique a melhor semelhança entre cada píxel destas imagensO subgrafo solução é denominado clique maximal.

Matching recursivo (LM)