Robótica MO810/MC959 lmarcos/mo810.
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
Random Dot Stereograms
• http://www.nottingham.ac.uk/~etzpc/sirds.html
• http://www.nottingham.ac.uk/~etzpc/sirds.html
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)